@shumai-one/shumai 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/bin/chunk-01052ssf.js +32 -0
  2. package/bin/{chunk-cdk8vqeg.js → chunk-02fvcrej.js} +4 -4
  3. package/bin/chunk-0bj887zm.js +2 -0
  4. package/bin/chunk-167z646e.js +2 -0
  5. package/bin/chunk-1ktk6764.js +10 -0
  6. package/bin/{chunk-4jj92zwa.js → chunk-1nvd90g2.js} +1 -1
  7. package/bin/{chunk-ww9qq8yq.js → chunk-1wfg56z3.js} +5 -5
  8. package/bin/{chunk-3tg10kwz.js → chunk-257dcd2f.js} +2 -2
  9. package/bin/chunk-26qn7fek.js +2 -0
  10. package/bin/chunk-2cdxm1cp.js +55 -0
  11. package/bin/chunk-2jj4j8cn.js +3 -0
  12. package/bin/chunk-2ne2b54t.js +2 -0
  13. package/bin/{chunk-h1fbev9c.js → chunk-2nhgdqdg.js} +2 -2
  14. package/bin/chunk-2vbeqczj.js +1 -0
  15. package/bin/chunk-37p6bcx2.js +1 -0
  16. package/bin/chunk-3ckkwdjx.js +13 -0
  17. package/bin/chunk-3knfx6dm.js +1 -0
  18. package/bin/chunk-3z85zxkn.js +1 -0
  19. package/bin/chunk-4mws03es.js +5 -0
  20. package/bin/chunk-54tbfvya.js +2 -0
  21. package/bin/chunk-55h9ze53.js +2 -0
  22. package/bin/chunk-56kh5fxc.js +1 -0
  23. package/bin/chunk-576nj64j.js +2 -0
  24. package/bin/{chunk-9gftd4f7.js → chunk-5wapd171.js} +13 -13
  25. package/bin/chunk-6cnqjngz.js +1 -0
  26. package/bin/chunk-73yncv54.js +2 -0
  27. package/bin/chunk-7g46e1wy.js +3 -0
  28. package/bin/{chunk-3020am4q.js → chunk-7naa7tpn.js} +2 -2
  29. package/bin/{chunk-6zerk0em.js → chunk-7sgrtxbt.js} +2 -2
  30. package/bin/{chunk-5bpvwv66.js → chunk-7v7mypc6.js} +2 -2
  31. package/bin/chunk-82tps5n1.js +2 -0
  32. package/bin/chunk-84x8p7v5.js +1 -0
  33. package/bin/{chunk-fxg81vtx.js → chunk-88jg9dq5.js} +2 -2
  34. package/bin/chunk-8cjet7pp.js +12 -0
  35. package/bin/chunk-8fyg9dy4.js +2 -0
  36. package/bin/chunk-8gtfgkrn.js +2 -0
  37. package/bin/chunk-8mqbztj8.js +2 -0
  38. package/bin/chunk-8qdtvfx3.css +1 -0
  39. package/bin/chunk-8xb6yz11.js +2 -0
  40. package/bin/chunk-8yjsmr7g.js +2 -0
  41. package/bin/chunk-91rb0jpb.js +2 -0
  42. package/bin/chunk-96qpjght.js +2 -0
  43. package/bin/chunk-9f1xk1nt.js +1 -0
  44. package/bin/chunk-9mk9cvbk.js +1 -0
  45. package/bin/{chunk-65t6rm5d.js → chunk-9n1w5dw1.js} +3 -3
  46. package/bin/chunk-9nw5w8vh.js +1 -0
  47. package/bin/{chunk-cv5xx81e.js → chunk-9t3p4xp6.js} +1 -1
  48. package/bin/chunk-9xhjy897.js +11 -0
  49. package/bin/chunk-9zsv6d2f.js +1 -0
  50. package/bin/chunk-a411xhmm.js +7 -0
  51. package/bin/{chunk-xbw7ffrz.js → chunk-a74g6h8a.js} +2 -2
  52. package/bin/chunk-ah8fjb6f.js +2 -0
  53. package/bin/chunk-atfz7g7e.js +2 -0
  54. package/bin/{chunk-j4p3eqtd.js → chunk-b5rhvzv9.js} +2 -2
  55. package/bin/{chunk-rq2h2bwt.js → chunk-b7bnp021.js} +2 -2
  56. package/bin/chunk-cf5axr8c.js +1 -0
  57. package/bin/chunk-cgmebxx6.js +2 -0
  58. package/bin/chunk-cwat1jwx.js +3 -0
  59. package/bin/chunk-cz13a82m.js +3 -0
  60. package/bin/chunk-dk42gf7v.js +2 -0
  61. package/bin/chunk-e4f56spj.js +4 -0
  62. package/bin/chunk-e4yscwen.js +18 -0
  63. package/bin/chunk-eb7mzbfm.js +1 -0
  64. package/bin/chunk-er14d498.js +3 -0
  65. package/bin/{chunk-sbyyn9yw.js → chunk-eyjfhdp9.js} +2 -2
  66. package/bin/chunk-f25fe9th.js +393 -0
  67. package/bin/chunk-f6avg5qe.js +129 -0
  68. package/bin/{chunk-vjyget8s.js → chunk-fatmqnp1.js} +1 -1
  69. package/bin/chunk-fvx9k1dc.js +2 -0
  70. package/bin/chunk-g22wmpk1.js +3 -0
  71. package/bin/chunk-g6sdezec.js +2 -0
  72. package/bin/chunk-gtf19jc1.js +2 -0
  73. package/bin/chunk-gxepkvt2.js +2 -0
  74. package/bin/chunk-h1n7jqnw.js +1 -0
  75. package/bin/chunk-hfm82066.js +2 -0
  76. package/bin/chunk-hnkcgvcj.js +3 -0
  77. package/bin/{chunk-fg9sr6r9.js → chunk-hpbn0k9n.js} +2 -2
  78. package/bin/{chunk-qk5hsn6e.js → chunk-hpwv4am3.js} +4 -4
  79. package/bin/{chunk-d6xezgrg.js → chunk-hw6czrya.js} +1 -1
  80. package/bin/{chunk-59t9s2jh.js → chunk-hzkjgcre.js} +1 -1
  81. package/bin/chunk-j2s311yc.js +3 -0
  82. package/bin/{chunk-6hzktewz.js → chunk-jt02kpfc.js} +2 -2
  83. package/bin/{chunk-qnyqtaf0.js → chunk-jt0ykktx.js} +1 -1
  84. package/bin/{chunk-047n9gfs.js → chunk-jzgbxqdg.js} +2 -2
  85. package/bin/chunk-kj6h5j5a.js +4 -0
  86. package/bin/chunk-km4gn6b6.js +1 -0
  87. package/bin/chunk-knj2s8mg.js +16 -0
  88. package/bin/{chunk-01ym2agz.js → chunk-kvhf12b4.js} +2 -2
  89. package/bin/chunk-m0q2cgfg.js +2 -0
  90. package/bin/chunk-m82tkhaa.js +11 -0
  91. package/bin/chunk-m9adtgzk.js +2 -0
  92. package/bin/{chunk-rh8dy99a.js → chunk-mcj1xpcc.js} +2 -2
  93. package/bin/chunk-mcw198kg.js +13 -0
  94. package/bin/{chunk-5e7r7a9d.js → chunk-mwktrwtx.js} +1 -1
  95. package/bin/chunk-mzsw9var.js +3 -0
  96. package/bin/chunk-ns33grgx.js +2 -0
  97. package/bin/{chunk-emgyjhmx.js → chunk-ny1kbmxt.js} +2 -2
  98. package/bin/{chunk-czybv3vy.js → chunk-p3f5aevs.js} +1 -1
  99. package/bin/chunk-p3j6ydk1.js +1 -0
  100. package/bin/chunk-p4s95471.js +2 -0
  101. package/bin/chunk-pk406dgy.js +2 -0
  102. package/bin/chunk-q2bew2vc.js +2 -0
  103. package/bin/chunk-q5vkxee3.js +5 -0
  104. package/bin/{chunk-n0wwtjwv.js → chunk-q83h0hkx.js} +2 -2
  105. package/bin/chunk-q8w4mbw4.js +2 -0
  106. package/bin/{chunk-hjwpd09v.js → chunk-qwpkcp8d.js} +2 -2
  107. package/bin/chunk-r1xer8gn.js +5 -0
  108. package/bin/chunk-s1e4qy3q.js +14 -0
  109. package/bin/{chunk-w89czwjj.js → chunk-s9ksftq2.js} +1 -1
  110. package/bin/chunk-srxp5jav.js +42 -0
  111. package/bin/chunk-swtwaaqe.js +1 -0
  112. package/bin/chunk-tagdrg7p.js +1 -0
  113. package/bin/{chunk-da86fpjt.js → chunk-tekwpkjf.js} +2 -2
  114. package/bin/chunk-twtxnzbv.js +2 -0
  115. package/bin/{chunk-q7t5zs7n.js → chunk-v05rrxp5.js} +2 -2
  116. package/bin/{chunk-8s9fehda.js → chunk-v5cn90cf.js} +2 -2
  117. package/bin/chunk-v5mcjwxy.js +2 -0
  118. package/bin/{chunk-fyb6t7ct.js → chunk-vcrmjtcz.js} +2 -2
  119. package/bin/chunk-vkzasgxw.js +2 -0
  120. package/bin/chunk-vp3czaeh.js +7 -0
  121. package/bin/chunk-x03jwaga.js +8 -0
  122. package/bin/chunk-x342vzdx.js +2 -0
  123. package/bin/chunk-x8mjh387.js +5 -0
  124. package/bin/chunk-xc54vhfz.js +2 -0
  125. package/bin/chunk-xvkwbczx.js +3 -0
  126. package/bin/chunk-y241cxff.js +1 -0
  127. package/bin/chunk-yk12hydf.js +7 -0
  128. package/bin/chunk-ympbfzz4.js +2 -0
  129. package/bin/chunk-yq32evnn.js +20 -0
  130. package/bin/chunk-z1p13dnc.js +2 -0
  131. package/bin/chunk-zarz3sqn.js +211 -0
  132. package/bin/chunk-zezje74z.js +4 -0
  133. package/bin/chunk-zrszykjf.js +3 -0
  134. package/bin/shumai-app.html +1 -1
  135. package/bin/shumai-app.js +947 -1012
  136. package/package.json +7 -7
  137. package/prisma/migrations/20261026024507_hash_api_tokens/migration.sql +28 -0
  138. package/prisma/migrations/20261026031904_add_audit_log_via/migration.sql +2 -0
  139. package/prisma/migrations/20261029024626_add_oauth_and_jwks/migration.sql +205 -0
  140. package/prisma/migrations/20261029030321_default_empty_arrays_oauth/migration.sql +25 -0
  141. package/prisma/schema.prisma +186 -1
  142. package/bin/chunk-0a4ahz7r.js +0 -2
  143. package/bin/chunk-0awcpx0a.js +0 -3
  144. package/bin/chunk-0fbgfgxv.js +0 -12
  145. package/bin/chunk-0nnqha4f.js +0 -3
  146. package/bin/chunk-0tvggyy4.js +0 -1
  147. package/bin/chunk-113baw0m.js +0 -2
  148. package/bin/chunk-1dbjyarc.js +0 -2
  149. package/bin/chunk-1qre79kf.js +0 -1
  150. package/bin/chunk-23780yj6.js +0 -3
  151. package/bin/chunk-27v3yepb.js +0 -1
  152. package/bin/chunk-2rq3w8sg.js +0 -2
  153. package/bin/chunk-3fjgf7eb.js +0 -3
  154. package/bin/chunk-3pwwg1xm.js +0 -1
  155. package/bin/chunk-3sfb63fp.js +0 -2
  156. package/bin/chunk-4g4pxmef.js +0 -3
  157. package/bin/chunk-4yhvexzk.js +0 -5
  158. package/bin/chunk-58cbk6e8.js +0 -1
  159. package/bin/chunk-5m51b7af.js +0 -2
  160. package/bin/chunk-6bed0rz4.js +0 -1
  161. package/bin/chunk-6smn0q1n.js +0 -20
  162. package/bin/chunk-7bbsv8g0.js +0 -2
  163. package/bin/chunk-83bdgs2c.js +0 -1
  164. package/bin/chunk-86qtjd30.js +0 -11
  165. package/bin/chunk-8rekh4h9.js +0 -3
  166. package/bin/chunk-8sf2hf31.js +0 -2
  167. package/bin/chunk-9d3w678j.js +0 -1
  168. package/bin/chunk-9rcg8zgs.js +0 -42
  169. package/bin/chunk-a23q1kc4.js +0 -5
  170. package/bin/chunk-a6cdt85k.js +0 -2
  171. package/bin/chunk-a76h3ehe.js +0 -1
  172. package/bin/chunk-b1bkd2p4.js +0 -32
  173. package/bin/chunk-bf5m8f6t.js +0 -2
  174. package/bin/chunk-cf57fk11.js +0 -2
  175. package/bin/chunk-d4sbcvpa.js +0 -2
  176. package/bin/chunk-dzjmwat0.js +0 -14
  177. package/bin/chunk-eex8sjfs.js +0 -2
  178. package/bin/chunk-exmwerag.js +0 -18
  179. package/bin/chunk-f38xyahm.js +0 -1
  180. package/bin/chunk-fb1bes2h.js +0 -2
  181. package/bin/chunk-fbvak7q2.js +0 -1
  182. package/bin/chunk-g2ptqqm3.js +0 -3
  183. package/bin/chunk-ggwqxn95.js +0 -2
  184. package/bin/chunk-ghk54h71.js +0 -13
  185. package/bin/chunk-h9akn41s.js +0 -3
  186. package/bin/chunk-hdansxny.js +0 -2
  187. package/bin/chunk-hjzbw975.js +0 -2
  188. package/bin/chunk-jtkxeat4.js +0 -2
  189. package/bin/chunk-jw4g9628.js +0 -5
  190. package/bin/chunk-jxebakyq.js +0 -1
  191. package/bin/chunk-kfewyax2.js +0 -2
  192. package/bin/chunk-kk3m4za5.js +0 -1
  193. package/bin/chunk-m7tnj47b.js +0 -3
  194. package/bin/chunk-maw5ah8t.js +0 -3
  195. package/bin/chunk-nahdd2t9.js +0 -2
  196. package/bin/chunk-nv7tztvh.js +0 -129
  197. package/bin/chunk-nyjwdxyj.js +0 -3
  198. package/bin/chunk-p0yfxt5e.js +0 -54
  199. package/bin/chunk-q27qn367.js +0 -5
  200. package/bin/chunk-q36sdt2w.js +0 -2
  201. package/bin/chunk-qbj5pe8t.js +0 -1
  202. package/bin/chunk-qj0bxb1m.js +0 -2
  203. package/bin/chunk-qqkr6h07.js +0 -11
  204. package/bin/chunk-qyqc5j3a.css +0 -1
  205. package/bin/chunk-qzaf6bre.js +0 -2
  206. package/bin/chunk-r1e59gf0.js +0 -2
  207. package/bin/chunk-ra5csbkr.js +0 -2
  208. package/bin/chunk-rx9g95wk.js +0 -10
  209. package/bin/chunk-rxyy37wa.js +0 -4
  210. package/bin/chunk-scez7ppq.js +0 -3
  211. package/bin/chunk-t2a1vq34.js +0 -7
  212. package/bin/chunk-t879v3b7.js +0 -1
  213. package/bin/chunk-tjavzarz.js +0 -3
  214. package/bin/chunk-treyx8em.js +0 -2
  215. package/bin/chunk-v3z4z04s.js +0 -2
  216. package/bin/chunk-v3z63tpw.js +0 -2
  217. package/bin/chunk-v9bes1fv.js +0 -2
  218. package/bin/chunk-vmm9m3nv.js +0 -2
  219. package/bin/chunk-vvr8tnse.js +0 -211
  220. package/bin/chunk-w3stry4v.js +0 -1
  221. package/bin/chunk-wk0hk00z.js +0 -1
  222. package/bin/chunk-x4q082e6.js +0 -2
  223. package/bin/chunk-x6rf77jm.js +0 -16
  224. package/bin/chunk-x7dyj53k.js +0 -2
  225. package/bin/chunk-xcrd0y8v.js +0 -6
  226. package/bin/chunk-z0z0jn5h.js +0 -4
  227. package/bin/chunk-zasjhrwc.js +0 -2
  228. package/bin/chunk-zefds5gg.js +0 -1
  229. package/bin/chunk-zzzgk1d5.js +0 -4
@@ -1,129 +0,0 @@
1
- import{Ls,Wi,lt,q,F,Ia,P,pt,m,qu,Vr,$e,D,_,u,Zs,S,L,t,o,G,B,eo,Xi,gl,Bs,Al,_l,yl,Yu,Us,bl,Ju,Rr,A,I,O,Tt,jn,Re,ve,nn,Et,er,ht,js,Lo,fe,Ut,Pe,E,C,Ce,Ie,Te,ge,Ae,_e,K,Wr,Vt,As,cd,Dm,pd,Bc,w_,x_,Uc,S_,E_,C_,Nf,zc,I_,T_,Ne,j_,uy,my,hy,Sl,hd,gr,hb,gb,Hf,Cl,Gf,Qf,Kf,Fa,Wf,Fv,Lv,wd,Vc,Vw,tp,Tx,og,sg,sS,iS,Td,uS,bg,gp,Rd,La,uE,vE,bp,jg,Pl,Gn,nI,oA,fI,Lp,dT,e1,j1,Xp,em,de,PA,le,me,ce,Mt,z,es,Dr,_n,Vn,M,dt,xe,ja,sa,Kd,Zl,Ar,nu,ou,Pr,Cr,so,Ha,At,_t,yt,W,Me,rf,vs,jr,$t,Bo}from"./chunk-vvr8tnse.js";import{jo}from"./chunk-zasjhrwc.js";import{Ro,yr}from"./chunk-fb1bes2h.js";import{To,Is,vn,Di,yu,bu,Lr}from"./chunk-bf5m8f6t.js";import{Kn,co}from"./chunk-5m51b7af.js";import{nr}from"./chunk-emgyjhmx.js";import{dn}from"./chunk-hjwpd09v.js";import{Nr}from"./chunk-8s9fehda.js";import{H,w,je}from"./chunk-tjavzarz.js";var g8=w(function(sU,Yh){S();Ju();Yh.exports=function(e){function n(h,p,k,j){return new Uk(h,p,k,j)}function s(){}function i(h){var p="https://react.dev/errors/"+h;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var k=2;k<arguments.length;k++)p+="&args[]="+encodeURIComponent(arguments[k])}return"Minified React error #"+h+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(h){var p=h,k=h;if(h.alternate)for(;p.return;)p=p.return;else{h=p;do p=h,(p.flags&4098)!==0&&(k=p.return),h=p.return;while(h)}return p.tag===3?k:null}function a(h){if(r(h)!==h)throw Error(i(188))}function l(h){var p=h.alternate;if(!p){if(p=r(h),p===null)throw Error(i(188));return p!==h?null:h}for(var k=h,j=p;;){var V=k.return;if(V===null)break;var Q=V.alternate;if(Q===null){if(j=V.return,j!==null){k=j;continue}break}if(V.child===Q.child){for(Q=V.child;Q;){if(Q===k)return a(V),h;if(Q===j)return a(V),p;Q=Q.sibling}throw Error(i(188))}if(k.return!==j.return)k=V,j=Q;else{for(var re=!1,ke=V.child;ke;){if(ke===k){re=!0,k=V,j=Q;break}if(ke===j){re=!0,j=V,k=Q;break}ke=ke.sibling}if(!re){for(ke=Q.child;ke;){if(ke===k){re=!0,k=Q,j=V;break}if(ke===j){re=!0,j=Q,k=V;break}ke=ke.sibling}if(!re)throw Error(i(189))}}if(k.alternate!==j)throw Error(i(190))}if(k.tag!==3)throw Error(i(188));return k.stateNode.current===k?h:p}function c(h){var p=h.tag;if(p===5||p===26||p===27||p===6)return h;for(h=h.child;h!==null;){if(p=c(h),p!==null)return p;h=h.sibling}return null}function f(h){var p=h.tag;if(p===5||p===26||p===27||p===6)return h;for(h=h.child;h!==null;){if(h.tag!==4&&(p=f(h),p!==null))return p;h=h.sibling}return null}function d(h){if(h===null||typeof h!=="object")return null;return h=Ly&&h[Ly]||h["@@iterator"],typeof h==="function"?h:null}function g(h){if(h==null)return null;if(typeof h==="function")return h.$$typeof===$k?null:h.displayName||h.name||null;if(typeof h==="string")return h;switch(h){case kc:return"Fragment";case qp:return"Profiler";case My:return"StrictMode";case Fp:return"Suspense";case Op:return"SuspenseList";case Np:return"Activity"}if(typeof h==="object")switch(h.$$typeof){case Sc:return"Portal";case $o:return h.displayName||"Context";case Fy:return(h._context.displayName||"Context")+".Consumer";case Mp:var p=h.render;return h=h.displayName,h||(h=p.displayName||p.name||"",h=h!==""?"ForwardRef("+h+")":"ForwardRef"),h;case Pp:return p=h.displayName||null,p!==null?p:g(h.type)||"Memo";case Xo:p=h._payload,h=h._init;try{return g(h(p))}catch(k){}}return null}function b(h){return{current:h}}function y(h){0>Tc||(h.current=Vp[Tc],Vp[Tc]=null,Tc--)}function v(h,p){Tc++,Vp[Tc]=h.current,h.current=p}function x(h){return h>>>=0,h===0?32:31-(kA(h)/xA|0)|0}function T(h){var p=h&42;if(p!==0)return p;switch(h&-h){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return h&261888;case 262144:case 524288:case 1048576:case 2097152:return h&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return h&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return h}}function R(h,p,k){var j=h.pendingLanes;if(j===0)return 0;var V=0,Q=h.suspendedLanes,re=h.pingedLanes;h=h.warmLanes;var ke=j&134217727;return ke!==0?(j=ke&~Q,j!==0?V=T(j):(re&=ke,re!==0?V=T(re):k||(k=ke&~h,k!==0&&(V=T(k))))):(ke=j&~Q,ke!==0?V=T(ke):re!==0?V=T(re):k||(k=j&~h,k!==0&&(V=T(k)))),V===0?0:p!==0&&p!==V&&(p&Q)===0&&(Q=V&-V,k=p&-p,Q>=k||Q===32&&(k&4194048)!==0)?p:V}function N(h,p){return(h.pendingLanes&~(h.suspendedLanes&~h.pingedLanes)&p)===0}function U(h,p){switch(h){case 1:case 2:case 4:case 8:case 64:return p+250;case 16:case 32: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 p+5000;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function X(){var h=ed;return ed<<=1,(ed&62914560)===0&&(ed=4194304),h}function Y(h){for(var p=[],k=0;31>k;k++)p.push(h);return p}function J(h,p){h.pendingLanes|=p,p!==268435456&&(h.suspendedLanes=0,h.pingedLanes=0,h.warmLanes=0)}function ee(h,p,k,j,V,Q){var re=h.pendingLanes;h.pendingLanes=k,h.suspendedLanes=0,h.pingedLanes=0,h.warmLanes=0,h.expiredLanes&=k,h.entangledLanes&=k,h.errorRecoveryDisabledLanes&=k,h.shellSuspendCounter=0;var{entanglements:ke,expirationTimes:Ge,hiddenUpdates:tt}=h;for(k=re&~k;0<k;){var bt=31-or(k),rt=1<<bt;ke[bt]=0,Ge[bt]=-1;var Rt=tt[bt];if(Rt!==null)for(tt[bt]=null,bt=0;bt<Rt.length;bt++){var cn=Rt[bt];cn!==null&&(cn.lane&=-536870913)}k&=~rt}j!==0&&te(h,j,0),Q!==0&&V===0&&h.tag!==0&&(h.suspendedLanes|=Q&~(re&~p))}function te(h,p,k){h.pendingLanes|=p,h.suspendedLanes&=~p;var j=31-or(p);h.entangledLanes|=p,h.entanglements[j]=h.entanglements[j]|1073741824|k&261930}function ne(h,p){var k=h.entangledLanes|=p;for(h=h.entanglements;k;){var j=31-or(k),V=1<<j;V&p|h[j]&p&&(h[j]|=p),k&=~V}}function ie(h,p){var k=p&-p;return k=(k&42)!==0?1:se(k),(k&(h.suspendedLanes|p))!==0?0:k}function se(h){switch(h){case 2:h=1;break;case 8:h=4;break;case 32:h=16;break;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:h=128;break;case 268435456:h=134217728;break;default:h=0}return h}function ae(h){return h&=-h,2<h?8<h?(h&134217727)!==0?32:268435456:8:2}function be(h){if(typeof jA==="function"&&_A(h),lr&&typeof lr.setStrictMode==="function")try{lr.setStrictMode(Xf,h)}catch(p){}}function ye(h,p){return h===p&&(h!==0||1/h===1/p)||h!==h&&p!==p}function ue(h){if(Kp===void 0)try{throw Error()}catch(k){var p=k.stack.trim().match(/\n( *(at )?)/);Kp=p&&p[1]||"",l5=-1<k.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<k.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+Kp+h+l5}function he(h,p){if(!h||Yp)return"";Yp=!0;var k=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var j={DetermineComponentFrameRoot:function(){try{if(p){var rt=function(){throw Error()};if(Object.defineProperty(rt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(rt,[])}catch(cn){var Rt=cn}Reflect.construct(h,[],rt)}else{try{rt.call()}catch(cn){Rt=cn}h.call(rt.prototype)}}else{try{throw Error()}catch(cn){Rt=cn}(rt=h())&&typeof rt.catch==="function"&&rt.catch(function(){})}}catch(cn){if(cn&&Rt&&typeof cn.stack==="string")return[cn.stack,Rt.stack]}return[null,null]}};j.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var V=Object.getOwnPropertyDescriptor(j.DetermineComponentFrameRoot,"name");V&&V.configurable&&Object.defineProperty(j.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var Q=j.DetermineComponentFrameRoot(),re=Q[0],ke=Q[1];if(re&&ke){var Ge=re.split(`
4
- `),tt=ke.split(`
5
- `);for(V=j=0;j<Ge.length&&!Ge[j].includes("DetermineComponentFrameRoot");)j++;for(;V<tt.length&&!tt[V].includes("DetermineComponentFrameRoot");)V++;if(j===Ge.length||V===tt.length)for(j=Ge.length-1,V=tt.length-1;1<=j&&0<=V&&Ge[j]!==tt[V];)V--;for(;1<=j&&0<=V;j--,V--)if(Ge[j]!==tt[V]){if(j!==1||V!==1)do if(j--,V--,0>V||Ge[j]!==tt[V]){var bt=`
6
- `+Ge[j].replace(" at new "," at ");return h.displayName&&bt.includes("<anonymous>")&&(bt=bt.replace("<anonymous>",h.displayName)),bt}while(1<=j&&0<=V);break}}}finally{Yp=!1,Error.prepareStackTrace=k}return(k=h?h.displayName||h.name:"")?ue(k):""}function oe(h,p){switch(h.tag){case 26:case 27:case 5:return ue(h.type);case 16:return ue("Lazy");case 13:return h.child!==p&&p!==null?ue("Suspense Fallback"):ue("Suspense");case 19:return ue("SuspenseList");case 0:case 15:return he(h.type,!1);case 11:return he(h.type.render,!1);case 1:return he(h.type,!0);case 31:return ue("Activity");default:return""}}function Se(h){try{var p="",k=null;do p+=oe(h,k),k=h,h=h.return;while(h);return p}catch(j){return`
7
- Error generating stack: `+j.message+`
8
- `+j.stack}}function we(h,p){if(typeof h==="object"&&h!==null){var k=c5.get(h);if(k!==void 0)return k;return p={value:h,source:p,stack:Se(p)},c5.set(h,p),p}return{value:h,source:p,stack:Se(p)}}function qe(h,p){Cc[jc++]=Yf,Cc[jc++]=nd,nd=h,Yf=p}function De(h,p,k){kr[xr++]=xa,kr[xr++]=Aa,kr[xr++]=Wo,Wo=h;var j=xa;h=Aa;var V=32-or(j)-1;j&=~(1<<V),k+=1;var Q=32-or(p)+V;if(30<Q){var re=V-V%5;Q=(j&(1<<re)-1).toString(32),j>>=re,V-=re,xa=1<<32-or(p)+V|k<<V|j,Aa=Q+h}else xa=1<<Q|k<<V|j,Aa=h}function Fe(h){h.return!==null&&(qe(h,1),De(h,1,0))}function Be(h){for(;h===nd;)nd=Cc[--jc],Cc[jc]=null,Yf=Cc[--jc],Cc[jc]=null;for(;h===Wo;)Wo=kr[--xr],kr[xr]=null,Aa=kr[--xr],kr[xr]=null,xa=kr[--xr],kr[xr]=null}function We(h,p){kr[xr++]=xa,kr[xr++]=Aa,kr[xr++]=Wo,xa=p.id,Aa=p.overflow,Wo=h}function st(h,p){v(Ko,p),v(Jf,h),v(bi,null),h=Kk(p),y(bi),v(bi,h)}function Je(){y(bi),y(Jf),y(Ko)}function vt(h){h.memoizedState!==null&&v(sd,h);var p=bi.current,k=Yk(p,h.type);p!==k&&(v(Jf,h),v(bi,k))}function jt(h){Jf.current===h&&(y(bi),y(Jf)),sd.current===h&&(y(sd),fo?Ml._currentValue=xc:Ml._currentValue2=xc)}function ut(h){var p=Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Wn(we(p,h)),Qp}function Lt(h,p){if(!ji)throw Error(i(175));Qx(h.stateNode,h.type,h.memoizedProps,p,h)||ut(h,!0)}function Jt(h){for(wi=h.return;wi;)switch(wi.tag){case 5:case 31:case 13:Tr=!1;return;case 27:case 3:Tr=!0;return;default:wi=wi.return}}function hn(h){if(!ji||h!==wi)return!1;if(!Tn)return Jt(h),Tn=!0,!1;var p=h.tag;if(ri?p!==3&&p!==27&&(p!==5||Ky(h.type)&&!Ku(h.type,h.memoizedProps))&&Ds&&ut(h):p!==3&&(p!==5||Ky(h.type)&&!Ku(h.type,h.memoizedProps))&&Ds&&ut(h),Jt(h),p===13){if(!ji)throw Error(i(316));if(h=h.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(317));Ds=nA(h)}else if(p===31){if(h=h.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(317));Ds=tA(h)}else Ds=ri&&p===27?Hx(h.type,Ds):wi?Wy(h.stateNode):null;return!0}function Wt(){ji&&(Ds=wi=null,Tn=!1)}function rn(){var h=Yo;return h!==null&&(Vi===null?Vi=h:Vi.push.apply(Vi,h),Yo=null),h}function Wn(h){Yo===null?Yo=[h]:Yo.push(h)}function Xe(h,p,k){fo?(v(id,p._currentValue),p._currentValue=k):(v(id,p._currentValue2),p._currentValue2=k)}function Ze(h){var p=id.current;fo?h._currentValue=p:h._currentValue2=p,y(id)}function wt(h,p,k){for(;h!==null;){var j=h.alternate;if((h.childLanes&p)!==p?(h.childLanes|=p,j!==null&&(j.childLanes|=p)):j!==null&&(j.childLanes&p)!==p&&(j.childLanes|=p),h===k)break;h=h.return}}function mt(h,p,k,j){var V=h.child;V!==null&&(V.return=h);for(;V!==null;){var Q=V.dependencies;if(Q!==null){var re=V.child;Q=Q.firstContext;e:for(;Q!==null;){var ke=Q;Q=V;for(var Ge=0;Ge<p.length;Ge++)if(ke.context===p[Ge]){Q.lanes|=k,ke=Q.alternate,ke!==null&&(ke.lanes|=k),wt(Q.return,k,h),j||(re=null);break e}Q=ke.next}}else if(V.tag===18){if(re=V.return,re===null)throw Error(i(341));re.lanes|=k,Q=re.alternate,Q!==null&&(Q.lanes|=k),wt(re,k,h),re=null}else re=V.child;if(re!==null)re.return=V;else for(re=V;re!==null;){if(re===h){re=null;break}if(V=re.sibling,V!==null){V.return=re.return,re=V;break}re=re.return}V=re}}function Nt(h,p,k,j){h=null;for(var V=p,Q=!1;V!==null;){if(!Q){if((V.flags&524288)!==0)Q=!0;else if((V.flags&262144)!==0)break}if(V.tag===10){var re=V.alternate;if(re===null)throw Error(i(387));if(re=re.memoizedProps,re!==null){var ke=V.type;cr(V.pendingProps.value,re.value)||(h!==null?h.push(ke):h=[ke])}}else if(V===sd.current){if(re=V.alternate,re===null)throw Error(i(387));re.memoizedState.memoizedState!==V.memoizedState.memoizedState&&(h!==null?h.push(Ml):h=[Ml])}V=V.return}h!==null&&mt(p,h,k,j),p.flags|=262144}function an(h){for(h=h.firstContext;h!==null;){var p=h.context;if(!cr(fo?p._currentValue:p._currentValue2,h.memoizedValue))return!0;h=h.next}return!1}function mn(h){Fl=h,uo=null,h=h.dependencies,h!==null&&(h.firstContext=null)}function Yt(h){return is(Fl,h)}function Dn(h,p){return Fl===null&&mn(h),is(h,p)}function is(h,p){var k=fo?p._currentValue:p._currentValue2;if(p={context:p,memoizedValue:k,next:null},uo===null){if(h===null)throw Error(i(308));uo=p,h.dependencies={lanes:0,firstContext:p},h.flags|=524288}else uo=uo.next=p;return k}function xt(){return{controller:new RA,data:new Map,refCount:0}}function it(h){h.refCount--,h.refCount===0&&DA(qA,function(){h.controller.abort()})}function on(){}function Bt(h){h!==_c&&h.next===null&&(_c===null?rd=_c=h:_c=_c.next=h),ad=!0,Jp||(Jp=!0,tr())}function qn(h,p){if(!Zp&&ad){Zp=!0;do{var k=!1;for(var j=rd;j!==null;){if(!p)if(h!==0){var V=j.pendingLanes;if(V===0)var Q=0;else{var re=j.suspendedLanes,ke=j.pingedLanes;Q=(1<<31-or(42|h)+1)-1,Q&=V&~(re&~ke),Q=Q&201326741?Q&201326741|1:Q?Q|2:0}Q!==0&&(k=!0,Ii(j,Q))}else Q=xn,Q=R(j,j===ls?Q:0,j.cancelPendingCommit!==null||j.timeoutHandle!==ql),(Q&3)===0||N(j,Q)||(k=!0,Ii(j,Q));j=j.next}}while(k);Zp=!1}}function as(){Rs()}function Rs(){ad=Jp=!1;var h=0;Ll!==0&&rx()&&(h=Ll);for(var p=zi(),k=null,j=rd;j!==null;){var V=j.next,Q=Gs(j,p);if(Q===0)j.next=null,k===null?rd=V:k.next=V,V===null&&(_c=k);else if(k=j,h!==0||(Q&3)!==0)ad=!0;j=V}ai!==0&&ai!==5||qn(h,!1),Ll!==0&&(Ll=0)}function Gs(h,p){for(var{suspendedLanes:k,pingedLanes:j,expirationTimes:V}=h,Q=h.pendingLanes&-62914561;0<Q;){var re=31-or(Q),ke=1<<re,Ge=V[re];if(Ge===-1){if((ke&k)===0||(ke&j)!==0)V[re]=U(ke,p)}else Ge<=p&&(h.expiredLanes|=ke);Q&=~ke}if(p=ls,k=xn,k=R(h,h===p?k:0,h.cancelPendingCommit!==null||h.timeoutHandle!==ql),j=h.callbackNode,k===0||h===p&&(zn===2||zn===9)||h.cancelPendingCommit!==null)return j!==null&&j!==null&&$p(j),h.callbackNode=null,h.callbackPriority=0;if((k&3)===0||N(h,k)){if(p=k&-k,p===h.callbackPriority)return p;switch(j!==null&&$p(j),ae(k)){case 2:case 8:k=EA;break;case 32:k=Wp;break;case 268435456:k=CA;break;default:k=Wp}return j=ba.bind(null,h),k=td(k,j),h.callbackPriority=p,h.callbackNode=k,p}return j!==null&&j!==null&&$p(j),h.callbackPriority=2,h.callbackNode=null,2}function ba(h,p){if(ai!==0&&ai!==5)return h.callbackNode=null,h.callbackPriority=0,null;var k=h.callbackNode;if(Uf()&&h.callbackNode!==k)return null;var j=xn;if(j=R(h,h===ls?j:0,h.cancelPendingCommit!==null||h.timeoutHandle!==ql),j===0)return null;return ay(h,j,p),Gs(h,zi()),h.callbackNode!=null&&h.callbackNode===k?ba.bind(null,h):null}function Ii(h,p){if(Uf())return null;ay(h,p,!0)}function tr(){ux?dx(function(){(yn&6)!==0?td(a5,as):Rs()}):td(a5,as)}function Fo(){if(Ll===0){var h=Ic;h===0&&(h=Qu,Qu<<=1,(Qu&261888)===0&&(Qu=256)),Ll=h}return Ll}function El(h,p){if(Zf===null){var k=Zf=[];eg=0,Ic=Fo(),Rc={status:"pending",value:void 0,then:function(j){k.push(j)}}}return eg++,p.then(sr,sr),p}function sr(){if(--eg===0&&Zf!==null){Rc!==null&&(Rc.status="fulfilled");var h=Zf;Zf=null,Ic=0,Rc=null;for(var p=0;p<h.length;p++)(0,h[p])()}}function to(h,p){var k=[],j={status:"pending",value:null,reason:null,then:function(V){k.push(V)}};return h.then(function(){j.status="fulfilled",j.value=p;for(var V=0;V<k.length;V++)(0,k[V])(p)},function(V){j.status="rejected",j.reason=V;for(V=0;V<k.length;V++)(0,k[V])(void 0)}),j}function wa(){var h=Ol.current;return h!==null?h:ls.pooledCache}function no(h,p){p===null?v(Ol,Ol.current):v(Ol,p.pool)}function ya(){var h=wa();return h===null?null:{parent:fo?qs._currentValue:qs._currentValue2,pool:h}}function Oo(h,p){if(cr(h,p))return!0;if(typeof h!=="object"||h===null||typeof p!=="object"||p===null)return!1;var k=Object.keys(h),j=Object.keys(p);if(k.length!==j.length)return!1;for(j=0;j<k.length;j++){var V=k[j];if(!IA.call(p,V)||!cr(h[V],p[V]))return!1}return!0}function va(h){return h=h.status,h==="fulfilled"||h==="rejected"}function Po(h,p,k){switch(k=h[k],k===void 0?h.push(p):k!==p&&(p.then(on,on),p=k),p.status){case"fulfilled":return p.value;case"rejected":throw h=p.reason,et(h),h;default:if(typeof p.status==="string")p.then(on,on);else{if(h=ls,h!==null&&100<h.shellSuspendCounter)throw Error(i(482));h=p,h.status="pending",h.then(function(j){if(p.status==="pending"){var V=p;V.status="fulfilled",V.value=j}},function(j){if(p.status==="pending"){var V=p;V.status="rejected",V.reason=j}})}switch(p.status){case"fulfilled":return p.value;case"rejected":throw h=p.reason,et(h),h}throw Nl=p,Dc}}function ir(h){try{var p=h._init;return p(h._payload)}catch(k){if(k!==null&&typeof k==="object"&&typeof k.then==="function")throw Nl=k,Dc;throw k}}function No(){if(Nl===null)throw Error(i(459));var h=Nl;return Nl=null,h}function et(h){if(h===Dc||h===od)throw Error(i(483))}function pn(h){var p=eh;return eh+=1,qc===null&&(qc=[]),Po(qc,h,p)}function Qt(h,p){p=p.props.ref,h.ref=p!==void 0?p:null}function us(h,p){if(p.$$typeof===Gk)throw Error(i(525));throw h=Object.prototype.toString.call(p),Error(i(31,h==="[object Object]"?"object with keys {"+Object.keys(p).join(", ")+"}":h))}function ii(h){function p(He,Oe){if(h){var ze=He.deletions;ze===null?(He.deletions=[Oe],He.flags|=16):ze.push(Oe)}}function k(He,Oe){if(!h)return null;for(;Oe!==null;)p(He,Oe),Oe=Oe.sibling;return null}function j(He){for(var Oe=new Map;He!==null;)He.key!==null?Oe.set(He.key,He):Oe.set(He.index,He),He=He.sibling;return Oe}function V(He,Oe){return He=lo(He,Oe),He.index=0,He.sibling=null,He}function Q(He,Oe,ze){if(He.index=ze,!h)return He.flags|=1048576,Oe;if(ze=He.alternate,ze!==null)return ze=ze.index,ze<Oe?(He.flags|=67108866,Oe):ze;return He.flags|=67108866,Oe}function re(He){return h&&He.alternate===null&&(He.flags|=67108866),He}function ke(He,Oe,ze,at){if(Oe===null||Oe.tag!==6)return Oe=_p(ze,He.mode,at),Oe.return=He,Oe;return Oe=V(Oe,ze),Oe.return=He,Oe}function Ge(He,Oe,ze,at){var Gt=ze.type;if(Gt===kc)return bt(He,Oe,ze.props.children,at,ze.key);if(Oe!==null&&(Oe.elementType===Gt||typeof Gt==="object"&&Gt!==null&&Gt.$$typeof===Xo&&ir(Gt)===Oe.type))return Oe=V(Oe,ze.props),Qt(Oe,ze),Oe.return=He,Oe;return Oe=$u(ze.type,ze.key,ze.props,null,He.mode,at),Qt(Oe,ze),Oe.return=He,Oe}function tt(He,Oe,ze,at){if(Oe===null||Oe.tag!==4||Oe.stateNode.containerInfo!==ze.containerInfo||Oe.stateNode.implementation!==ze.implementation)return Oe=Ip(ze,He.mode,at),Oe.return=He,Oe;return Oe=V(Oe,ze.children||[]),Oe.return=He,Oe}function bt(He,Oe,ze,at,Gt){if(Oe===null||Oe.tag!==7)return Oe=Dl(ze,He.mode,at,Gt),Oe.return=He,Oe;return Oe=V(Oe,ze),Oe.return=He,Oe}function rt(He,Oe,ze){if(typeof Oe==="string"&&Oe!==""||typeof Oe==="number"||typeof Oe==="bigint")return Oe=_p(""+Oe,He.mode,ze),Oe.return=He,Oe;if(typeof Oe==="object"&&Oe!==null){switch(Oe.$$typeof){case Xu:return ze=$u(Oe.type,Oe.key,Oe.props,null,He.mode,ze),Qt(ze,Oe),ze.return=He,ze;case Sc:return Oe=Ip(Oe,He.mode,ze),Oe.return=He,Oe;case Xo:return Oe=ir(Oe),rt(He,Oe,ze)}if(Wu(Oe)||d(Oe))return Oe=Dl(Oe,He.mode,ze,null),Oe.return=He,Oe;if(typeof Oe.then==="function")return rt(He,pn(Oe),ze);if(Oe.$$typeof===$o)return rt(He,Dn(He,Oe),ze);us(He,Oe)}return null}function Rt(He,Oe,ze,at){var Gt=Oe!==null?Oe.key:null;if(typeof ze==="string"&&ze!==""||typeof ze==="number"||typeof ze==="bigint")return Gt!==null?null:ke(He,Oe,""+ze,at);if(typeof ze==="object"&&ze!==null){switch(ze.$$typeof){case Xu:return ze.key===Gt?Ge(He,Oe,ze,at):null;case Sc:return ze.key===Gt?tt(He,Oe,ze,at):null;case Xo:return ze=ir(ze),Rt(He,Oe,ze,at)}if(Wu(ze)||d(ze))return Gt!==null?null:bt(He,Oe,ze,at,null);if(typeof ze.then==="function")return Rt(He,Oe,pn(ze),at);if(ze.$$typeof===$o)return Rt(He,Oe,Dn(He,ze),at);us(He,ze)}return null}function cn(He,Oe,ze,at,Gt){if(typeof at==="string"&&at!==""||typeof at==="number"||typeof at==="bigint")return He=He.get(ze)||null,ke(Oe,He,""+at,Gt);if(typeof at==="object"&&at!==null){switch(at.$$typeof){case Xu:return He=He.get(at.key===null?ze:at.key)||null,Ge(Oe,He,at,Gt);case Sc:return He=He.get(at.key===null?ze:at.key)||null,tt(Oe,He,at,Gt);case Xo:return at=ir(at),cn(He,Oe,ze,at,Gt)}if(Wu(at)||d(at))return He=He.get(ze)||null,bt(Oe,He,at,Gt,null);if(typeof at.then==="function")return cn(He,Oe,ze,pn(at),Gt);if(at.$$typeof===$o)return cn(He,Oe,ze,Dn(Oe,at),Gt);us(Oe,at)}return null}function yi(He,Oe,ze,at){for(var Gt=null,Ms=null,Kt=Oe,Fn=Oe=0,hi=null;Kt!==null&&Fn<ze.length;Fn++){Kt.index>Fn?(hi=Kt,Kt=null):hi=Kt.sibling;var Ln=Rt(He,Kt,ze[Fn],at);if(Ln===null){Kt===null&&(Kt=hi);break}h&&Kt&&Ln.alternate===null&&p(He,Kt),Oe=Q(Ln,Oe,Fn),Ms===null?Gt=Ln:Ms.sibling=Ln,Ms=Ln,Kt=hi}if(Fn===ze.length)return k(He,Kt),Tn&&qe(He,Fn),Gt;if(Kt===null){for(;Fn<ze.length;Fn++)Kt=rt(He,ze[Fn],at),Kt!==null&&(Oe=Q(Kt,Oe,Fn),Ms===null?Gt=Kt:Ms.sibling=Kt,Ms=Kt);return Tn&&qe(He,Fn),Gt}for(Kt=j(Kt);Fn<ze.length;Fn++)hi=cn(Kt,He,Fn,ze[Fn],at),hi!==null&&(h&&hi.alternate!==null&&Kt.delete(hi.key===null?Fn:hi.key),Oe=Q(hi,Oe,Fn),Ms===null?Gt=hi:Ms.sibling=hi,Ms=hi);return h&&Kt.forEach(function(nl){return p(He,nl)}),Tn&&qe(He,Fn),Gt}function oh(He,Oe,ze,at){if(ze==null)throw Error(i(151));for(var Gt=null,Ms=null,Kt=Oe,Fn=Oe=0,hi=null,Ln=ze.next();Kt!==null&&!Ln.done;Fn++,Ln=ze.next()){Kt.index>Fn?(hi=Kt,Kt=null):hi=Kt.sibling;var nl=Rt(He,Kt,Ln.value,at);if(nl===null){Kt===null&&(Kt=hi);break}h&&Kt&&nl.alternate===null&&p(He,Kt),Oe=Q(nl,Oe,Fn),Ms===null?Gt=nl:Ms.sibling=nl,Ms=nl,Kt=hi}if(Ln.done)return k(He,Kt),Tn&&qe(He,Fn),Gt;if(Kt===null){for(;!Ln.done;Fn++,Ln=ze.next())Ln=rt(He,Ln.value,at),Ln!==null&&(Oe=Q(Ln,Oe,Fn),Ms===null?Gt=Ln:Ms.sibling=Ln,Ms=Ln);return Tn&&qe(He,Fn),Gt}for(Kt=j(Kt);!Ln.done;Fn++,Ln=ze.next())Ln=cn(Kt,He,Fn,Ln.value,at),Ln!==null&&(h&&Ln.alternate!==null&&Kt.delete(Ln.key===null?Fn:Ln.key),Oe=Q(Ln,Oe,Fn),Ms===null?Gt=Ln:Ms.sibling=Ln,Ms=Ln);return h&&Kt.forEach(function(OA){return p(He,OA)}),Tn&&qe(He,Fn),Gt}function zl(He,Oe,ze,at){if(typeof ze==="object"&&ze!==null&&ze.type===kc&&ze.key===null&&(ze=ze.props.children),typeof ze==="object"&&ze!==null){switch(ze.$$typeof){case Xu:e:{for(var Gt=ze.key;Oe!==null;){if(Oe.key===Gt){if(Gt=ze.type,Gt===kc){if(Oe.tag===7){k(He,Oe.sibling),at=V(Oe,ze.props.children),at.return=He,He=at;break e}}else if(Oe.elementType===Gt||typeof Gt==="object"&&Gt!==null&&Gt.$$typeof===Xo&&ir(Gt)===Oe.type){k(He,Oe.sibling),at=V(Oe,ze.props),Qt(at,ze),at.return=He,He=at;break e}k(He,Oe);break}else p(He,Oe);Oe=Oe.sibling}ze.type===kc?(at=Dl(ze.props.children,He.mode,at,ze.key),at.return=He,He=at):(at=$u(ze.type,ze.key,ze.props,null,He.mode,at),Qt(at,ze),at.return=He,He=at)}return re(He);case Sc:e:{for(Gt=ze.key;Oe!==null;){if(Oe.key===Gt)if(Oe.tag===4&&Oe.stateNode.containerInfo===ze.containerInfo&&Oe.stateNode.implementation===ze.implementation){k(He,Oe.sibling),at=V(Oe,ze.children||[]),at.return=He,He=at;break e}else{k(He,Oe);break}else p(He,Oe);Oe=Oe.sibling}at=Ip(ze,He.mode,at),at.return=He,He=at}return re(He);case Xo:return ze=ir(ze),zl(He,Oe,ze,at)}if(Wu(ze))return yi(He,Oe,ze,at);if(d(ze)){if(Gt=d(ze),typeof Gt!=="function")throw Error(i(150));return ze=Gt.call(ze),oh(He,Oe,ze,at)}if(typeof ze.then==="function")return zl(He,Oe,pn(ze),at);if(ze.$$typeof===$o)return zl(He,Oe,Dn(He,ze),at);us(He,ze)}return typeof ze==="string"&&ze!==""||typeof ze==="number"||typeof ze==="bigint"?(ze=""+ze,Oe!==null&&Oe.tag===6?(k(He,Oe.sibling),at=V(Oe,ze),at.return=He,He=at):(k(He,Oe),at=_p(ze,He.mode,at),at.return=He,He=at),re(He)):k(He,Oe)}return function(He,Oe,ze,at){try{eh=0;var Gt=zl(He,Oe,ze,at);return qc=null,Gt}catch(Kt){if(Kt===Dc||Kt===od)throw Kt;var Ms=n(29,Kt,null,He.mode);return Ms.lanes=at,Ms.return=He,Ms}finally{}}}function Kr(){for(var h=Mc,p=ng=Mc=0;p<h;){var k=Er[p];Er[p++]=null;var j=Er[p];Er[p++]=null;var V=Er[p];Er[p++]=null;var Q=Er[p];if(Er[p++]=null,j!==null&&V!==null){var re=j.pending;re===null?V.next=V:(V.next=re.next,re.next=V),j.pending=V}Q!==0&&en(k,V,Q)}}function Ue(h,p,k,j){Er[Mc++]=h,Er[Mc++]=p,Er[Mc++]=k,Er[Mc++]=j,ng|=j,h.lanes|=j,h=h.alternate,h!==null&&(h.lanes|=j)}function ot(h,p,k,j){return Ue(h,p,k,j),En(h)}function It(h,p){return Ue(h,null,null,p),En(h)}function en(h,p,k){h.lanes|=k;var j=h.alternate;j!==null&&(j.lanes|=k);for(var V=!1,Q=h.return;Q!==null;)Q.childLanes|=k,j=Q.alternate,j!==null&&(j.childLanes|=k),Q.tag===22&&(h=Q.stateNode,h===null||h._visibility&1||(V=!0)),h=Q,Q=Q.return;return h.tag===3?(Q=h.stateNode,V&&p!==null&&(V=31-or(k),h=Q.hiddenUpdates,j=h[V],j===null?h[V]=[p]:j.push(p),p.lane=k|536870912),Q):null}function En(h){if(50<ah)throw ah=0,gg=null,Error(i(185));for(var p=h.return;p!==null;)h=p,p=h.return;return h.tag===3?h.stateNode:null}function gn(h){h.updateQueue={baseState:h.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function bs(h,p){h=h.updateQueue,p.updateQueue===h&&(p.updateQueue={baseState:h.baseState,firstBaseUpdate:h.firstBaseUpdate,lastBaseUpdate:h.lastBaseUpdate,shared:h.shared,callbacks:null})}function Pn(h){return{lane:h,tag:0,payload:null,callback:null,next:null}}function Un(h,p,k){var j=h.updateQueue;if(j===null)return null;if(j=j.shared,(yn&2)!==0){var V=j.pending;return V===null?p.next=p:(p.next=V.next,V.next=p),j.pending=p,p=En(h),en(h,null,k),p}return Ue(h,j,p,k),En(h)}function Yn(h,p,k){if(p=p.updateQueue,p!==null&&(p=p.shared,(k&4194048)!==0)){var j=p.lanes;j&=h.pendingLanes,k|=j,p.lanes=k,ne(h,k)}}function Vs(h,p){var k=h.updateQueue,j=h.alternate;if(j!==null&&(j=j.updateQueue,k===j)){var V=null,Q=null;if(k=k.firstBaseUpdate,k!==null){do{var re={lane:k.lane,tag:k.tag,payload:k.payload,callback:null,next:null};Q===null?V=Q=re:Q=Q.next=re,k=k.next}while(k!==null);Q===null?V=Q=p:Q=Q.next=p}else V=Q=p;k={baseState:j.baseState,firstBaseUpdate:V,lastBaseUpdate:Q,shared:j.shared,callbacks:j.callbacks},h.updateQueue=k;return}h=k.lastBaseUpdate,h===null?k.firstBaseUpdate=p:h.next=p,k.lastBaseUpdate=p}function os(){if(ig){var h=Rc;if(h!==null)throw h}}function qi(h,p,k,j){ig=!1;var V=h.updateQueue;Qo=!1;var{firstBaseUpdate:Q,lastBaseUpdate:re}=V,ke=V.shared.pending;if(ke!==null){V.shared.pending=null;var Ge=ke,tt=Ge.next;Ge.next=null,re===null?Q=tt:re.next=tt,re=Ge;var bt=h.alternate;bt!==null&&(bt=bt.updateQueue,ke=bt.lastBaseUpdate,ke!==re&&(ke===null?bt.firstBaseUpdate=tt:ke.next=tt,bt.lastBaseUpdate=Ge))}if(Q!==null){var rt=V.baseState;re=0,bt=tt=Ge=null,ke=Q;do{var Rt=ke.lane&-536870913,cn=Rt!==ke.lane;if(cn?(xn&Rt)===Rt:(j&Rt)===Rt){Rt!==0&&Rt===Ic&&(ig=!0),bt!==null&&(bt=bt.next={lane:0,tag:ke.tag,payload:ke.payload,callback:null,next:null});e:{var yi=h,oh=ke;Rt=p;var zl=k;switch(oh.tag){case 1:if(yi=oh.payload,typeof yi==="function"){rt=yi.call(zl,rt,Rt);break e}rt=yi;break e;case 3:yi.flags=yi.flags&-65537|128;case 0:if(yi=oh.payload,Rt=typeof yi==="function"?yi.call(zl,rt,Rt):yi,Rt===null||Rt===void 0)break e;rt=Dp({},rt,Rt);break e;case 2:Qo=!0}}Rt=ke.callback,Rt!==null&&(h.flags|=64,cn&&(h.flags|=8192),cn=V.callbacks,cn===null?V.callbacks=[Rt]:cn.push(Rt))}else cn={lane:Rt,tag:ke.tag,payload:ke.payload,callback:ke.callback,next:null},bt===null?(tt=bt=cn,Ge=rt):bt=bt.next=cn,re|=Rt;if(ke=ke.next,ke===null)if(ke=V.shared.pending,ke===null)break;else cn=ke,ke=cn.next,cn.next=null,V.lastBaseUpdate=cn,V.shared.pending=null}while(1);bt===null&&(Ge=rt),V.baseState=Ge,V.firstBaseUpdate=tt,V.lastBaseUpdate=bt,Q===null&&(V.shared.lanes=0),Zo|=re,h.lanes=re,h.memoizedState=rt}}function Yr(h,p){if(typeof h!=="function")throw Error(i(191,h));h.call(p)}function If(h,p){var k=h.callbacks;if(k!==null)for(h.callbacks=null,h=0;h<k.length;h++)Yr(k[h],p)}function Rf(h,p){h=go,v(fd,h),v(Fc,p),go=h|p.baseLanes}function $s(){v(fd,go),v(Fc,Fc.current)}function Mi(){go=fd.current,y(Fc),y(fd)}function ys(h){var p=h.alternate;v(Ws,Ws.current&1),v(fr,h),_r===null&&(p===null||Fc.current!==null?_r=h:p.memoizedState!==null&&(_r=h))}function gc(h){v(Ws,Ws.current),v(fr,h),_r===null&&(_r=h)}function Ho(h){h.tag===22?(v(Ws,Ws.current),v(fr,h),_r===null&&(_r=h)):zo(h)}function zo(){v(Ws,Ws.current),v(fr,fr.current)}function rr(h){y(fr),_r===h&&(_r=null),y(Ws)}function Cu(h){for(var p=h;p!==null;){if(p.tag===13){var k=p.memoizedState;if(k!==null&&(k=k.dehydrated,k===null||Up(k)||zp(k)))return p}else if(p.tag===19&&(p.memoizedProps.revealOrder==="forwards"||p.memoizedProps.revealOrder==="backwards"||p.memoizedProps.revealOrder==="unstable_legacy-backwards"||p.memoizedProps.revealOrder==="together")){if((p.flags&128)!==0)return p}else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===h)break;for(;p.sibling===null;){if(p.return===null||p.return===h)return null;p=p.return}p.sibling.return=p.return,p=p.sibling}return null}function Ns(){throw Error(i(321))}function Nm(h,p){if(p===null)return!1;for(var k=0;k<p.length&&k<h.length;k++)if(!cr(h[k],p[k]))return!1;return!0}function Bm(h,p,k,j,V,Q){return mo=Q,un=p,p.memoizedState=null,p.updateQueue=null,p.lanes=0,zt.H=h===null||h.memoizedState===null?u5:rg,Hl=!1,Q=k(j,V),Hl=!1,Lc&&(Q=O2(p,k,j,V)),L2(h),Q}function L2(h){zt.H=nh;var p=Qn!==null&&Qn.next!==null;if(mo=0,Ys=Qn=un=null,ud=!1,th=0,Oc=null,p)throw Error(i(300));h===null||Qs||(h=h.dependencies,h!==null&&an(h)&&(Qs=!0))}function O2(h,p,k,j){un=h;var V=0;do{if(Lc&&(Oc=null),th=0,Lc=!1,25<=V)throw Error(i(301));if(V+=1,Ys=Qn=null,h.updateQueue!=null){var Q=h.updateQueue;Q.lastEffect=null,Q.events=null,Q.stores=null,Q.memoCache!=null&&(Q.memoCache.index=0)}zt.H=d5,Q=p(k,j)}while(Lc);return Q}function Sk(){var h=zt.H,p=h.useState()[0];return p=typeof p.then==="function"?Df(p):p,h=h.useState()[0],(Qn!==null?Qn.memoizedState:null)!==h&&(un.flags|=1024),p}function Hm(){var h=dd!==0;return dd=0,h}function Um(h,p,k){p.updateQueue=h.updateQueue,p.flags&=-2053,h.lanes&=~k}function zm(h){if(ud){for(h=h.memoizedState;h!==null;){var p=h.queue;p!==null&&(p.pending=null),h=h.next}ud=!1}mo=0,Ys=Qn=un=null,Lc=!1,th=dd=0,Oc=null}function Fi(){var h={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ys===null?un.memoizedState=Ys=h:Ys=Ys.next=h,Ys}function Xs(){if(Qn===null){var h=un.alternate;h=h!==null?h.memoizedState:null}else h=Qn.next;var p=Ys===null?un.memoizedState:Ys.next;if(p!==null)Ys=p,Qn=h;else{if(h===null){if(un.alternate===null)throw Error(i(467));throw Error(i(310))}Qn=h,h={memoizedState:Qn.memoizedState,baseState:Qn.baseState,baseQueue:Qn.baseQueue,queue:Qn.queue,next:null},Ys===null?un.memoizedState=Ys=h:Ys=Ys.next=h}return Ys}function ju(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Df(h){var p=th;return th+=1,Oc===null&&(Oc=[]),h=Po(Oc,h,p),p=un,(Ys===null?p.memoizedState:Ys.next)===null&&(p=p.alternate,zt.H=p===null||p.memoizedState===null?u5:rg),h}function _u(h){if(h!==null&&typeof h==="object"){if(typeof h.then==="function")return Df(h);if(h.$$typeof===$o)return Yt(h)}throw Error(i(438,String(h)))}function Gm(h){var p=null,k=un.updateQueue;if(k!==null&&(p=k.memoCache),p==null){var j=un.alternate;j!==null&&(j=j.updateQueue,j!==null&&(j=j.memoCache,j!=null&&(p={data:j.data.map(function(V){return V.slice()}),index:0})))}if(p==null&&(p={data:[],index:0}),k===null&&(k=ju(),un.updateQueue=k),k.memoCache=p,k=p.data[p.index],k===void 0)for(k=p.data[p.index]=Array(h),j=0;j<h;j++)k[j]=Vk;return p.index++,k}function io(h,p){return typeof p==="function"?p(h):p}function Iu(h){var p=Xs();return Vm(p,Qn,h)}function Vm(h,p,k){var j=h.queue;if(j===null)throw Error(i(311));j.lastRenderedReducer=k;var V=h.baseQueue,Q=j.pending;if(Q!==null){if(V!==null){var re=V.next;V.next=Q.next,Q.next=re}p.baseQueue=V=Q,j.pending=null}if(Q=h.baseState,V===null)h.memoizedState=Q;else{p=V.next;var ke=re=null,Ge=null,tt=p,bt=!1;do{var rt=tt.lane&-536870913;if(rt!==tt.lane?(xn&rt)===rt:(mo&rt)===rt){var Rt=tt.revertLane;if(Rt===0)Ge!==null&&(Ge=Ge.next={lane:0,revertLane:0,gesture:null,action:tt.action,hasEagerState:tt.hasEagerState,eagerState:tt.eagerState,next:null}),rt===Ic&&(bt=!0);else if((mo&Rt)===Rt){tt=tt.next,Rt===Ic&&(bt=!0);continue}else rt={lane:0,revertLane:tt.revertLane,gesture:null,action:tt.action,hasEagerState:tt.hasEagerState,eagerState:tt.eagerState,next:null},Ge===null?(ke=Ge=rt,re=Q):Ge=Ge.next=rt,un.lanes|=Rt,Zo|=Rt;rt=tt.action,Hl&&k(Q,rt),Q=tt.hasEagerState?tt.eagerState:k(Q,rt)}else Rt={lane:rt,revertLane:tt.revertLane,gesture:tt.gesture,action:tt.action,hasEagerState:tt.hasEagerState,eagerState:tt.eagerState,next:null},Ge===null?(ke=Ge=Rt,re=Q):Ge=Ge.next=Rt,un.lanes|=rt,Zo|=rt;tt=tt.next}while(tt!==null&&tt!==p);if(Ge===null?re=Q:Ge.next=ke,!cr(Q,h.memoizedState)&&(Qs=!0,bt&&(k=Rc,k!==null)))throw k;h.memoizedState=Q,h.baseState=re,h.baseQueue=Ge,j.lastRenderedState=Q}return V===null&&(j.lanes=0),[h.memoizedState,j.dispatch]}function $m(h){var p=Xs(),k=p.queue;if(k===null)throw Error(i(311));k.lastRenderedReducer=h;var{dispatch:j,pending:V}=k,Q=p.memoizedState;if(V!==null){k.pending=null;var re=V=V.next;do Q=h(Q,re.action),re=re.next;while(re!==V);cr(Q,p.memoizedState)||(Qs=!0),p.memoizedState=Q,p.baseQueue===null&&(p.baseState=Q),k.lastRenderedState=Q}return[Q,j]}function P2(h,p,k){var j=un,V=Xs(),Q=Tn;if(Q){if(k===void 0)throw Error(i(407));k=k()}else k=p();var re=!cr((Qn||V).memoizedState,k);if(re&&(V.memoizedState=k,Qs=!0),V=V.queue,Km(H2.bind(null,j,V,h),[h]),V.getSnapshot!==p||re||Ys!==null&&Ys.memoizedState.tag&1){if(j.flags|=2048,bc(9,{destroy:void 0},B2.bind(null,j,V,k,p),null),ls===null)throw Error(i(349));Q||(mo&127)!==0||N2(j,p,k)}return k}function N2(h,p,k){h.flags|=16384,h={getSnapshot:p,value:k},p=un.updateQueue,p===null?(p=ju(),un.updateQueue=p,p.stores=[h]):(k=p.stores,k===null?p.stores=[h]:k.push(h))}function B2(h,p,k,j){p.value=k,p.getSnapshot=j,U2(p)&&z2(h)}function H2(h,p,k){return k(function(){U2(p)&&z2(h)})}function U2(h){var p=h.getSnapshot;h=h.value;try{var k=p();return!cr(h,k)}catch(j){return!0}}function z2(h){var p=It(h,2);p!==null&&Ui(p,h,2)}function Xm(h){var p=Fi();if(typeof h==="function"){var k=h;if(h=k(),Hl){be(!0);try{k()}finally{be(!1)}}}return p.memoizedState=p.baseState=h,p.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:io,lastRenderedState:h},p}function G2(h,p,k,j){return h.baseState=k,Vm(h,Qn,typeof j==="function"?j:io)}function kk(h,p,k,j,V){if(Mu(h))throw Error(i(485));if(h=p.action,h!==null){var Q={payload:V,action:h,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(re){Q.listeners.push(re)}};zt.T!==null?k(!0):Q.isTransition=!1,j(Q),k=p.pending,k===null?(Q.next=p.pending=Q,V2(p,Q)):(Q.next=k.next,p.pending=k.next=Q)}}function V2(h,p){var{action:k,payload:j}=p,V=h.state;if(p.isTransition){var Q=zt.T,re={};zt.T=re;try{var ke=k(V,j),Ge=zt.S;Ge!==null&&Ge(re,ke),$2(h,p,ke)}catch(tt){Wm(h,p,tt)}finally{Q!==null&&re.types!==null&&(Q.types=re.types),zt.T=Q}}else try{Q=k(V,j),$2(h,p,Q)}catch(tt){Wm(h,p,tt)}}function $2(h,p,k){k!==null&&typeof k==="object"&&typeof k.then==="function"?k.then(function(j){X2(h,p,j)},function(j){return Wm(h,p,j)}):X2(h,p,k)}function X2(h,p,k){p.status="fulfilled",p.value=k,W2(p),h.state=k,p=h.pending,p!==null&&(k=p.next,k===p?h.pending=null:(k=k.next,p.next=k,V2(h,k)))}function Wm(h,p,k){var j=h.pending;if(h.pending=null,j!==null){j=j.next;do p.status="rejected",p.reason=k,W2(p),p=p.next;while(p!==j)}h.action=null}function W2(h){h=h.listeners;for(var p=0;p<h.length;p++)(0,h[p])()}function K2(h,p){return p}function Y2(h,p){if(Tn){var k=ls.formState;if(k!==null){e:{var j=un;if(Tn){if(Ds){var V=Nx(Ds,Tr);if(V){Ds=Wy(V),j=Bx(V);break e}}ut(j)}j=!1}j&&(p=k[0])}}k=Fi(),k.memoizedState=k.baseState=p,j={pending:null,lanes:0,dispatch:null,lastRenderedReducer:K2,lastRenderedState:p},k.queue=j,k=mw.bind(null,un,j),j.dispatch=k,j=Xm(!1);var Q=Zm.bind(null,un,!1,j.queue);return j=Fi(),V={state:p,dispatch:null,action:h,pending:null},j.queue=V,k=kk.bind(null,un,V,Q,k),V.dispatch=k,j.memoizedState=h,[p,k,!1]}function Q2(h){var p=Xs();return J2(p,Qn,h)}function J2(h,p,k){if(p=Vm(h,p,K2)[0],h=Iu(io)[0],typeof p==="object"&&p!==null&&typeof p.then==="function")try{var j=Df(p)}catch(re){if(re===Dc)throw od;throw re}else j=p;p=Xs();var V=p.queue,Q=V.dispatch;return k!==p.memoizedState&&(un.flags|=2048,bc(9,{destroy:void 0},xk.bind(null,V,k),null)),[j,Q,h]}function xk(h,p){h.action=p}function Z2(h){var p=Xs(),k=Qn;if(k!==null)return J2(p,k,h);Xs(),p=p.memoizedState,k=Xs();var j=k.queue.dispatch;return k.memoizedState=h,[p,j,!1]}function bc(h,p,k,j){return h={tag:h,create:k,deps:j,inst:p,next:null},p=un.updateQueue,p===null&&(p=ju(),un.updateQueue=p),k=p.lastEffect,k===null?p.lastEffect=h.next=h:(j=k.next,k.next=h,h.next=j,p.lastEffect=h),h}function ew(){return Xs().memoizedState}function Ru(h,p,k,j){var V=Fi();un.flags|=h,V.memoizedState=bc(1|p,{destroy:void 0},k,j===void 0?null:j)}function Du(h,p,k,j){var V=Xs();j=j===void 0?null:j;var Q=V.memoizedState.inst;Qn!==null&&j!==null&&Nm(j,Qn.memoizedState.deps)?V.memoizedState=bc(p,Q,k,j):(un.flags|=h,V.memoizedState=bc(1|p,Q,k,j))}function tw(h,p){Ru(8390656,8,h,p)}function Km(h,p){Du(2048,8,h,p)}function Ak(h){un.flags|=4;var p=un.updateQueue;if(p===null)p=ju(),un.updateQueue=p,p.events=[h];else{var k=p.events;k===null?p.events=[h]:k.push(h)}}function nw(h){var p=Xs().memoizedState;return Ak({ref:p,nextImpl:h}),function(){if((yn&2)!==0)throw Error(i(440));return p.impl.apply(void 0,arguments)}}function sw(h,p){return Du(4,2,h,p)}function iw(h,p){return Du(4,4,h,p)}function rw(h,p){if(typeof p==="function"){h=h();var k=p(h);return function(){typeof k==="function"?k():p(null)}}if(p!==null&&p!==void 0)return h=h(),p.current=h,function(){p.current=null}}function aw(h,p,k){k=k!==null&&k!==void 0?k.concat([h]):null,Du(4,4,rw.bind(null,p,h),k)}function Ym(){}function ow(h,p){var k=Xs();p=p===void 0?null:p;var j=k.memoizedState;if(p!==null&&Nm(p,j[1]))return j[0];return k.memoizedState=[h,p],h}function lw(h,p){var k=Xs();p=p===void 0?null:p;var j=k.memoizedState;if(p!==null&&Nm(p,j[1]))return j[0];if(j=h(),Hl){be(!0);try{h()}finally{be(!1)}}return k.memoizedState=[j,p],j}function Qm(h,p,k){if(k===void 0||(mo&1073741824)!==0&&(xn&261930)===0)return h.memoizedState=p;return h.memoizedState=k,h=ry(),un.lanes|=h,Zo|=h,k}function cw(h,p,k,j){if(cr(k,p))return k;if(Fc.current!==null)return h=Qm(h,k,j),cr(h,p)||(Qs=!0),h;if((mo&42)===0||(mo&1073741824)!==0&&(xn&261930)===0)return Qs=!0,h.memoizedState=k;return h=ry(),un.lanes|=h,Zo|=h,p}function fw(h,p,k,j,V){var Q=ho();ci(Q!==0&&8>Q?Q:8);var re=zt.T,ke={};zt.T=ke,Zm(h,!1,p,k);try{var Ge=V(),tt=zt.S;if(tt!==null&&tt(ke,Ge),Ge!==null&&typeof Ge==="object"&&typeof Ge.then==="function"){var bt=to(Ge,j);qf(h,p,bt,ar(h))}else qf(h,p,j,ar(h))}catch(rt){qf(h,p,{then:function(){},status:"rejected",reason:rt},ar())}finally{ci(Q),re!==null&&ke.types!==null&&(re.types=ke.types),zt.T=re}}function hw(h){var p=h.memoizedState;if(p!==null)return p;p={memoizedState:xc,baseState:xc,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:io,lastRenderedState:xc},next:null};var k={};return p.next={memoizedState:k,baseState:k,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:io,lastRenderedState:k},next:null},h.memoizedState=p,h=h.alternate,h!==null&&(h.memoizedState=p),p}function Jm(){return Yt(Ml)}function uw(){return Xs().memoizedState}function dw(){return Xs().memoizedState}function Tk(h){for(var p=h.return;p!==null;){switch(p.tag){case 24:case 3:var k=ar();h=Pn(k);var j=Un(p,h,k);j!==null&&(Ui(j,p,k),Yn(j,p,k)),p={cache:xt()},h.payload=p;return}p=p.return}}function Ek(h,p,k){var j=ar();k={lane:j,revertLane:0,gesture:null,action:k,hasEagerState:!1,eagerState:null,next:null},Mu(h)?pw(p,k):(k=ot(h,p,k,j),k!==null&&(Ui(k,h,j),gw(k,p,j)))}function mw(h,p,k){var j=ar();qf(h,p,k,j)}function qf(h,p,k,j){var V={lane:j,revertLane:0,gesture:null,action:k,hasEagerState:!1,eagerState:null,next:null};if(Mu(h))pw(p,V);else{var Q=h.alternate;if(h.lanes===0&&(Q===null||Q.lanes===0)&&(Q=p.lastRenderedReducer,Q!==null))try{var re=p.lastRenderedState,ke=Q(re,k);if(V.hasEagerState=!0,V.eagerState=ke,cr(ke,re))return Ue(h,p,V,0),ls===null&&Kr(),!1}catch(Ge){}finally{}if(k=ot(h,p,V,j),k!==null)return Ui(k,h,j),gw(k,p,j),!0}return!1}function Zm(h,p,k,j){if(j={lane:2,revertLane:Fo(),gesture:null,action:j,hasEagerState:!1,eagerState:null,next:null},Mu(h)){if(p)throw Error(i(479))}else p=ot(h,k,j,2),p!==null&&Ui(p,h,2)}function Mu(h){var p=h.alternate;return h===un||p!==null&&p===un}function pw(h,p){Lc=ud=!0;var k=h.pending;k===null?p.next=p:(p.next=k.next,k.next=p),h.pending=p}function gw(h,p,k){if((k&4194048)!==0){var j=p.lanes;j&=h.pendingLanes,k|=j,p.lanes=k,ne(h,k)}}function ep(h,p,k,j){p=h.memoizedState,k=k(j,p),k=k===null||k===void 0?p:Dp({},p,k),h.memoizedState=k,h.lanes===0&&(h.updateQueue.baseState=k)}function bw(h,p,k,j,V,Q,re){return h=h.stateNode,typeof h.shouldComponentUpdate==="function"?h.shouldComponentUpdate(j,Q,re):p.prototype&&p.prototype.isPureReactComponent?!Oo(k,j)||!Oo(V,Q):!0}function ww(h,p,k,j){h=p.state,typeof p.componentWillReceiveProps==="function"&&p.componentWillReceiveProps(k,j),typeof p.UNSAFE_componentWillReceiveProps==="function"&&p.UNSAFE_componentWillReceiveProps(k,j),p.state!==h&&ag.enqueueReplaceState(p,p.state,null)}function jl(h,p){var k=p;if("ref"in p){k={};for(var j in p)j!=="ref"&&(k[j]=p[j])}if(h=h.defaultProps){k===p&&(k=Dp({},k));for(var V in h)k[V]===void 0&&(k[V]=h[V])}return k}function Fu(h,p){try{var k=h.onUncaughtError;k(p.value,{componentStack:p.stack})}catch(j){setTimeout(function(){throw j})}}function yw(h,p,k){try{var j=h.onCaughtError;j(k.value,{componentStack:k.stack,errorBoundary:p.tag===1?p.stateNode:null})}catch(V){setTimeout(function(){throw V})}}function np(h,p,k){return k=Pn(k),k.tag=3,k.payload={element:null},k.callback=function(){Fu(h,p)},k}function vw(h){return h=Pn(h),h.tag=3,h}function Sw(h,p,k,j){var V=k.type.getDerivedStateFromError;if(typeof V==="function"){var Q=j.value;h.payload=function(){return V(Q)},h.callback=function(){yw(p,k,j)}}var re=k.stateNode;re!==null&&typeof re.componentDidCatch==="function"&&(h.callback=function(){yw(p,k,j),typeof V!=="function"&&(el===null?el=new Set([this]):el.add(this));var ke=j.stack;this.componentDidCatch(j.value,{componentStack:ke!==null?ke:""})})}function Ck(h,p,k,j,V){if(k.flags|=32768,j!==null&&typeof j==="object"&&typeof j.then==="function"){if(p=k.alternate,p!==null&&Nt(p,k,V,!0),k=fr.current,k!==null){switch(k.tag){case 31:case 13:return _r===null?Gu():k.alternate===null&&Hs===0&&(Hs=3),k.flags&=-257,k.flags|=65536,k.lanes=V,j===ld?k.flags|=16384:(p=k.updateQueue,p===null?k.updateQueue=new Set([j]):p.add(j),Cp(h,j,V)),!1;case 22:return k.flags|=65536,j===ld?k.flags|=16384:(p=k.updateQueue,p===null?(p={transitions:null,markerInstances:null,retryQueue:new Set([j])},k.updateQueue=p):(k=p.retryQueue,k===null?p.retryQueue=new Set([j]):k.add(j)),Cp(h,j,V)),!1}throw Error(i(435,k.tag))}return Cp(h,j,V),Gu(),!1}if(Tn)return p=fr.current,p!==null?((p.flags&65536)===0&&(p.flags|=256),p.flags|=65536,p.lanes=V,j!==Qp&&(h=Error(i(422),{cause:j}),Wn(we(h,k)))):(j!==Qp&&(p=Error(i(423),{cause:j}),Wn(we(p,k))),h=h.current.alternate,h.flags|=65536,V&=-V,h.lanes|=V,j=we(j,k),V=np(h.stateNode,j,V),Vs(h,V),Hs!==4&&(Hs=2)),!1;var Q=Error(i(520),{cause:j});if(Q=we(Q,k),ih===null?ih=[Q]:ih.push(Q),Hs!==4&&(Hs=2),p===null)return!0;j=we(j,k),k=p;do{switch(k.tag){case 3:return k.flags|=65536,h=V&-V,k.lanes|=h,h=np(k.stateNode,j,h),Vs(k,h),!1;case 1:if(p=k.type,Q=k.stateNode,(k.flags&128)===0&&(typeof p.getDerivedStateFromError==="function"||Q!==null&&typeof Q.componentDidCatch==="function"&&(el===null||!el.has(Q))))return k.flags|=65536,V&=-V,k.lanes|=V,V=vw(V),Sw(V,h,k,j),Vs(k,V),!1}k=k.return}while(k!==null);return!1}function gi(h,p,k,j){p.child=h===null?h5(p,null,k,j):Bl(p,h.child,k,j)}function kw(h,p,k,j,V){k=k.render;var Q=p.ref;if("ref"in j){var re={};for(var ke in j)ke!=="ref"&&(re[ke]=j[ke])}else re=j;if(mn(p),j=Bm(h,p,k,re,Q,V),ke=Hm(),h!==null&&!Qs)return Um(h,p,V),ro(h,p,V);return Tn&&ke&&Fe(p),p.flags|=1,gi(h,p,j,V),p.child}function xw(h,p,k,j,V){if(h===null){var Q=k.type;if(typeof Q==="function"&&!jp(Q)&&Q.defaultProps===void 0&&k.compare===null)return p.tag=15,p.type=Q,Aw(h,p,Q,j,V);return h=$u(k.type,null,j,p,p.mode,V),h.ref=p.ref,h.return=p,p.child=h}if(Q=h.child,!cp(h,V)){var re=Q.memoizedProps;if(k=k.compare,k=k!==null?k:Oo,k(re,j)&&h.ref===p.ref)return ro(h,p,V)}return p.flags|=1,h=lo(Q,j),h.ref=p.ref,h.return=p,p.child=h}function Aw(h,p,k,j,V){if(h!==null){var Q=h.memoizedProps;if(Oo(Q,j)&&h.ref===p.ref)if(Qs=!1,p.pendingProps=j=Q,cp(h,V))(h.flags&131072)!==0&&(Qs=!0);else return p.lanes=h.lanes,ro(h,p,V)}return sp(h,p,k,j,V)}function Tw(h,p,k,j){var V=j.children,Q=h!==null?h.memoizedState:null;if(h===null&&p.stateNode===null&&(p.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),j.mode==="hidden"){if((p.flags&128)!==0){if(Q=Q!==null?Q.baseLanes|k:k,h!==null){j=p.child=h.child;for(V=0;j!==null;)V=V|j.lanes|j.childLanes,j=j.sibling;j=V&~Q}else j=0,p.child=null;return Ew(h,p,Q,k,j)}if((k&536870912)!==0)p.memoizedState={baseLanes:0,cachePool:null},h!==null&&no(p,Q!==null?Q.cachePool:null),Q!==null?Rf(p,Q):$s(),Ho(p);else return j=p.lanes=536870912,Ew(h,p,Q!==null?Q.baseLanes|k:k,k,j)}else Q!==null?(no(p,Q.cachePool),Rf(p,Q),zo(p),p.memoizedState=null):(h!==null&&no(p,null),$s(),zo(p));return gi(h,p,V,k),p.child}function Mf(h,p){return h!==null&&h.tag===22||p.stateNode!==null||(p.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),p.sibling}function Ew(h,p,k,j,V){var Q=wa();return Q=Q===null?null:{parent:fo?qs._currentValue:qs._currentValue2,pool:Q},p.memoizedState={baseLanes:k,cachePool:Q},h!==null&&no(p,null),$s(),Ho(p),h!==null&&Nt(h,p,j,!0),p.childLanes=V,null}function Lu(h,p){return p=Pu({mode:p.mode,children:p.children},h.mode),p.ref=h.ref,h.child=p,p.return=h,p}function Cw(h,p,k){return Bl(p,h.child,null,k),h=Lu(p,p.pendingProps),h.flags|=2,rr(p),p.memoizedState=null,h}function jk(h,p,k){var j=p.pendingProps,V=(p.flags&128)!==0;if(p.flags&=-129,h===null){if(Tn){if(j.mode==="hidden")return h=Lu(p,j),p.lanes=536870912,Mf(null,h);if(gc(p),(h=Ds)?(h=Kx(h,Tr),h!==null&&(p.memoizedState={dehydrated:h,treeContext:Wo!==null?{id:xa,overflow:Aa}:null,retryLane:536870912,hydrationErrors:null},k=jy(h),k.return=p,p.child=k,wi=p,Ds=null)):h=null,h===null)throw ut(p);return p.lanes=536870912,null}return Lu(p,j)}var Q=h.memoizedState;if(Q!==null){var re=Q.dehydrated;if(gc(p),V)if(p.flags&256)p.flags&=-257,p=Cw(h,p,k);else if(p.memoizedState!==null)p.child=h.child,p.flags|=128,p=null;else throw Error(i(558));else if(Qs||Nt(h,p,k,!1),V=(k&h.childLanes)!==0,Qs||V){if(j=ls,j!==null&&(re=ie(j,k),re!==0&&re!==Q.retryLane))throw Q.retryLane=re,It(h,re),Ui(j,h,re),lg;Gu(),p=Cw(h,p,k)}else h=Q.treeContext,ji&&(Ds=Gx(re),wi=p,Tn=!0,Yo=null,Tr=!1,h!==null&&We(p,h)),p=Lu(p,j),p.flags|=4096;return p}return h=lo(h.child,{mode:j.mode,children:j.children}),h.ref=p.ref,p.child=h,h.return=p,h}function Ou(h,p){var k=p.ref;if(k===null)h!==null&&h.ref!==null&&(p.flags|=4194816);else{if(typeof k!=="function"&&typeof k!=="object")throw Error(i(284));if(h===null||h.ref!==k)p.flags|=4194816}}function sp(h,p,k,j,V){if(mn(p),k=Bm(h,p,k,j,void 0,V),j=Hm(),h!==null&&!Qs)return Um(h,p,V),ro(h,p,V);return Tn&&j&&Fe(p),p.flags|=1,gi(h,p,k,V),p.child}function jw(h,p,k,j,V,Q){if(mn(p),p.updateQueue=null,k=O2(p,j,k,V),L2(h),j=Hm(),h!==null&&!Qs)return Um(h,p,Q),ro(h,p,Q);return Tn&&j&&Fe(p),p.flags|=1,gi(h,p,k,Q),p.child}function _w(h,p,k,j,V){if(mn(p),p.stateNode===null){var Q=Ec,re=k.contextType;typeof re==="object"&&re!==null&&(Q=Yt(re)),Q=new k(j,Q),p.memoizedState=Q.state!==null&&Q.state!==void 0?Q.state:null,Q.updater=ag,p.stateNode=Q,Q._reactInternals=p,Q=p.stateNode,Q.props=j,Q.state=p.memoizedState,Q.refs={},gn(p),re=k.contextType,Q.context=typeof re==="object"&&re!==null?Yt(re):Ec,Q.state=p.memoizedState,re=k.getDerivedStateFromProps,typeof re==="function"&&(ep(p,k,re,j),Q.state=p.memoizedState),typeof k.getDerivedStateFromProps==="function"||typeof Q.getSnapshotBeforeUpdate==="function"||typeof Q.UNSAFE_componentWillMount!=="function"&&typeof Q.componentWillMount!=="function"||(re=Q.state,typeof Q.componentWillMount==="function"&&Q.componentWillMount(),typeof Q.UNSAFE_componentWillMount==="function"&&Q.UNSAFE_componentWillMount(),re!==Q.state&&ag.enqueueReplaceState(Q,Q.state,null),qi(p,j,Q,V),os(),Q.state=p.memoizedState),typeof Q.componentDidMount==="function"&&(p.flags|=4194308),j=!0}else if(h===null){Q=p.stateNode;var ke=p.memoizedProps,Ge=jl(k,ke);Q.props=Ge;var tt=Q.context,bt=k.contextType;re=Ec,typeof bt==="object"&&bt!==null&&(re=Yt(bt));var rt=k.getDerivedStateFromProps;bt=typeof rt==="function"||typeof Q.getSnapshotBeforeUpdate==="function",ke=p.pendingProps!==ke,bt||typeof Q.UNSAFE_componentWillReceiveProps!=="function"&&typeof Q.componentWillReceiveProps!=="function"||(ke||tt!==re)&&ww(p,Q,j,re),Qo=!1;var Rt=p.memoizedState;Q.state=Rt,qi(p,j,Q,V),os(),tt=p.memoizedState,ke||Rt!==tt||Qo?(typeof rt==="function"&&(ep(p,k,rt,j),tt=p.memoizedState),(Ge=Qo||bw(p,k,Ge,j,Rt,tt,re))?(bt||typeof Q.UNSAFE_componentWillMount!=="function"&&typeof Q.componentWillMount!=="function"||(typeof Q.componentWillMount==="function"&&Q.componentWillMount(),typeof Q.UNSAFE_componentWillMount==="function"&&Q.UNSAFE_componentWillMount()),typeof Q.componentDidMount==="function"&&(p.flags|=4194308)):(typeof Q.componentDidMount==="function"&&(p.flags|=4194308),p.memoizedProps=j,p.memoizedState=tt),Q.props=j,Q.state=tt,Q.context=re,j=Ge):(typeof Q.componentDidMount==="function"&&(p.flags|=4194308),j=!1)}else{Q=p.stateNode,bs(h,p),re=p.memoizedProps,bt=jl(k,re),Q.props=bt,rt=p.pendingProps,Rt=Q.context,tt=k.contextType,Ge=Ec,typeof tt==="object"&&tt!==null&&(Ge=Yt(tt)),ke=k.getDerivedStateFromProps,(tt=typeof ke==="function"||typeof Q.getSnapshotBeforeUpdate==="function")||typeof Q.UNSAFE_componentWillReceiveProps!=="function"&&typeof Q.componentWillReceiveProps!=="function"||(re!==rt||Rt!==Ge)&&ww(p,Q,j,Ge),Qo=!1,Rt=p.memoizedState,Q.state=Rt,qi(p,j,Q,V),os();var cn=p.memoizedState;re!==rt||Rt!==cn||Qo||h!==null&&h.dependencies!==null&&an(h.dependencies)?(typeof ke==="function"&&(ep(p,k,ke,j),cn=p.memoizedState),(bt=Qo||bw(p,k,bt,j,Rt,cn,Ge)||h!==null&&h.dependencies!==null&&an(h.dependencies))?(tt||typeof Q.UNSAFE_componentWillUpdate!=="function"&&typeof Q.componentWillUpdate!=="function"||(typeof Q.componentWillUpdate==="function"&&Q.componentWillUpdate(j,cn,Ge),typeof Q.UNSAFE_componentWillUpdate==="function"&&Q.UNSAFE_componentWillUpdate(j,cn,Ge)),typeof Q.componentDidUpdate==="function"&&(p.flags|=4),typeof Q.getSnapshotBeforeUpdate==="function"&&(p.flags|=1024)):(typeof Q.componentDidUpdate!=="function"||re===h.memoizedProps&&Rt===h.memoizedState||(p.flags|=4),typeof Q.getSnapshotBeforeUpdate!=="function"||re===h.memoizedProps&&Rt===h.memoizedState||(p.flags|=1024),p.memoizedProps=j,p.memoizedState=cn),Q.props=j,Q.state=cn,Q.context=Ge,j=bt):(typeof Q.componentDidUpdate!=="function"||re===h.memoizedProps&&Rt===h.memoizedState||(p.flags|=4),typeof Q.getSnapshotBeforeUpdate!=="function"||re===h.memoizedProps&&Rt===h.memoizedState||(p.flags|=1024),j=!1)}return Q=j,Ou(h,p),j=(p.flags&128)!==0,Q||j?(Q=p.stateNode,k=j&&typeof k.getDerivedStateFromError!=="function"?null:Q.render(),p.flags|=1,h!==null&&j?(p.child=Bl(p,h.child,null,V),p.child=Bl(p,null,k,V)):gi(h,p,k,V),p.memoizedState=Q.state,h=p.child):h=ro(h,p,V),h}function Iw(h,p,k,j){return Wt(),p.flags|=256,gi(h,p,k,j),p.child}function ip(h){return{baseLanes:h,cachePool:ya()}}function rp(h,p,k){return h=h!==null?h.childLanes&~k:0,p&&(h|=ur),h}function Rw(h,p,k){var j=p.pendingProps,V=!1,Q=(p.flags&128)!==0,re;if((re=Q)||(re=h!==null&&h.memoizedState===null?!1:(Ws.current&2)!==0),re&&(V=!0,p.flags&=-129),re=(p.flags&32)!==0,p.flags&=-33,h===null){if(Tn){if(V?ys(p):zo(p),(h=Ds)?(h=Yx(h,Tr),h!==null&&(p.memoizedState={dehydrated:h,treeContext:Wo!==null?{id:xa,overflow:Aa}:null,retryLane:536870912,hydrationErrors:null},k=jy(h),k.return=p,p.child=k,wi=p,Ds=null)):h=null,h===null)throw ut(p);return zp(h)?p.lanes=32:p.lanes=536870912,null}var ke=j.children;if(j=j.fallback,V)return zo(p),V=p.mode,ke=Pu({mode:"hidden",children:ke},V),j=Dl(j,V,k,null),ke.return=p,j.return=p,ke.sibling=j,p.child=ke,j=p.child,j.memoizedState=ip(k),j.childLanes=rp(h,re,k),p.memoizedState=cg,Mf(null,j);return ys(p),ap(p,ke)}var Ge=h.memoizedState;if(Ge!==null&&(ke=Ge.dehydrated,ke!==null)){if(Q)p.flags&256?(ys(p),p.flags&=-257,p=op(h,p,k)):p.memoizedState!==null?(zo(p),p.child=h.child,p.flags|=128,p=null):(zo(p),ke=j.fallback,V=p.mode,j=Pu({mode:"visible",children:j.children},V),ke=Dl(ke,V,k,null),ke.flags|=2,j.return=p,ke.return=p,j.sibling=ke,p.child=j,Bl(p,h.child,null,k),j=p.child,j.memoizedState=ip(k),j.childLanes=rp(h,re,k),p.memoizedState=cg,p=Mf(null,j));else if(ys(p),zp(ke))re=Ox(ke).digest,j=Error(i(419)),j.stack="",j.digest=re,Wn({value:j,source:null,stack:null}),p=op(h,p,k);else if(Qs||Nt(h,p,k,!1),re=(k&h.childLanes)!==0,Qs||re){if(re=ls,re!==null&&(j=ie(re,k),j!==0&&j!==Ge.retryLane))throw Ge.retryLane=j,It(h,j),Ui(re,h,j),lg;Up(ke)||Gu(),p=op(h,p,k)}else Up(ke)?(p.flags|=192,p.child=h.child,p=null):(h=Ge.treeContext,ji&&(Ds=Vx(ke),wi=p,Tn=!0,Yo=null,Tr=!1,h!==null&&We(p,h)),p=ap(p,j.children),p.flags|=4096);return p}if(V)return zo(p),ke=j.fallback,V=p.mode,Ge=h.child,Q=Ge.sibling,j=lo(Ge,{mode:"hidden",children:j.children}),j.subtreeFlags=Ge.subtreeFlags&65011712,Q!==null?ke=lo(Q,ke):(ke=Dl(ke,V,k,null),ke.flags|=2),ke.return=p,j.return=p,j.sibling=ke,p.child=j,Mf(null,j),j=p.child,ke=h.child.memoizedState,ke===null?ke=ip(k):(V=ke.cachePool,V!==null?(Ge=fo?qs._currentValue:qs._currentValue2,V=V.parent!==Ge?{parent:Ge,pool:Ge}:V):V=ya(),ke={baseLanes:ke.baseLanes|k,cachePool:V}),j.memoizedState=ke,j.childLanes=rp(h,re,k),p.memoizedState=cg,Mf(h.child,j);return ys(p),k=h.child,h=k.sibling,k=lo(k,{mode:"visible",children:j.children}),k.return=p,k.sibling=null,h!==null&&(re=p.deletions,re===null?(p.deletions=[h],p.flags|=16):re.push(h)),p.child=k,p.memoizedState=null,k}function ap(h,p){return p=Pu({mode:"visible",children:p},h.mode),p.return=h,h.child=p}function Pu(h,p){return h=n(22,h,null,p),h.lanes=0,h}function op(h,p,k){return Bl(p,h.child,null,k),h=ap(p,p.pendingProps.children),h.flags|=2,p.memoizedState=null,h}function Dw(h,p,k){h.lanes|=p;var j=h.alternate;j!==null&&(j.lanes|=p),wt(h.return,p,k)}function lp(h,p,k,j,V,Q){var re=h.memoizedState;re===null?h.memoizedState={isBackwards:p,rendering:null,renderingStartTime:0,last:j,tail:k,tailMode:V,treeForkCount:Q}:(re.isBackwards=p,re.rendering=null,re.renderingStartTime=0,re.last=j,re.tail=k,re.tailMode=V,re.treeForkCount=Q)}function qw(h,p,k){var j=p.pendingProps,V=j.revealOrder,Q=j.tail;j=j.children;var re=Ws.current,ke=(re&2)!==0;if(ke?(re=re&1|2,p.flags|=128):re&=1,v(Ws,re),gi(h,p,j,k),j=Tn?Yf:0,!ke&&h!==null&&(h.flags&128)!==0)e:for(h=p.child;h!==null;){if(h.tag===13)h.memoizedState!==null&&Dw(h,k,p);else if(h.tag===19)Dw(h,k,p);else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===p)break e;for(;h.sibling===null;){if(h.return===null||h.return===p)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}switch(V){case"forwards":k=p.child;for(V=null;k!==null;)h=k.alternate,h!==null&&Cu(h)===null&&(V=k),k=k.sibling;k=V,k===null?(V=p.child,p.child=null):(V=k.sibling,k.sibling=null),lp(p,!1,V,k,Q,j);break;case"backwards":case"unstable_legacy-backwards":k=null,V=p.child;for(p.child=null;V!==null;){if(h=V.alternate,h!==null&&Cu(h)===null){p.child=V;break}h=V.sibling,V.sibling=k,k=V,V=h}lp(p,!0,k,null,Q,j);break;case"together":lp(p,!1,null,null,void 0,j);break;default:p.memoizedState=null}return p.child}function ro(h,p,k){if(h!==null&&(p.dependencies=h.dependencies),Zo|=p.lanes,(k&p.childLanes)===0)if(h!==null){if(Nt(h,p,k,!1),(k&p.childLanes)===0)return null}else return null;if(h!==null&&p.child!==h.child)throw Error(i(153));if(p.child!==null){h=p.child,k=lo(h,h.pendingProps),p.child=k;for(k.return=p;h.sibling!==null;)h=h.sibling,k=k.sibling=lo(h,h.pendingProps),k.return=p;k.sibling=null}return p.child}function cp(h,p){if((h.lanes&p)!==0)return!0;return h=h.dependencies,h!==null&&an(h)?!0:!1}function _k(h,p,k){switch(p.tag){case 3:st(p,p.stateNode.containerInfo),Xe(p,qs,h.memoizedState.cache),Wt();break;case 27:case 5:vt(p);break;case 4:st(p,p.stateNode.containerInfo);break;case 10:Xe(p,p.type,p.memoizedProps.value);break;case 31:if(p.memoizedState!==null)return p.flags|=128,gc(p),null;break;case 13:var j=p.memoizedState;if(j!==null){if(j.dehydrated!==null)return ys(p),p.flags|=128,null;if((k&p.child.childLanes)!==0)return Rw(h,p,k);return ys(p),h=ro(h,p,k),h!==null?h.sibling:null}ys(p);break;case 19:var V=(h.flags&128)!==0;if(j=(k&p.childLanes)!==0,j||(Nt(h,p,k,!1),j=(k&p.childLanes)!==0),V){if(j)return qw(h,p,k);p.flags|=128}if(V=p.memoizedState,V!==null&&(V.rendering=null,V.tail=null,V.lastEffect=null),v(Ws,Ws.current),j)break;else return null;case 22:return p.lanes=0,Tw(h,p,k,p.pendingProps);case 24:Xe(p,qs,h.memoizedState.cache)}return ro(h,p,k)}function Mw(h,p,k){if(h!==null)if(h.memoizedProps!==p.pendingProps)Qs=!0;else{if(!cp(h,k)&&(p.flags&128)===0)return Qs=!1,_k(h,p,k);Qs=(h.flags&131072)!==0?!0:!1}else Qs=!1,Tn&&(p.flags&1048576)!==0&&De(p,Yf,p.index);switch(p.lanes=0,p.tag){case 16:e:{var j=p.pendingProps;if(h=ir(p.elementType),p.type=h,typeof h==="function")jp(h)?(j=jl(h,j),p.tag=1,p=_w(null,p,h,j,k)):(p.tag=0,p=sp(null,p,h,j,k));else{if(h!==void 0&&h!==null){var V=h.$$typeof;if(V===Mp){p.tag=11,p=kw(null,p,h,j,k);break e}else if(V===Pp){p.tag=14,p=xw(null,p,h,j,k);break e}}throw p=g(h)||h,Error(i(306,p,""))}}return p;case 0:return sp(h,p,p.type,p.pendingProps,k);case 1:return j=p.type,V=jl(j,p.pendingProps),_w(h,p,j,V,k);case 3:e:{if(st(p,p.stateNode.containerInfo),h===null)throw Error(i(387));var Q=p.pendingProps;V=p.memoizedState,j=V.element,bs(h,p),qi(p,Q,null,k);var re=p.memoizedState;if(Q=re.cache,Xe(p,qs,Q),Q!==V.cache&&mt(p,[qs],k,!0),os(),Q=re.element,ji&&V.isDehydrated)if(V={element:Q,isDehydrated:!1,cache:re.cache},p.updateQueue.baseState=V,p.memoizedState=V,p.flags&256){p=Iw(h,p,Q,k);break e}else if(Q!==j){j=we(Error(i(424)),p),Wn(j),p=Iw(h,p,Q,k);break e}else for(ji&&(Ds=zx(p.stateNode.containerInfo),wi=p,Tn=!0,Yo=null,Tr=!0),k=h5(p,null,Q,k),p.child=k;k;)k.flags=k.flags&-3|4096,k=k.sibling;else{if(Wt(),Q===j){p=ro(h,p,k);break e}gi(h,p,Q,k)}p=p.child}return p;case 26:if(ea)return Ou(h,p),h===null?(k=Qy(p.type,null,p.pendingProps,null))?p.memoizedState=k:Tn||(p.stateNode=bA(p.type,p.pendingProps,Ko.current,p)):p.memoizedState=Qy(p.type,h.memoizedProps,p.pendingProps,h.memoizedState),null;case 27:if(ri)return vt(p),h===null&&ri&&Tn&&(j=p.stateNode=s5(p.type,p.pendingProps,Ko.current,bi.current,!1),wi=p,Tr=!0,Ds=$x(p.type,j,Ds)),gi(h,p,p.pendingProps.children,k),Ou(h,p),h===null&&(p.flags|=4194304),p.child;case 5:if(h===null&&Tn){if(mA(p.type,p.pendingProps,bi.current),V=j=Ds)j=Xx(j,p.type,p.pendingProps,Tr),j!==null?(p.stateNode=j,wi=p,Ds=Ux(j),Tr=!1,V=!0):V=!1;V||ut(p)}return vt(p),V=p.type,Q=p.pendingProps,re=h!==null?h.memoizedProps:null,j=Q.children,Ku(V,Q)?j=null:re!==null&&Ku(V,re)&&(p.flags|=32),p.memoizedState!==null&&(V=Bm(h,p,Sk,null,null,k),fo?Ml._currentValue=V:Ml._currentValue2=V),Ou(h,p),gi(h,p,j,k),p.child;case 6:if(h===null&&Tn){if(pA(p.pendingProps,bi.current),h=k=Ds)k=Wx(k,p.pendingProps,Tr),k!==null?(p.stateNode=k,wi=p,Ds=null,h=!0):h=!1;h||ut(p)}return null;case 13:return Rw(h,p,k);case 4:return st(p,p.stateNode.containerInfo),j=p.pendingProps,h===null?p.child=Bl(p,null,j,k):gi(h,p,j,k),p.child;case 11:return kw(h,p,p.type,p.pendingProps,k);case 7:return gi(h,p,p.pendingProps,k),p.child;case 8:return gi(h,p,p.pendingProps.children,k),p.child;case 12:return gi(h,p,p.pendingProps.children,k),p.child;case 10:return j=p.pendingProps,Xe(p,p.type,j.value),gi(h,p,j.children,k),p.child;case 9:return V=p.type._context,j=p.pendingProps.children,mn(p),V=Yt(V),j=j(V),p.flags|=1,gi(h,p,j,k),p.child;case 14:return xw(h,p,p.type,p.pendingProps,k);case 15:return Aw(h,p,p.type,p.pendingProps,k);case 19:return qw(h,p,k);case 31:return jk(h,p,k);case 22:return Tw(h,p,k,p.pendingProps);case 24:return mn(p),j=Yt(qs),h===null?(V=wa(),V===null&&(V=ls,Q=xt(),V.pooledCache=Q,Q.refCount++,Q!==null&&(V.pooledCacheLanes|=k),V=Q),p.memoizedState={parent:j,cache:V},gn(p),Xe(p,qs,V)):((h.lanes&k)!==0&&(bs(h,p),qi(p,null,null,k),os()),V=h.memoizedState,Q=p.memoizedState,V.parent!==j?(V={parent:j,cache:j},p.memoizedState=V,p.lanes===0&&(p.memoizedState=p.updateQueue.baseState=V),Xe(p,qs,j)):(j=Q.cache,Xe(p,qs,j),j!==V.cache&&mt(p,[qs],k,!0))),gi(h,p,p.pendingProps.children,k),p.child;case 29:throw p.pendingProps}throw Error(i(156,p.tag))}function Qr(h){h.flags|=4}function Nu(h){ka&&(h.flags|=8)}function Fw(h,p){if(h!==null&&h.child===p.child)return!1;if((p.flags&16)!==0)return!0;for(h=p.child;h!==null;){if((h.flags&8218)!==0||(h.subtreeFlags&8218)!==0)return!0;h=h.sibling}return!1}function fp(h,p,k,j){if(Ci)for(k=p.child;k!==null;){if(k.tag===5||k.tag===6)Bp(h,k.stateNode);else if(!(k.tag===4||ri&&k.tag===27)&&k.child!==null){k.child.return=k,k=k.child;continue}if(k===p)break;for(;k.sibling===null;){if(k.return===null||k.return===p)return;k=k.return}k.sibling.return=k.return,k=k.sibling}else if(ka)for(var V=p.child;V!==null;){if(V.tag===5){var Q=V.stateNode;k&&j&&(Q=$y(Q,V.type,V.memoizedProps)),Bp(h,Q)}else if(V.tag===6)Q=V.stateNode,k&&j&&(Q=Xy(Q,V.memoizedProps)),Bp(h,Q);else if(V.tag!==4){if(V.tag===22&&V.memoizedState!==null)Q=V.child,Q!==null&&(Q.return=V),fp(h,V,!0,!0);else if(V.child!==null){V.child.return=V,V=V.child;continue}}if(V===p)break;for(;V.sibling===null;){if(V.return===null||V.return===p)return;V=V.return}V.sibling.return=V.return,V=V.sibling}}function Lw(h,p,k,j){var V=!1;if(ka)for(var Q=p.child;Q!==null;){if(Q.tag===5){var re=Q.stateNode;k&&j&&(re=$y(re,Q.type,Q.memoizedProps)),Gy(h,re)}else if(Q.tag===6)re=Q.stateNode,k&&j&&(re=Xy(re,Q.memoizedProps)),Gy(h,re);else if(Q.tag!==4){if(Q.tag===22&&Q.memoizedState!==null)V=Q.child,V!==null&&(V.return=Q),Lw(h,Q,!0,!0),V=!0;else if(Q.child!==null){Q.child.return=Q,Q=Q.child;continue}}if(Q===p)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===p)return V;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}return V}function Ow(h,p){if(ka&&Fw(h,p)){h=p.stateNode;var k=h.containerInfo,j=zy();Lw(j,p,!1,!1),h.pendingChildren=j,Qr(p),Lx(k,j)}}function hp(h,p,k,j){if(Ci)h.memoizedProps!==j&&Qr(p);else if(ka){var V=h.stateNode,Q=h.memoizedProps;if((h=Fw(h,p))||Q!==j){var re=bi.current;Q=Fx(V,k,Q,j,!h,null),Q===V?p.stateNode=V:(Nu(p),Py(Q,k,j,re)&&Qr(p),p.stateNode=Q,h&&fp(Q,p,!1,!1))}else p.stateNode=V}}function up(h,p,k,j,V){if((h.mode&32)!==0&&(k===null?ox(p,j):lx(p,k,j))){if(h.flags|=16777216,(V&335544128)===V||Hp(p,j))if(By(h.stateNode,p,j))h.flags|=8192;else if(fy())h.flags|=8192;else throw Nl=ld,tg}else h.flags&=-16777217}function Pw(h,p){if(yA(p)){if(h.flags|=16777216,!n5(p))if(fy())h.flags|=8192;else throw Nl=ld,tg}else h.flags&=-16777217}function Bu(h,p){p!==null&&(h.flags|=4),h.flags&16384&&(p=h.tag!==22?X():536870912,h.lanes|=p,Hc|=p)}function Ff(h,p){if(!Tn)switch(h.tailMode){case"hidden":p=h.tail;for(var k=null;p!==null;)p.alternate!==null&&(k=p),p=p.sibling;k===null?h.tail=null:k.sibling=null;break;case"collapsed":k=h.tail;for(var j=null;k!==null;)k.alternate!==null&&(j=k),k=k.sibling;j===null?p||h.tail===null?h.tail=null:h.tail.sibling=null:j.sibling=null}}function ms(h){var p=h.alternate!==null&&h.alternate.child===h.child,k=0,j=0;if(p)for(var V=h.child;V!==null;)k|=V.lanes|V.childLanes,j|=V.subtreeFlags&65011712,j|=V.flags&65011712,V.return=h,V=V.sibling;else for(V=h.child;V!==null;)k|=V.lanes|V.childLanes,j|=V.subtreeFlags,j|=V.flags,V.return=h,V=V.sibling;return h.subtreeFlags|=j,h.childLanes=k,p}function Ik(h,p,k){var j=p.pendingProps;switch(Be(p),p.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ms(p),null;case 1:return ms(p),null;case 3:if(k=p.stateNode,j=null,h!==null&&(j=h.memoizedState.cache),p.memoizedState.cache!==j&&(p.flags|=2048),Ze(qs),Je(),k.pendingContext&&(k.context=k.pendingContext,k.pendingContext=null),h===null||h.child===null)hn(p)?Qr(p):h===null||h.memoizedState.isDehydrated&&(p.flags&256)===0||(p.flags|=1024,rn());return Ow(h,p),ms(p),null;case 26:if(ea){var{type:V,memoizedState:Q}=p;return h===null?(Qr(p),Q!==null?(ms(p),Pw(p,Q)):(ms(p),up(p,V,null,j,k))):Q?Q!==h.memoizedState?(Qr(p),ms(p),Pw(p,Q)):(ms(p),p.flags&=-16777217):(Q=h.memoizedProps,Ci?Q!==j&&Qr(p):hp(h,p,V,j),ms(p),up(p,V,Q,j,k)),null}case 27:if(ri){if(jt(p),k=Ko.current,V=p.type,h!==null&&p.stateNode!=null)Ci?h.memoizedProps!==j&&Qr(p):hp(h,p,V,j);else{if(!j){if(p.stateNode===null)throw Error(i(166));return ms(p),null}h=bi.current,hn(p)?Lt(p,h):(h=s5(V,j,k,h,!0),p.stateNode=h,Qr(p))}return ms(p),null}case 5:if(jt(p),V=p.type,h!==null&&p.stateNode!=null)hp(h,p,V,j);else{if(!j){if(p.stateNode===null)throw Error(i(166));return ms(p),null}if(Q=bi.current,hn(p))Lt(p,Q),lA(p.stateNode,V,j,Q)&&(p.flags|=64);else{var re=Zk(V,j,Ko.current,Q,p);Nu(p),fp(re,p,!1,!1),p.stateNode=re,Py(re,V,j,Q)&&Qr(p)}}return ms(p),up(p,p.type,h===null?null:h.memoizedProps,p.pendingProps,k),null;case 6:if(h&&p.stateNode!=null)k=h.memoizedProps,Ci?k!==j&&Qr(p):ka&&(k!==j?(h=Ko.current,k=bi.current,Nu(p),p.stateNode=Ny(j,h,k,p)):p.stateNode=h.stateNode);else{if(typeof j!=="string"&&p.stateNode===null)throw Error(i(166));if(h=Ko.current,k=bi.current,hn(p)){if(!ji)throw Error(i(176));if(h=p.stateNode,k=p.memoizedProps,j=null,V=wi,V!==null)switch(V.tag){case 27:case 5:j=V.memoizedProps}Jx(h,k,p,j)||ut(p,!0)}else Nu(p),p.stateNode=Ny(j,h,k,p)}return ms(p),null;case 31:if(k=p.memoizedState,h===null||h.memoizedState!==null){if(j=hn(p),k!==null){if(h===null){if(!j)throw Error(i(318));if(!ji)throw Error(i(556));if(h=p.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(557));Zx(h,p)}else Wt(),(p.flags&128)===0&&(p.memoizedState=null),p.flags|=4;ms(p),h=!1}else k=rn(),h!==null&&h.memoizedState!==null&&(h.memoizedState.hydrationErrors=k),h=!0;if(!h){if(p.flags&256)return rr(p),p;return rr(p),null}if((p.flags&128)!==0)throw Error(i(558))}return ms(p),null;case 13:if(j=p.memoizedState,h===null||h.memoizedState!==null&&h.memoizedState.dehydrated!==null){if(V=hn(p),j!==null&&j.dehydrated!==null){if(h===null){if(!V)throw Error(i(318));if(!ji)throw Error(i(344));if(V=p.memoizedState,V=V!==null?V.dehydrated:null,!V)throw Error(i(317));eA(V,p)}else Wt(),(p.flags&128)===0&&(p.memoizedState=null),p.flags|=4;ms(p),V=!1}else V=rn(),h!==null&&h.memoizedState!==null&&(h.memoizedState.hydrationErrors=V),V=!0;if(!V){if(p.flags&256)return rr(p),p;return rr(p),null}}if(rr(p),(p.flags&128)!==0)return p.lanes=k,p;return k=j!==null,h=h!==null&&h.memoizedState!==null,k&&(j=p.child,V=null,j.alternate!==null&&j.alternate.memoizedState!==null&&j.alternate.memoizedState.cachePool!==null&&(V=j.alternate.memoizedState.cachePool.pool),Q=null,j.memoizedState!==null&&j.memoizedState.cachePool!==null&&(Q=j.memoizedState.cachePool.pool),Q!==V&&(j.flags|=2048)),k!==h&&k&&(p.child.flags|=8192),Bu(p,p.updateQueue),ms(p),null;case 4:return Je(),Ow(h,p),h===null&&sx(p.stateNode.containerInfo),ms(p),null;case 10:return Ze(p.type),ms(p),null;case 19:if(y(Ws),j=p.memoizedState,j===null)return ms(p),null;if(V=(p.flags&128)!==0,Q=j.rendering,Q===null)if(V)Ff(j,!1);else{if(Hs!==0||h!==null&&(h.flags&128)!==0)for(h=p.child;h!==null;){if(Q=Cu(h),Q!==null){p.flags|=128,Ff(j,!1),h=Q.updateQueue,p.updateQueue=h,Bu(p,h),p.subtreeFlags=0,h=k;for(k=p.child;k!==null;)Cy(k,h),k=k.sibling;return v(Ws,Ws.current&1|2),Tn&&qe(p,j.treeForkCount),p.child}h=h.sibling}j.tail!==null&&zi()>rh&&(p.flags|=128,V=!0,Ff(j,!1),p.lanes=4194304)}else{if(!V)if(h=Cu(Q),h!==null){if(p.flags|=128,V=!0,h=h.updateQueue,p.updateQueue=h,Bu(p,h),Ff(j,!0),j.tail===null&&j.tailMode==="hidden"&&!Q.alternate&&!Tn)return ms(p),null}else 2*zi()-j.renderingStartTime>rh&&k!==536870912&&(p.flags|=128,V=!0,Ff(j,!1),p.lanes=4194304);j.isBackwards?(Q.sibling=p.child,p.child=Q):(h=j.last,h!==null?h.sibling=Q:p.child=Q,j.last=Q)}if(j.tail!==null)return h=j.tail,j.rendering=h,j.tail=h.sibling,j.renderingStartTime=zi(),h.sibling=null,k=Ws.current,v(Ws,V?k&1|2:k&1),Tn&&qe(p,j.treeForkCount),h;return ms(p),null;case 22:case 23:return rr(p),Mi(),j=p.memoizedState!==null,h!==null?h.memoizedState!==null!==j&&(p.flags|=8192):j&&(p.flags|=8192),j?(k&536870912)!==0&&(p.flags&128)===0&&(ms(p),p.subtreeFlags&6&&(p.flags|=8192)):ms(p),k=p.updateQueue,k!==null&&Bu(p,k.retryQueue),k=null,h!==null&&h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(k=h.memoizedState.cachePool.pool),j=null,p.memoizedState!==null&&p.memoizedState.cachePool!==null&&(j=p.memoizedState.cachePool.pool),j!==k&&(p.flags|=2048),h!==null&&y(Ol),null;case 24:return k=null,h!==null&&(k=h.memoizedState.cache),p.memoizedState.cache!==k&&(p.flags|=2048),Ze(qs),ms(p),null;case 25:return null;case 30:return null}throw Error(i(156,p.tag))}function Rk(h,p){switch(Be(p),p.tag){case 1:return h=p.flags,h&65536?(p.flags=h&-65537|128,p):null;case 3:return Ze(qs),Je(),h=p.flags,(h&65536)!==0&&(h&128)===0?(p.flags=h&-65537|128,p):null;case 26:case 27:case 5:return jt(p),null;case 31:if(p.memoizedState!==null){if(rr(p),p.alternate===null)throw Error(i(340));Wt()}return h=p.flags,h&65536?(p.flags=h&-65537|128,p):null;case 13:if(rr(p),h=p.memoizedState,h!==null&&h.dehydrated!==null){if(p.alternate===null)throw Error(i(340));Wt()}return h=p.flags,h&65536?(p.flags=h&-65537|128,p):null;case 19:return y(Ws),null;case 4:return Je(),null;case 10:return Ze(p.type),null;case 22:case 23:return rr(p),Mi(),h!==null&&y(Ol),h=p.flags,h&65536?(p.flags=h&-65537|128,p):null;case 24:return Ze(qs),null;case 25:return null;default:return null}}function Nw(h,p){switch(Be(p),p.tag){case 3:Ze(qs),Je();break;case 26:case 27:case 5:jt(p);break;case 4:Je();break;case 31:p.memoizedState!==null&&rr(p);break;case 13:rr(p);break;case 19:y(Ws);break;case 10:Ze(p.type);break;case 22:case 23:rr(p),Mi(),h!==null&&y(Ol);break;case 24:Ze(qs)}}function Lf(h,p){try{var k=p.updateQueue,j=k!==null?k.lastEffect:null;if(j!==null){var V=j.next;k=V;do{if((k.tag&h)===h){j=void 0;var Q=k.create,re=k.inst;j=Q(),re.destroy=j}k=k.next}while(k!==V)}}catch(ke){Mn(p,p.return,ke)}}function Go(h,p,k){try{var j=p.updateQueue,V=j!==null?j.lastEffect:null;if(V!==null){var Q=V.next;j=Q;do{if((j.tag&h)===h){var re=j.inst,ke=re.destroy;if(ke!==void 0){re.destroy=void 0,V=p;var Ge=k,tt=ke;try{tt()}catch(bt){Mn(V,Ge,bt)}}}j=j.next}while(j!==Q)}}catch(bt){Mn(p,p.return,bt)}}function Bw(h){var p=h.updateQueue;if(p!==null){var k=h.stateNode;try{If(p,k)}catch(j){Mn(h,h.return,j)}}}function Hw(h,p,k){k.props=jl(h.type,h.memoizedProps),k.state=h.memoizedState;try{k.componentWillUnmount()}catch(j){Mn(h,p,j)}}function Of(h,p){try{var k=h.ref;if(k!==null){switch(h.tag){case 26:case 27:case 5:var j=zf(h.stateNode);break;case 30:j=h.stateNode;break;default:j=h.stateNode}typeof k==="function"?h.refCleanup=k(j):k.current=j}}catch(V){Mn(h,p,V)}}function Sa(h,p){var k=h.ref,j=h.refCleanup;if(k!==null)if(typeof j==="function")try{j()}catch(V){Mn(h,p,V)}finally{h.refCleanup=null,h=h.alternate,h!=null&&(h.refCleanup=null)}else if(typeof k==="function")try{k(null)}catch(V){Mn(h,p,V)}else k.current=null}function Uw(h){var{type:p,memoizedProps:k,stateNode:j}=h;try{xx(j,p,k,h)}catch(V){Mn(h,h.return,V)}}function dp(h,p,k){try{Ax(h.stateNode,h.type,k,p,h)}catch(j){Mn(h,h.return,j)}}function zw(h){return h.tag===5||h.tag===3||(ea?h.tag===26:!1)||(ri?h.tag===27&&Ac(h.type):!1)||h.tag===4}function mp(h){e:for(;;){for(;h.sibling===null;){if(h.return===null||zw(h.return))return null;h=h.return}h.sibling.return=h.return;for(h=h.sibling;h.tag!==5&&h.tag!==6&&h.tag!==18;){if(ri&&h.tag===27&&Ac(h.type))continue e;if(h.flags&2)continue e;if(h.child===null||h.tag===4)continue e;else h.child.return=h,h=h.child}if(!(h.flags&2))return h.stateNode}}function pp(h,p,k){var j=h.tag;if(j===5||j===6)h=h.stateNode,p?Cx(k,h,p):Sx(k,h);else if(j!==4&&(ri&&j===27&&Ac(h.type)&&(k=h.stateNode,p=null),h=h.child,h!==null))for(pp(h,p,k),h=h.sibling;h!==null;)pp(h,p,k),h=h.sibling}function Hu(h,p,k){var j=h.tag;if(j===5||j===6)h=h.stateNode,p?Ex(k,h,p):vx(k,h);else if(j!==4&&(ri&&j===27&&Ac(h.type)&&(k=h.stateNode),h=h.child,h!==null))for(Hu(h,p,k),h=h.sibling;h!==null;)Hu(h,p,k),h=h.sibling}function Gw(h,p,k){h=h.containerInfo;try{Vy(h,k)}catch(j){Mn(p,p.return,j)}}function $w(h){var{stateNode:p,memoizedProps:k}=h;try{SA(h.type,k,p,h)}catch(j){Mn(h,h.return,j)}}function Dk(h,p){Qk(h.containerInfo);for(fi=p;fi!==null;)if(h=fi,p=h.child,(h.subtreeFlags&1028)!==0&&p!==null)p.return=h,fi=p;else for(;fi!==null;){h=fi;var k=h.alternate;switch(p=h.flags,h.tag){case 0:if((p&4)!==0&&(p=h.updateQueue,p=p!==null?p.events:null,p!==null))for(var j=0;j<p.length;j++){var V=p[j];V.ref.impl=V.nextImpl}break;case 11:case 15:break;case 1:if((p&1024)!==0&&k!==null){p=void 0,j=h,V=k.memoizedProps,k=k.memoizedState;var Q=j.stateNode;try{var re=jl(j.type,V);p=Q.getSnapshotBeforeUpdate(re,k),Q.__reactInternalSnapshotBeforeUpdate=p}catch(ke){Mn(j,j.return,ke)}}break;case 3:(p&1024)!==0&&Ci&&Mx(h.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((p&1024)!==0)throw Error(i(163))}if(p=h.sibling,p!==null){p.return=h.return,fi=p;break}fi=h.return}}function Xw(h,p,k){var j=k.flags;switch(k.tag){case 0:case 11:case 15:ao(h,k),j&4&&Lf(5,k);break;case 1:if(ao(h,k),j&4)if(h=k.stateNode,p===null)try{h.componentDidMount()}catch(re){Mn(k,k.return,re)}else{var V=jl(k.type,p.memoizedProps);p=p.memoizedState;try{h.componentDidUpdate(V,p,h.__reactInternalSnapshotBeforeUpdate)}catch(re){Mn(k,k.return,re)}}j&64&&Bw(k),j&512&&Of(k,k.return);break;case 3:if(ao(h,k),j&64&&(j=k.updateQueue,j!==null)){if(h=null,k.child!==null)switch(k.child.tag){case 27:case 5:h=zf(k.child.stateNode);break;case 1:h=k.child.stateNode}try{If(j,h)}catch(re){Mn(k,k.return,re)}}break;case 27:ri&&p===null&&j&4&&$w(k);case 26:case 5:if(ao(h,k),p===null){if(j&4)Uw(k);else if(j&64){h=k.type,p=k.memoizedProps,V=k.stateNode;try{sA(V,h,p,k)}catch(re){Mn(k,k.return,re)}}}j&512&&Of(k,k.return);break;case 12:ao(h,k);break;case 31:ao(h,k),j&4&&Kw(h,k);break;case 13:ao(h,k),j&4&&Yw(h,k),j&64&&(j=k.memoizedState,j!==null&&(j=j.dehydrated,j!==null&&(k=Nk.bind(null,k),Px(j,k))));break;case 22:if(j=k.memoizedState!==null||po,!j){p=p!==null&&p.memoizedState!==null||Js,V=po;var Q=Js;po=j,(Js=p)&&!Q?oo(h,k,(k.subtreeFlags&8772)!==0):ao(h,k),po=V,Js=Q}break;case 30:break;default:ao(h,k)}}function Ww(h){var p=h.alternate;p!==null&&(h.alternate=null,Ww(p)),h.child=null,h.deletions=null,h.sibling=null,h.tag===5&&(p=h.stateNode,p!==null&&ax(p)),h.stateNode=null,h.return=null,h.dependencies=null,h.memoizedProps=null,h.memoizedState=null,h.pendingProps=null,h.stateNode=null,h.updateQueue=null}function Jr(h,p,k){for(k=k.child;k!==null;)wp(h,p,k),k=k.sibling}function wp(h,p,k){if(lr&&typeof lr.onCommitFiberUnmount==="function")try{lr.onCommitFiberUnmount(Xf,k)}catch(Q){}switch(k.tag){case 26:if(ea){Js||Sa(k,p),Jr(h,p,k),k.memoizedState?Zy(k.memoizedState):k.stateNode&&t5(k.stateNode);break}case 27:if(ri){Js||Sa(k,p);var j=ei,V=Gi;Ac(k.type)&&(ei=k.stateNode,Gi=!1),Jr(h,p,k),i5(k.stateNode),ei=j,Gi=V;break}case 5:Js||Sa(k,p);case 6:if(Ci){if(j=ei,V=Gi,ei=null,Jr(h,p,k),ei=j,Gi=V,ei!==null)if(Gi)try{_x(ei,k.stateNode)}catch(Q){Mn(k,p,Q)}else try{jx(ei,k.stateNode)}catch(Q){Mn(k,p,Q)}}else Jr(h,p,k);break;case 18:Ci&&ei!==null&&(Gi?hA(ei,k.stateNode):fA(ei,k.stateNode));break;case 4:Ci?(j=ei,V=Gi,ei=k.stateNode.containerInfo,Gi=!0,Jr(h,p,k),ei=j,Gi=V):(ka&&Gw(k.stateNode,k,zy()),Jr(h,p,k));break;case 0:case 11:case 14:case 15:Go(2,k,p),Js||Go(4,k,p),Jr(h,p,k);break;case 1:Js||(Sa(k,p),j=k.stateNode,typeof j.componentWillUnmount==="function"&&Hw(k,p,j)),Jr(h,p,k);break;case 21:Jr(h,p,k);break;case 22:Js=(j=Js)||k.memoizedState!==null,Jr(h,p,k),Js=j;break;default:Jr(h,p,k)}}function Kw(h,p){if(ji&&p.memoizedState===null&&(h=p.alternate,h!==null&&(h=h.memoizedState,h!==null))){h=h.dehydrated;try{rA(h)}catch(k){Mn(p,p.return,k)}}}function Yw(h,p){if(ji&&p.memoizedState===null&&(h=p.alternate,h!==null&&(h=h.memoizedState,h!==null&&(h=h.dehydrated,h!==null))))try{aA(h)}catch(k){Mn(p,p.return,k)}}function qk(h){switch(h.tag){case 31:case 13:case 19:var p=h.stateNode;return p===null&&(p=h.stateNode=new m5),p;case 22:return h=h.stateNode,p=h._retryCache,p===null&&(p=h._retryCache=new m5),p;default:throw Error(i(435,h.tag))}}function Uu(h,p){var k=qk(h);p.forEach(function(j){if(!k.has(j)){k.add(j);var V=Bk.bind(null,h,j);j.then(V,V)}})}function Ei(h,p){var k=p.deletions;if(k!==null)for(var j=0;j<k.length;j++){var V=k[j],Q=h,re=p;if(Ci){var ke=re;e:for(;ke!==null;){switch(ke.tag){case 27:if(ri){if(Ac(ke.type)){ei=ke.stateNode,Gi=!1;break e}break}case 5:ei=ke.stateNode,Gi=!1;break e;case 3:case 4:ei=ke.stateNode.containerInfo,Gi=!0;break e}ke=ke.return}if(ei===null)throw Error(i(160));wp(Q,re,V),ei=null,Gi=!1}else wp(Q,re,V);Q=V.alternate,Q!==null&&(Q.return=null),V.return=null}if(p.subtreeFlags&13886)for(p=p.child;p!==null;)Qw(p,h),p=p.sibling}function Qw(h,p){var k=h.alternate,j=h.flags;switch(h.tag){case 0:case 11:case 14:case 15:Ei(p,h),Li(h),j&4&&(Go(3,h,h.return),Lf(3,h),Go(5,h,h.return));break;case 1:Ei(p,h),Li(h),j&512&&(Js||k===null||Sa(k,k.return)),j&64&&po&&(h=h.updateQueue,h!==null&&(j=h.callbacks,j!==null&&(k=h.shared.hiddenCallbacks,h.shared.hiddenCallbacks=k===null?j:k.concat(j))));break;case 26:if(ea){var V=ta;if(Ei(p,h),Li(h),j&512&&(Js||k===null||Sa(k,k.return)),j&4){j=k!==null?k.memoizedState:null;var Q=h.memoizedState;k===null?Q===null?h.stateNode===null?h.stateNode=gA(V,h.type,h.memoizedProps,h):e5(V,h.type,h.stateNode):h.stateNode=Jy(V,Q,h.memoizedProps):j!==Q?(j===null?k.stateNode!==null&&t5(k.stateNode):Zy(j),Q===null?e5(V,h.type,h.stateNode):Jy(V,Q,h.memoizedProps)):Q===null&&h.stateNode!==null&&dp(h,h.memoizedProps,k.memoizedProps)}break}case 27:if(ri){Ei(p,h),Li(h),j&512&&(Js||k===null||Sa(k,k.return)),k!==null&&j&4&&dp(h,h.memoizedProps,k.memoizedProps);break}case 5:if(Ei(p,h),Li(h),j&512&&(Js||k===null||Sa(k,k.return)),Ci){if(h.flags&32){V=h.stateNode;try{Uy(V)}catch(rt){Mn(h,h.return,rt)}}j&4&&h.stateNode!=null&&(V=h.memoizedProps,dp(h,V,k!==null?k.memoizedProps:V)),j&1024&&(fg=!0)}else ka&&h.alternate!==null&&(h.alternate.stateNode=h.stateNode);break;case 6:if(Ei(p,h),Li(h),j&4&&Ci){if(h.stateNode===null)throw Error(i(162));j=h.memoizedProps,k=k!==null?k.memoizedProps:j,V=h.stateNode;try{kx(V,k,j)}catch(rt){Mn(h,h.return,rt)}}break;case 3:if(ea?(wA(),V=ta,ta=Gp(p.containerInfo),Ei(p,h),ta=V):Ei(p,h),Li(h),j&4){if(Ci&&ji&&k!==null&&k.memoizedState.isDehydrated)try{iA(p.containerInfo)}catch(rt){Mn(h,h.return,rt)}if(ka){j=p.containerInfo,k=p.pendingChildren;try{Vy(j,k)}catch(rt){Mn(h,h.return,rt)}}}fg&&(fg=!1,Jw(h));break;case 4:ea?(k=ta,ta=Gp(h.stateNode.containerInfo),Ei(p,h),Li(h),ta=k):(Ei(p,h),Li(h)),j&4&&ka&&Gw(h.stateNode,h,h.stateNode.pendingChildren);break;case 12:Ei(p,h),Li(h);break;case 31:Ei(p,h),Li(h),j&4&&(j=h.updateQueue,j!==null&&(h.updateQueue=null,Uu(h,j)));break;case 13:Ei(p,h),Li(h),h.child.flags&8192&&h.memoizedState!==null!==(k!==null&&k.memoizedState!==null)&&(Sd=zi()),j&4&&(j=h.updateQueue,j!==null&&(h.updateQueue=null,Uu(h,j)));break;case 22:V=h.memoizedState!==null;var re=k!==null&&k.memoizedState!==null,ke=po,Ge=Js;if(po=ke||V,Js=Ge||re,Ei(p,h),Js=Ge,po=ke,Li(h),j&8192&&(p=h.stateNode,p._visibility=V?p._visibility&-2:p._visibility|1,V&&(k===null||re||po||Js||Il(h)),Ci)){e:if(k=null,Ci)for(p=h;;){if(p.tag===5||ea&&p.tag===26){if(k===null){re=k=p;try{Q=re.stateNode,V?Ix(Q):Dx(re.stateNode,re.memoizedProps)}catch(rt){Mn(re,re.return,rt)}}}else if(p.tag===6){if(k===null){re=p;try{var tt=re.stateNode;V?Rx(tt):qx(tt,re.memoizedProps)}catch(rt){Mn(re,re.return,rt)}}}else if(p.tag===18){if(k===null){re=p;try{var bt=re.stateNode;V?uA(bt):dA(re.stateNode)}catch(rt){Mn(re,re.return,rt)}}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===h)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===h)break e;for(;p.sibling===null;){if(p.return===null||p.return===h)break e;k===p&&(k=null),p=p.return}k===p&&(k=null),p.sibling.return=p.return,p=p.sibling}}j&4&&(j=h.updateQueue,j!==null&&(k=j.retryQueue,k!==null&&(j.retryQueue=null,Uu(h,k))));break;case 19:Ei(p,h),Li(h),j&4&&(j=h.updateQueue,j!==null&&(h.updateQueue=null,Uu(h,j)));break;case 30:break;case 21:break;default:Ei(p,h),Li(h)}}function Li(h){var p=h.flags;if(p&2){try{for(var k,j=h.return;j!==null;){if(zw(j)){k=j;break}j=j.return}if(Ci){if(k==null)throw Error(i(160));switch(k.tag){case 27:if(ri){var V=k.stateNode,Q=mp(h);Hu(h,Q,V);break}case 5:var re=k.stateNode;k.flags&32&&(Uy(re),k.flags&=-33);var ke=mp(h);Hu(h,ke,re);break;case 3:case 4:var Ge=k.stateNode.containerInfo,tt=mp(h);pp(h,tt,Ge);break;default:throw Error(i(161))}}}catch(bt){Mn(h,h.return,bt)}h.flags&=-3}p&4096&&(h.flags&=-4097)}function Jw(h){if(h.subtreeFlags&1024)for(h=h.child;h!==null;){var p=h;Jw(p),p.tag===5&&p.flags&1024&&hx(p.stateNode),h=h.sibling}}function ao(h,p){if(p.subtreeFlags&8772)for(p=p.child;p!==null;)Xw(h,p.alternate,p),p=p.sibling}function Il(h){for(h=h.child;h!==null;){var p=h;switch(p.tag){case 0:case 11:case 14:case 15:Go(4,p,p.return),Il(p);break;case 1:Sa(p,p.return);var k=p.stateNode;typeof k.componentWillUnmount==="function"&&Hw(p,p.return,k),Il(p);break;case 27:ri&&i5(p.stateNode);case 26:case 5:Sa(p,p.return),Il(p);break;case 22:p.memoizedState===null&&Il(p);break;case 30:Il(p);break;default:Il(p)}h=h.sibling}}function oo(h,p,k){k=k&&(p.subtreeFlags&8772)!==0;for(p=p.child;p!==null;){var j=p.alternate,V=h,Q=p,re=Q.flags;switch(Q.tag){case 0:case 11:case 15:oo(V,Q,k),Lf(4,Q);break;case 1:if(oo(V,Q,k),j=Q,V=j.stateNode,typeof V.componentDidMount==="function")try{V.componentDidMount()}catch(tt){Mn(j,j.return,tt)}if(j=Q,V=j.updateQueue,V!==null){var ke=j.stateNode;try{var Ge=V.shared.hiddenCallbacks;if(Ge!==null)for(V.shared.hiddenCallbacks=null,V=0;V<Ge.length;V++)Yr(Ge[V],ke)}catch(tt){Mn(j,j.return,tt)}}k&&re&64&&Bw(Q),Of(Q,Q.return);break;case 27:ri&&$w(Q);case 26:case 5:oo(V,Q,k),k&&j===null&&re&4&&Uw(Q),Of(Q,Q.return);break;case 12:oo(V,Q,k);break;case 31:oo(V,Q,k),k&&re&4&&Kw(V,Q);break;case 13:oo(V,Q,k),k&&re&4&&Yw(V,Q);break;case 22:Q.memoizedState===null&&oo(V,Q,k),Of(Q,Q.return);break;case 30:break;default:oo(V,Q,k)}p=p.sibling}}function yp(h,p){var k=null;h!==null&&h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(k=h.memoizedState.cachePool.pool),h=null,p.memoizedState!==null&&p.memoizedState.cachePool!==null&&(h=p.memoizedState.cachePool.pool),h!==k&&(h!=null&&h.refCount++,k!=null&&it(k))}function vp(h,p){h=null,p.alternate!==null&&(h=p.alternate.memoizedState.cache),p=p.memoizedState.cache,p!==h&&(p.refCount++,h!=null&&it(h))}function Zr(h,p,k,j){if(p.subtreeFlags&10256)for(p=p.child;p!==null;)Zw(h,p,k,j),p=p.sibling}function Zw(h,p,k,j){var V=p.flags;switch(p.tag){case 0:case 11:case 15:Zr(h,p,k,j),V&2048&&Lf(9,p);break;case 1:Zr(h,p,k,j);break;case 3:Zr(h,p,k,j),V&2048&&(h=null,p.alternate!==null&&(h=p.alternate.memoizedState.cache),p=p.memoizedState.cache,p!==h&&(p.refCount++,h!=null&&it(h)));break;case 12:if(V&2048){Zr(h,p,k,j),h=p.stateNode;try{var Q=p.memoizedProps,re=Q.id,ke=Q.onPostCommit;typeof ke==="function"&&ke(re,p.alternate===null?"mount":"update",h.passiveEffectDuration,-0)}catch(Ge){Mn(p,p.return,Ge)}}else Zr(h,p,k,j);break;case 31:Zr(h,p,k,j);break;case 13:Zr(h,p,k,j);break;case 23:break;case 22:Q=p.stateNode,re=p.alternate,p.memoizedState!==null?Q._visibility&2?Zr(h,p,k,j):Pf(h,p):Q._visibility&2?Zr(h,p,k,j):(Q._visibility|=2,wc(h,p,k,j,(p.subtreeFlags&10256)!==0||!1)),V&2048&&yp(re,p);break;case 24:Zr(h,p,k,j),V&2048&&vp(p.alternate,p);break;default:Zr(h,p,k,j)}}function wc(h,p,k,j,V){V=V&&((p.subtreeFlags&10256)!==0||!1);for(p=p.child;p!==null;){var Q=h,re=p,ke=k,Ge=j,tt=re.flags;switch(re.tag){case 0:case 11:case 15:wc(Q,re,ke,Ge,V),Lf(8,re);break;case 23:break;case 22:var bt=re.stateNode;re.memoizedState!==null?bt._visibility&2?wc(Q,re,ke,Ge,V):Pf(Q,re):(bt._visibility|=2,wc(Q,re,ke,Ge,V)),V&&tt&2048&&yp(re.alternate,re);break;case 24:wc(Q,re,ke,Ge,V),V&&tt&2048&&vp(re.alternate,re);break;default:wc(Q,re,ke,Ge,V)}p=p.sibling}}function Pf(h,p){if(p.subtreeFlags&10256)for(p=p.child;p!==null;){var k=h,j=p,V=j.flags;switch(j.tag){case 22:Pf(k,j),V&2048&&yp(j.alternate,j);break;case 24:Pf(k,j),V&2048&&vp(j.alternate,j);break;default:Pf(k,j)}p=p.sibling}}function Rl(h,p,k){if(h.subtreeFlags&Pc)for(h=h.child;h!==null;)ey(h,p,k),h=h.sibling}function ey(h,p,k){switch(h.tag){case 26:if(Rl(h,p,k),h.flags&Pc)if(h.memoizedState!==null)vA(k,ta,h.memoizedState,h.memoizedProps);else{var j=h.stateNode,V=h.type;h=h.memoizedProps,((p&335544128)===p||Hp(V,h))&&Hy(k,j,V,h)}break;case 5:Rl(h,p,k),h.flags&Pc&&(j=h.stateNode,V=h.type,h=h.memoizedProps,((p&335544128)===p||Hp(V,h))&&Hy(k,j,V,h));break;case 3:case 4:ea?(j=ta,ta=Gp(h.stateNode.containerInfo),Rl(h,p,k),ta=j):Rl(h,p,k);break;case 22:h.memoizedState===null&&(j=h.alternate,j!==null&&j.memoizedState!==null?(j=Pc,Pc=16777216,Rl(h,p,k),Pc=j):Rl(h,p,k));break;default:Rl(h,p,k)}}function ty(h){var p=h.alternate;if(p!==null&&(h=p.child,h!==null)){p.child=null;do p=h.sibling,h.sibling=null,h=p;while(h!==null)}}function Bf(h){var p=h.deletions;if((h.flags&16)!==0){if(p!==null)for(var k=0;k<p.length;k++){var j=p[k];fi=j,sy(j,h)}ty(h)}if(h.subtreeFlags&10256)for(h=h.child;h!==null;)ny(h),h=h.sibling}function ny(h){switch(h.tag){case 0:case 11:case 15:Bf(h),h.flags&2048&&Go(9,h,h.return);break;case 3:Bf(h);break;case 12:Bf(h);break;case 22:var p=h.stateNode;h.memoizedState!==null&&p._visibility&2&&(h.return===null||h.return.tag!==13)?(p._visibility&=-3,zu(h)):Bf(h);break;default:Bf(h)}}function zu(h){var p=h.deletions;if((h.flags&16)!==0){if(p!==null)for(var k=0;k<p.length;k++){var j=p[k];fi=j,sy(j,h)}ty(h)}for(h=h.child;h!==null;){switch(p=h,p.tag){case 0:case 11:case 15:Go(8,p,p.return),zu(p);break;case 22:k=p.stateNode,k._visibility&2&&(k._visibility&=-3,zu(p));break;default:zu(p)}h=h.sibling}}function sy(h,p){for(;fi!==null;){var k=fi;switch(k.tag){case 0:case 11:case 15:Go(8,k,p);break;case 23:case 22:if(k.memoizedState!==null&&k.memoizedState.cachePool!==null){var j=k.memoizedState.cachePool.pool;j!=null&&j.refCount++}break;case 24:it(k.memoizedState.cache)}if(j=k.child,j!==null)j.return=k,fi=j;else e:for(k=h;fi!==null;){j=fi;var V=j.sibling,Q=j.return;if(Ww(j),j===k){fi=null;break e}if(V!==null){V.return=Q,fi=V;break e}fi=Q}}}function Sp(h){var p=nx(h);if(p!=null){if(typeof p.memoizedProps["data-testname"]!=="string")throw Error(i(364));return p}if(h=mx(h),h===null)throw Error(i(362));return h.stateNode.current}function kp(h,p){var k=h.tag;switch(p.$$typeof){case md:if(h.type===p.value)return!0;break;case gd:e:{p=p.value,h=[h,0];for(k=0;k<h.length;){var j=h[k++],V=j.tag,Q=h[k++],re=p[Q];if(V!==5&&V!==26&&V!==27||!$f(j)){for(;re!=null&&kp(j,re);)Q++,re=p[Q];if(Q===p.length){p=!0;break e}else for(j=j.child;j!==null;)h.push(j,Q),j=j.sibling}}p=!1}return p;case bd:if((k===5||k===26||k===27)&&bx(h.stateNode,p.value))return!0;break;case vd:if(k===5||k===6||k===26||k===27){if(h=gx(h),h!==null&&0<=h.indexOf(p.value))return!0}break;case yd:if(k===5||k===26||k===27){if(h=h.memoizedProps["data-testname"],typeof h==="string"&&h.toLowerCase()===p.value.toLowerCase())return!0}break;default:throw Error(i(365))}return!1}function xp(h){switch(h.$$typeof){case md:return"<"+(g(h.value)||"Unknown")+">";case gd:return":has("+(xp(h)||"")+")";case bd:return'[role="'+h.value+'"]';case vd:return'"'+h.value+'"';case yd:return'[data-testname="'+h.value+'"]';default:throw Error(i(365))}}function iy(h,p){var k=[];h=[h,0];for(var j=0;j<h.length;){var V=h[j++],Q=V.tag,re=h[j++],ke=p[re];if(Q!==5&&Q!==26&&Q!==27||!$f(V)){for(;ke!=null&&kp(V,ke);)re++,ke=p[re];if(re===p.length)k.push(V);else for(V=V.child;V!==null;)h.push(V,re),V=V.sibling}}return k}function Ap(h,p){if(!Vf)throw Error(i(363));h=Sp(h),h=iy(h,p),p=[],h=Array.from(h);for(var k=0;k<h.length;){var j=h[k++],V=j.tag;if(V===5||V===26||V===27)$f(j)||p.push(j.stateNode);else for(j=j.child;j!==null;)h.push(j),j=j.sibling}return p}function ar(){return(yn&2)!==0&&xn!==0?xn&-xn:zt.T!==null?Fo():ix()}function ry(){if(ur===0)if((xn&536870912)===0||Tn){var h=Zu;Zu<<=1,(Zu&3932160)===0&&(Zu=262144),ur=h}else ur=536870912;return h=fr.current,h!==null&&(h.flags|=32),ur}function Ui(h,p,k){if(h===ls&&(zn===2||zn===9)||h.cancelPendingCommit!==null)yc(h,0),Vo(h,xn,ur,!1);if(J(h,k),(yn&2)===0||h!==ls)h===ls&&((yn&2)===0&&(Ul|=k),Hs===4&&Vo(h,xn,ur,!1)),Bt(h)}function ay(h,p,k){if((yn&6)!==0)throw Error(i(327));var j=!k&&(p&127)===0&&(p&h.expiredLanes)===0||N(h,p),V=j?Lk(h,p):Ep(h,p,!0),Q=j;do{if(V===0){Nc&&!j&&Vo(h,p,0,!1);break}else{if(k=h.current.alternate,Q&&!Mk(k)){V=Ep(h,p,!1),Q=!1;continue}if(V===2){if(Q=p,h.errorRecoveryDisabledLanes&Q)var re=0;else re=h.pendingLanes&-536870913,re=re!==0?re:re&536870912?536870912:0;if(re!==0){p=re;e:{var ke=h;V=ih;var Ge=ji&&ke.current.memoizedState.isDehydrated;if(Ge&&(yc(ke,re).flags|=256),re=Ep(ke,re,!1),re!==2){if(hg&&!Ge){ke.errorRecoveryDisabledLanes|=Q,Ul|=Q,V=4;break e}Q=Vi,Vi=V,Q!==null&&(Vi===null?Vi=Q:Vi.push.apply(Vi,Q))}V=re}if(Q=!1,V!==2)continue}}if(V===1){yc(h,0),Vo(h,p,0,!0);break}e:{switch(j=h,Q=V,Q){case 0:case 1:throw Error(i(345));case 4:if((p&4194048)!==p)break;case 6:Vo(j,p,ur,!Jo);break e;case 2:Vi=null;break;case 3:case 5:break;default:throw Error(i(329))}if((p&62914560)===p&&(V=Sd+300-zi(),10<V)){if(Vo(j,p,ur,!Jo),R(j,0,!0)!==0)break e;bo=p,j.timeoutHandle=ex(oy.bind(null,j,k,Vi,kd,dg,p,ur,Ul,Hc,Jo,Q,"Throttled",-0,0),V);break e}oy(j,k,Vi,kd,dg,p,ur,Ul,Hc,Jo,Q,null,-0,0)}}break}while(1);Bt(h)}function oy(h,p,k,j,V,Q,re,ke,Ge,tt,bt,rt,Rt,cn){if(h.timeoutHandle=ql,rt=p.subtreeFlags,rt&8192||(rt&16785408)===16785408){rt=cx(),ey(p,Q,rt);var yi=(Q&62914560)===Q?Sd-zi():(Q&4194048)===Q?p5-zi():0;if(yi=fx(rt,yi),yi!==null){bo=Q,h.cancelPendingCommit=yi(yy.bind(null,h,p,Q,k,j,V,re,ke,Ge,bt,rt,null,Rt,cn)),Vo(h,Q,re,!tt);return}}yy(h,p,Q,k,j,V,re,ke,Ge)}function Mk(h){for(var p=h;;){var k=p.tag;if((k===0||k===11||k===15)&&p.flags&16384&&(k=p.updateQueue,k!==null&&(k=k.stores,k!==null)))for(var j=0;j<k.length;j++){var V=k[j],Q=V.getSnapshot;V=V.value;try{if(!cr(Q(),V))return!1}catch(re){return!1}}if(k=p.child,p.subtreeFlags&16384&&k!==null)k.return=p,p=k;else{if(p===h)break;for(;p.sibling===null;){if(p.return===null||p.return===h)return!0;p=p.return}p.sibling.return=p.return,p=p.sibling}}return!0}function Vo(h,p,k,j){p&=~ug,p&=~Ul,h.suspendedLanes|=p,h.pingedLanes&=~p,j&&(h.warmLanes|=p),j=h.expirationTimes;for(var V=p;0<V;){var Q=31-or(V),re=1<<Q;j[Q]=-1,V&=~re}k!==0&&te(h,k,p)}function ly(){return(yn&6)===0?(qn(0,!1),!1):!0}function Tp(){if(Sn!==null){if(zn===0)var h=Sn.return;else h=Sn,uo=Fl=null,zm(h),qc=null,eh=0,h=Sn;for(;h!==null;)Nw(h.alternate,h),h=h.return;Sn=null}}function yc(h,p){var k=h.timeoutHandle;k!==ql&&(h.timeoutHandle=ql,tx(k)),k=h.cancelPendingCommit,k!==null&&(h.cancelPendingCommit=null,k()),bo=0,Tp(),ls=h,Sn=k=lo(h.current,null),xn=p,zn=0,hr=null,Jo=!1,Nc=N(h,p),hg=!1,Hc=ur=ug=Ul=Zo=Hs=0,Vi=ih=null,dg=!1,(p&8)!==0&&(p|=p&32);var j=h.entangledLanes;if(j!==0)for(h=h.entanglements,j&=p;0<j;){var V=31-or(j),Q=1<<V;p|=h[V],j&=~Q}return go=p,Kr(),k}function cy(h,p){un=null,zt.H=nh,p===Dc||p===od?(p=No(),zn=3):p===tg?(p=No(),zn=4):zn=p===lg?8:p!==null&&typeof p==="object"&&typeof p.then==="function"?6:1,hr=p,Sn===null&&(Hs=1,Fu(h,we(p,h.current)))}function fy(){var h=fr.current;return h===null?!0:(xn&4194048)===xn?_r===null?!0:!1:(xn&62914560)===xn||(xn&536870912)!==0?h===_r:!1}function dy(){var h=zt.H;return zt.H=nh,h===null?nh:h}function py(){var h=zt.A;return zt.A=FA,h}function Gu(){Hs=4,Jo||(xn&4194048)!==xn&&fr.current!==null||(Nc=!0),(Zo&134217727)===0&&(Ul&134217727)===0||ls===null||Vo(ls,xn,ur,!1)}function Ep(h,p,k){var j=yn;yn|=2;var V=dy(),Q=py();if(ls!==h||xn!==p)kd=null,yc(h,p);p=!1;var re=Hs;e:do try{if(zn!==0&&Sn!==null){var ke=Sn,Ge=hr;switch(zn){case 8:Tp(),re=6;break e;case 3:case 2:case 9:case 6:fr.current===null&&(p=!0);var tt=zn;if(zn=0,hr=null,vc(h,ke,Ge,tt),k&&Nc){re=0;break e}break;default:tt=zn,zn=0,hr=null,vc(h,ke,Ge,tt)}}Fk(),re=Hs;break}catch(bt){cy(h,bt)}while(1);return p&&h.shellSuspendCounter++,uo=Fl=null,yn=j,zt.H=V,zt.A=Q,Sn===null&&(ls=null,xn=0,Kr()),re}function Fk(){for(;Sn!==null;)gy(Sn)}function Lk(h,p){var k=yn;yn|=2;var j=dy(),V=py();ls!==h||xn!==p?(kd=null,rh=zi()+500,yc(h,p)):Nc=N(h,p);e:do try{if(zn!==0&&Sn!==null){p=Sn;var Q=hr;t:switch(zn){case 1:zn=0,hr=null,vc(h,p,Q,1);break;case 2:case 9:if(va(Q)){zn=0,hr=null,by(p);break}p=function(){zn!==2&&zn!==9||ls!==h||(zn=7),Bt(h)},Q.then(p,p);break e;case 3:zn=7;break e;case 4:zn=5;break e;case 7:va(Q)?(zn=0,hr=null,by(p)):(zn=0,hr=null,vc(h,p,Q,7));break;case 5:var re=null;switch(Sn.tag){case 26:re=Sn.memoizedState;case 5:case 27:var ke=Sn,{type:Ge,pendingProps:tt}=ke;if(re?n5(re):By(ke.stateNode,Ge,tt)){zn=0,hr=null;var bt=ke.sibling;if(bt!==null)Sn=bt;else{var rt=ke.return;rt!==null?(Sn=rt,Vu(rt)):Sn=null}break t}}zn=0,hr=null,vc(h,p,Q,5);break;case 6:zn=0,hr=null,vc(h,p,Q,6);break;case 8:Tp(),Hs=6;break e;default:throw Error(i(462))}}Ok();break}catch(Rt){cy(h,Rt)}while(1);if(uo=Fl=null,zt.H=j,zt.A=V,yn=k,Sn!==null)return 0;return ls=null,xn=0,Kr(),Hs}function Ok(){for(;Sn!==null&&!AA();)gy(Sn)}function gy(h){var p=Mw(h.alternate,h,go);h.memoizedProps=h.pendingProps,p===null?Vu(h):Sn=p}function by(h){var p=h,k=p.alternate;switch(p.tag){case 15:case 0:p=jw(k,p,p.pendingProps,p.type,void 0,xn);break;case 11:p=jw(k,p,p.pendingProps,p.type.render,p.ref,xn);break;case 5:zm(p);default:Nw(k,p),p=Sn=Cy(p,go),p=Mw(k,p,go)}h.memoizedProps=h.pendingProps,p===null?Vu(h):Sn=p}function vc(h,p,k,j){uo=Fl=null,zm(p),qc=null,eh=0;var V=p.return;try{if(Ck(h,V,p,k,xn)){Hs=1,Fu(h,we(k,h.current)),Sn=null;return}}catch(Q){if(V!==null)throw Sn=V,Q;Hs=1,Fu(h,we(k,h.current)),Sn=null;return}if(p.flags&32768){if(Tn||j===1)h=!0;else if(Nc||(xn&536870912)!==0)h=!1;else if(Jo=h=!0,j===2||j===9||j===3||j===6)j=fr.current,j!==null&&j.tag===13&&(j.flags|=16384);wy(p,h)}else Vu(p)}function Vu(h){var p=h;do{if((p.flags&32768)!==0){wy(p,Jo);return}h=p.return;var k=Ik(p.alternate,p,go);if(k!==null){Sn=k;return}if(p=p.sibling,p!==null){Sn=p;return}Sn=p=h}while(p!==null);Hs===0&&(Hs=5)}function wy(h,p){do{var k=Rk(h.alternate,h);if(k!==null){k.flags&=32767,Sn=k;return}if(k=h.return,k!==null&&(k.flags|=32768,k.subtreeFlags=0,k.deletions=null),!p&&(h=h.sibling,h!==null)){Sn=h;return}Sn=h=k}while(h!==null);Hs=6,Sn=null}function yy(h,p,k,j,V,Q,re,ke,Ge){h.cancelPendingCommit=null;do Uf();while(ai!==0);if((yn&6)!==0)throw Error(i(327));if(p!==null){if(p===h.current)throw Error(i(177));if(Q=p.lanes|p.childLanes,Q|=ng,ee(h,k,Q,re,ke,Ge),h===ls&&(Sn=ls=null,xn=0),Gc=p,tl=h,bo=k,mg=Q,pg=V,g5=j,(p.subtreeFlags&10256)!==0||(p.flags&10256)!==0?(h.callbackNode=null,h.callbackPriority=0,Hk(Wp,function(){return Ay(),null})):(h.callbackNode=null,h.callbackPriority=0),j=(p.flags&13878)!==0,(p.subtreeFlags&13878)!==0||j){j=zt.T,zt.T=null,V=ho(),ci(2),re=yn,yn|=4;try{Dk(h,p,k)}finally{yn=re,ci(V),zt.T=j}}ai=1,vy(),Sy(),ky()}}function vy(){if(ai===1){ai=0;var h=tl,p=Gc,k=(p.flags&13878)!==0;if((p.subtreeFlags&13878)!==0||k){k=zt.T,zt.T=null;var j=ho();ci(2);var V=yn;yn|=4;try{Qw(p,h),Jk(h.containerInfo)}finally{yn=V,ci(j),zt.T=k}}h.current=p,ai=2}}function Sy(){if(ai===2){ai=0;var h=tl,p=Gc,k=(p.flags&8772)!==0;if((p.subtreeFlags&8772)!==0||k){k=zt.T,zt.T=null;var j=ho();ci(2);var V=yn;yn|=4;try{Xw(h,p.alternate,p)}finally{yn=V,ci(j),zt.T=k}}ai=3}}function ky(){if(ai===4||ai===3){ai=0,TA();var h=tl,p=Gc,k=bo,j=g5;(p.subtreeFlags&10256)!==0||(p.flags&10256)!==0?ai=5:(ai=0,Gc=tl=null,xy(h,h.pendingLanes));var V=h.pendingLanes;if(V===0&&(el=null),ae(k),p=p.stateNode,lr&&typeof lr.onCommitFiberRoot==="function")try{lr.onCommitFiberRoot(Xf,p,void 0,(p.current.flags&128)===128)}catch(Ge){}if(j!==null){p=zt.T,V=ho(),ci(2),zt.T=null;try{for(var Q=h.onRecoverableError,re=0;re<j.length;re++){var ke=j[re];Q(ke.value,{componentStack:ke.stack})}}finally{zt.T=p,ci(V)}}(bo&3)!==0&&Uf(),Bt(h),V=h.pendingLanes,(k&261930)!==0&&(V&42)!==0?h===gg?ah++:(ah=0,gg=h):ah=0,ji&&cA(),qn(0,!1)}}function xy(h,p){(h.pooledCacheLanes&=p)===0&&(p=h.pooledCache,p!=null&&(h.pooledCache=null,it(p)))}function Uf(){return vy(),Sy(),ky(),Ay()}function Ay(){if(ai!==5)return!1;var h=tl,p=mg;mg=0;var k=ae(bo),j=32>k?32:k;k=zt.T;var V=ho();try{ci(j),zt.T=null,j=pg,pg=null;var Q=tl,re=bo;if(ai=0,Gc=tl=null,bo=0,(yn&6)!==0)throw Error(i(331));var ke=yn;if(yn|=4,ny(Q.current),Zw(Q,Q.current,re,j),yn=ke,qn(0,!1),lr&&typeof lr.onPostCommitFiberRoot==="function")try{lr.onPostCommitFiberRoot(Xf,Q)}catch(Ge){}return!0}finally{ci(V),zt.T=k,xy(h,p)}}function Ty(h,p,k){p=we(k,p),p=np(h.stateNode,p,2),h=Un(h,p,2),h!==null&&(J(h,2),Bt(h))}function Mn(h,p,k){if(h.tag===3)Ty(h,h,k);else for(;p!==null;){if(p.tag===3){Ty(p,h,k);break}else if(p.tag===1){var j=p.stateNode;if(typeof p.type.getDerivedStateFromError==="function"||typeof j.componentDidCatch==="function"&&(el===null||!el.has(j))){h=we(k,h),k=vw(2),j=Un(p,k,2),j!==null&&(Sw(k,j,p,h),J(j,2),Bt(j));break}}p=p.return}}function Cp(h,p,k){var j=h.pingCache;if(j===null){j=h.pingCache=new LA;var V=new Set;j.set(p,V)}else V=j.get(p),V===void 0&&(V=new Set,j.set(p,V));V.has(k)||(hg=!0,V.add(k),h=Pk.bind(null,h,p,k),p.then(h,h))}function Pk(h,p,k){var j=h.pingCache;j!==null&&j.delete(p),h.pingedLanes|=h.suspendedLanes&k,h.warmLanes&=~k,ls===h&&(xn&k)===k&&(Hs===4||Hs===3&&(xn&62914560)===xn&&300>zi()-Sd?(yn&2)===0&&yc(h,0):ug|=k,Hc===xn&&(Hc=0)),Bt(h)}function Ey(h,p){p===0&&(p=X()),h=It(h,p),h!==null&&(J(h,p),Bt(h))}function Nk(h){var p=h.memoizedState,k=0;p!==null&&(k=p.retryLane),Ey(h,k)}function Bk(h,p){var k=0;switch(h.tag){case 31:case 13:var{stateNode:j,memoizedState:V}=h;V!==null&&(k=V.retryLane);break;case 19:j=h.stateNode;break;case 22:j=h.stateNode._retryCache;break;default:throw Error(i(314))}j!==null&&j.delete(p),Ey(h,k)}function Hk(h,p){return td(h,p)}function Uk(h,p,k,j){this.tag=h,this.key=k,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=p,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=j,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function jp(h){return h=h.prototype,!(!h||!h.isReactComponent)}function lo(h,p){var k=h.alternate;return k===null?(k=n(h.tag,p,h.key,h.mode),k.elementType=h.elementType,k.type=h.type,k.stateNode=h.stateNode,k.alternate=h,h.alternate=k):(k.pendingProps=p,k.type=h.type,k.flags=0,k.subtreeFlags=0,k.deletions=null),k.flags=h.flags&65011712,k.childLanes=h.childLanes,k.lanes=h.lanes,k.child=h.child,k.memoizedProps=h.memoizedProps,k.memoizedState=h.memoizedState,k.updateQueue=h.updateQueue,p=h.dependencies,k.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext},k.sibling=h.sibling,k.index=h.index,k.ref=h.ref,k.refCleanup=h.refCleanup,k}function Cy(h,p){h.flags&=65011714;var k=h.alternate;return k===null?(h.childLanes=0,h.lanes=p,h.child=null,h.subtreeFlags=0,h.memoizedProps=null,h.memoizedState=null,h.updateQueue=null,h.dependencies=null,h.stateNode=null):(h.childLanes=k.childLanes,h.lanes=k.lanes,h.child=k.child,h.subtreeFlags=0,h.deletions=null,h.memoizedProps=k.memoizedProps,h.memoizedState=k.memoizedState,h.updateQueue=k.updateQueue,h.type=k.type,p=k.dependencies,h.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext}),h}function $u(h,p,k,j,V,Q){var re=0;if(j=h,typeof h==="function")jp(h)&&(re=1);else if(typeof h==="string")re=ea&&ri?Yy(h,k,bi.current)?26:r5(h)?27:5:ea?Yy(h,k,bi.current)?26:5:ri?r5(h)?27:5:5;else e:switch(h){case Np:return h=n(31,k,p,V),h.elementType=Np,h.lanes=Q,h;case kc:return Dl(k.children,V,Q,p);case My:re=8,V|=24;break;case qp:return h=n(12,k,p,V|2),h.elementType=qp,h.lanes=Q,h;case Fp:return h=n(13,k,p,V),h.elementType=Fp,h.lanes=Q,h;case Op:return h=n(19,k,p,V),h.elementType=Op,h.lanes=Q,h;default:if(typeof h==="object"&&h!==null)switch(h.$$typeof){case $o:re=10;break e;case Fy:re=9;break e;case Mp:re=11;break e;case Pp:re=14;break e;case Xo:re=16,j=null;break e}re=29,k=Error(i(130,h===null?"null":typeof h,"")),j=null}return p=n(re,k,p,V),p.elementType=h,p.type=j,p.lanes=Q,p}function Dl(h,p,k,j){return h=n(7,h,j,p),h.lanes=k,h}function _p(h,p,k){return h=n(6,h,null,p),h.lanes=k,h}function jy(h){var p=n(18,null,null,0);return p.stateNode=h,p}function Ip(h,p,k){return p=n(4,h.children!==null?h.children:[],h.key,p),p.lanes=k,p.stateNode={containerInfo:h.containerInfo,pendingChildren:null,implementation:h.implementation},p}function zk(h,p,k,j,V,Q,re,ke,Ge){this.tag=1,this.containerInfo=h,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ql,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Y(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Y(0),this.hiddenUpdates=Y(null),this.identifierPrefix=j,this.onUncaughtError=V,this.onCaughtError=Q,this.onRecoverableError=re,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Ge,this.incompleteTransitions=new Map}function _y(h,p,k,j,V,Q,re,ke,Ge,tt,bt,rt){return h=new zk(h,p,k,re,Ge,tt,bt,rt,ke),p=1,Q===!0&&(p|=24),Q=n(3,null,null,p),h.current=Q,Q.stateNode=h,p=xt(),p.refCount++,h.pooledCache=p,p.refCount++,Q.memoizedState={element:j,isDehydrated:k,cache:p},gn(Q),h}function Iy(h){if(!h)return Ec;return h=Ec,h}function Ry(h){var p=h._reactInternals;if(p===void 0){if(typeof h.render==="function")throw Error(i(188));throw h=Object.keys(h).join(","),Error(i(268,h))}return h=l(p),h=h!==null?c(h):null,h===null?null:zf(h.stateNode)}function Dy(h,p,k,j,V,Q){V=Iy(V),j.context===null?j.context=V:j.pendingContext=V,j=Pn(p),j.payload={element:k},Q=Q===void 0?null:Q,Q!==null&&(j.callback=Q),k=Un(h,j,p),k!==null&&(Ui(k,h,p),Yn(k,h,p))}function qy(h,p){if(h=h.memoizedState,h!==null&&h.dehydrated!==null){var k=h.retryLane;h.retryLane=k!==0&&k<p?k:p}}function Rp(h,p){qy(h,p),(h=h.alternate)&&qy(h,p)}var wn={},Dp=Object.assign,Gk=Symbol.for("react.element"),Xu=Symbol.for("react.transitional.element"),Sc=Symbol.for("react.portal"),kc=Symbol.for("react.fragment"),My=Symbol.for("react.strict_mode"),qp=Symbol.for("react.profiler"),Fy=Symbol.for("react.consumer"),$o=Symbol.for("react.context"),Mp=Symbol.for("react.forward_ref"),Fp=Symbol.for("react.suspense"),Op=Symbol.for("react.suspense_list"),Pp=Symbol.for("react.memo"),Xo=Symbol.for("react.lazy"),Np=Symbol.for("react.activity"),Vk=Symbol.for("react.memo_cache_sentinel"),Ly=Symbol.iterator,$k=Symbol.for("react.client.reference"),Wu=Array.isArray,zt=Wi,{rendererVersion:Xk,rendererPackageName:Wk,extraDevToolsConfig:Oy,getPublicInstance:zf,getRootHostContext:Kk,getChildHostContext:Yk,prepareForCommit:Qk,resetAfterCommit:Jk,createInstance:Zk}=e;e.cloneMutableInstance;var{appendInitialChild:Bp,finalizeInitialChildren:Py,shouldSetTextContent:Ku,createTextInstance:Ny}=e;e.cloneMutableTextInstance;var{scheduleTimeout:ex,cancelTimeout:tx,noTimeout:ql,isPrimaryRenderer:fo}=e;e.warnsIfNotActing;var{supportsMutation:Ci,supportsPersistence:ka,supportsHydration:ji,getInstanceFromNode:nx}=e;e.beforeActiveInstanceBlur;var sx=e.preparePortalMount;e.prepareScopeUpdate,e.getInstanceFromScope;var{setCurrentUpdatePriority:ci,getCurrentUpdatePriority:ho,resolveUpdatePriority:ix}=e;e.trackSchedulerEvent,e.resolveEventType,e.resolveEventTimeStamp;var{shouldAttemptEagerTransition:rx,detachDeletedInstance:ax}=e;e.requestPostPaintCallback;var{maySuspendCommit:ox,maySuspendCommitOnUpdate:lx,maySuspendCommitInSyncRender:Hp,preloadInstance:By,startSuspendingCommit:cx,suspendInstance:Hy}=e;e.suspendOnActiveViewTransition;var fx=e.waitForCommitToBeReady;e.getSuspendedCommitReason;var{NotPendingTransition:xc,HostTransitionContext:Ml,resetFormInstance:hx}=e;e.bindToConsole;var{supportsMicrotasks:ux,scheduleMicrotask:dx,supportsTestSelectors:Vf,findFiberRoot:mx,getBoundingRect:px,getTextContent:gx,isHiddenSubtree:$f,matchAccessibilityRole:bx,setFocusIfFocusable:wx,setupIntersectionObserver:yx,appendChild:vx,appendChildToContainer:Sx,commitTextUpdate:kx,commitMount:xx,commitUpdate:Ax,insertBefore:Ex,insertInContainerBefore:Cx,removeChild:jx,removeChildFromContainer:_x,resetTextContent:Uy,hideInstance:Ix,hideTextInstance:Rx,unhideInstance:Dx,unhideTextInstance:qx}=e;e.cancelViewTransitionName,e.cancelRootViewTransitionName,e.restoreRootViewTransitionName,e.cloneRootViewTransitionContainer,e.removeRootViewTransitionClone,e.measureClonedInstance,e.hasInstanceChanged,e.hasInstanceAffectedParent,e.startViewTransition,e.startGestureTransition,e.stopViewTransition,e.getCurrentGestureOffset,e.createViewTransitionInstance;var Mx=e.clearContainer;e.createFragmentInstance,e.updateFragmentInstanceFiber,e.commitNewChildToFragmentInstance,e.deleteChildFromFragmentInstance;var{cloneInstance:Fx,createContainerChildSet:zy,appendChildToContainerChildSet:Gy,finalizeContainerChildren:Lx,replaceContainerChildren:Vy,cloneHiddenInstance:$y,cloneHiddenTextInstance:Xy,isSuspenseInstancePending:Up,isSuspenseInstanceFallback:zp,getSuspenseInstanceFallbackErrorDetails:Ox,registerSuspenseInstanceRetry:Px,canHydrateFormStateMarker:Nx,isFormStateMarkerMatching:Bx,getNextHydratableSibling:Wy,getNextHydratableSiblingAfterSingleton:Hx,getFirstHydratableChild:Ux,getFirstHydratableChildWithinContainer:zx,getFirstHydratableChildWithinActivityInstance:Gx,getFirstHydratableChildWithinSuspenseInstance:Vx,getFirstHydratableChildWithinSingleton:$x,canHydrateInstance:Xx,canHydrateTextInstance:Wx,canHydrateActivityInstance:Kx,canHydrateSuspenseInstance:Yx,hydrateInstance:Qx,hydrateTextInstance:Jx,hydrateActivityInstance:Zx,hydrateSuspenseInstance:eA,getNextHydratableInstanceAfterActivityInstance:tA,getNextHydratableInstanceAfterSuspenseInstance:nA,commitHydratedInstance:sA,commitHydratedContainer:iA,commitHydratedActivityInstance:rA,commitHydratedSuspenseInstance:aA,finalizeHydratedChildren:lA,flushHydrationEvents:cA}=e;e.clearActivityBoundary;var fA=e.clearSuspenseBoundary;e.clearActivityBoundaryFromContainer;var{clearSuspenseBoundaryFromContainer:hA,hideDehydratedBoundary:uA,unhideDehydratedBoundary:dA,shouldDeleteUnhydratedTailInstances:Ky}=e;e.diffHydratedPropsForDevWarnings,e.diffHydratedTextForDevWarnings,e.describeHydratableInstanceForDevWarnings;var{validateHydratableInstance:mA,validateHydratableTextInstance:pA,supportsResources:ea,isHostHoistableType:Yy,getHoistableRoot:Gp,getResource:Qy,acquireResource:Jy,releaseResource:Zy,hydrateHoistable:gA,mountHoistable:e5,unmountHoistable:t5,createHoistableInstance:bA,prepareToCommitHoistables:wA,mayResourceSuspendCommit:yA,preloadResource:n5,suspendResource:vA,supportsSingletons:ri,resolveSingletonInstance:s5,acquireSingletonInstance:SA,releaseSingletonInstance:i5,isHostSingletonType:r5,isSingletonScope:Ac}=e,Vp=[],Tc=-1,Ec={},or=Math.clz32?Math.clz32:x,{log:kA,LN2:xA}=Math,Qu=256,Zu=262144,ed=4194304,td=Us,$p=_l,AA=bl,TA=yl,zi=eo,a5=gl,EA=Al,Wp=Bs,CA=Xi,jA=void 0,_A=void 0,Xf=null,lr=null,cr=typeof Object.is==="function"?Object.is:ye,o5=typeof reportError==="function"?reportError:function(h){if(typeof window==="object"&&typeof window.ErrorEvent==="function"){var p=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof h==="object"&&h!==null&&typeof h.message==="string"?String(h.message):String(h),error:h});if(!window.dispatchEvent(p))return}else if(typeof process==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",h);return}console.error(h)},IA=Object.prototype.hasOwnProperty,Kp,l5,Yp=!1,c5=new WeakMap,Cc=[],jc=0,nd=null,Yf=0,kr=[],xr=0,Wo=null,xa=1,Aa="",bi=b(null),Jf=b(null),Ko=b(null),sd=b(null),wi=null,Ds=null,Tn=!1,Yo=null,Tr=!1,Qp=Error(i(519)),id=b(null),Fl=null,uo=null,RA=typeof AbortController<"u"?AbortController:function(){var h=[],p=this.signal={aborted:!1,addEventListener:function(k,j){h.push(j)}};this.abort=function(){p.aborted=!0,h.forEach(function(k){return k()})}},DA=Us,qA=Bs,qs={$$typeof:$o,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},rd=null,_c=null,Jp=!1,ad=!1,Zp=!1,Ll=0,Zf=null,eg=0,Ic=0,Rc=null,f5=zt.S;zt.S=function(h,p){p5=zi(),typeof p==="object"&&p!==null&&typeof p.then==="function"&&El(h,p),f5!==null&&f5(h,p)};var Ol=b(null),Dc=Error(i(460)),tg=Error(i(474)),od=Error(i(542)),ld={then:function(){}},Nl=null,qc=null,eh=0,Bl=ii(!0),h5=ii(!1),Er=[],Mc=0,ng=0,Qo=!1,ig=!1,Fc=b(null),fd=b(0),fr=b(null),_r=null,Ws=b(0),mo=0,un=null,Qn=null,Ys=null,ud=!1,Lc=!1,Hl=!1,dd=0,th=0,Oc=null,MA=0,nh={readContext:Yt,use:_u,useCallback:Ns,useContext:Ns,useEffect:Ns,useImperativeHandle:Ns,useLayoutEffect:Ns,useInsertionEffect:Ns,useMemo:Ns,useReducer:Ns,useRef:Ns,useState:Ns,useDebugValue:Ns,useDeferredValue:Ns,useTransition:Ns,useSyncExternalStore:Ns,useId:Ns,useHostTransitionStatus:Ns,useFormState:Ns,useActionState:Ns,useOptimistic:Ns,useMemoCache:Ns,useCacheRefresh:Ns};nh.useEffectEvent=Ns;var u5={readContext:Yt,use:_u,useCallback:function(h,p){return Fi().memoizedState=[h,p===void 0?null:p],h},useContext:Yt,useEffect:tw,useImperativeHandle:function(h,p,k){k=k!==null&&k!==void 0?k.concat([h]):null,Ru(4194308,4,rw.bind(null,p,h),k)},useLayoutEffect:function(h,p){return Ru(4194308,4,h,p)},useInsertionEffect:function(h,p){Ru(4,2,h,p)},useMemo:function(h,p){var k=Fi();p=p===void 0?null:p;var j=h();if(Hl){be(!0);try{h()}finally{be(!1)}}return k.memoizedState=[j,p],j},useReducer:function(h,p,k){var j=Fi();if(k!==void 0){var V=k(p);if(Hl){be(!0);try{k(p)}finally{be(!1)}}}else V=p;return j.memoizedState=j.baseState=V,h={pending:null,lanes:0,dispatch:null,lastRenderedReducer:h,lastRenderedState:V},j.queue=h,h=h.dispatch=Ek.bind(null,un,h),[j.memoizedState,h]},useRef:function(h){var p=Fi();return h={current:h},p.memoizedState=h},useState:function(h){h=Xm(h);var p=h.queue,k=mw.bind(null,un,p);return p.dispatch=k,[h.memoizedState,k]},useDebugValue:Ym,useDeferredValue:function(h,p){var k=Fi();return Qm(k,h,p)},useTransition:function(){var h=Xm(!1);return h=fw.bind(null,un,h.queue,!0,!1),Fi().memoizedState=h,[!1,h]},useSyncExternalStore:function(h,p,k){var j=un,V=Fi();if(Tn){if(k===void 0)throw Error(i(407));k=k()}else{if(k=p(),ls===null)throw Error(i(349));(xn&127)!==0||N2(j,p,k)}V.memoizedState=k;var Q={value:k,getSnapshot:p};return V.queue=Q,tw(H2.bind(null,j,Q,h),[h]),j.flags|=2048,bc(9,{destroy:void 0},B2.bind(null,j,Q,k,p),null),k},useId:function(){var h=Fi(),p=ls.identifierPrefix;if(Tn){var k=Aa,j=xa;k=(j&~(1<<32-or(j)-1)).toString(32)+k,p="_"+p+"R_"+k,k=dd++,0<k&&(p+="H"+k.toString(32)),p+="_"}else k=MA++,p="_"+p+"r_"+k.toString(32)+"_";return h.memoizedState=p},useHostTransitionStatus:Jm,useFormState:Y2,useActionState:Y2,useOptimistic:function(h){var p=Fi();p.memoizedState=p.baseState=h;var k={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return p.queue=k,p=Zm.bind(null,un,!0,k),k.dispatch=p,[h,p]},useMemoCache:Gm,useCacheRefresh:function(){return Fi().memoizedState=Tk.bind(null,un)},useEffectEvent:function(h){var p=Fi(),k={impl:h};return p.memoizedState=k,function(){if((yn&2)!==0)throw Error(i(440));return k.impl.apply(void 0,arguments)}}},rg={readContext:Yt,use:_u,useCallback:ow,useContext:Yt,useEffect:Km,useImperativeHandle:aw,useInsertionEffect:sw,useLayoutEffect:iw,useMemo:lw,useReducer:Iu,useRef:ew,useState:function(){return Iu(io)},useDebugValue:Ym,useDeferredValue:function(h,p){var k=Xs();return cw(k,Qn.memoizedState,h,p)},useTransition:function(){var h=Iu(io)[0],p=Xs().memoizedState;return[typeof h==="boolean"?h:Df(h),p]},useSyncExternalStore:P2,useId:uw,useHostTransitionStatus:Jm,useFormState:Q2,useActionState:Q2,useOptimistic:function(h,p){var k=Xs();return G2(k,Qn,h,p)},useMemoCache:Gm,useCacheRefresh:dw};rg.useEffectEvent=nw;var d5={readContext:Yt,use:_u,useCallback:ow,useContext:Yt,useEffect:Km,useImperativeHandle:aw,useInsertionEffect:sw,useLayoutEffect:iw,useMemo:lw,useReducer:$m,useRef:ew,useState:function(){return $m(io)},useDebugValue:Ym,useDeferredValue:function(h,p){var k=Xs();return Qn===null?Qm(k,h,p):cw(k,Qn.memoizedState,h,p)},useTransition:function(){var h=$m(io)[0],p=Xs().memoizedState;return[typeof h==="boolean"?h:Df(h),p]},useSyncExternalStore:P2,useId:uw,useHostTransitionStatus:Jm,useFormState:Z2,useActionState:Z2,useOptimistic:function(h,p){var k=Xs();if(Qn!==null)return G2(k,Qn,h,p);return k.baseState=h,[h,k.queue.dispatch]},useMemoCache:Gm,useCacheRefresh:dw};d5.useEffectEvent=nw;var ag={enqueueSetState:function(h,p,k){h=h._reactInternals;var j=ar(),V=Pn(j);V.payload=p,k!==void 0&&k!==null&&(V.callback=k),p=Un(h,V,j),p!==null&&(Ui(p,h,j),Yn(p,h,j))},enqueueReplaceState:function(h,p,k){h=h._reactInternals;var j=ar(),V=Pn(j);V.tag=1,V.payload=p,k!==void 0&&k!==null&&(V.callback=k),p=Un(h,V,j),p!==null&&(Ui(p,h,j),Yn(p,h,j))},enqueueForceUpdate:function(h,p){h=h._reactInternals;var k=ar(),j=Pn(k);j.tag=2,p!==void 0&&p!==null&&(j.callback=p),p=Un(h,j,k),p!==null&&(Ui(p,h,k),Yn(p,h,k))}},lg=Error(i(461)),Qs=!1,cg={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null},po=!1,Js=!1,fg=!1,m5=typeof WeakSet==="function"?WeakSet:Set,fi=null,ei=null,Gi=!1,ta=null,Pc=8192,FA={getCacheForType:function(h){var p=Yt(qs),k=p.data.get(h);return k===void 0&&(k=h(),p.data.set(h,k)),k},cacheSignal:function(){return Yt(qs).controller.signal}},md=0,gd=1,bd=2,yd=3,vd=4;if(typeof Symbol==="function"&&Symbol.for){var sh=Symbol.for;md=sh("selector.component"),gd=sh("selector.has_pseudo_class"),bd=sh("selector.role"),yd=sh("selector.test_id"),vd=sh("selector.text")}var LA=typeof WeakMap==="function"?WeakMap:Map,yn=0,ls=null,Sn=null,xn=0,zn=0,hr=null,Jo=!1,Nc=!1,hg=!1,go=0,Hs=0,Zo=0,Ul=0,ug=0,ur=0,Hc=0,ih=null,Vi=null,dg=!1,Sd=0,p5=0,rh=1/0,kd=null,el=null,ai=0,tl=null,Gc=null,bo=0,mg=0,pg=null,g5=null,ah=0,gg=null;return wn.attemptContinuousHydration=function(h){if(h.tag===13||h.tag===31){var p=It(h,67108864);p!==null&&Ui(p,h,67108864),Rp(h,67108864)}},wn.attemptHydrationAtCurrentPriority=function(h){if(h.tag===13||h.tag===31){var p=ar();p=se(p);var k=It(h,p);k!==null&&Ui(k,h,p),Rp(h,p)}},wn.attemptSynchronousHydration=function(h){switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var p=T(h.pendingLanes);if(p!==0){h.pendingLanes|=2;for(h.entangledLanes|=2;p;){var k=1<<31-or(p);h.entanglements[1]|=k,p&=~k}Bt(h),(yn&6)===0&&(rh=zi()+500,qn(0,!1))}}break;case 31:case 13:p=It(h,2),p!==null&&Ui(p,h,2),ly(),Rp(h,2)}},wn.batchedUpdates=function(h,p){return h(p)},wn.createComponentSelector=function(h){return{$$typeof:md,value:h}},wn.createContainer=function(h,p,k,j,V,Q,re,ke,Ge,tt){return _y(h,p,!1,null,k,j,Q,null,re,ke,Ge,tt)},wn.createHasPseudoClassSelector=function(h){return{$$typeof:gd,value:h}},wn.createHydrationContainer=function(h,p,k,j,V,Q,re,ke,Ge,tt,bt,rt,Rt,cn){return h=_y(k,j,!0,h,V,Q,ke,cn,Ge,tt,bt,rt),h.context=Iy(null),k=h.current,j=ar(),j=se(j),V=Pn(j),V.callback=p!==void 0&&p!==null?p:null,Un(k,V,j),p=j,h.current.lanes=p,J(h,p),Bt(h),h},wn.createPortal=function(h,p,k){var j=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Sc,key:j==null?null:""+j,children:h,containerInfo:p,implementation:k}},wn.createRoleSelector=function(h){return{$$typeof:bd,value:h}},wn.createTestNameSelector=function(h){return{$$typeof:yd,value:h}},wn.createTextSelector=function(h){return{$$typeof:vd,value:h}},wn.defaultOnCaughtError=function(h){console.error(h)},wn.defaultOnRecoverableError=function(h){o5(h)},wn.defaultOnUncaughtError=function(h){o5(h)},wn.deferredUpdates=function(h){var p=zt.T,k=ho();try{return ci(32),zt.T=null,h()}finally{ci(k),zt.T=p}},wn.discreteUpdates=function(h,p,k,j,V){var Q=zt.T,re=ho();try{return ci(2),zt.T=null,h(p,k,j,V)}finally{ci(re),zt.T=Q,yn===0&&(rh=zi()+500)}},wn.findAllNodes=Ap,wn.findBoundingRects=function(h,p){if(!Vf)throw Error(i(363));p=Ap(h,p),h=[];for(var k=0;k<p.length;k++)h.push(px(p[k]));for(p=h.length-1;0<p;p--){k=h[p];for(var j=k.x,V=j+k.width,Q=k.y,re=Q+k.height,ke=p-1;0<=ke;ke--)if(p!==ke){var Ge=h[ke],tt=Ge.x,bt=tt+Ge.width,rt=Ge.y,Rt=rt+Ge.height;if(j>=tt&&Q>=rt&&V<=bt&&re<=Rt){h.splice(p,1);break}else if(!(j!==tt||k.width!==Ge.width||Rt<Q||rt>re)){rt>Q&&(Ge.height+=rt-Q,Ge.y=Q),Rt<re&&(Ge.height=re-rt),h.splice(p,1);break}else if(!(Q!==rt||k.height!==Ge.height||bt<j||tt>V)){tt>j&&(Ge.width+=tt-j,Ge.x=j),bt<V&&(Ge.width=V-tt),h.splice(p,1);break}}}return h},wn.findHostInstance=Ry,wn.findHostInstanceWithNoPortals=function(h){return h=l(h),h=h!==null?f(h):null,h===null?null:zf(h.stateNode)},wn.findHostInstanceWithWarning=function(h){return Ry(h)},wn.flushPassiveEffects=Uf,wn.flushSyncFromReconciler=function(h){var p=yn;yn|=1;var k=zt.T,j=ho();try{if(ci(2),zt.T=null,h)return h()}finally{ci(j),zt.T=k,yn=p,(yn&6)===0&&qn(0,!1)}},wn.flushSyncWork=ly,wn.focusWithin=function(h,p){if(!Vf)throw Error(i(363));h=Sp(h),p=iy(h,p),p=Array.from(p);for(h=0;h<p.length;){var k=p[h++],j=k.tag;if(!$f(k)){if((j===5||j===26||j===27)&&wx(k.stateNode))return!0;for(k=k.child;k!==null;)p.push(k),k=k.sibling}}return!1},wn.getFindAllNodesFailureDescription=function(h,p){if(!Vf)throw Error(i(363));var k=0,j=[];h=[Sp(h),0];for(var V=0;V<h.length;){var Q=h[V++],re=Q.tag,ke=h[V++],Ge=p[ke];if(re!==5&&re!==26&&re!==27||!$f(Q)){if(kp(Q,Ge)&&(j.push(xp(Ge)),ke++,ke>k&&(k=ke)),ke<p.length)for(Q=Q.child;Q!==null;)h.push(Q,ke),Q=Q.sibling}}if(k<p.length){for(h=[];k<p.length;k++)h.push(xp(p[k]));return`findAllNodes was able to match part of the selector:
9
- `+(j.join(" > ")+`
10
-
11
- No matching component was found for:
12
- `)+h.join(" > ")}return null},wn.getPublicRootInstance=function(h){if(h=h.current,!h.child)return null;switch(h.child.tag){case 27:case 5:return zf(h.child.stateNode);default:return h.child.stateNode}},wn.injectIntoDevTools=function(){var h={bundleType:0,version:Xk,rendererPackageName:Wk,currentDispatcherRef:zt,reconcilerVersion:"19.2.0"};if(Oy!==null&&(h.rendererConfig=Oy),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")h=!1;else{var p=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(p.isDisabled||!p.supportsFiber)h=!0;else{try{Xf=p.inject(h),lr=p}catch(k){}h=p.checkDCE?!0:!1}}return h},wn.isAlreadyRendering=function(){return(yn&6)!==0},wn.observeVisibleRects=function(h,p,k,j){if(!Vf)throw Error(i(363));h=Ap(h,p);var V=yx(h,k,j).disconnect;return{disconnect:function(){V()}}},wn.shouldError=function(){return null},wn.shouldSuspend=function(){return!1},wn.startHostTransition=function(h,p,k,j){if(h.tag!==5)throw Error(i(476));var V=hw(h).queue;fw(h,V,p,xc,k===null?s:function(){var Q=hw(h);return Q.next===null&&(Q=h.alternate.memoizedState),qf(h,Q.next.queue,{},ar()),k(j)})},wn.updateContainer=function(h,p,k,j){var V=p.current,Q=ar();return Dy(V,Q,h,p,k,j),Q},wn.updateContainerSync=function(h,p,k,j){return Dy(p.current,2,h,p,k,j),2},wn};Yh.exports.default=Yh.exports;Object.defineProperty(Yh.exports,"__esModule",{value:!0})});var q8=w(function(TU,D8){S();D8.exports=function(n,s,i){let r=_("loading"),a=_(),[l,c]=u(0),f=_(),d=_(),g=_();if(f.current!==n||d.current!==s||g.current!==i)r.current="loading",a.current=void 0,f.current=n,d.current=s,g.current=i;return $e(function(){if(!n)return;var b=document.createElement("img");function y(){b.decode().catch(()=>{}).finally(()=>{r.current="loaded",a.current=b,c(Math.random())})}function v(){r.current="failed",a.current=void 0,c(Math.random())}return b.addEventListener("load",y),b.addEventListener("error",v),s&&(b.crossOrigin=s),i&&(b.referrerPolicy=i),b.src=n,function(){b.removeEventListener("load",y),b.removeEventListener("error",v)}},[n,s,i]),[a.current,r.current]}});function Kl(e){if(!e||e.length<2)return null;let n=[...e].sort((s,i)=>i.version-s.version);return{left:n[0],right:n[1]}}function b5(e,n){return Math.max(0,Math.min(e,Math.max(0,n-1)))}var NA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],wg=I("circle-question-mark",NA);var BA=[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M17 19H3",key:"z6ezky"}]],w5=I("text-align-start",BA);var HA=[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]],ts=I("audio-lines",HA);var UA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]],y5=I("ban",UA);var zA=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],v5=I("hash",zA);var GA=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],ws=I("maximize",GA);var VA=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]],xs=I("minimize",VA);var $A=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],$c=I("pause",$A);var XA=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Ta=I("play",XA);var WA=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],xd=I("repeat",WA);var KA=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Ri=I("settings",KA);var YA=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Ad=I("star",YA);var QA=[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]],S5=I("tags",QA);var JA=[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]],k5=I("toggle-left",JA);var ZA=[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]],Wa=I("type",ZA);var eT=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],Ed=I("volume-2",eT);var tT=[["path",{d:"M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z",key:"1p7khw"}],["path",{d:"m16.5 14.5 5-5",key:"cul3yw"}],["path",{d:"m16.5 9.5 5 5",key:"1akey5"}]],Cd=I("volume-x",tT);S();var ct=Number.isFinite||function(e){return typeof e==="number"&&isFinite(e)},nT=Number.isSafeInteger||function(e){return typeof e==="number"&&Math.abs(e)<=sT},sT=Number.MAX_SAFE_INTEGER||9007199254740991,Dt=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}({}),Le=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.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",e.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",e.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",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.PLAYLIST_UNCHANGED_ERROR="playlistUnchangedError",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_APPEND_NO_PROGRESS="bufferAppendNoProgress",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.ASSET_LIST_LOAD_ERROR="assetListLoadError",e.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",e.ASSET_LIST_PARSING_ERROR="assetListParsingError",e.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.ATTACH_MEDIA_ERROR="attachMediaError",e.MEDIA_SOURCE_REQUIRES_RESET="mediaSourceRequiresReset",e.UNKNOWN="unknown",e}({}),Z=function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.MEDIA_ENDED="hlsMediaEnded",e.STALL_RESOLVED="hlsStallResolved",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.BUFFERED_TO_END="hlsBufferedToEnd",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.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",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_TRACK_UPDATED="hlsSubtitleTrackUpdated",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.ASSET_LIST_LOADING="hlsAssetListLoading",e.ASSET_LIST_LOADED="hlsAssetListLoaded",e.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",e.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",e.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",e.INTERSTITIAL_STARTED="hlsInterstitialStarted",e.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",e.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",e.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",e.INTERSTITIAL_ENDED="hlsInterstitialEnded",e.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",e.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",e.EVENT_CUE_ENTER="hlsEventCueEnter",e}({});function iT(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var yg={exports:{}},x5;function rT(){if(x5)return yg.exports;return x5=1,function(e,n){(function(s){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,r=/^(?=([^\/?#]*))\1([^]*)$/,a=/(?:\/|^)\.(?=\/)/g,l=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,c={buildAbsoluteURL:function(f,d,g){if(g=g||{},f=f.trim(),d=d.trim(),!d){if(!g.alwaysNormalize)return f;var b=c.parseURL(f);if(!b)throw Error("Error trying to parse base URL.");return b.path=c.normalizePath(b.path),c.buildURLFromParts(b)}var y=c.parseURL(d);if(!y)throw Error("Error trying to parse relative URL.");if(y.scheme){if(!g.alwaysNormalize)return d;return y.path=c.normalizePath(y.path),c.buildURLFromParts(y)}var v=c.parseURL(f);if(!v)throw Error("Error trying to parse base URL.");if(!v.netLoc&&v.path&&v.path[0]!=="/"){var x=r.exec(v.path);v.netLoc=x[1],v.path=x[2]}if(v.netLoc&&!v.path)v.path="/";var T={scheme:v.scheme,netLoc:y.netLoc,path:null,params:y.params,query:y.query,fragment:y.fragment};if(!y.netLoc){if(T.netLoc=v.netLoc,y.path[0]!=="/")if(!y.path){if(T.path=v.path,!y.params){if(T.params=v.params,!y.query)T.query=v.query}}else{var R=v.path,N=R.substring(0,R.lastIndexOf("/")+1)+y.path;T.path=c.normalizePath(N)}}if(T.path===null)T.path=g.alwaysNormalize?c.normalizePath(y.path):y.path;return c.buildURLFromParts(T)},parseURL:function(f){var d=i.exec(f);if(!d)return null;return{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}},normalizePath:function(f){f=f.split("").reverse().join("").replace(a,"");while(f.length!==(f=f.replace(l,"")).length);return f.split("").reverse().join("")},buildURLFromParts:function(f){return f.scheme+f.netLoc+f.path+f.params+f.query+f.fragment}};e.exports=c})()}(yg),yg.exports}var k1=rT();class d0{constructor(){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}}}var fn=function(e){return e.MANIFEST="manifest",e.LEVEL="level",e.AUDIO_TRACK="audioTrack",e.SUBTITLE_TRACK="subtitleTrack",e.MEDIA_FRAGMENT="media-fragment",e.KEY="key",e.STEERING_MANIFEST="steering-manifest",e.SERVER_CERTIFICATE="server-certificate",e.INTERSTITIAL_ASSET_LIST="interstitial-asset-list",e}({}),Ct=function(e){return e.MAIN="main",e.AUDIO="audio",e.SUBTITLE="subtitle",e}({}),Jn={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"};class x1{constructor(e){if(this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,typeof e==="string")e={url:e};this.base=e,aT(this,"stats")}setByteRange(e,n){let s=e.split("@",2),i;if(s.length===1)i=(n==null?void 0:n.byteRangeEndOffset)||0;else i=parseInt(s[1]);this._byteRange=[i,parseInt(s[0])+i]}get baseurl(){return this.base.url}get byteRange(){if(this._byteRange===null)return[];return this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){if(this._streams===null)this._streams={[Jn.AUDIO]:null,[Jn.VIDEO]:null,[Jn.AUDIOVIDEO]:null};return this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return this._stats!==null}get hasStreams(){return this._streams!==null}get stats(){if(this._stats===null)this._stats=new d0;return this._stats}set stats(e){this._stats=e}get url(){if(!this._url&&this.relurl)this._url=k1.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0});return this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[Jn.AUDIO]=null,e[Jn.VIDEO]=null,e[Jn.AUDIOVIDEO]=null,this.url=null}}function Fs(e){return e.sn!=="initSegment"}function uh(e,n){return e.sn===(n==null?void 0:n.sn)&&e.level===n.level}function Xg(e,n){return e.sn===(n==null?void 0:n.sn)&&e.level===n.level&&e.cc===n.cc}class dh extends x1{constructor(e,n){super(n);this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e}if(this.byteRange.length){let e=this.byteRange[0],n=this.byteRange[1];if(ct(e)&&ct(n))return n-e}return null}get bitrate(){if(this.byteLength)return this.byteLength*8/this.duration;if(this._bitrate)return this._bitrate;return null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;let{levelkeys:n}=this;if(!n||n.NONE)return null;if(n.identity){if(!this._decryptdata)this._decryptdata=n.identity.getDecryptData(this.sn)}else if(!((e=this._decryptdata)!=null&&e.keyId)){let s=Object.keys(n);if(s.length===1){let i=this._decryptdata=n[s[0]]||null;if(i)this._decryptdata=i.getDecryptData(this.sn,n)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null)return null;let e=!ct(this.duration)?0:this.duration;return this.programDateTime+e*1000}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;else if(this.levelkeys){var n;let s=Object.keys(this.levelkeys),i=s.length;if(i>1||i===1&&(n=this.levelkeys[s[0]])!=null&&n.encrypted)return!0}return!1}get programDateTime(){if(this._programDateTime===null&&this.rawProgramDateTime)this.programDateTime=Date.parse(this.rawProgramDateTime);return this._programDateTime}set programDateTime(e){if(!ct(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){if(!Fs(this))return null;if(!this._ref)this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime};return this._ref}addStart(e){this.setStart(this.start+e)}setStart(e){if(this.start=e,this._ref)this._ref.start=e}setDuration(e){if(this.duration=e,this._ref)this._ref.duration=e}setKeyFormat(e){let n=this.levelkeys;if(n){var s;let i=n[e];if(i&&!((s=this._decryptdata)!=null&&s.keyId))this._decryptdata=i.getDecryptData(this.sn,n)}}abortRequests(){var e,n;(e=this.loader)==null||e.abort(),(n=this.keyLoader)==null||n.abort()}setElementaryStreamInfo(e,n,s,i,r,a=!1){let{elementaryStreams:l}=this,c=l[e];if(!c){l[e]={startPTS:n,endPTS:s,startDTS:i,endDTS:r,partial:a};return}c.startPTS=Math.min(c.startPTS,n),c.endPTS=Math.max(c.endPTS,s),c.startDTS=Math.min(c.startDTS,i),c.endDTS=Math.max(c.endDTS,r)}}class W3 extends x1{constructor(e,n,s,i,r){super(s);this.fragOffset=0,this.duration=0,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.gap=!1,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=n,this.index=i;let a=e.enumeratedString("BYTERANGE");if(a)this.setByteRange(a,r);if(r)this.fragOffset=r.fragOffset+r.duration}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo||this.fragment.type===Ct.SUBTITLE&&this.stats.loading.end>0)}}function K3(e,n){let s=Object.getPrototypeOf(e);if(s){let i=Object.getOwnPropertyDescriptor(s,n);if(i)return i;return K3(s,n)}}function aT(e,n){let s=K3(e,n);if(s)s.enumerable=!0,Object.defineProperty(e,n,s)}function oT(e,n,s){return(n=fT(n))in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}function Hn(){return Hn=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var s=arguments[n];for(var i in s)({}).hasOwnProperty.call(s,i)&&(e[i]=s[i])}return e},Hn.apply(null,arguments)}function A5(e,n){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),s.push.apply(s,i)}return s}function qt(e){for(var n=1;n<arguments.length;n++){var s=arguments[n]!=null?arguments[n]:{};n%2?A5(Object(s),!0).forEach(function(i){oT(e,i,s[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):A5(Object(s)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(s,i))})}return e}function m0(e,n){if(e==null)return{};var s,i,r=lT(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)s=a[i],n.indexOf(s)===-1&&{}.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}function lT(e,n){if(e==null)return{};var s={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(n.indexOf(i)!==-1)continue;s[i]=e[i]}return s}function cT(e,n){if(typeof e!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var i=s.call(e,n);if(typeof i!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function fT(e){var n=cT(e,"string");return typeof n=="symbol"?n:n+""}function Jd(e){switch(e.details){case Le.FRAG_LOAD_TIMEOUT:case Le.KEY_LOAD_TIMEOUT:case Le.LEVEL_LOAD_TIMEOUT:case Le.MANIFEST_LOAD_TIMEOUT:case Le.AUDIO_TRACK_LOAD_TIMEOUT:case Le.SUBTITLE_TRACK_LOAD_TIMEOUT:case Le.ASSET_LIST_LOAD_TIMEOUT:return!0}return!1}function Y3(e){return e.details.startsWith("key")}function Q3(e){return Y3(e)&&!!e.frag&&!e.frag.decryptdata}function T5(e,n){let s=Jd(n);return e.default[`${s?"timeout":"error"}Retry`]}function A1(e,n){let s=e.backoff==="linear"?1:Math.pow(2,n);return Math.min(s*e.retryDelayMs,e.maxRetryDelayMs)}function E5(e){return qt(qt({},e),{errorRetry:null,timeoutRetry:null})}function Sh(e,n,s,i){if(!e)return!1;let r=i==null?void 0:i.code,a=n<e.maxNumRetry&&(hT(r)||!!s);return e.shouldRetry?e.shouldRetry(e,n,s,i,a):a}function hT(e){return kh(e)||!!e&&(e<400||e>499)}function kh(e){return e===0&&navigator.onLine===!1}function J3(e,n){return n>0&&e.loadError>0&&e.loadErrorTime!==0&&self.performance.now()-e.loadErrorTime>n}class Xl{constructor(e,n=0,s=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(0.5)/e):0,this.estimate_=n,this.totalWeight_=s}sample(e,n){let s=Math.pow(this.alpha_,e);this.estimate_=n*(1-s)+s*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class Z3{constructor(e,n,s,i=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_=s,this.minWeight_=0.001,this.minDelayMs_=50,this.slow_=new Xl(e),this.fast_=new Xl(n),this.defaultTTFB_=i,this.ttfb_=new Xl(e)}update(e,n){let{slow_:s,fast_:i,ttfb_:r}=this;if(s.halfLife!==e)this.slow_=new Xl(e,s.getEstimate(),s.getTotalWeight());if(i.halfLife!==n)this.fast_=new Xl(n,i.getEstimate(),i.getTotalWeight());if(r.halfLife!==e)this.ttfb_=new Xl(e,r.getEstimate(),r.getTotalWeight())}sample(e,n){if(n<=0)return;let s=Math.min(this.minDelayMs_,n/1e5),i=8*n,r=Math.max(e,s)/1000,a=i/r;this.fast_.sample(r,a),this.slow_.sample(r,a)}sampleTTFB(e){let n=e/1000,s=Math.sqrt(2)*Math.exp(-Math.pow(n,2)/2);this.ttfb_.sample(s,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){if(this.canEstimate())return Math.min(this.fast_.getEstimate(),this.slow_.getEstimate());else return this.defaultEstimate_}getEstimateTTFB(){if(this.ttfb_.getTotalWeight()>=this.minWeight_)return this.ttfb_.getEstimate();else return this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}class Yi{constructor(e,n){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;let s=`[${e}]:`;this.trace=il,this.debug=n.debug.bind(null,s),this.log=n.log.bind(null,s),this.warn=n.warn.bind(null,s),this.info=n.info.bind(null,s),this.error=n.error.bind(null,s)}}var il=function(){},uT={trace:il,debug:il,log:il,warn:il,info:il,error:il};function Wg(){return Hn({},uT)}function mT(e,n){let s=self.console[e];return s?s.bind(self.console,`${n?"["+n+"] ":""}[${e}] >`):il}function C5(e,n,s){return n[e]?n[e].bind(n):mT(e,s)}var Kg=Wg();function pT(e,n,s){let i=Wg();if(typeof console==="object"&&e===!0||typeof e==="object"){let r=["debug","log","info","warn","error"];r.forEach((a)=>{i[a]=C5(a,e,s)});try{i.log(`Debug logs enabled for "${n}" in hls.js version 1.7.3`)}catch(a){return Wg()}r.forEach((a)=>{Kg[a]=C5(a,e)})}else Hn(Kg,i);return i}var In=Kg;function ll(e=!0){if(typeof self>"u")return;return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function gT(e){return typeof self<"u"&&e===self.ManagedMediaSource}function e9(e,n){let s=Object.keys(e),i=Object.keys(n),r=s.length,a=i.length;return!r||!a||r===a&&!s.some((l)=>i.indexOf(l)===-1)}function bT(e){return btoa(String.fromCharCode(...e))}function p0(e){return e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer}var wT="utf-16",vg="utf-16be",j5="utf-16le",Gd="utf-8";function yT(e,n={}){let s;if(p0(e))s=new DataView(e);else s=new DataView(e.buffer,e.byteOffset,e.byteLength);let i=0,{encoding:r}=n;if(!r){let d=s.getUint8(0),g=s.getUint8(1);if(d==239&&g==187&&s.getUint8(2)==191)r=Gd,i=3;else if(d==254&&g==255)r=vg,i=2;else if(d==255&&g==254)r=j5,i=2;else r=Gd}if(typeof TextDecoder<"u")return new TextDecoder(r).decode(s);let{byteLength:a}=s,l=r!==vg,c="",f;while(i<a){switch(r){case Gd:if(f=s.getUint8(i),f<128)i++;else if(f>=194&&f<=223)if(i+1<a){let d=s.getUint8(i+1);if(d>=128&&d<=191)f=(f&31)<<6|d&63,i+=2;else i++}else i++;else if(f>=224&&f<=239)if(i+2<=a-1){let d=s.getUint8(i+1),g=s.getUint8(i+2);if(d>=128&&d<=191&&g>=128&&g<=191)f=(f&15)<<12|(d&63)<<6|g&63,i+=3;else i++}else i++;else if(f>=240&&f<=244)if(i+3<=a-1){let d=s.getUint8(i+1),g=s.getUint8(i+2),b=s.getUint8(i+3);if(d>=128&&d<=191&&g>=128&&g<=191&&b>=128&&b<=191)f=(f&7)<<18|(d&63)<<12|(g&63)<<6|b&63,i+=4;else i++}else i++;else i++;break;case vg:case wT:case j5:f=s.getUint16(i,l),i+=2;break}c+=String.fromCodePoint(f)}return c}function vT(e){let n=typeof e==="string"?new URL(e):e;return n.origin+n.pathname.substring(0,n.pathname.lastIndexOf("/")+1)}function t9(e,n){if(e<0)return-t9(-e,n);let s=Math.pow(10,n);if(Math.abs(e*s%1-0.5)<Number.EPSILON){let i=Math.floor(e*s);return(i%2===0?i:i+1)/s}else return Math.round(e*s)/s}function ST(e,n){let s;try{s=new URL(e)}catch(c){return e}let i=new URL(n);if(s.origin!==i.origin)return e;let r=s.pathname.split("/").slice(1),a=i.pathname.split("/").slice(1,-1),l=Math.min(r.length,a.length);for(let c=0;c<l;c++){if(r[c]!==a[c])break;r.shift(),a.shift()}while(a.length)a.shift(),r.unshift("..");return r.join("/")+s.search+s.hash}function n9(){try{return crypto.randomUUID()}catch(e){try{let n=URL.createObjectURL(new Blob),s=n.toString();return URL.revokeObjectURL(n),s.slice(s.lastIndexOf("/")+1)}catch(n){let s=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(i)=>{let r=(s+Math.random()*16)%16|0;return s=Math.floor(s/16),(i=="x"?r:r&3|8).toString(16)})}}}function T1(e,n){if(n+10<=e.length){if(e[n]===73&&e[n+1]===68&&e[n+2]===51){if(e[n+3]<255&&e[n+4]<255){if(e[n+6]<128&&e[n+7]<128&&e[n+8]<128&&e[n+9]<128)return!0}}}return!1}function g0(e,n){let s=0;return s=(e[n]&127)<<21,s|=(e[n+1]&127)<<14,s|=(e[n+2]&127)<<7,s|=e[n+3]&127,s}function kT(e,n){return T1(e,n)&&g0(e,n+6)+10<=e.length-n}function s9(e,n){if(n+10<=e.length){if(e[n]===51&&e[n+1]===68&&e[n+2]===73){if(e[n+3]<255&&e[n+4]<255){if(e[n+6]<128&&e[n+7]<128&&e[n+8]<128&&e[n+9]<128)return!0}}}return!1}function xh(e,n){let s=n,i=0;while(T1(e,n)){i+=10;let r=g0(e,n+6);if(i+=r,s9(e,n+10))i+=10;n+=i}if(i>0)return e.subarray(s,s+i)}function xT(e){if(p0(e))return e;else{if(e.byteOffset==0&&e.byteLength==e.buffer.byteLength)return e.buffer;return new Uint8Array(e).buffer}}function Sg(e,n=0,s=1/0){return AT(e,n,s,Uint8Array)}function AT(e,n,s,i){let r=TT(e),a=1;if("BYTES_PER_ELEMENT"in i)a=i.BYTES_PER_ELEMENT;let l=ET(e)?e.byteOffset:0,c=(l+e.byteLength)/a,f=(l+n)/a,d=Math.floor(Math.max(0,Math.min(f,c)));return new i(r,d,Math.floor(Math.min(d+Math.max(s,0),c))-d)}function TT(e){if(p0(e))return e;else return e.buffer}function ET(e){return e&&p0(e.buffer)&&e.byteLength!==void 0&&e.byteOffset!==void 0}function pr(e,n=!1){let s=n?e.indexOf(0):e.length,i=yT(new DataView(e.buffer,e.byteOffset,s),{encoding:Gd});return n?i:i.replace(/\0/g,"")}function CT(e){let n={key:e.type,description:"",data:"",mimeType:null,pictureType:null},s=3;if(e.size<2)return;if(e.data[0]!==3){console.log("Ignore frame with unrecognized character encoding");return}let i=e.data.subarray(1).indexOf(0);if(i===-1)return;let r=pr(Sg(e.data,1,i)),a=e.data[2+i],l=e.data.subarray(3+i).indexOf(0);if(l===-1)return;let c=pr(Sg(e.data,3+i,l)),f;if(r==="-->")f=pr(Sg(e.data,4+i+l));else f=xT(e.data.subarray(4+i+l));return n.mimeType=r,n.pictureType=a,n.description=c,n.data=f,n}function jT(e){if(e.size<2)return;let n=pr(e.data,!0),s=new Uint8Array(e.data.subarray(n.length+1));return{key:e.type,info:n,data:s.buffer}}function _T(e){if(e.size<2)return;if(e.type==="TXXX"){let s=1,{data:i}=e,r=pr(i.subarray(s),!0);s+=r.length+1;let a=pr(i.subarray(s));return{key:e.type,info:r,data:a}}let n=pr(e.data.subarray(1));return{key:e.type,info:"",data:n}}function IT(e){if(e.type==="WXXX"){if(e.size<2)return;let s=1,i=pr(e.data.subarray(s),!0);s+=i.length+1;let r=pr(e.data.subarray(s));return{key:e.type,info:i,data:r}}let n=pr(e.data);return{key:e.type,info:"",data:n}}function RT(e){if(e.type==="PRIV")return jT(e);else if(e.type[0]==="W")return IT(e);else if(e.type==="APIC")return CT(e);return _T(e)}function DT(e){let n=String.fromCharCode(e[0],e[1],e[2],e[3]),s=g0(e,4),i=10;return{type:n,size:s,data:e.subarray(10,10+s)}}var jd=10,qT=10;function i9(e){let n=0,s=[];while(T1(e,n)){let i=g0(e,n+6);if(e[n+5]>>6&1)n+=jd;n+=jd;let r=n+i;while(n+qT<r){let a=DT(e.subarray(n)),l=RT(a);if(l)s.push(l);n+=a.size+jd}if(s9(e,n))n+=jd}return s}function r9(e){return e&&e.key==="PRIV"&&e.info==="com.apple.streaming.transportStreamTimestamp"}function MT(e){if(e.data.byteLength===8){let n=new Uint8Array(e.data),s=n[3]&1,i=(n[4]<<23)+(n[5]<<15)+(n[6]<<7)+n[7];if(i/=45,s)i+=47721858.84;return Math.round(i)}}function E1(e){let n=i9(e);for(let s of n)if(r9(s))return MT(s)}function ni(e){let n="";for(let s=0;s<e.length;s++){let i=e[s].toString(16);if(i.length<2)i="0"+i;n+=i}return n}function a9(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}function C1(e){return Uint8Array.from(atob(e),(n)=>n.charCodeAt(0))}function la(e){return String.fromCharCode.apply(null,e)}var _a=Math.pow(2,32)-1,Ht={avc1:1635148593,avcC:1635148611,hvc1:1752589105,hvcC:1752589123,btrt:1651798644,dinf:1684631142,dref:1685218662,esds:1702061171,free:1718773093,ftyp:1718909296,hdlr:1751411826,mdat:1835295092,mdhd:1835296868,mdia:1835297121,mfhd:1835427940,minf:1835626086,moof:1836019558,moov:1836019574,mp4a:1836069985,".mp3":778924083,dac3:1684103987,"ac-3":1633889587,mvex:1836475768,mvhd:1836476516,pasp:1885434736,sdtp:1935963248,stbl:1937007212,stco:1937007471,stsc:1937011555,stsd:1937011556,stsz:1937011578,stts:1937011827,tfdt:1952867444,tfhd:1952868452,traf:1953653094,trak:1953653099,trun:1953658222,trex:1953654136,tkhd:1953196132,vmhd:1986881636,smhd:1936549988},o9={video:1,audio:2,id3:3,text:4};function l9(e,n){let s=e[n]<<8|e[n+1];return s<0?65536+s:s}function St(e,n){let s=e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3];return s<0?4294967296+s:s}function _5(e,n){let s=St(e,n);return s*=Math.pow(2,32),s+=St(e,n+4),s}function _d(e,n){let s="";for(let i=n;i<e.length;i++)if(s+=String.fromCharCode(e[i]),e[i]===0)return s;return null}function Yg(e,n){return e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]}function Ks(e,n,s){e[n]=s>>24,e[n+1]=s>>16&255,e[n+2]=s>>8&255,e[n+3]=s&255}function I5(e,n,s){let i=n.byteOffset-e.byteOffset-8,r=8+s,a=n.byteLength+8-r;if(a<8)return;Ks(e,i,r),Ks(e,i+r,a),Ks(e,i+r+4,Ht.free)}function Qg(e,n){return[e.byteOffset-n-8,e.byteOffset-n+e.byteLength]}function c9(e,n){n.sort((c,f)=>c[0]-f[0]);let s=n.reduce((c,[f,d])=>c+d-f,0),i=new Uint8Array(e.byteLength-s),r=0,a=0;for(let c=0;c<n.length;c++){let[f,d]=n[c];i.set(e.subarray(r,f),a),a+=f-r,r=d}return i.set(e.subarray(r),a),{result:i,dropped:s,droppedBefore:(c)=>n.reduce((f,[d,g])=>g<=c?f+g-d:f,0)}}function FT(e){let n=Xt(e,["moov"]);if(n.length!==1||Xt(e,["moof"]).length)return null;let s=e.byteOffset,i=[],r=[],a=!1,l=Xt(n[0],["trak"]);for(let v=0;v<l.length;v++){let x=l[v],T=Xt(x,["mdia","hdlr"])[0];if((T?la(T.subarray(8,12)):"")==="vide"){a=!0;continue}let N=Xt(x,["tkhd"])[0];if(!N)return null;let U=N[0];r.push(St(N,U===0?12:20)),i.push(Qg(x,s))}if(!a||!i.length)return null;let c=Xt(n[0],["mvex"])[0],f=0;if(c){let v=Xt(c,["trex"]);for(let x=0;x<v.length;x++){let T=v[x];if(r.indexOf(St(T,4))!==-1)i.push(Qg(T,s)),f+=T.byteLength+8}}let{result:d,dropped:g,droppedBefore:b}=c9(e,i),y=n[0].byteOffset-s-8;if(Ks(d,y,n[0].byteLength+8-g),c&&f){let v=c.byteOffset-s-8;Ks(d,v-b(v),c.byteLength+8-f)}return d}function LT(e,n,s,i,r){if(s<1)return null;let a=Xt(e,["moof"]);if(a.length!==1)return null;let l=a[0],c=e.byteOffset,f=[],d=[],g=Xt(l,["traf"]),b=!0;for(let T=0;T<g.length;T++){let R=g[T],N=Xt(R,["tfhd"])[0];if(!N)return null;if(St(N,4)===n){if(f.push(R),!(St(N,0)&131072))b=!1}else d.push(Qg(R,c))}if(!f.length)return null;if(d.length&&!b)return null;if(i!==void 0){let T=s;for(let N=0;N<f.length;N++){let U=f[N],X=0,Y=Xt(U,["trun"]);for(let te=0;te<Y.length;te++){let ne=Y[te],ie=Math.min(T,St(ne,4));if(ie){Ks(e,ne.byteOffset-c+4,ie);let se=St(ne,0)&16777215,ae=(se&256?4:0)+(se&512?4:0)+(se&1024?4:0)+(se&2048?4:0);I5(e,ne,8+(se&1?4:0)+(se&4?4:0)+ie*ae)}else Ks(e,ne.byteOffset-c-4,Ht.free);T-=ie,X+=ie}let J=Xt(U,["senc"])[0];if(J)Ks(e,J.byteOffset-c+4,X);let ee=Xt(U,["saiz"])[0];if(ee){let te=ee[1]<<16|ee[2]<<8|ee[3],ne=4;if(te&1)ne+=8;let ie=ee[ne];ne+=1,Ks(e,ee.byteOffset-c+ne,X),I5(e,ee,ne+4+(ie===0?X:0))}}let R=Xt(e,["mdat"]);if(R.length===1){let N=R[0].byteOffset-c-8;Ks(e,N,i-N)}}let y=e,v=0,x=()=>0;if(d.length){({result:y,dropped:v,droppedBefore:x}=c9(e,d)),Ks(y,l.byteOffset-c-8,l.byteLength+8-v);for(let T=0;T<f.length;T++){let R=f[T],N=x(R.byteOffset-c),U=Xt(R,["trun"]);for(let X=0;X<U.length;X++){let Y=U[X];if(St(Y,0)&1)Ks(y,Y.byteOffset-c-N+8,St(Y,8)-v)}if(N){let X=Xt(R,["saio"]);for(let Y=0;Y<X.length;Y++){let J=X[Y],ee=J[0]===0?4:8,te=St(J,0)&1?12:4,ne=St(J,te);for(te+=4;ne--;te+=ee){let ie=te+ee-4;Ks(y,J.byteOffset-c-N+ie,St(J,ie)-N)}}}}}if(r){let{durationOffset:T,value:R}=r;Ks(y,T-x(T),R)}return i!==void 0?y.subarray(0,i-v):y}function OT(e,n){let s=e.byteLength;for(let i=0;i<s;){let r=St(e,i);if(r>8&&St(e,i+4)===Ht[n])return!0;i=r>1?i+r:s}return!1}function Xt(e,n){let s=[];if(!n.length)return s;return f9(e,n,0,0,e.byteLength,s),s}function f9(e,n,s,i,r,a){let l=n[s];if((l==null?void 0:l.length)!==4)return;let c=l.charCodeAt(0),f=l.charCodeAt(1),d=l.charCodeAt(2),g=l.charCodeAt(3),b=n.length-1;for(let y=i;y<r;){let v=y+8<=r,x=y+4<=r?e[y]*16777216+(e[y+1]<<16|e[y+2]<<8|e[y+3]):St(e,y),T=x>1?y+x:r;if(v&&e[y+4]===c&&e[y+5]===f&&e[y+6]===d&&e[y+7]===g){let R=Math.min(T,r);if(s===b)a.push(e.subarray(y+8,R));else f9(e,n,s+1,y+8,R,a)}y=T}}function PT(e){let n=[],s=e[0],i=8,r=St(e,i);i+=4;let a=0,l=0;if(s===0)a=St(e,i),l=St(e,i+4),i+=8;else a=_5(e,i),l=_5(e,i+8),i+=16;i+=2;let c=e.length+l,f=l9(e,i);i+=2;for(let d=0;d<f;d++){let g=i,b=St(e,g);g+=4;let y=b&2147483647;if((b&2147483648)>>>31===1)return In.warn("SIDX has hierarchical references (not supported)"),null;let x=St(e,g);g+=4,n.push({referenceSize:y,subsegmentDuration:x,info:{duration:x/r,start:c,end:c+y-1}}),c+=y,g+=4,i=g}return{earliestPresentationTime:a,timescale:r,version:s,referencesCount:f,references:n}}function h9(e){let n=[],s=Xt(e,["moov","trak"]);for(let r=0;r<s.length;r++){let a=s[r],l=Xt(a,["tkhd"])[0];if(l){let c=l[0],f=St(l,c===0?12:20),d=Xt(a,["mdia","mdhd"])[0];if(d){c=d[0];let g=St(d,c===0?12:20),b=Xt(a,["mdia","hdlr"])[0];if(b){let y=la(b.subarray(8,12)),v={soun:Jn.AUDIO,vide:Jn.VIDEO}[y],x=Xt(a,["mdia","minf","stbl","stsd"])[0],T=NT(x);if(v)n[f]={timescale:g,type:v,stsd:T},n[v]=qt({timescale:g,id:f},T);else n[f]={timescale:g,type:y,stsd:T}}}}}return Xt(e,["moov","mvex","trex"]).forEach((r)=>{let a=St(r,4),l=n[a];if(l)l.default={duration:St(r,12),sampleSize:St(r,16),flags:St(r,20)}}),n}function NT(e){let n=e.subarray(8),s=n.subarray(86),i=la(n.subarray(4,8)),r=i,a,l=i==="enca"||i==="encv";if(l){let d=Xt(n,[i])[0].subarray(i==="enca"?28:78);Xt(d,["sinf"]).forEach((b)=>{let y=Xt(b,["schm"])[0];if(y){let v=la(y.subarray(4,8));if(v==="cbcs"||v==="cenc"){let x=Xt(b,["frma"])[0];if(x)r=la(x)}}})}let c=r;switch(r){case"avc1":case"avc2":case"avc3":case"avc4":{let f=Xt(s,["avcC"])[0];if(f&&f.length>3)r+="."+Dd(f[1])+Dd(f[2])+Dd(f[3]),a=Id(c==="avc1"?"dva1":"dvav",s);break}case"mp4a":{let f=Xt(n,[i])[0],d=Xt(f.subarray(28),["esds"])[0];if(d&&d.length>7){let g=4;if(d[g++]!==3)break;g=kg(d,g),g+=2;let b=d[g++];if(b&128)g+=2;if(b&64)g+=d[g++];if(d[g++]!==4)break;g=kg(d,g);let y=d[g++];if(y===64)r+="."+Dd(y);else break;if(g+=12,d[g++]!==5)break;g=kg(d,g);let v=d[g++],x=(v&248)>>3;if(x===31)x+=1+((v&7)<<3)+((d[g]&224)>>5);r+="."+x}break}case"hvc1":case"hev1":{let f=Xt(s,["hvcC"])[0];if(f&&f.length>12){let d=f[1],g=["","A","B","C"][d>>6],b=d&31,y=St(f,2),v=(d&32)>>5?"H":"L",x=f[12],T=f.subarray(6,12);r+="."+g+b,r+="."+BT(y).toString(16).toUpperCase(),r+="."+v+x;let R="";for(let N=T.length;N--;){let U=T[N];if(U||R)R="."+U.toString(16).toUpperCase()+R}r+=R}a=Id(c=="hev1"?"dvhe":"dvh1",s);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":{r=Id(r,s)||r;break}case"vp09":{let f=Xt(s,["vpcC"])[0];if(f&&f.length>6){let d=f[4],g=f[5],b=f[6]>>4&15;r+="."+Ra(d)+"."+Ra(g)+"."+Ra(b)}break}case"av01":{let f=Xt(s,["av1C"])[0];if(f&&f.length>2){let d=f[1]>>>5,g=f[1]&31,b=f[2]>>>7?"H":"M",y=(f[2]&64)>>6,v=(f[2]&32)>>5,x=d===2&&y?v?12:10:y?10:8,T=(f[2]&16)>>4,R=(f[2]&8)>>3,N=(f[2]&4)>>2,U=f[2]&3,X=1,Y=1,J=1,ee=0;r+="."+d+"."+Ra(g)+b+"."+Ra(x)+"."+T+"."+R+N+U+"."+Ra(1)+"."+Ra(1)+"."+Ra(1)+".0",a=Id("dav1",s)}break}}return{codec:r,encrypted:l,supplemental:a}}function Id(e,n){let s=Xt(n,["dvvC"]),i=s.length?s[0]:Xt(n,["dvcC"])[0];if(i){let r=i[2]>>1&127,a=i[2]<<5&32|i[3]>>3&31;return e+"."+Ra(r)+"."+Ra(a)}}function BT(e){let n=0;for(let s=0;s<32;s++)n|=(e>>s&1)<<31-s;return n>>>0}function kg(e,n){let s=n+5;while(e[n++]&128&&n<s);return n}function Dd(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function Ra(e){return(e<10?"0":"")+e}function HT(e,n){if(!e||!n)return;let s=n.keyId;if((s==null?void 0:s.byteLength)===16&&n.isCommonEncryption)u9(e,(i,r)=>{let a=i.subarray(8,24);if(!a.some((l)=>l!==0))In.log(`[eme] Patching keyId in 'enc${r?"a":"v"}>sinf>>tenc' box: ${ni(a)} -> ${ni(s)}`),i.set(s,8)})}function UT(e){let n=[];return u9(e,(s)=>n.push(s.subarray(8,24))),n}function u9(e,n){Xt(e,["moov","trak"]).forEach((i)=>{let r=Xt(i,["mdia","minf","stbl","stsd"])[0];if(!r)return;let a=r.subarray(8),l=Xt(a,["enca"]),c=l.length>0;if(!c)l=Xt(a,["encv"]);l.forEach((f)=>{let d=c?f.subarray(28):f.subarray(78);Xt(d,["sinf"]).forEach((b)=>{let y=d9(b);if(y)n(y,c)})})})}function d9(e){let n=Xt(e,["schm"])[0];if(n){let s=la(n.subarray(4,8));if(s==="cbcs"||s==="cenc"){let i=Xt(e,["schi","tenc"])[0];if(i)return i}}}var R5;function zT(e){if(typeof TextDecoder>"u")return pr(e);return(R5||(R5=new TextDecoder("utf-8"))).decode(e).replace(/\0/g,"")}function GT(e){let n=e.byteLength,s=[];for(let i=0;i<n;){let r=i+8<=n,a=i+4<=n?e[i]*16777216+(e[i+1]<<16|e[i+2]<<8|e[i+3]):St(e,i),l=a>1?i+a:n;if(r&&e[i+4]===109&&e[i+5]===111&&e[i+6]===111&&e[i+7]===102){let c=Math.min(l,n);for(let f=i+8;f<c;){let d=f+8<=c,g=f+4<=c?e[f]*16777216+(e[f+1]<<16|e[f+2]<<8|e[f+3]):St(e,f),b=g>1?f+g:c;if(d&&e[f+4]===116&&e[f+5]===114&&e[f+6]===97&&e[f+7]===102){let y=Math.min(b,c),v,x,T=[];for(let R=f+8;R<y;){let N=R+8<=y,U=R+4<=y?e[R]*16777216+(e[R+1]<<16|e[R+2]<<8|e[R+3]):St(e,R),X=U>1?R+U:y;if(N&&e[R+4]===116){let Y=Math.min(X,y);if(e[R+5]===102&&e[R+6]===104&&e[R+7]===100)x||(x=e.subarray(R+8,Y));else if(e[R+5]===102&&e[R+6]===100&&e[R+7]===116)v||(v=e.subarray(R+8,Y));else if(e[R+5]===114&&e[R+6]===117&&e[R+7]===110)T.push(e.subarray(R+8,Y))}R=X}s.push({moofOffset:e.byteOffset+i,tfdt:v,tfhd:x,truns:T})}f=b}}i=l}return s}function VT(e,n,s,i,r=!0){return m9(e,n,i,r)}function $T(e,n,s,i,r=!1){let a=[],l=n.samples,c=m9(l,s,i,r,{isHEVCFlavor:Dh(n.codec),samples:a,timeOffset:e,timescale:n.timescale,trackId:n.id});return{samples:a,sampleData:{includeSampleDetails:r,tracks:c}}}function m9(e,n,s,i,r){let a={},l=!1,c=GT(e),f=e.byteLength;for(let b=0;b<c.length;b++){let{moofOffset:y,tfdt:v,tfhd:x,truns:T}=c[b],R=St(x,4),N=n[R];if(!N)continue;let U=a[R]||(a[R]={start:NaN,duration:0,sampleCount:0,trun:[],timescale:N.timescale,type:N.type}),X;if(v){let Se=v[0];if(X=St(v,4),Se===1)if(X===_a)s.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time");else X*=_a+1,X+=St(v,8);if(ct(X)&&(!ct(U.start)||X<U.start))U.start=X;if(r&&ct(X))r.timeOffset=X/r.timescale}let Y=(r==null?void 0:r.trackId)===R&&N.type===Jn.VIDEO,J=N.default,ee=St(x,0)&16777215,te=(J==null?void 0:J.duration)||0,ne,ie=(J==null?void 0:J.sampleSize)||0,se=8;if(ee&1)se+=8;if(ee&2)se+=4;if(ee&8)te=St(x,se),ne=x.byteOffset-e.byteOffset+se,se+=4;if(ee&16)ie=St(x,se);let ae=0,be=(ee&1)!==0,ye=!be&&(ee&131072)!==0;if(be)ae=St(x,8),ae*=Math.pow(2,32),ae+=St(x,12);else if(ye)ae=y;let ue=X||0,he=0,oe=te;for(let Se=0;Se<T.length;Se++){let we=T[Se],qe=St(we,4),De=U.sampleCount;U.sampleCount+=qe;let Fe=we[3]&1,Be=0,We=we[3]&4,st=we[2]&1,Je=we[2]&2,vt=we[2]&4,jt=we[2]&8,ut=8;if(Fe)Be=Yg(we,ut),ut+=4;if(We){if(!(we[ut+1]&1)&&U.keyFrameIndex===void 0)U.keyFrameIndex=De;ut+=4}let Lt=ae+Be;if(!i&&we[1]===0&&we[2]===6&&we[3]===1){var d,g;let rn=ue,Wn=Lt,Xe=ut,Ze=-1,wt=0,mt=0,Nt=(d=r==null?void 0:r.timeOffset)!=null?d:0,an=te/((g=r==null?void 0:r.timescale)!=null?g:1),mn=(r==null?void 0:r.isHEVCFlavor)===!0,Yt=mn?2:1;for(let is=0;is<qe;is++){let xt=we[ut]===0?we[ut+1]<<16|we[ut+2]<<8|we[ut+3]:St(we,ut),it=Ze===-1&&U.keyFrameIndex===void 0&&(we[ut+5]&1)===0;ut+=8;let on=Lt+xt;if(Y){if(xt>0){let Bt=Lt;do{let qn=e[Bt]===0?e[Bt+1]<<16|e[Bt+2]<<8|e[Bt+3]:St(e,Bt);Bt+=4;let as=e[Bt],Rs=mn?as>>1&63:as&31;if(mn?Rs===39||Rs===40:Rs===6)Ah(e.subarray(Bt,Bt+qn),Yt,Nt,r.samples);Bt+=qn}while(Bt<on)}Nt+=an}if(Lt=on,it)Ze=is,wt=Lt}if(Lt<=f)mt=qe;else{let is=Wn,xt=Xe;for(let it=0;it<qe;it++){let on=we[xt]===0?we[xt+1]<<16|we[xt+2]<<8|we[xt+3]:St(we,xt);if(is+=on,is>f)break;mt=it+1,xt+=8}}if(Y)r.timeOffset=Nt;if(Ze!==-1&&wt<=f&&U.keyFrameIndex===void 0)U.keyFrameIndex=Ze,U.keyFrameStart=rn+Ze*te;if(mt){if(!ct(U.ptsMin)||rn<U.ptsMin)U.ptsMin=rn;let is=rn+mt*te;if(!ct(U.ptsMax)||is>U.ptsMax)U.ptsMax=is}let Dn=te*qe;ue=rn+Dn,he+=Dn;continue}let Jt,hn;if(i){if(Jt=[],hn={sampleOffset:Lt,samples:Jt,defaultSampleDurationOffset:ne},Lt<=f)U.trun.push(hn)}let Wt;for(let rn=0;rn<qe;rn++){let Wn;if(st){if(i)Wn=we.byteOffset-e.byteOffset+ut;oe=St(we,ut),ut+=4}else oe=te;if(Je)Wt=St(we,ut),ut+=4;else Wt=ie;let Xe,Ze;if(vt){if(Ze=we[ut+1]&1?1:0,i)Xe={isNonSync:Ze,dependsOn:(we[ut]&3)===1?1:2};ut+=4}let wt=0;if(jt)wt=we[0]===0?St(we,ut):Yg(we,ut),ut+=4;if(Y){let mt=Lt,Nt=0;while(Nt<Wt){let an=St(e,mt);if(mt+=4,p9(r.isHEVCFlavor,e[mt]))Ah(e.subarray(mt,mt+an),r.isHEVCFlavor?2:1,r.timeOffset+wt/r.timescale,r.samples);mt+=an,Nt+=an+4}r.timeOffset+=oe/r.timescale}if(Lt+=Wt,Lt<=f){if(hn&&Wn!==void 0)hn.lastSampleDurationOffset=Wn;if(Ze===0&&U.keyFrameIndex===void 0)U.keyFrameIndex=rn,U.keyFrameStart=ue;let mt=ue+wt;if(!ct(U.ptsMin)||mt<U.ptsMin)U.ptsMin=mt;if(!ct(U.ptsMax)||mt+oe>U.ptsMax)U.ptsMax=mt+oe;if(Jt)Jt[rn]={cts:wt,duration:oe,flags:Xe,size:Wt}}ue+=oe,he+=oe}if(!he&&te)he+=te*qe}if(U.duration+=he,U.duration)l=!0}if(!l){let b=1/0,y=0,v=Xt(e,["sidx"]);for(let x=0;x<v.length;x++){let T=PT(v[x]);if(T!=null&&T.references){b=Math.min(b,T.earliestPresentationTime/T.timescale);let R=T.references.reduce((N,U)=>N+U.info.duration||0,0);y=Math.max(y,R+T.earliestPresentationTime/T.timescale)}}if(y&&ct(y))Object.keys(a).forEach((x)=>{if(!a[x].duration)a[x].duration=y*a[x].timescale-a[x].start})}return a}function XT(e){let n={valid:null,remainder:null},s=Xt(e,["moof"]);if(s.length<2)return n.remainder=e,n;let i=s[s.length-1];return n.valid=e.slice(0,i.byteOffset-8),n.remainder=e.slice(i.byteOffset-8),n}function qr(e,n){let s=new Uint8Array(e.length+n.length);return s.set(e),s.set(n,e.length),s}function WT(e,n){let s=[],{samples:i,timescale:r,id:a}=n,l=!1;return Xt(i,["moof"]).map((f)=>{let d=f.byteOffset-8;Xt(f,["traf"]).map((b)=>{let y=Xt(b,["tfdt"]).map((v)=>{let x=v[0],T=St(v,4);if(x===1)T*=Math.pow(2,32),T+=St(v,8);return T/r})[0];if(y!==void 0)e=y;return Xt(b,["tfhd"]).map((v)=>{let x=St(v,4),T=St(v,0)&16777215,R=(T&1)!==0,N=0,U=(T&2)!==0,X=(T&8)!==0,Y=0,J=(T&16)!==0,ee=0,te=(T&32)!==0,ne=!R&&(T&131072)!==0,ie=8;if(x===a){if(R)N=St(v,ie),ie+=4,N*=Math.pow(2,32),N+=St(v,ie),ie+=4;else if(ne)N=d;if(U)ie+=4;if(X)Y=St(v,ie),ie+=4;if(J)ee=St(v,ie),ie+=4;if(te)ie+=4;if(n.type==="video")l=Dh(n.codec);Xt(b,["trun"]).map((se)=>{let ae=se[0],be=St(se,0)&16777215,ye=(be&1)!==0,ue=0,he=(be&4)!==0,oe=(be&256)!==0,Se=0,we=(be&512)!==0,qe=0,De=(be&1024)!==0,Fe=(be&2048)!==0,Be=0,We=St(se,4),st=8;if(ye)ue=St(se,st),st+=4;if(he)st+=4;let Je=N+ue;for(let vt=0;vt<We;vt++){if(oe)Se=St(se,st),st+=4;else Se=Y;if(we)qe=St(se,st),st+=4;else qe=ee;if(De)st+=4;if(Fe){if(ae===0)Be=St(se,st);else Be=Yg(se,st);st+=4}if(n.type===Jn.VIDEO){let jt=0;while(jt<qe){let ut=St(i,Je);if(Je+=4,p9(l,i[Je])){let Lt=i.subarray(Je,Je+ut);Ah(Lt,l?2:1,e+Be/r,s)}Je+=ut,jt+=ut+4}}e+=Se/r}})}})})}),s}function Dh(e){if(!e)return!1;let n=e.substring(0,4);return n==="hvc1"||n==="hev1"||n==="dvh1"||n==="dvhe"}function p9(e,n){if(e){let s=n>>1&63;return s===39||s===40}else return(n&31)===6}function Ah(e,n,s,i){let r=g9(e),a=0;a+=n;let l=0,c=0,f=0;while(a<r.length){l=0;do{if(a>=r.length)break;f=r[a++],l+=f}while(f===255);c=0;do{if(a>=r.length)break;f=r[a++],c+=f}while(f===255);let d=r.length-a,g=a;if(c<d)a+=c;else if(c>d){In.error(`Malformed SEI payload. ${c} is too small, only ${d} bytes left to parse.`);break}if(l===4){if(r[g++]===181){let y=l9(r,g);if(g+=2,y===49){let v=St(r,g);if(g+=4,v===1195456820){let x=r[g++];if(x===3){let T=r[g++],R=31&T,N=64&T,U=N?2+R*3:0,X=new Uint8Array(U);if(N){X[0]=T;for(let Y=1;Y<U;Y++)X[Y]=r[g++]}i.push({type:x,payloadType:l,pts:s,bytes:X})}}}}}else if(l===5){if(c>16){let b=[];for(let x=0;x<16;x++){let T=r[g++].toString(16);if(b.push(T.length==1?"0"+T:T),x===3||x===5||x===7||x===9)b.push("-")}let y=c-16,v=new Uint8Array(y);for(let x=0;x<y;x++)v[x]=r[g++];i.push({payloadType:l,pts:s,uuid:b.join(""),userData:zT(v),userDataBytes:v})}}}}function g9(e){let n=e.byteLength,s,i=e.indexOf(3,3);while(i!==-1){if(e[i-1]===0&&e[i-2]===0)(s||(s=[])).push(i);i=e.indexOf(3,i+1)}if(!s)return e;let r=n-s.length,a=new Uint8Array(r),l=0,c=0;for(let f=0;f<r;c++,f++){if(c===s[l])c++,l++;a[f]=e[c]}return a}function KT(e){let n=e[0],s="",i="",r=0,a=0,l,c=0,f=0,d=4;if(n===0){let b=_d(e,d),y=b!==null?_d(e,d+b.length):null;if(b!==null&&y!==null)s=b,i=y,d+=b.length+y.length,r=St(e,d),d+=4,a=St(e,d),d+=4,c=St(e,d),d+=4,f=St(e,d),d+=4;else In.warn(`Unterminated ${b===null?"scheme_id_uri":"value"} in parsing emsg box: version 0 box ends inside a string, dropping all of its fields`),d=e.length}else if(n===1){r=St(e,d),d+=4;let b=St(e,d);d+=4;let y=St(e,d);if(d+=4,l=4294967296*b+y,!nT(l))l=Number.MAX_SAFE_INTEGER,In.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box");c=St(e,d),d+=4,f=St(e,d),d+=4;let v=_d(e,d),x=v!==null?_d(e,d+v.length):null;if(v!==null)s=v,d+=v.length;if(x!==null)i=x,d+=x.length;else In.warn(`Unterminated ${v===null?"scheme_id_uri":"value"} in parsing emsg box: version 1 box ends inside a string, dropping its ${v===null?"strings and payload":"value and payload"}`),d=e.length}let g=e.subarray(d,e.byteLength);return{schemeIdUri:s,value:i,timeScale:r,presentationTime:l,presentationTimeDelta:a,eventDuration:c,id:f,payload:g}}function YT(e,...n){let s=n.length,i=8,r=s;while(r--)i+=n[r].byteLength;let a=new Uint8Array(i);a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=i&255,a.set(e,4);for(r=0,i=8;r<s;r++)a.set(n[r],i),i+=n[r].byteLength;return a}function QT(e,n,s){if(e.byteLength!==16)throw RangeError("Invalid system id");let i,r;i=0,r=new Uint8Array;let a;if(i>0){if(a=new Uint8Array(4),n.length>0)new DataView(a.buffer).setUint32(0,n.length,!1)}else a=new Uint8Array;let l=new Uint8Array(4);if(s.byteLength>0)new DataView(l.buffer).setUint32(0,s.byteLength,!1);return YT([112,115,115,104],new Uint8Array([i,0,0,0]),e,a,r,l,s)}function b9(e){let n=[];if(e instanceof ArrayBuffer){let s=e.byteLength,i=0;while(i+32<s){let r=new DataView(e,i),a=ZT(r);n.push(a),i+=a.size}}return n}function JT(e){let n=[];for(let s=0;s<e.length;){let i=e[s++],r=i&7;if(r===0){while(e[s++]&128);continue}if(r!==2){s+=r===1?8:4;continue}let a=0;for(let l=0,c=128;c&128;l+=7)a|=((c=e[s++])&127)<<l;if(i>>3===2){if(a===32){let l=new Uint8Array(16);for(let c=0;c<16;c++)l[c]=parseInt(String.fromCharCode(e[s+c*2],e[s+c*2+1]),16);n.push(l)}else if(a===16)n.push(e.subarray(s,s+16))}s+=a}return n}function ZT(e){let n=e.getUint32(0),{byteOffset:s,byteLength:i}=e;if(i<n)return{offset:s,size:i};if(e.getUint32(4)!==1886614376)return{offset:s,size:n};let a=e.getUint32(8)>>>24;if(a!==0&&a!==1)return{offset:s,size:n};let l=e.buffer,c=ni(new Uint8Array(l,s+12,16)),f=null,d=null,g=0;if(a===0)g=28;else{let y=e.getUint32(28);if(!y||i<32+y*16)return{offset:s,size:n};f=[];for(let v=0;v<y;v++)f.push(new Uint8Array(l,s+32+v*16,16));g=32+y*16}if(!g)return{offset:s,size:n};let b=e.getUint32(g);if(n-32<b)return{offset:s,size:n};if(d=new Uint8Array(l,s+g+4,b),a===0)f=JT(d);return{version:a,systemId:c,kids:f,data:d,offset:s,size:n}}var af=w9("userAgent"),eE=w9("vendor"),xg,Ag,Tg;function w9(e){try{return navigator[e]||""}catch(n){}return""}function tE(){if(Tg===void 0){let e=af.match(/Safari\/(\d+)/i);Tg=e?parseInt(e[1]):0}return Tg}function gh(){if(xg===void 0){let e=af.match(/Chrome\/(\d+)/i);xg=e?parseInt(e[1]):0}return xg}function nE(){if(Ag===void 0){let e=af.match(/Firefox\/(\d+)/i);Ag=e?parseInt(e[1]):0}return Ag}function y9(){return/\(Windows.+Firefox\//i.test(af)}function sE(){return eE.indexOf("Apple")>-1||/iPhone|iPad|iPod/.test(af)}function iE(){return/Android/.test(af)}var ef={audio:{a3ds:1,"ac-3":0.95,"ac-4":1,alac:0.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":0.9,enca:1,fLaC:0.9,flac:0.9,FLAC:0.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:0.8,dav1:0.8,drac:1,dva1:1,dvav:1,dvh1:0.7,dvhe:0.7,encv:1,hev1:0.75,hvc1:0.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:0.9},text:{stpp:1,wvtt:1},image:{mjpg:1}};function _1(e,n){let s=ef[n];return!!s&&!!s[e.slice(0,4)]}function Th(e,n,s=!0){return!e.split(",").some((i)=>!I1(i,n,s))}function I1(e,n,s=!0){var i;let r=ll(s);return(i=r==null?void 0:r.isTypeSupported(Eh(e,n)))!=null?i:!1}function Eh(e,n){return`${n}/mp4;codecs=${e}`}function D5(e){if(e){let n=e.substring(0,4);return ef.video[n]}return 2}function Zd(e){let n=y9();return e.split(",").reduce((s,i)=>{let a=n&&Dh(i)?9:ef.video[i];if(a)return(a*2+s)/(s?3:2);return(ef.audio[i]+s)/(s?2:1)},0)}var Eg={};function rE(e,n=!0){if(Eg[e])return Eg[e];let s={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let r=0;r<s.length;r++){var i;if(I1(s[r],"audio",n))return Eg[e]=s[r],s[r];else if(s[r]==="mp3"&&(i=ll(n))!=null&&i.isTypeSupported("audio/mpeg"))return""}return e}var aE=/flac|opus|mp4a\.40\.34/i;function e0(e,n=!0){return e.replace(aE,(s)=>rE(s.toLowerCase(),n))}function oE(e,n){let s=[];if(e){let i=e.split(",");for(let r=0;r<i.length;r++)if(!_1(i[r],"video"))s.push(i[r])}if(n)s.push(n);return s.join(",")}function Vd(e,n){if(e&&(e.length>4||["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e)!==-1)){if(q5(e,"audio")||q5(e,"video"))return e}if(n){let s=n.split(",");if(s.length>1){if(e){for(let i=s.length;i--;)if(s[i].substring(0,4)===e.substring(0,4))return s[i]}return s[0]}}return n||e}function q5(e,n){return _1(e,n)&&I1(e,n)}function lE(e){let n=e.split(",");for(let s=0;s<n.length;s++){let i=n[s].split(".");if(i.length>2&&i[0]==="avc1")n[s]=`avc1.${parseInt(i[1]).toString(16)}${("000"+parseInt(i[2]).toString(16)).slice(-4)}`}return n.join(",")}function cE(e){if(e.startsWith("av01.")){let n=e.split("."),s=["0","111","01","01","01","0"];for(let i=n.length;i>4&&i<10;i++)n[i]=s[i-4];return n.join(".")}return e}function M5(e){let n=ll(e)||{isTypeSupported:()=>!1};return{mpeg:n.isTypeSupported("audio/mpeg"),mp3:n.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:n.isTypeSupported('audio/mp4; codecs="ac-3"')}}function Jg(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}var fE={supported:!0,powerEfficient:!0,smooth:!0},hE={supported:!1,smooth:!1,powerEfficient:!1},v9={supported:!0,configurations:[],decodingInfoResults:[fE]};function S9(e,n){return{supported:!1,configurations:n,decodingInfoResults:[hE],error:e}}function dE(e,n,s,i,r,a){let l=e.videoCodec,c=e.audioCodec?e.audioGroups:null,f=a==null?void 0:a.audioCodec,d=a==null?void 0:a.channels,g=d?parseInt(d):f?1/0:2,b=null;if(c!=null&&c.length)try{if(c.length===1&&c[0])b=n.groups[c[0]].channels;else b=c.reduce((y,v)=>{if(v){let x=n.groups[v];if(!x)throw Error(`Audio track group ${v} not found`);Object.keys(x.channels).forEach((T)=>{y[T]=(y[T]||0)+x.channels[T]})}return y},{2:0})}catch(y){return!0}return l!==void 0&&(l.split(",").some((y)=>Dh(y))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(i,30)||e.videoRange!=="SDR"&&e.videoRange!==s||e.bitrate>Math.max(r,8000000))||!!b&&ct(g)&&Object.keys(b).some((y)=>parseInt(y)>g)}function k9(e,n,s,i={}){let r=e.videoCodec;if(!r&&!e.audioCodec||!s)return Promise.resolve(v9);let a=[],l=mE(e),c=l.length,f=pE(e,n,c>0),d=f.length;for(let g=c||1*d||1;g--;){let b={type:"media-source"};if(c)b.video=l[g%c];if(d){b.audio=f[g%d];let y=b.audio.bitrate;if(b.video&&y)b.video.bitrate-=y}a.push(b)}if(r){let g=navigator.userAgent;if(r.split(",").some((b)=>Dh(b))&&y9())return Promise.resolve(S9(Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${g})`),a))}return Promise.all(a.map((g)=>{let b=gE(g);return i[b]||(i[b]=s.decodingInfo(g))})).then((g)=>({supported:!g.some((b)=>!b.supported),configurations:a,decodingInfoResults:g})).catch((g)=>({supported:!1,configurations:a,decodingInfoResults:[],error:g}))}function mE(e){var n;let s=(n=e.videoCodec)==null?void 0:n.split(","),i=A9(e),r=e.width||640,a=e.height||480,l=e.frameRate||30,c=e.videoRange.toLowerCase();return s?s.map((f)=>{let d={contentType:Eh(cE(f),"video"),width:r,height:a,bitrate:i,framerate:l};if(c!=="sdr")d.transferFunction=c;return d}):[]}function pE(e,n,s){var i;let r=(i=e.audioCodec)==null?void 0:i.split(","),a=A9(e);if(r&&e.audioGroups)return e.audioGroups.reduce((l,c)=>{var f;let d=c?(f=n.groups[c])==null?void 0:f.tracks:null;if(d)return d.reduce((g,b)=>{if(b.groupId===c){let y=parseFloat(b.channels||"");r.forEach((v)=>{let x={contentType:Eh(v,"audio"),bitrate:s?x9(v,a):a};if(y)x.channels=""+y;g.push(x)})}return g},l);return l},[]);return[]}function x9(e,n){if(n<=1)return 1;let s=128000;if(e==="ec-3")s=768000;else if(e==="ac-3")s=640000;return Math.min(n/2,s)}function A9(e){return Math.ceil(Math.max(e.bitrate*0.9,e.averageBitrate)/1000)*1000||1}function gE(e){let n="",{audio:s,video:i}=e;if(i){let r=Jg(i.contentType);n+=`${r}_r${i.height}x${i.width}f${Math.ceil(i.framerate)}${i.transferFunction||"sd"}_${Math.ceil(i.bitrate/1e5)}`}if(s){let r=Jg(s.contentType);n+=`${i?"_":""}${r}_c${s.channels}`}return n}function al(e,n,s){let i=encodeURIComponent(n),r=`${i}=${encodeURIComponent(s)}`,a=!1,l=[];if(e.search.substring(1).split("&").forEach((c)=>{if(c===i||c.startsWith(i+"=")){if(!a)l.push(r),a=!0}else if(c)l.push(c)}),!a)l.push(r);e.search=l.join("&")}var Zg=["NONE","TYPE-0","TYPE-1",null];function bE(e){return Zg.indexOf(e)>-1}var t0=["SDR","PQ","HLG"];function wE(e){return!!e&&t0.indexOf(e)>-1}var $d={No:"",Yes:"YES",v2:"v2"};function F5(e){let{canSkipUntil:n,canSkipDateRanges:s,age:i}=e,r=i<n/2;if(n&&r){if(s)return $d.v2;return $d.Yes}return $d.No}class t1{constructor(e,n,s){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=n,this.skip=s}addDirectives(e){let n=new self.URL(e);if(this.msn!==void 0)al(n,"_HLS_msn",this.msn.toString());if(this.part!==void 0)al(n,"_HLS_part",this.part.toString());if(this.skip)al(n,"_HLS_skip",this.skip);return n.href}}class tf{constructor(e){if(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.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.imageCodec=void 0,this.iframes=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loadErrorTime=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;if(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,"imageCodec"in e)this.imageCodec=e.imageCodec;if(this.codecSet=[e.videoCodec,e.audioCodec].filter((s)=>!!s).map((s)=>s.substring(0,4)).join(","),"supplemental"in e){var n;this.supplemental=e.supplemental;let s=(n=e.supplemental)==null?void 0:n.videoCodec;if(s&&s!==e.videoCodec)this.codecSet+=`,${s.substring(0,4)}`}if("iframes"in e&&e.iframes)this.iframes=!0;else this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return L5(this._audioGroups,e)}hasSubtitleGroup(e){return L5(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,n){if(!n)return;if(e==="audio"){let s=this._audioGroups;if(!s)s=this._audioGroups=[];if(s.indexOf(n)===-1)s.push(n)}else if(e==="text"){let s=this._subtitleGroups;if(!s)s=this._subtitleGroups=[];if(s.indexOf(n)===-1)s.push(n)}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}}function L5(e,n){if(!n||!e)return!1;return e.indexOf(n)!==-1}function yE(){if(typeof matchMedia==="function"){let e=matchMedia("(dynamic-range: high)"),n=matchMedia("bad query");if(e.media!==n.media)return e.matches===!0}return!1}function SE(e,n){let s=!1,i=[];if(e)s=e!=="SDR",i=[e];if(n){i=n.allowedVideoRanges||t0.slice(0);let r=i.join("")!=="SDR"&&!n.videoCodec;if(s=n.preferHDR!==void 0?n.preferHDR:r&&yE(),!s)i=["SDR"]}return{preferHDR:s,allowedVideoRanges:i}}var kE=(e)=>{let n=new WeakSet;return(s,i)=>{if(e)i=e(s,i);if(typeof i==="object"&&i!==null){if(n.has(i))return;n.add(i)}return i}},cs=(e,n)=>JSON.stringify(e,kE(n));function xE(e,n,s,i,r){let a=Object.keys(e),l=i==null?void 0:i.channels,c=i==null?void 0:i.audioCodec,f=r==null?void 0:r.videoCodec,d=l&&parseInt(l)===2,g=!1,b=!1,y=1/0,v=1/0,x=1/0,T=1/0,R=0,N=[],{preferHDR:U,allowedVideoRanges:X}=SE(n,r);for(let ne=a.length;ne--;){let ie=e[a[ne]];if(g||(g=ie.channels[2]>0),y=Math.min(y,ie.minHeight),v=Math.min(v,ie.minFramerate),x=Math.min(x,ie.minBitrate),X.filter((ae)=>ie.videoRanges[ae]>0).length>0)b=!0}y=ct(y)?y:0,v=ct(v)?v:0;let Y=Math.max(1080,y),J=Math.max(30,v);if(x=ct(x)?x:s,s=Math.max(x,s),!b)n=void 0;let ee=a.length>1;return{codecSet:a.reduce((ne,ie)=>{let se=e[ie];if(ie===ne)return ne;if(N=b?X.filter((ae)=>se.videoRanges[ae]>0):[],ee){if(se.minBitrate>s)return Ea(ie,`min bitrate of ${se.minBitrate} > current estimate of ${s}`),ne;if(!se.hasDefaultAudio)return Ea(ie,"no renditions with default or auto-select sound found"),ne;if(c&&ie.indexOf(c.substring(0,4))%5!==0)return Ea(ie,`audio codec preference "${c}" not found`),ne;if(l&&!d){if(!se.channels[l])return Ea(ie,`no renditions with ${l} channel sound found (channels options: ${Object.keys(se.channels)})`),ne}else if((!c||d)&&g&&se.channels["2"]===0)return Ea(ie,"no renditions with stereo sound found"),ne;if(se.minHeight>Y)return Ea(ie,`min resolution of ${se.minHeight} > maximum of ${Y}`),ne;if(se.minFramerate>J)return Ea(ie,`min framerate of ${se.minFramerate} > maximum of ${J}`),ne;if(!N.some((ae)=>se.videoRanges[ae]>0))return Ea(ie,`no variants with VIDEO-RANGE of ${cs(N)} found`),ne;if(f&&ie.indexOf(f.substring(0,4))%5!==0)return Ea(ie,`video codec preference "${f}" not found`),ne;if(se.maxScore<R)return Ea(ie,`max score of ${se.maxScore} < selected max of ${R}`),ne}if(ne&&(Zd(ie)>=Zd(ne)||se.fragmentError>e[ne].fragmentError))return ne;return T=se.minIndex,R=se.maxScore,ie},void 0),videoRanges:N,preferHDR:U,minFramerate:v,minBitrate:x,minIndex:T}}function Ea(e,n){In.log(`[abr] start candidates with "${e}" ignored because ${n}`)}function T9(e){return e.reduce((n,s)=>{let i=n.groups[s.groupId];if(!i)i=n.groups[s.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1};i.tracks.push(s);let r=s.channels||"2";if(i.channels[r]=(i.channels[r]||0)+1,i.hasDefault=i.hasDefault||s.default,i.hasAutoSelect=i.hasAutoSelect||s.autoselect,i.hasDefault)n.hasDefaultAudio=!0;if(i.hasAutoSelect)n.hasAutoSelectAudio=!0;return n},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function AE(e,n,s,i){return e.slice(s,i+1).reduce((r,a,l)=>{if(!a.codecSet)return r;let c=a.audioGroups,f=r[a.codecSet];if(!f)r[a.codecSet]=f={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:l,maxScore:0,videoRanges:{SDR:0},channels:{"2":0},hasDefaultAudio:!c,fragmentError:0};f.minBitrate=Math.min(f.minBitrate,a.bitrate);let d=Math.min(a.height,a.width);if(f.minHeight=Math.min(f.minHeight,d),f.minFramerate=Math.min(f.minFramerate,a.frameRate),f.minIndex=Math.min(f.minIndex,l),f.maxScore=Math.max(f.maxScore,a.score),f.fragmentError+=a.fragmentError,f.videoRanges[a.videoRange]=(f.videoRanges[a.videoRange]||0)+1,c)c.forEach((g)=>{if(!g)return;let b=n.groups[g];if(!b)return;f.hasDefaultAudio=f.hasDefaultAudio||n.hasDefaultAudio?b.hasDefault:b.hasAutoSelect||!n.hasDefaultAudio&&!n.hasAutoSelectAudio,Object.keys(b.channels).forEach((y)=>{f.channels[y]=(f.channels[y]||0)+b.channels[y]})});return r},{})}function O5(e){if(!e)return e;let{lang:n,assocLang:s,characteristics:i,channels:r,audioCodec:a}=e;return{lang:n,assocLang:s,characteristics:i,channels:r,audioCodec:a}}function qa(e,n,s){if("attrs"in e){let i=n.indexOf(e);if(i!==-1)return i}for(let i=0;i<n.length;i++){let r=n[i];if(Ql(e,r,s))return i}return-1}function Ql(e,n,s){let{groupId:i,name:r,lang:a,assocLang:l,default:c}=e,f=e.forced;return(i===void 0||n.groupId===i)&&(r===void 0||n.name===r)&&(a===void 0||TE(a,n.lang))&&(l===void 0||n.assocLang===l)&&(c===void 0||n.default===c)&&(f===void 0||n.forced===f)&&(!("characteristics"in e)||EE(e.characteristics||"",n.characteristics))&&(s===void 0||s(e,n))}function TE(e,n="--"){if(e.length===n.length)return e===n;return e.startsWith(n)||n.startsWith(e)}function EE(e,n=""){let s=e.split(","),i=n.split(",");return s.length===i.length&&!s.some((r)=>i.indexOf(r)===-1)}function Yl(e,n){let{audioCodec:s,channels:i}=e;return(s===void 0||(n.audioCodec||"").substring(0,4)===s.substring(0,4))&&(i===void 0||i===(n.channels||"2"))}function CE(e,n,s,i,r){let a=n[i],c=n.reduce((y,v,x)=>{let T=v.uri;return(y[T]||(y[T]=[])).push(x),y},{})[a.uri];if(c.length>1)i=Math.max.apply(Math,c);let{videoRange:f,frameRate:d}=a,g=a.codecSet.substring(0,4),b=P5(n,i,(y)=>{if(y.videoRange!==f||y.frameRate!==d||y.codecSet.substring(0,4)!==g)return!1;let v=y.audioGroups,x=s.filter((T)=>Ch(T.groupId,v));return qa(e,x,r)>-1});if(b>-1)return b;return P5(n,i,(y)=>{let v=y.audioGroups,x=s.filter((T)=>Ch(T.groupId,v));return qa(e,x,r)>-1})}function P5(e,n,s){for(let i=n;i>-1;i--)if(s(e[i]))return i;for(let i=n+1;i<e.length;i++)if(s(e[i]))return i;return-1}function n0(e,n){var s;return!!e&&e!==((s=n.loadLevelObj)==null?void 0:s.uri)}function Ch(e,n){if(!n)return!0;return n.indexOf(e)!==-1}function E9(e,n){if(n||e){let s=Hn({},n);if(e){if(e.videoCodec)s.videoCodec=e.videoCodec;if(e.videoRange)s.allowedVideoRanges=[e.videoRange]}return s}}class C9 extends Yi{constructor(e){super("abr",e.logger);this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.firstAutoFloor=-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.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=(n)=>{var s;let{fragCurrent:i,partCurrent:r,hls:a}=this;if(!a)return;let{autoLevelEnabled:l,media:c}=a;if(!i||!c)return;let f=performance.now(),d=r?r.stats:i.stats,g=r?r.duration:i.duration,b=f-d.loading.start,y=a.minAutoLevel,v=i.level,x=this._nextAutoLevel;if(d.aborted||d.loaded&&d.loaded===d.total||v<=y){this.clearTimer(),this._nextAutoLevel=-1;return}if(!l)return;let T=x>-1&&x!==v,R=!!n||T;if(!R&&(c.paused||!c.playbackRate||!c.readyState))return;let N=a.mainForwardBufferInfo;if(!R&&N===null)return;let U=this.bwEstimator.getEstimateTTFB(),X=Math.abs(c.playbackRate);if(b<=Math.max(U,1000*(g/(X*2))))return;let Y=N?N.len/X:0,J=d.loading.first?d.loading.first-d.loading.start:-1,ee=d.loaded&&J>-1,te=this.getBwEstimate(),ne=a.levels,ie=ne[v],se=Math.max(d.loaded,Math.round(g*(i.bitrate||ie.averageBitrate)/8)),ae=ee?b-J:b;if(ae<1&&ee)ae=Math.min(b,d.loaded*8/te);let be=ee?d.loaded*1000/ae:0,ye=U/1000,ue=be?(se-d.loaded)/be:se*8/te+ye;if(ue<=Y)return;let he=be?be*8:te,oe=((s=(n==null?void 0:n.details)||a.latestLevelDetails)==null?void 0:s.live)===!0,Se=a.config.abrBandWidthUpFactor,we=Number.POSITIVE_INFINITY,qe;for(qe=v-1;qe>y;qe--){let We=ne[qe].maxBitrate,st=!ne[qe].details||oe;if(we=this.getTimeToLoadFrag(ye,he,g*We,st),we<Math.min(Y,g+ye))break}if(we>=ue)return;if(we>g*10)return;if(ee)this.bwEstimator.sample(b-Math.min(U,J),d.loaded);else this.bwEstimator.sampleTTFB(b);let De=ne[qe].maxBitrate;if(this.getBwEstimate()*Se>De)this.firstAutoFloor=Math.min(qe,a.firstLevel),this.resetEstimator(De);let Fe=this.findBestLevel(De,y,qe,0,Y,1,1);if(Fe>-1)qe=Fe;this.warn(`Fragment ${i.sn}${r?" part "+r.index:""} of level ${v} is loading too slowly;
13
- Fragment duration: ${i.duration.toFixed(3)}
14
- Time to underbuffer: ${Y.toFixed(3)} s
15
- Estimated load time for current fragment: ${ue.toFixed(3)} s
16
- Estimated load time for down switch fragment: ${we.toFixed(3)} s
17
- TTFB estimate: ${J|0} ms
18
- Current BW estimate: ${ct(te)?te|0:"Unknown"} bps
19
- New BW estimate: ${this.getBwEstimate()|0} bps
20
- Switching to level ${qe} @ ${De|0} bps`),a.nextLoadLevel=a.nextAutoLevel=qe,this.clearTimer();let Be=()=>{this.clearTimer();let We=this.hls;if(this.fragCurrent===i&&We.loadLevel===qe&&qe>0){let st=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${qe>0?"and switching down":""}
21
- Fragment duration: ${i.duration.toFixed(3)} s
22
- Time to underbuffer: ${st.toFixed(3)} s`),i.abortRequests(),this.fragCurrent=this.partCurrent=null,qe>y){let Je=this.findBestLevel(We.levels[y].bitrate,y,qe,0,st,1,1);if(Je===-1)Je=y;We.nextLoadLevel=We.nextAutoLevel=Je,this.firstAutoFloor=Math.min(Je,We.firstLevel),this.resetEstimator(We.levels[Je].bitrate)}}};if(T||ue>we*2)Be();else this.timer=self.setInterval(Be,we*1000);a.trigger(Z.FRAG_LOAD_EMERGENCY_ABORTED,{frag:i,part:r,stats:d})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){if(!this.hls)return;if(e)this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e;this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new Z3(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(Z.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.audioTracksByGroup=this.codecTiers=this.fragCurrent=this.partCurrent=null}onManifestLoading(e,n){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.firstAutoFloor=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){if(this.lastLoadedFragLevel>-1&&this.fragCurrent)this.lastLoadedFragLevel=this.fragCurrent.level;this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,n){let s=n.frag;if(this.ignoreFragment(s))return;if(!s.bitrateTest){var i;this.fragCurrent=s,this.partCurrent=(i=n.part)!=null?i:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}onLevelSwitching(e,n){this.clearTimer()}onError(e,n){if(n.fatal)return;switch(n.details){case Le.BUFFER_ADD_CODEC_ERROR:case Le.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case Le.FRAG_LOAD_TIMEOUT:{let s=n.frag,{fragCurrent:i,partCurrent:r}=this;if(s&&Xg(s,i)){let a=performance.now(),l=r?r.stats:s.stats,c=a-l.loading.start,f=l.loading.first?l.loading.first-l.loading.start:-1;if(l.loaded&&f>-1){let g=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(c-Math.min(g,f),l.loaded)}else this.bwEstimator.sampleTTFB(c)}break}}}getTimeToLoadFrag(e,n,s,i){let r=e+s/n,a=i?e+this.lastLevelLoadSec:0;return r+a}onLevelLoaded(e,n){let s=this.hls.config,{loading:i}=n.stats,r=i.end-i.first;if(ct(r))this.lastLevelLoadSec=r/1000;if(n.details.live)this.bwEstimator.update(s.abrEwmaSlowLive,s.abrEwmaFastLive);else this.bwEstimator.update(s.abrEwmaSlowVoD,s.abrEwmaFastVoD);if(this.timer>-1)this._abandonRulesCheck(n.levelInfo)}onFragLoaded(e,n){var s;let{frag:i,part:r}=n,a=r?r.stats:i.stats;if(i.type===Ct.MAIN)this.bwEstimator.sampleTTFB(a.loading.first-a.loading.start);if(this.ignoreFragment(i))return;if(this.clearTimer(),i.level===this._nextAutoLevel)this._nextAutoLevel=-1;if(this.firstSelection=-1,(s=this.hls)!=null&&s.config.abrMaxWithRealBitrate){let l=r?r.duration:i.duration,c=this.hls.levels[i.level],f=(c.loaded?c.loaded.bytes:0)+a.loaded,d=(c.loaded?c.loaded.duration:0)+l;c.loaded={bytes:f,duration:d},c.realBitrate=Math.round(8*f/d)}if(i.bitrateTest){let l={stats:a,frag:i,part:r,id:i.type};this.onFragBuffered(Z.FRAG_BUFFERED,l),i.bitrateTest=!1}else this.lastLoadedFragLevel=i.level}onFragBuffered(e,n){let{frag:s,part:i}=n,r=i!=null&&i.stats.loaded?i.stats:s.stats;if(r.aborted)return;if(this.ignoreFragment(s))return;let l=((s.bitrate||0)>=1e5?r.parsing.end:r.loading.end)-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());if(this.bwEstimator.sample(l,r.loaded),r.bwEstimate=this.getBwEstimate(),s.bitrateTest)this.bitrateTestDelay=l/1000;else if(this.bitrateTestDelay=0,this.firstAutoFloor>-1&&this.bwEstimator.canEstimate())this.firstAutoFloor=-1}ignoreFragment(e){return e.type!==Ct.MAIN||e.sn==="initSegment"}clearTimer(){if(this.timer>-1)self.clearInterval(this.timer),this.timer=-1}get firstAutoLevel(){let{hls:e}=this;if(!e)return 0;let{maxAutoLevel:n,minAutoLevel:s}=e,i=this.getBwEstimate(),r=this.getStarvationDelay(),a=e.config.maxStarvationDelay,l=this.findBestLevel(i,s,n,r/2,a,1,1);if(l>-1)return l;let c=e.firstLevel,f=this.firstAutoFloor===-1?1/0:this.firstAutoFloor,d=Math.min(Math.max(c,s),n,f);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${c} clamped to ${d}`),d}get forcedAutoLevel(){if(this.nextAutoLevelKey)return-1;return this._nextAutoLevel}get nextAutoLevel(){if(!this.hls)return-1;let e=this.forcedAutoLevel,s=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(e!==-1&&(!s||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let r=s&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,r)&&a[e].loadError<=a[r].loadError)return e}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:n,hls:s}=this;if(!s)return-1;if(s.levels.length<=1)return s.loadLevel;let{maxAutoLevel:i,config:r,minAutoLevel:a}=s,l=n?n.duration:e?e.duration:0,c=this.getBwEstimate(),f=this.getStarvationDelay(),{abrBandWidthFactor:d,abrBandWidthUpFactor:g}=r;if(f){let T=this.findBestLevel(c,a,i,f,0,d,g);if(T>=0)return this.rebufferNotice=-1,T}let b=l?Math.min(l,r.maxStarvationDelay):r.maxStarvationDelay;if(!f){let T=this.bitrateTestDelay;if(T)b=(l?Math.min(l,r.maxLoadingDelay):r.maxLoadingDelay)-T,this.info(`bitrate test took ${Math.round(1000*T)}ms, set first fragment max fetchDuration to ${Math.round(1000*b)} ms`),d=g=1}let y=this.findBestLevel(c,a,i,f,b,d,g);if(this.rebufferNotice!==y)this.rebufferNotice=y,this.info(`${f?"rebuffering expected":"buffer is empty"}, optimal quality level ${y}`);if(y>-1)return y;let v=s.levels[a],x=s.loadLevelObj;if(x&&(v==null?void 0:v.bitrate)<x.bitrate)return a;return s.loadLevel}getStarvationDelay(){let e=this.hls,n=e==null?void 0:e.media;if(!n)return 1/0;let s=n&&n.playbackRate!==0?Math.abs(n.playbackRate):1,i=e.mainForwardBufferInfo;return(i?i.len:0)/s}getBwEstimate(){return this.bwEstimator.getEstimate()}findBestLevel(e,n,s,i,r,a,l){let{hls:c,lastLoadedFragLevel:f,fragCurrent:d,partCurrent:g}=this;if(!c)return-1;let b=i+r,y=f===-1?c.firstLevel:f,{levels:v,allAudioTracks:x,loadLevel:T,latestLevelDetails:R,config:N}=c;if(v.length===1)return 0;let U=v[y],X=!!(R!=null&&R.live),Y=T===-1||f===-1,J,ee="SDR",te=(U==null?void 0:U.frameRate)||0,{audioPreference:ne,videoPreference:ie}=N,se=this.audioTracksByGroup||(this.audioTracksByGroup=T9(x)),ae=-1;if(Y){if(this.firstSelection!==-1)return this.firstSelection;let oe=this.codecTiers||(this.codecTiers=AE(v,se,n,s)),Se=xE(oe,ee,e,ne,ie),{codecSet:we,videoRanges:qe,minFramerate:De,minBitrate:Fe,minIndex:Be,preferHDR:We}=Se;ae=Be,J=we,ee=We?qe[qe.length-1]:qe[0],te=De,e=Math.max(e,Fe),this.log(`picked start tier ${cs(Se)}`)}else J=U==null?void 0:U.codecSet,ee=U==null?void 0:U.videoRange;let be=g?g.duration:d?d.duration:0,ye=this.bwEstimator.getEstimateTTFB()/1000,ue=[];for(let oe=s;oe>=n;oe--){var he;let Se=v[oe],we=oe>y;if(!Se)continue;if(N.useMediaCapabilities&&!Se.supportedResult&&!Se.supportedPromise){let Je=navigator.mediaCapabilities;if(typeof(Je==null?void 0:Je.decodingInfo)==="function"&&dE(Se,se,ee,te,e,ne))Se.supportedPromise=k9(Se,se,Je,this.supportedCache),Se.supportedPromise.then((vt)=>{if(!this.hls)return;Se.supportedResult=vt;let jt=this.hls.levels,ut=jt.indexOf(Se);if(vt.error)this.warn(`MediaCapabilities decodingInfo error: "${vt.error}" for level ${ut} ${cs(vt)}`);else if(!vt.supported){if(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${ut} ${cs(vt)}`),ut>-1&&jt.length>1){if(this.log(`Removing unsupported level ${ut}`),this.hls.removeLevel(ut),this.hls.loadLevel===-1)this.hls.nextLoadLevel=0}}else if(vt.decodingInfoResults.some((Lt)=>Lt.smooth===!1||Lt.powerEfficient===!1))this.log(`MediaCapabilities decodingInfo for level ${ut} not smooth or powerEfficient: ${cs(vt)}`)}).catch((vt)=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${vt}`)});else Se.supportedResult=v9}if(J&&Se.codecSet!==J||ee&&Se.videoRange!==ee||we&&te>Se.frameRate||!we&&te>0&&te<Se.frameRate||(he=Se.supportedResult)!=null&&(he=he.decodingInfoResults)!=null&&he.some((Je)=>Je.smooth===!1)){if(!Y||oe!==ae){ue.push(oe);continue}}let qe=Se.details,De=(g?qe==null?void 0:qe.partTarget:qe==null?void 0:qe.averagetargetduration)||be||1,Fe;if(!we)Fe=a*e;else Fe=l*e;let Be=be&&i>=be*2&&r===0?Se.averageBitrate:Se.maxBitrate,We=this.getTimeToLoadFrag(ye,Fe,Be*De,!qe||qe.live);if(Fe>=Be&&(oe===f||Se.loadError===0&&Se.fragmentError===0||J3(Se,N.errorPenaltyExpireMs))&&(We<=ye||!ct(We)||X&&!this.bitrateTestDelay||We<b)){let Je=this.forcedAutoLevel;if(oe!==T&&(Je===-1||Je!==T)){if(ue.length)this.trace(`Skipped level(s) ${ue.join(",")} of ${s} max with CODECS and VIDEO-RANGE:"${v[ue[0]].codecs}" ${v[ue[0]].videoRange}; not compatible with "${J}" ${ee}`);this.info(`switch candidate:${y}->${oe} adjustedbw(${Math.round(Fe)})-bitrate=${Math.round(Fe-Be)} ttfb:${ye.toFixed(1)} avgDuration:${De.toFixed(1)} maxFetchDuration:${b.toFixed(1)} fetchDuration:${We.toFixed(1)} firstSelection:${Y} codecSet:${Se.codecSet} videoRange:${Se.videoRange} hls.loadLevel:${T}`)}if(Y)this.firstSelection=oe;return oe}}return-1}set nextAutoLevel(e){let n=this.deriveNextAutoLevel(e);if(this._nextAutoLevel!==n)this.nextAutoLevelKey="",this._nextAutoLevel=n}deriveNextAutoLevel(e){if(!this.hls)return-1;let{maxAutoLevel:n,minAutoLevel:s}=this.hls;return Math.min(Math.max(e,s),n)}}var j9={search:function(e,n){let s=0,i=e.length-1,r=null,a=null;while(s<=i){r=(s+i)/2|0,a=e[r];let l=n(a);if(l>0)s=r+1;else if(l<0)i=r-1;else return a}return null}};function jE(e,n,s){if(n===null||!Array.isArray(e)||!e.length||!ct(n))return null;let i=e[0].programDateTime;if(n<(i||0))return null;let r=e[e.length-1].endProgramDateTime;if(n>=(r||0))return null;for(let a=0;a<e.length;++a){let l=e[a];if(IE(n,s,l))return l}return null}function nf(e,n,s=0,i=0,r=0.005){let a=null;if(e){a=n[1+e.sn-n[0].sn]||null;let c=e.endDTS-s;if(c>0&&c<0.0000015)s+=0.0000015;if(a&&e.level!==a.level&&a.end<=e.end)a=n[2+e.sn-n[0].sn]||null}else if(s===0&&n[0].start===0)a=n[0];if(a&&((!e||e.level===a.level)&&N5(s,i,a)===0||_E(a,e,Math.min(r,i))))return a;let l=j9.search(n,N5.bind(null,s,i));if(l&&(l!==e||!a))return l;return a}function _E(e,n,s){if((n==null?void 0:n.start)===0&&n.level<e.level&&(n.endPTS||0)>0){let i=n.tagList.reduce((r,a)=>{if(a[0]==="INF")r+=parseFloat(a[1]);return r},s);return e.start<=i}return!1}function N5(e=0,n=0,s){if(s.start<=e&&s.start+s.duration>e)return 0;let i=Math.min(n,s.duration+(s.deltaPTS?s.deltaPTS:0));if(s.start+s.duration-i<=e)return 1;else if(s.start-i>e&&s.start)return-1;return 0}function IE(e,n,s){let i=Math.min(n,s.duration+(s.deltaPTS?s.deltaPTS:0))*1000;return(s.endProgramDateTime||0)-i>e}function _9(e,n,s){if(e){if(e.startCC<=n&&e.endCC>=n){let i=e.fragments,{fragmentHint:r}=e;if(r)i=i.concat(r);let a;return j9.search(i,(l)=>{if(l.cc<n)return 1;if(l.cc>n)return-1;if(a=l,l.end<=s)return 1;if(l.start>s)return-1;return 0}),a||null}}return null}function I9(e,n){if(n===e.endSN&&e.fragmentHint)return e.fragmentHint;return e.fragments[1+n-e.startSN]||null}var di={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},ui={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,MoveAllAlternatesMatchingKey:4,SwitchToSDR:8,ResetMediaSource:16};class R9 extends Yi{constructor(e){super("error-controller",e.logger);this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(Z.ERROR,this.onError,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;if(!e)return;e.off(Z.ERROR,this.onError,this),e.off(Z.ERROR,this.onErrorOut,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this)}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){if((e==null?void 0:e.type)===Ct.MAIN)return e.level;return this.getVariantIndex()}getVariantIndex(){var e;let n=this.hls,s=n.currentLevel;if((e=n.loadLevelObj)!=null&&e.details||s===-1)return n.loadLevel;return s}variantHasKey(e,n){if(e){var s;if((s=e.details)!=null&&s.hasKey(n))return!0;let i=e.audioGroups;if(i)return this.hls.allAudioTracks.filter((a)=>i.indexOf(a.groupId)>=0).some((a)=>{var l;return(l=a.details)==null?void 0:l.hasKey(n)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,n){var s;if(n.fatal)return;let i=this.hls,r=n.context;switch(n.details){case Le.FRAG_LOAD_ERROR:case Le.FRAG_LOAD_TIMEOUT:case Le.KEY_LOAD_ERROR:case Le.KEY_LOAD_TIMEOUT:n.errorAction=this.getFragRetryOrSwitchAction(n);return;case Le.FRAG_PARSING_ERROR:if((s=n.frag)!=null&&s.gap){n.errorAction=bh();return}case Le.FRAG_GAP:case Le.FRAG_DECRYPT_ERROR:{n.errorAction=this.getFragRetryOrSwitchAction(n),n.errorAction.action=di.SendAlternateToPenaltyBox;return}case Le.PLAYLIST_UNCHANGED_ERROR:case Le.LEVEL_EMPTY_ERROR:case Le.LEVEL_PARSING_ERROR:{var a;let l=n.parent===Ct.MAIN?n.level:i.loadLevel;if(n.details===Le.LEVEL_EMPTY_ERROR&&!!((a=n.context)!=null&&(a=a.levelDetails)!=null&&a.live))n.errorAction=this.getPlaylistRetryOrSwitchAction(n,l);else n.levelRetry=!1,n.errorAction=this.getLevelSwitchAction(n,l)}return;case Le.LEVEL_LOAD_ERROR:case Le.LEVEL_LOAD_TIMEOUT:if(typeof(r==null?void 0:r.level)==="number")n.errorAction=this.getPlaylistRetryOrSwitchAction(n,r.level);return;case Le.AUDIO_TRACK_LOAD_ERROR:case Le.AUDIO_TRACK_LOAD_TIMEOUT:case Le.SUBTITLE_LOAD_ERROR:case Le.SUBTITLE_TRACK_LOAD_TIMEOUT:if(r){let l=i.loadLevelObj;if(l&&(r.type===fn.AUDIO_TRACK&&l.hasAudioGroup(r.groupId)||r.type===fn.SUBTITLE_TRACK&&l.hasSubtitleGroup(r.groupId))){n.errorAction=this.getPlaylistRetryOrSwitchAction(n,i.loadLevel),n.errorAction.action=di.SendAlternateToPenaltyBox,n.errorAction.flags=ui.MoveAllAlternatesMatchingHost;return}}return;case Le.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:n.errorAction={action:di.SendAlternateToPenaltyBox,flags:ui.MoveAllAlternatesMatchingHDCP};return;case Le.KEY_SYSTEM_SESSION_UPDATE_FAILED:case Le.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case Le.KEY_SYSTEM_NO_SESSION:n.errorAction={action:di.SendAlternateToPenaltyBox,flags:ui.MoveAllAlternatesMatchingKey};return;case Le.BUFFER_ADD_CODEC_ERROR:case Le.REMUX_ALLOC_ERROR:case Le.BUFFER_APPEND_ERROR:if(!n.errorAction)n.errorAction=this.getLevelSwitchAction(n,n.level);return;case Le.MEDIA_SOURCE_REQUIRES_RESET:if(!n.errorAction)n.errorAction=this.getLevelSwitchAction(n,n.level);n.errorAction.flags|=ui.ResetMediaSource|ui.SwitchToSDR;return;case Le.INTERNAL_EXCEPTION:case Le.BUFFER_APPENDING_ERROR:case Le.BUFFER_APPEND_NO_PROGRESS:case Le.BUFFER_FULL_ERROR:case Le.LEVEL_SWITCH_ERROR:case Le.BUFFER_STALLED_ERROR:case Le.BUFFER_SEEK_OVER_HOLE:case Le.BUFFER_NUDGE_ON_STALL:n.errorAction=bh();return}if(n.type===Dt.KEY_SYSTEM_ERROR)n.levelRetry=!1,n.errorAction=bh()}getPlaylistRetryOrSwitchAction(e,n){let s=this.hls,i=T5(s.config.playlistLoadPolicy,e),r=this.playlistError++;if(Sh(i,r,Jd(e),e.response))return{action:di.RetryRequest,flags:ui.None,retryConfig:i,retryCount:r};let l=this.getLevelSwitchAction(e,n);if(i)l.retryConfig=i,l.retryCount=r;return l}getFragRetryOrSwitchAction(e){let n=this.hls,s=this.getVariantLevelIndex(e.frag),i=n.levels[s],{fragLoadPolicy:r,keyLoadPolicy:a}=n.config,l=T5(Y3(e)?a:r,e),c=n.levels.reduce((d,g)=>d+g.fragmentError,0);if(i){if(e.details!==Le.FRAG_GAP)i.fragmentError++;if(!Q3(e)){if(Sh(l,c,Jd(e),e.response))return{action:di.RetryRequest,flags:ui.None,retryConfig:l,retryCount:c}}}let f=this.getLevelSwitchAction(e,s);if(l)f.retryConfig=l,f.retryCount=c;return f}getLevelSwitchAction(e,n){let s=this.hls;if(n===null||n===void 0)n=s.loadLevel;let i=this.hls.levels[n];if(i){var r,a;let f=e.details;if(i.loadError++,i.loadErrorTime=self.performance.now(),f===Le.BUFFER_APPEND_ERROR)i.fragmentError++;let d=-1,{levels:g,loadLevel:b,minAutoLevel:y,maxAutoLevel:v}=s;if(!s.autoLevelEnabled&&!s.config.preserveManualLevelOnError)s.loadLevel=-1;let x=(r=e.frag)==null?void 0:r.type,R=(x===Ct.AUDIO&&f===Le.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&B5(e))&&g.some(({audioCodec:J})=>i.audioCodec!==J),U=e.sourceBufferName==="video"&&B5(e)&&g.some(({codecSet:J,audioCodec:ee})=>i.codecSet!==J&&i.audioCodec===ee),{type:X,groupId:Y}=(a=e.context)!=null?a:{};for(let J=g.length;J--;){let ee=(J+b)%g.length;if(ee!==b&&ee>=y&&ee<=v&&(g[ee].loadError===0||J3(g[ee],s.config.errorPenaltyExpireMs))){var l,c;let te=g[ee];if(f===Le.FRAG_GAP&&x===Ct.MAIN&&e.frag){let ne=g[ee].details;if(ne){let ie=nf(e.frag,ne.fragments,e.frag.start);if(ie!=null&&ie.gap)continue}}else if(X===fn.AUDIO_TRACK&&te.hasAudioGroup(Y)||X===fn.SUBTITLE_TRACK&&te.hasSubtitleGroup(Y))continue;else if(x===Ct.AUDIO&&(l=i.audioGroups)!=null&&l.some((ne)=>te.hasAudioGroup(ne))||x===Ct.SUBTITLE&&(c=i.subtitleGroups)!=null&&c.some((ne)=>te.hasSubtitleGroup(ne))||R&&i.audioCodec===te.audioCodec||U&&i.codecSet===te.codecSet||!R&&i.audioCodec!==te.audioCodec)continue;d=ee;break}}if(d>-1&&s.loadLevel!==d)return e.levelRetry=!0,this.playlistError=0,{action:di.SendAlternateToPenaltyBox,flags:ui.None,nextAutoLevel:d}}return{action:di.SendAlternateToPenaltyBox,flags:ui.MoveAllAlternatesMatchingHost}}onErrorOut(e,n){var s,i;switch((s=n.errorAction)==null?void 0:s.action){case di.DoNothing:break;case di.SendAlternateToPenaltyBox:if(this.sendAlternateToPenaltyBox(n),!n.errorAction.resolved&&n.details!==Le.FRAG_GAP&&n.details!==Le.PLAYLIST_UNCHANGED_ERROR&&!D9(n))n.fatal=!0;break;case di.RetryRequest:break}if((((i=n.errorAction)==null?void 0:i.flags)||0)&ui.ResetMediaSource)this.hls.recoverMediaError();if(n.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let n=this.hls,s=e.errorAction;if(!s)return;let i=s.nextAutoLevel;if(s.flags===ui.None)this.switchLevel(e,i);else if(s.flags&ui.SwitchToSDR){let l=this.hls.levels,c=l.length;for(let f=c;f--;)if(l[f].videoRange!=="SDR")l[f].fragmentError++,l[f].loadError++;else if(i===void 0)i=f}else if(s.flags&ui.MoveAllAlternatesMatchingHDCP){let l=this.getVariantLevelIndex(e.frag),c=n.levels[l],f=c==null?void 0:c.attrs["HDCP-LEVEL"];s.hdcpLevel=f;let d=f==="NONE";if(f&&!d)n.maxHdcpLevel=Zg[Zg.indexOf(f)-1],s.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${n.maxHdcpLevel}" or lower`);else{if(d)this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");s.flags|=ui.MoveAllAlternatesMatchingKey}}if(s.flags&ui.MoveAllAlternatesMatchingKey){let l=e.decryptdata;if(l){let c=this.hls.levels,f=c.length;for(let g=f;g--;)if(this.variantHasKey(c[g],l)){var r,a;this.log(`Banned key found in level ${g} (${c[g].bitrate}bps) or audio group "${(r=c[g].audioGroups)==null?void 0:r.join(",")}" (${(a=e.frag)==null?void 0:a.type} fragment) ${ni(l.keyId||[])}`),c[g].fragmentError++,c[g].loadError++,this.log(`Removing level ${g} with key error (${e.error})`),this.hls.removeLevel(g)}let d=e.frag;if(this.hls.levels.length<f)s.resolved=!0;else if(d&&d.type!==Ct.MAIN){let g=d.decryptdata;if(g&&!l.matches(g))s.resolved=!0}}}if(!s.resolved)this.switchLevel(e,i)}switchLevel(e,n){if(n!==void 0&&e.errorAction){if(this.warn(`switching to level ${n} after ${e.details}`),this.hls.nextAutoLevel=n,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===Le.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&e.sourceBufferName!=="audiovideo"){let s=Jg(e.mimeType),i=this.hls.levels;for(let r=i.length;r--;)if(i[r][`${e.sourceBufferName}Codec`]===s)this.log(`Removing level ${r} for ${e.details} ("${s}" not supported)`),this.hls.removeLevel(r)}}}}function B5(e){let n=e.details;if(n===Le.BUFFER_ADD_CODEC_ERROR||n===Le.MEDIA_SOURCE_REQUIRES_RESET)return!0;if(n===Le.BUFFER_APPEND_ERROR){if(!D9(e))return!0}return!1}function D9(e){return e.details===Le.BUFFER_APPEND_ERROR&&(e.error.name==="QuotaExceededError"||e.error.name==="InvalidStateError")}function bh(e){let n={action:di.DoNothing,flags:ui.None};if(e)n.resolved=!0;return n}var Ts={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};class q9{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=0.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;if(e)e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,n){let s=this.activePartLists[n];if(s)for(let i=s.length;i--;){let r=s[i];if(!r)break;if(r.start<=e&&e<=r.end&&r.loaded)return r}return this.getBufferedFrag(e,n)}getBufferedFrag(e,n){return this.getFragAtPos(e,n,!0)}getFragAtPos(e,n,s){let{fragments:i}=this,r=Object.keys(i);for(let a=r.length;a--;){let l=i[r[a]];if((l==null?void 0:l.body.type)===n&&(!s||l.buffered)){let c=l.body;if(c.start<=e&&e<=c.end)return c}}return null}detectEvictedFragments(e,n,s,i,r,a){if(this.timeRanges)this.timeRanges[e]=n;let l=(r==null?void 0:r.fragment.sn)||-1;Object.keys(this.fragments).forEach((c)=>{let f=this.fragments[c];if(!f||!this.hls)return;let d=f.body;if(l>=d.sn)return;if(!f.buffered&&(!f.loaded||a)){if(d.type===s)this.removeFragment(d);return}let g=f.range[e];if(!g)return;if(g.time.length===0){this.removeFragment(d);return}if(g.time.some((b)=>{let y=!this.isTimeBuffered(b.startPTS,b.endPTS,n);if(y)this.removeFragment(d);return y}),i&&i!==d&&gh()){let b=i.endPTS,y=d.startPTS;if(b&&y&&f.range.video){let v=y-b;if(v<0&&v>-0.1)this.removeFragment(d),this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:b+0.004,endOffset:1/0,type:"video"})}}})}detectPartialFragments(e){let n=this.timeRanges,{frag:s,part:i,id:r}=e;if(!n||!Fs(s))return;let a=Xc(s),l=this.fragments[a];if(!l||l.buffered&&s.gap)return;let c=!s.relurl;Object.keys(n).forEach((d)=>{let g=s.elementaryStreams[d];if(!g)return;let b=n[d],y=c||g.partial===!0;l.range[d]=this.getBufferedTimes(s,i,y,b),this.detectEvictedFragments(d,b,r,s,i)}),l.loaded=null;let f=Object.keys(l.range);if(f.length){if(this.bufferedEnd(l,s),!qd(l))this.removeParts(s.sn-1,s.type);if(!i){let d=Math.min(0.004,s.duration);f.some((g)=>{var b;let y=(b=l.range[g])==null?void 0:b.time,v=y.length===0||y.length===1&&y[0].endPTS-y[0].startPTS<d;if(v)this.addAsGap(s);return v})}}else this.removeFragment(s)}addAsGap(e){e.gap=!0,this.removeFragment(e),this.fragBuffered(e,!0)}bufferedEnd(e,n){if(e.buffered=!0,(e.body.endList=n.endList||e.body.endList)&&!n.gap)this.endListFragments[e.body.type]=e}removeParts(e,n){let s=this.activePartLists[n];if(!s)return;this.activePartLists[n]=H5(s,(i)=>i.fragment.sn>=e)}fragBuffered(e,n){let s=Xc(e),i=this.fragments[s];if(!i&&n){if(i=this.fragments[s]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap)this.hasGaps=!0}if(i)i.loaded=null,this.bufferedEnd(i,e);return i}getBufferedTimes(e,n,s,i){let r={time:[],partial:s},{start:a,end:l}=e,c=e.minEndPTS||l,f=e.maxStartPTS||a;for(let d=0;d<i.length;d++){let g=i.start(d)-this.bufferPadding,b=i.end(d)+this.bufferPadding;if(f>=g&&c<=b){r.time.push({startPTS:Math.max(a,i.start(d)),endPTS:Math.min(l,i.end(d))});break}else if(a<b&&l>g){let y=Math.max(a,i.start(d)),v=Math.min(l,i.end(d));if(v>y)r.partial=!0,r.time.push({startPTS:y,endPTS:v})}else if(l<=g)break}return r}getPartialFragment(e){let n=null,s,i,r,a=0,{bufferPadding:l,fragments:c}=this;return Object.keys(c).forEach((f)=>{let d=c[f];if(!d)return;if(qd(d)){if(i=d.body.start-l,r=d.body.end+l,e>=i&&e<=r){if(s=Math.min(e-i,r-e),a<=s)n=d.body,a=s}}}),n}isEndListAppended(e){let n=this.endListFragments[e];return n!==void 0&&(n.buffered||qd(n))}getState(e){let n=Xc(e),s=this.fragments[n];if(s)if(!s.buffered)return Ts.APPENDING;else if(qd(s))return Ts.PARTIAL;else return Ts.OK;return Ts.NOT_LOADED}isTimeBuffered(e,n,s){let i,r;for(let a=0;a<s.length;a++){if(i=s.start(a)-this.bufferPadding,r=s.end(a)+this.bufferPadding,e>=i&&n<=r)return!0;if(n<=i)return!1}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,n){if(!Fs(n.frag)||n.frag.bitrateTest)return;let s=n.frag,i=n.part?null:n,r=Xc(s);this.fragments[r]={body:s,appendedPTS:null,loaded:i,buffered:!1,range:Object.create(null)}}onBufferAppended(e,n){let{frag:s,part:i,timeRanges:r}=n;if(!Fs(s))return;let a=s.type;if(i){let l=this.activePartLists[a];if(!l)this.activePartLists[a]=l=[];l.push(i)}this.timeRanges=r}onFragBuffered(e,n){this.detectPartialFragments(n)}hasFragment(e){let n=Xc(e);return!!this.fragments[n]}hasFragments(e){let{fragments:n}=this,s=Object.keys(n);if(!e)return s.length>0;for(let i=s.length;i--;){let r=n[s[i]];if((r==null?void 0:r.body.type)===e)return!0}return!1}hasParts(e){var n;return!!((n=this.activePartLists[e])!=null&&n.length)}getBackBufferEvictionEnd(e,n,s){let{fragments:i}=this,r=0,a=0,l=Object.keys(i);for(let c=0;c<l.length;c++){let f=i[l[c]];if(!f||!f.buffered||f.body.type!==n)continue;let d=f.body;if(d.gap)return 0;let g=d.hasStats&&d.stats.loaded||d.byteLength||d.bitrate&&d.bitrate*8*d.duration;if(d.end<=e&&g){if(r+=g,a=Math.max(a,d.end),r>=s)return a}}return a>0?a:0}removeFragmentsInRange(e,n,s,i,r){if(i&&!this.hasGaps)return;Object.keys(this.fragments).forEach((a)=>{let l=this.fragments[a];if(!l)return;let c=l.body;if(c.type!==s||i&&!c.gap)return;if(c.start<n&&c.end>e&&(l.buffered||r))this.removeFragment(c)})}removeFragment(e){let n=Xc(e);e.clearElementaryStreamInfo();let s=this.activePartLists[e.type];if(s){let i=e.sn;this.activePartLists[e.type]=H5(s,(r)=>r.fragment.sn!==i)}if(delete this.fragments[n],e.endList)delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let n=(e=this.hls)==null||(e=e.latestLevelDetails)==null?void 0:e.partList;if(n)n.forEach((s)=>s.clearElementaryStreamInfo())}}function qd(e){var n,s,i,r;return e.buffered&&!!(e.body.gap||(n=e.range.video)!=null&&n.partial||(s=e.range.audio)!=null&&s.partial||(i=e.range.audiovideo)!=null&&i.partial||(r=e.range.subs)!=null&&r.partial)}function Xc(e){return`${e.type}_${e.level}_${e.sn}`}function H5(e,n){return e.filter((s)=>{let i=n(s);if(!i)s.clearElementaryStreamInfo();return i})}var cl={cbc:0,ctr:1};class M9{constructor(e,n,s){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=n,this.aesMode=s}decrypt(e,n){switch(this.aesMode){case cl.cbc:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},n,e);case cl.ctr:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},n,e);default:throw Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}function RE(e){let n=e.byteLength,s=n&&new DataView(e.buffer).getUint8(n-1);if(s)return e.slice(0,n-s);return e}class F9{constructor(){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()}uint8ArrayToUint32Array_(e){let n=new DataView(e),s=new Uint32Array(4);for(let i=0;i<4;i++)s[i]=n.getUint32(i*4);return s}initTable(){let e=this.sBox,n=this.invSBox,s=this.subMix,i=s[0],r=s[1],a=s[2],l=s[3],c=this.invSubMix,f=c[0],d=c[1],g=c[2],b=c[3],y=new Uint32Array(256),v=0,x=0,T=0;for(T=0;T<256;T++)if(T<128)y[T]=T<<1;else y[T]=T<<1^283;for(T=0;T<256;T++){let R=x^x<<1^x<<2^x<<3^x<<4;R=R>>>8^R&255^99,e[v]=R,n[R]=v;let N=y[v],U=y[N],X=y[U],Y=y[R]*257^R*16843008;if(i[v]=Y<<24|Y>>>8,r[v]=Y<<16|Y>>>16,a[v]=Y<<8|Y>>>24,l[v]=Y,Y=X*16843009^U*65537^N*257^v*16843008,f[R]=Y<<24|Y>>>8,d[R]=Y<<16|Y>>>16,g[R]=Y<<8|Y>>>24,b[R]=Y,!v)v=x=1;else v=N^y[y[y[X^N]]],x^=y[y[x]]}}expandKey(e){let n=this.uint8ArrayToUint32Array_(e),s=!0,i=0;while(i<n.length&&s)s=n[i]===this.key[i],i++;if(s)return;this.key=n;let r=this.keySize=n.length;if(r!==4&&r!==6&&r!==8)throw Error("Invalid aes key size="+r);let a=this.ksRows=(r+6+1)*4,l,c,f=this.keySchedule=new Uint32Array(a),d=this.invKeySchedule=new Uint32Array(a),g=this.sBox,b=this.rcon,y=this.invSubMix,v=y[0],x=y[1],T=y[2],R=y[3],N,U;for(l=0;l<a;l++){if(l<r){N=f[l]=n[l];continue}if(U=N,l%r===0)U=U<<8|U>>>24,U=g[U>>>24]<<24|g[U>>>16&255]<<16|g[U>>>8&255]<<8|g[U&255],U^=b[l/r|0]<<24;else if(r>6&&l%r===4)U=g[U>>>24]<<24|g[U>>>16&255]<<16|g[U>>>8&255]<<8|g[U&255];f[l]=N=(f[l-r]^U)>>>0}for(c=0;c<a;c++){if(l=a-c,c&3)U=f[l];else U=f[l-4];if(c<4||l<=4)d[c]=U;else d[c]=v[g[U>>>24]]^x[g[U>>>16&255]]^T[g[U>>>8&255]]^R[g[U&255]];d[c]=d[c]>>>0}}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,n,s){let i=this.keySize+6,r=this.invKeySchedule,a=this.invSBox,l=this.invSubMix,c=l[0],f=l[1],d=l[2],g=l[3],b=this.uint8ArrayToUint32Array_(s),y=b[0],v=b[1],x=b[2],T=b[3],R=new Int32Array(e),N=new Int32Array(R.length),U,X,Y,J,ee,te,ne,ie,se,ae,be,ye,ue,he,oe=this.networkToHostOrderSwap;while(n<R.length){se=oe(R[n]),ae=oe(R[n+1]),be=oe(R[n+2]),ye=oe(R[n+3]),ee=se^r[0],te=ye^r[1],ne=be^r[2],ie=ae^r[3],ue=4;for(he=1;he<i;he++)U=c[ee>>>24]^f[te>>16&255]^d[ne>>8&255]^g[ie&255]^r[ue],X=c[te>>>24]^f[ne>>16&255]^d[ie>>8&255]^g[ee&255]^r[ue+1],Y=c[ne>>>24]^f[ie>>16&255]^d[ee>>8&255]^g[te&255]^r[ue+2],J=c[ie>>>24]^f[ee>>16&255]^d[te>>8&255]^g[ne&255]^r[ue+3],ee=U,te=X,ne=Y,ie=J,ue=ue+4;U=a[ee>>>24]<<24^a[te>>16&255]<<16^a[ne>>8&255]<<8^a[ie&255]^r[ue],X=a[te>>>24]<<24^a[ne>>16&255]<<16^a[ie>>8&255]<<8^a[ee&255]^r[ue+1],Y=a[ne>>>24]<<24^a[ie>>16&255]<<16^a[ee>>8&255]<<8^a[te&255]^r[ue+2],J=a[ie>>>24]<<24^a[ee>>16&255]<<16^a[te>>8&255]<<8^a[ne&255]^r[ue+3],N[n]=oe(U^y),N[n+1]=oe(J^v),N[n+2]=oe(Y^x),N[n+3]=oe(X^T),y=se,v=ae,x=be,T=ye,n=n+4}return N.buffer}}class L9{constructor(e,n,s){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=n,this.aesMode=s}expandKey(){let e=DE(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}function DE(e){switch(e){case cl.cbc:return"AES-CBC";case cl.ctr:return"AES-CTR";default:throw Error(`[FastAESKey] invalid aes mode ${e}`)}}var qE=16;class b0{constructor(e,n){if(this.logEnabled=!0,this.decryptRange=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.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,n!==!0)try{let s=self.crypto;if(s)this.subtle=s.subtle||s.webkitSubtle}catch(s){}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:n}=this;if(!e||n)return this.reset(),null;let s=new Uint8Array(e);this.reset();let i=this.decryptRange;if(i){if(i.start===0&&i.end>=s.length)return s;return s.slice(i.start,i.end)}return RE(s)}reset(){if(this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter)this.softwareDecrypter=null}decrypt(e,n,s,i,r){if(this.decryptRange=r,this.useSoftware||r)return new Promise((a,l)=>{let c=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(c,n,s,i);let f=this.flush();if(f)a(f.buffer);else l(Error("[softwareDecrypt] Failed to decrypt data"))});return this.webCryptoDecrypt(new Uint8Array(e),n,s,i)}softwareDecrypt(e,n,s,i){let{currentIV:r,currentResult:a,remainderData:l}=this;if(i!==cl.cbc||n.byteLength!==16)return In.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;if(this.logOnce("JS AES decrypt"),l)e=qr(l,e),this.remainderData=null;let c=this.getValidChunk(e);if(!c.length)return null;if(r)s=r;let f=this.softwareDecrypter;if(!f)f=this.softwareDecrypter=new F9;f.expandKey(n);let d=a;if(this.currentResult=f.decrypt(c.buffer,0,s),this.currentIV=c.slice(-16).buffer,!d)return null;return d}webCryptoDecrypt(e,n,s,i){if(this.key!==n||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,n,s,i));this.key=n,this.fastAesKey=new L9(this.subtle,n,i)}return this.fastAesKey.expandKey().then((r)=>{if(!this.subtle)return Promise.reject(Error("web crypto not initialized"));return this.logOnce("WebCrypto AES decrypt"),new M9(this.subtle,new Uint8Array(s),i).decrypt(e.buffer,r)}).catch((r)=>(In.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${r.name}: ${r.message}`),this.onWebCryptoError(e,n,s,i)))}onWebCryptoError(e,n,s,i){let r=this.enableSoftwareAES;if(r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,n,s,i);let a=this.flush();if(a)return a.buffer}throw Error("WebCrypto"+(r?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let n=e,s=e.length-e.length%qE;if(s!==e.length)n=e.slice(0,s),this.remainderData=e.slice(s);return n}logOnce(e){if(!this.logEnabled)return;In.log(`[decrypter]: ${e}`),this.logEnabled=!1}}var U5=Math.pow(2,17);class n1{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){if(this.loader)this.loader.destroy(),this.loader=null}abort(){if(this.loader)this.loader.abort()}load(e,n,s,i){let r=e.url;if(!r)return Promise.reject(new oa({type:Dt.NETWORK_ERROR,details:Le.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let a=this.config,{fLoader:l,loader:c}=a;return new Promise((f,d)=>{if(this.loader)this.loader.destroy();if(e.gap)if(e.tagList.some((T)=>T[0]==="GAP")){d(G5(e));return}else e.gap=!1;let g=this.loader=l?new l(a):new c(a),b=z5(e,null,n);e.loader=g;let y=E5(a.fragLoadPolicy.default),v={loadPolicy:y,timeout:y.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:U5};g.stats.retry=e.stats.retry,e.stats=g.stats;let x={onSuccess:(T,R,N,U)=>{this.resetLoader(e,g);let X=T.data;if(N.resetIV&&e.decryptdata)e.decryptdata.iv=new Uint8Array(X.slice(0,16)),X=X.slice(16);f({frag:e,part:null,payload:X,networkDetails:U})},onError:(T,R,N,U)=>{this.resetLoader(e,g),d(new oa({type:Dt.NETWORK_ERROR,details:Le.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:qt({url:r,data:void 0},T),error:Error(`HTTP Error ${T.code} ${T.text}`),networkDetails:N,stats:U}))},onAbort:(T,R,N)=>{this.resetLoader(e,g),d(new oa({type:Dt.NETWORK_ERROR,details:Le.INTERNAL_ABORTED,fatal:!1,frag:e,error:Error("Aborted"),networkDetails:N,stats:T}))},onTimeout:(T,R,N)=>{this.resetLoader(e,g),d(new oa({type:Dt.NETWORK_ERROR,details:Le.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:Error(`Timeout after ${v.timeout}ms`),networkDetails:N,stats:T}))}};if(s){let T=this.gateProgress(s,i);x.onProgress=(R,N,U,X)=>T({frag:e,part:null,payload:U,networkDetails:X})}g.load(b,v,x)})}gateProgress(e,n){let s=e;if(n){let i=[],r=!1;n.then(()=>{r=!0,i.forEach((a)=>e(a)),i.length=0}).catch(()=>{}),s=(a)=>{if(r)e(a);else i.push(a)}}return s}loadPart(e,n,s){this.abort();let i=this.config,{fLoader:r,loader:a}=i;return new Promise((l,c)=>{if(this.loader)this.loader.destroy();if(e.gap||n.gap){c(G5(e,n));return}let f=this.loader=r?new r(i):new a(i),d=z5(e,n);e.loader=f;let g=E5(i.fragLoadPolicy.default),b={loadPolicy:g,timeout:g.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:U5};n.stats=f.stats,f.load(d,b,{onSuccess:(y,v,x,T)=>{this.resetLoader(e,f),this.updateStatsFromPart(e,n);let R={frag:e,part:n,payload:y.data,networkDetails:T};s(R),l(R)},onError:(y,v,x,T)=>{this.resetLoader(e,f),c(new oa({type:Dt.NETWORK_ERROR,details:Le.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:n,response:qt({url:d.url,data:void 0},y),error:Error(`HTTP Error ${y.code} ${y.text}`),networkDetails:x,stats:T}))},onAbort:(y,v,x)=>{e.stats.aborted=n.stats.aborted,this.resetLoader(e,f),c(new oa({type:Dt.NETWORK_ERROR,details:Le.INTERNAL_ABORTED,fatal:!1,frag:e,part:n,error:Error("Aborted"),networkDetails:x,stats:y}))},onTimeout:(y,v,x)=>{this.resetLoader(e,f),c(new oa({type:Dt.NETWORK_ERROR,details:Le.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:n,error:Error(`Timeout after ${b.timeout}ms`),networkDetails:x,stats:y}))}})})}updateStatsFromPart(e,n){let s=e.stats,i=n.stats,r=i.total;if(s.loaded+=i.loaded,r){let c=Math.round(e.duration/n.duration),f=Math.min(Math.round(s.loaded/r),c),g=(c-f)*Math.round(s.loaded/f);s.total=s.loaded+g}else s.total=Math.max(s.loaded,s.total);let a=s.loading,l=i.loading;if(a.start)a.first+=l.first-l.start;else a.start=l.start,a.first=l.first;a.end=l.end}resetLoader(e,n){if(e.loader=null,e.url=null,this.loader===n)self.clearTimeout(this.partLoadTimeout),this.loader=null;n.destroy()}}function z5(e,n=null,s){let i=n||e,r={type:fn.MEDIA_FRAGMENT,frag:e,part:n,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},a=s0(e,n,s);if(a.resetIV)r.resetIV=!0;if(a.byteRange)r.rangeStart=a.byteRange.start,r.rangeEnd=a.byteRange.end;return r}function s0(e,n=null,s){let i={},r=n||e,{byteRangeStartOffset:a,byteRangeEndOffset:l}=r;if(ct(a)&&ct(l)){var c;if((e.sn==="initSegment"||s)&&ME((c=e.decryptdata)==null?void 0:c.method)){let f=Math.floor(a/16)*16,d=Math.ceil(l/16)*16;if(i.decryptRange={start:a-f,end:l-f},f>=16)i.resetIV=!0,f=f-16;i.byteRange={start:f,end:d}}else i.byteRange={start:a,end:l}}return i}function G5(e,n){let s=Error(`GAP ${e.gap?"tag":"attribute"} found`),i={type:Dt.MEDIA_ERROR,details:Le.FRAG_GAP,fatal:!1,frag:e,error:s,networkDetails:null};if(n)i.part=n;return(n?n:e).stats.aborted=!0,new oa(i)}function ME(e){return e==="AES-128"||e==="AES-256"}class oa extends Error{constructor(e){super(e.error.message);this.data=void 0,this.data=e}}class R1 extends Yi{constructor(e,n){super(e,n);this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){if(!this._tickInterval)return this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0;return!1}clearInterval(){if(this._tickInterval)return self.clearInterval(this._tickInterval),this._tickInterval=null,!0;return!1}clearNextTick(){if(this._tickTimer)return self.clearTimeout(this._tickTimer),this._tickTimer=null,!0;return!1}tick(){if(this._tickCallCount++,this._tickCallCount===1){if(this.doTick(),this._tickCallCount>1)this.tickImmediate();this._tickCallCount=0}else this.log(`possible exception thrown in task-loop (${this.constructor.name}.doTick)`),this._tickCallCount=0}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class w0{constructor(e,n,s,i=0,r=-1,a=!1,l,c,f){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.iframe=void 0,this.duration=void 0,this.decryptRange=void 0,this.transmuxing=Md(),this.buffering={audio:Md(),video:Md(),audiovideo:Md()},this.level=e,this.sn=n,this.id=s,this.size=i,this.part=r,this.partial=a,this.duration=l||0,this.decryptRange=f,this.iframe=c||!1}}function Md(){return{start:0,executeStart:0,executeEnd:0,end:0}}var V5={length:0,start:()=>0,end:()=>0};class Ot{static isBuffered(e,n){if(e){let s=Ot.getBuffered(e);for(let i=s.length;i--;)if(n>=s.start(i)&&n<=s.end(i))return!0}return!1}static bufferedRanges(e){if(e){let n=Ot.getBuffered(e);return Ot.timeRangesToArray(n)}return[]}static timeRangesToArray(e){let n=[];for(let s=0;s<e.length;s++)n.push({start:e.start(s),end:e.end(s)});return n}static bufferInfo(e,n,s){if(e){let i=Ot.bufferedRanges(e);if(i.length)return Ot.bufferedInfo(i,n,s)}return{len:0,start:n,end:n,bufferedIndex:-1}}static bufferedInfo(e,n,s){if(n=Math.max(0,n),e.length>1)e.sort((d,g)=>d.start-g.start||g.end-d.end);let i=-1,r=[];if(s)for(let d=0;d<e.length;d++){if(n>=e[d].start&&n<=e[d].end)i=d;let g=r.length;if(g){let b=r[g-1].end;if(e[d].start-b<s){if(e[d].end>b)r[g-1].end=e[d].end}else r.push(e[d])}else r.push(e[d])}else r=e;let a=0,l,c=n,f=n;for(let d=0;d<r.length;d++){let g=r[d].start,b=r[d].end;if(i===-1&&n>=g&&n<=b)i=d;if(n+s>=g&&n<b)c=g,f=b,a=f-n;else if(n+s<g){l=g;break}}return{len:a,start:c||0,end:f||0,nextStart:l,buffered:e,bufferedIndex:i}}static getBuffered(e){try{return e.buffered||V5}catch(n){return In.log("failed to get media.buffered",n),V5}}}var s1=/\{\$([a-zA-Z0-9-_]+)\}/g;function $5(e){return s1.lastIndex=0,s1.test(e)}function D1(e,n){if(e.variableList!==null||e.hasVariableRefs){let s=e.variableList;return n.replace(s1,(i)=>{let r=i.substring(2,i.length-1),a=s==null?void 0:s[r];if(a===void 0)return e.playlistParsingError||(e.playlistParsingError=Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${r}"`)),i;return a})}return n}function X5(e,n,s){let i=e.variableList;if(!i)e.variableList=i={};let r,a;if("QUERYPARAM"in n){r=n.QUERYPARAM;try{let l=new self.URL(s).searchParams;if(l.has(r))a=l.get(r);else throw Error(`"${r}" does not match any query parameter in URI: "${s}"`)}catch(l){e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE QUERYPARAM: ${l.message}`))}}else r=n.NAME,a=n.VALUE;if(r in i)e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${r}"`));else i[r]=a||""}function FE(e,n,s){let i=n.IMPORT;if(s&&i in s){let r=e.variableList;if(!r)e.variableList=r={};r[i]=s[i]}else e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}var LE=/^(\d+)x(\d+)$/,W5=/(.+?)=(".*?"|.*?)(?:,|$)/g;class ks{constructor(e,n){if(typeof e==="string")e=ks.parseAttrList(e,n);Hn(this,e)}get clientAttrs(){return Object.keys(this).filter((e)=>e.substring(0,2)==="X-")}decimalInteger(e){let n=parseInt(this[e],10);if(n>Number.MAX_SAFE_INTEGER)return 1/0;return n}hexadecimalInteger(e){if(this[e]){let n=(this[e]||"0x").slice(2);n=(n.length&1?"0":"")+n;let s=new Uint8Array(n.length/2);for(let i=0;i<n.length/2;i++)s[i]=parseInt(n.slice(i*2,i*2+2),16);return s}return null}hexadecimalIntegerAsNumber(e){let n=parseInt(this[e],16);if(n>Number.MAX_SAFE_INTEGER)return 1/0;return n}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,n){let s=this[e];return s?parseFloat(s):n}enumeratedString(e){return this[e]}enumeratedStringList(e,n){let s=this[e];return(s?s.split(/[ ,]+/):[]).reduce((i,r)=>(i[r.toLowerCase()]=!0,i),n)}bool(e){return this[e]==="YES"}decimalResolution(e){let n=LE.exec(this[e]);if(n===null)return;return{width:parseInt(n[1],10),height:parseInt(n[2],10)}}static parseAttrList(e,n){let s,i={},r='"';W5.lastIndex=0;while((s=W5.exec(e))!==null){let a=s[1].trim(),l=s[2],c=l.indexOf('"')===0&&l.lastIndexOf('"')===l.length-1,f=!1;if(c)l=l.slice(1,-1);else switch(a){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":f=!0}if(n&&(c||f))l=D1(n,l);else if(!f&&!c)switch(a){case"CLOSED-CAPTIONS":if(l==="NONE")break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":In.warn(`${e}: attribute ${a} is missing quotes`)}i[a]=l}return i}}var OE="com.apple.hls.interstitial";function PE(e){return e!=="ID"&&e!=="CLASS"&&e!=="CUE"&&e!=="START-DATE"&&e!=="DURATION"&&e!=="END-DATE"&&e!=="END-ON-NEXT"}function NE(e){return e==="SCTE35-OUT"||e==="SCTE35-IN"||e==="SCTE35-CMD"}class q1{constructor(e,n,s=0){var i;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(n==null?void 0:n.tagAnchor)||null,this.tagOrder=(i=n==null?void 0:n.tagOrder)!=null?i:s,n){let r=n.attr;for(let a in r)if(Object.prototype.hasOwnProperty.call(e,a)&&e[a]!==r[a]){In.warn(`DATERANGE tag attribute: "${a}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=a;break}e=Hn(new ks({}),r,e)}if(this.attr=e,n)this._startDate=n._startDate,this._cue=n._cue,this._endDate=n._endDate,this._dateAtEnd=n._dateAtEnd;else this._startDate=new Date(e["START-DATE"]);if("END-DATE"in e){let r=(n==null?void 0:n.endDate)||new Date(e["END-DATE"]);if(ct(r.getTime()))this._endDate=r}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){let e=this._cue;if(e===void 0)return this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1});return e}get startTime(){let{tagAnchor:e}=this;if(e===null||e.programDateTime===null)return In.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN;return e.start+(this.startDate.getTime()-e.programDateTime)/1000}get startDate(){return this._startDate}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let n=this.duration;if(n!==null)return this._dateAtEnd=new Date(this._startDate.getTime()+n*1000);return null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(ct(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1000;return null}get plannedDuration(){if("PLANNED-DURATION"in this.attr)return this.attr.decimalFloatingPoint("PLANNED-DURATION");return null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return this.class===OE}get isValid(){return!!this.id&&!this._badValueForSameId&&ct(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||("X-ASSET-URI"in this.attr)||("X-ASSET-LIST"in this.attr))}get invalidReason(){if(!this.id)return"Missing ID";if(this._badValueForSameId)return`Date range ${this._badValueForSameId} mismatch`;if(!ct(this.startDate.getTime()))return"Date range invalid start date";if(this.isInterstitial&&!(("X-ASSET-URI"in this.attr)||("X-ASSET-LIST"in this.attr)))return"Interstitial Date range missing X-ASSET-(LIST|URI)";if(!this.isValid)return"Unknown (check DURATION(|END|NEXT), CLASS, and CUE)";return null}}var O9=10;class P9{constructor(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.dateRangeTagCount=0,this.live=!0,this.iframesOnly=!1,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!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.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let n=this.lastPartSn-e.lastPartSn,s=this.lastPartIndex-e.lastPartIndex;if(this.updated=this.endSN!==e.endSN||!!s||!!n||!this.live,this.advanced=this.endSN>e.endSN||n>0||n===0&&s>0,this.updated||this.advanced)this.misses=0;else this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some((n)=>{let s=n.decryptdata;if(!s)n.setKeyFormat(e.keyFormat),s=n.decryptdata;return!!s&&e.matches(s)})}get hasProgramDateTime(){if(this.fragments.length)return ct(this.fragments[this.fragments.length-1].programDateTime);return!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||O9}get drift(){let e=this.driftEndTime-this.driftStartTime;if(e>0)return(this.driftEnd-this.driftStart)*1000/e;return 1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].end;return this.fragmentEnd}get fragmentEnd(){if(this.fragments.length)return this.fragments[this.fragments.length-1].end;return 0}get fragmentStart(){if(this.fragments.length)return this.fragments[0].start;return 0}get age(){if(this.advancedDateTime)return Math.max(Date.now()-this.advancedDateTime,0)/1000;return 0}get lastPartIndex(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].index;return-1}get maxPartIndex(){let e=this.partList;if(e){let n=this.lastPartIndex;if(n!==-1){for(let s=e.length;s--;)if(e[s].index>n)return e[s].index;return n}}return 0}get lastPartSn(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].fragment.sn;return this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function i0(e,n){if(e.length===n.length)return!e.some((s,i)=>s!==n[i]);return!1}function K5(e,n){if(!e&&!n)return!0;if(!e||!n)return!1;return i0(e,n)}function Qc(e){return e==="AES-128"||e==="AES-256"||e==="AES-256-CTR"}function M1(e){switch(e){case"AES-128":case"AES-256":return cl.cbc;case"AES-256-CTR":return cl.ctr;default:throw Error(`invalid full segment method ${e}`)}}function i1(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(n)=>n.charCodeAt(0))}function BE(e){let n=i1(e).subarray(0,16),s=new Uint8Array(16);return s.set(n,16-n.length),s}function N9(e){let n=function(i,r,a){let l=i[r];i[r]=i[a],i[a]=l};n(e,0,3),n(e,1,2),n(e,4,5),n(e,6,7)}function B9(e){let n=e.split(":"),s=null;if(n[0]==="data"&&n.length===2){let i=n[1].split(";"),r=i[i.length-1].split(",");if(r.length===2){let a=r[0]==="base64",l=r[1];if(a)i.splice(-1,1),s=C1(l);else s=BE(l)}}return s}var r0=typeof self<"u"?self:void 0,ps={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Si={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function Fd(e){switch(e){case Si.FAIRPLAY:return ps.FAIRPLAY;case Si.PLAYREADY:return ps.PLAYREADY;case Si.WIDEVINE:return ps.WIDEVINE;case Si.CLEARKEY:return ps.CLEARKEY}}var H9={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function Cg(e){switch(e){case ps.FAIRPLAY:return Si.FAIRPLAY;case ps.PLAYREADY:return Si.PLAYREADY;case ps.WIDEVINE:return Si.WIDEVINE;case ps.CLEARKEY:return Si.CLEARKEY}}function lh(e){let{drmSystems:n,widevineLicenseUrl:s}=e,i=n?[ps.FAIRPLAY,ps.WIDEVINE,ps.PLAYREADY,ps.CLEARKEY].filter((r)=>!!n[r]):[];if(!i[ps.WIDEVINE]&&s)i.push(ps.WIDEVINE);return i}var U9=function(e){if(r0!=null&&(e=r0.navigator)!=null&&e.requestMediaKeySystemAccess)return self.navigator.requestMediaKeySystemAccess.bind(self.navigator);else return null}();function HE(e,n,s,i){let r;switch(e){case ps.FAIRPLAY:r=["cenc","sinf"];break;case ps.WIDEVINE:case ps.PLAYREADY:r=["cenc"];break;case ps.CLEARKEY:r=["cenc","keyids"];break;default:throw Error(`Unknown key-system: ${e}`)}return UE(r,n,s,i)}function UE(e,n,s,i){return[{initDataTypes:e,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:n.map((a)=>({contentType:`audio/mp4; codecs=${a}`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:s.map((a)=>({contentType:`video/mp4; codecs=${a}`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}]}function zE(e){var n;return!!e&&(e.sessionType==="persistent-license"||!!((n=e.sessionTypes)!=null&&n.some((s)=>s==="persistent-license")))}function F1(e){let n=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),s=la(n),i=s.substring(s.indexOf("<"),s.length),l=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("KID")[0];if(l){let c=l.childNodes[0]?l.childNodes[0].nodeValue:l.getAttribute("VALUE");if(c){let f=C1(c).subarray(0,16);return N9(f),f}}return null}var Wc={};class So{static clearKeyUriToKeyIdMap(){Wc={}}static setKeyIdForUri(e,n){Wc[e]=n}static addKeyIdForUri(e){let n=Object.keys(Wc).length%Number.MAX_SAFE_INTEGER,s=new Uint8Array(16);return new DataView(s.buffer,12,4).setUint32(0,n),Wc[e]=s,s}constructor(e,n,s,i=[1],r=null,a){if(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.scheme=void 0,this.method=e,this.uri=n,this.keyFormat=s,this.keyFormatVersions=i,this.iv=r,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&!Qc(e),a!=null&&a.startsWith("0x"))this.keyId=new Uint8Array(a9(a))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&i0(e.keyFormatVersions,this.keyFormatVersions)&&K5(e.iv,this.iv)&&K5(e.keyId,this.keyId)}isSupported(){if(this.method){if(Qc(this.method)||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";else switch(this.keyFormat){case Si.FAIRPLAY:case Si.WIDEVINE:case Si.PLAYREADY:case Si.CLEARKEY:return["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e,n){var s;if(!this.encrypted||!this.uri)return null;if(Qc(this.method)){let a=this.iv;if(!a){if(typeof e!=="number")In.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0;a=VE(e)}return new So(this.method,this.uri,"identity",this.keyFormatVersions,a)}if(this.keyId){let a=Wc[this.uri];if(a&&!i0(this.keyId,a))So.setKeyIdForUri(this.uri,this.keyId);if(this.pssh)return this}let i=B9(this.uri);if(i)switch(this.keyFormat){case Si.WIDEVINE:if(this.pssh=i,!this.keyId){let a=b9(i.buffer).filter((l)=>l.systemId===H9.WIDEVINE);if(a.length){var r;let l=a[0];this.keyId=(r=l.kids)!=null&&r.length?l.kids[0]:null}}if(!this.keyId)this.keyId=Y5(n);break;case Si.PLAYREADY:{let a=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=QT(a,null,i),this.keyId=F1(i);break}default:{let a=i.subarray(0,16);if(a.length!==16){let l=new Uint8Array(16);l.set(a,16-a.length),a=l}this.keyId=a;break}}if(((s=this.keyId)==null?void 0:s.byteLength)!==16){let a;if(a=GE(n),!a){if(a=Y5(n),!a)a=Wc[this.uri]}if(a)this.keyId=a,So.setKeyIdForUri(this.uri,a)}return this}}function GE(e){let n=e==null?void 0:e[Si.WIDEVINE];if(n)return n.keyId;return null}function Y5(e){let n=e==null?void 0:e[Si.PLAYREADY];if(n){let s=B9(n.uri);if(s)return F1(s)}return null}function VE(e){let n=new Uint8Array(16);for(let s=12;s<16;s++)n[s]=e>>8*(15-s)&255;return n}var Q5=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(I-FRAME-STREAM-INF|SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)(?:[\r\n]+|$)/g,J5=/#EXT-X-MEDIA:(.*)/g,$E=/^#EXT(?:INF|-X-TARGETDURATION):/m,_g=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),XE=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|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|I-FRAMES-ONLY)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class Ma{static findGroup(e,n){for(let s=0;s<e.length;s++){let i=e[s];if(i.id===n)return i}}static resolve(e,n){return k1.buildAbsoluteURL(n,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return $E.test(e)}static parseMasterPlaylist(e,n){let s=$5(e),i={contentSteering:null,levels:[],iframeVariants:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:s},r=[];if(Q5.lastIndex=0,!e.startsWith("#EXTM3U"))return i.playlistParsingError=Error("no EXTM3U delimiter"),i;let a;while((a=Q5.exec(e))!=null)if(a[1]){let c=new ks(a[1],i),f=Z5(c,a[2],n,i,r);if(f)i.levels.push(f)}else if(a[3]){let c=a[3],f=a[4];switch(c){case"I-FRAME-STREAM-INF":{let d=new ks(f,i),g=Z5(d,d.URI,n,i,r,!0);if(g)i.iframeVariants.push(g)}break;case"SESSION-DATA":{let d=new ks(f,i),g=d["DATA-ID"];if(g){if(i.sessionData===null)i.sessionData={};i.sessionData[g]=d}break}case"SESSION-KEY":{let d=e3(f,n,i);if(d.encrypted&&d.isSupported()){if(i.sessionKeys===null)i.sessionKeys=[];i.sessionKeys.push(d)}else In.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${f}"`);break}case"DEFINE":{{let d=new ks(f,i);X5(i,d,n)}break}case"CONTENT-STEERING":{let d=new ks(f,i);i.contentSteering={uri:Ma.resolve(d["SERVER-URI"],n),pathwayId:d["PATHWAY-ID"]||"."};break}case"START":{i.startTimeOffset=t3(f);break}}}let l=r.length>0&&r.length<i.levels.length;if(i.levels=l?r:i.levels,i.levels.length===0)i.playlistParsingError=Error("no levels found in manifest");return i}static parseMasterPlaylistMedia(e,n,s){let i,r={},a=s.levels,l={AUDIO:a.map((f)=>({id:f.attrs.AUDIO,audioCodec:f.audioCodec})),SUBTITLES:a.map((f)=>({id:f.attrs.SUBTITLES,textCodec:f.textCodec})),"CLOSED-CAPTIONS":[]},c=0;J5.lastIndex=0;while((i=J5.exec(e))!==null){let f=new ks(i[1],s),d=f.TYPE;if(d){let g=l[d],b=r[d]||[];r[d]=b;let y=f.LANGUAGE,v=f["ASSOC-LANGUAGE"],{CHANNELS:x,CHARACTERISTICS:T}=f,R=f["INSTREAM-ID"],N={attrs:f,bitrate:0,id:c++,groupId:f["GROUP-ID"]||"",name:f.NAME||y||"",type:d,default:f.bool("DEFAULT"),autoselect:f.bool("AUTOSELECT"),forced:f.bool("FORCED"),lang:y,url:f.URI?Ma.resolve(f.URI,n):""};if(v)N.assocLang=v;if(x)N.channels=x;if(T)N.characteristics=T;if(R)N.instreamId=R;if(g!=null&&g.length){let U=Ma.findGroup(g,N.groupId)||g[0];s3(N,U,"audioCodec"),s3(N,U,"textCodec")}b.push(N)}}return r}static parseLevelPlaylist(e,n,s,i,r,a){var l;let c={url:n},f=new P9(n),d=f.fragments,g=[],b=null,y=0,v=0,x=0,T=0,R=0,N=null,U=new dh(i,c),X,Y,J,ee=-1,te=!1,ne=null,ie;if(_g.lastIndex=0,f.m3u8=e,f.hasVariableRefs=$5(e),((l=_g.exec(e))==null?void 0:l[0])!=="#EXTM3U")return f.playlistParsingError=Error("Missing format identifier #EXTM3U"),f;while((X=_g.exec(e))!==null){if(te){if(te=!1,U=new dh(i,c),U.playlistOffset=x,U.setStart(x),U.sn=y,U.cc=T,R)U.bitrate=R;if(U.level=s,b){if(U.initSegment=b,b.rawProgramDateTime)U.rawProgramDateTime=b.rawProgramDateTime,b.rawProgramDateTime=null;if(ne)U.setByteRange(ne),ne=null}}let ue=X[1];if(ue){U.duration=parseFloat(ue);let he=(" "+X[2]).slice(1);U.title=he||null,U.tagList.push(he?["INF",ue,he]:["INF",ue])}else if(X[3]){if(ct(U.duration)){var se;if(U.playlistOffset=x,U.setStart(x),J)r3(U,J,f);U.sn=y,U.level=s,U.cc=T;let he=(" "+X[3]).slice(1);U.relurl=D1(f,he),r1(U,N,g),N=U,x+=U.duration,y++,v=0;let oe=U.byteRange;if(oe.length===2)U.bitrate=(oe[1]-oe[0])*8/U.duration|0;if(f.iframesOnly&&oe[0]&&((se=b)==null?void 0:se.cc)!==T){let Se=new dh(i,c);if(Se.relurl=U.relurl,Se.setByteRange(`${Math.min(oe[0],1316)}@0`),Se.level=s,Se.sn="initSegment",J){if(Se.levelkeys=J,J.identity)Se._decryptdata=J.identity.getDecryptData(0)}b=Se,U.initSegment=b}d.push(U),te=!0}}else{if(X=X[0].match(XE),!X){In.warn("No matches on slow regex match for level playlist!");continue}for(Y=1;Y<X.length;Y++)if(X[Y]!==void 0)break;let he=(" "+X[Y]).slice(1),oe=(" "+X[Y+1]).slice(1),Se=X[Y+2]?(" "+X[Y+2]).slice(1):null;switch(he){case"BYTERANGE":if(N)U.setByteRange(oe,N);else U.setByteRange(oe);break;case"PROGRAM-DATE-TIME":if(U.rawProgramDateTime=oe,U.tagList.push(["PROGRAM-DATE-TIME",oe]),ee===-1)ee=d.length;break;case"PLAYLIST-TYPE":if(f.type)wo(f,he,X);f.type=oe.toUpperCase();break;case"MEDIA-SEQUENCE":if(f.startSN!==0)wo(f,he,X);else if(N!==null)YE(f,he,X);f.startSN=parseInt(oe),y=f.startSN+f.skippedSegments;break;case"SKIP":{if(f.skippedSegments)wo(f,he,X);let we=new ks(oe,f),qe=we.decimalInteger("SKIPPED-SEGMENTS");if(ct(qe)){f.skippedSegments+=qe;for(let Fe=qe;Fe--;)d.push(null);y+=qe}let De=we.enumeratedString("RECENTLY-REMOVED-DATERANGES");if(De)f.recentlyRemovedDateranges=(f.recentlyRemovedDateranges||[]).concat(De.split("\t"));break}case"TARGETDURATION":if(f.targetduration!==0)wo(f,he,X);f.targetduration=Math.max(parseInt(oe),1);break;case"VERSION":if(f.version!==null)wo(f,he,X);f.version=parseInt(oe);break;case"INDEPENDENT-SEGMENTS":break;case"I-FRAMES-ONLY":f.iframesOnly=!0;break;case"ENDLIST":if(!f.live)wo(f,he,X);f.live=!1;break;case"#":if(oe||Se)U.tagList.push(Se?[oe,Se]:[oe]);break;case"DISCONTINUITY":T++,U.tagList.push(["DIS"]);break;case"GAP":U.gap=!0,U.tagList.push([he]);break;case"BITRATE":if(U.tagList.push([he,oe]),R=parseInt(oe)*1000,ct(R))U.bitrate=R;else R=0;break;case"DATERANGE":{let we=new ks(oe,f),qe=new q1(we,f.dateRanges[we.ID],f.dateRangeTagCount);if(f.dateRangeTagCount++,qe.isValid||f.skippedSegments)f.dateRanges[qe.id]=qe;else In.log(`Ignoring invalid DATERANGE tag: ${qe.invalidReason}: ${oe}`);U.tagList.push(["EXT-X-DATERANGE",oe]);break}case"DEFINE":{{let we=new ks(oe,f);if("IMPORT"in we)FE(f,we,a);else X5(f,we,n)}break}case"DISCONTINUITY-SEQUENCE":if(f.startCC!==0)wo(f,he,X);f.startCC=T=parseInt(oe),d.forEach((we)=>we&&(we.cc=T));break;case"KEY":{let we=e3(oe,n,f);if(we.isSupported()){if(we.method==="NONE"){J=void 0;break}if(!J)J={};let qe=J[we.keyFormat];if(!(qe!=null&&qe.matches(we))){if(qe)J=Hn({},J);J[we.keyFormat]=we}}else In.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${oe}"`);break}case"START":f.startTimeOffset=t3(oe);break;case"MAP":{let we=new ks(oe,f);if(U.duration){let qe=new dh(i,c);if(i3(qe,we,s,J),b=qe,U.initSegment=b,b.rawProgramDateTime&&!U.rawProgramDateTime)U.rawProgramDateTime=b.rawProgramDateTime}else{let qe=U.byteRangeEndOffset;if(qe){let De=U.byteRangeStartOffset;ne=`${qe-De}@${De}`}else ne=null;i3(U,we,s,J),b=U,te=!0}b.cc=T;break}case"SERVER-CONTROL":{if(ie)wo(f,he,X);ie=new ks(oe),f.canBlockReload=ie.bool("CAN-BLOCK-RELOAD"),f.canSkipUntil=ie.optionalFloat("CAN-SKIP-UNTIL",0),f.canSkipDateRanges=f.canSkipUntil>0&&ie.bool("CAN-SKIP-DATERANGES"),f.partHoldBack=ie.optionalFloat("PART-HOLD-BACK",0),f.holdBack=ie.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{if(f.partTarget)wo(f,he,X);let we=new ks(oe);f.partTarget=we.decimalFloatingPoint("PART-TARGET");break}case"PART":{let we=f.partList;if(!we)we=f.partList=[];let qe=v>0?we[we.length-1]:void 0,De=v++,Fe=new ks(oe,f),Be=new W3(Fe,U,c,De,qe);we.push(Be),U.duration+=Be.duration;break}case"PRELOAD-HINT":{let we=new ks(oe,f);f.preloadHint=we;break}case"RENDITION-REPORT":{let we=new ks(oe,f);f.renditionReports=f.renditionReports||[],f.renditionReports.push(we);break}default:In.warn(`line parsed but not handled: ${X}`);break}}}if(N&&!N.relurl){if(d.pop(),x-=N.duration,f.partList)f.fragmentHint=N}else if(f.partList){if(r1(U,N,g),U.cc=T,f.fragmentHint=U,J)r3(U,J,f)}if(!f.targetduration)f.playlistParsingError=Error("Missing Target Duration");let ae=d.length,be=d[0],ye=d[ae-1];if(x+=f.skippedSegments*f.targetduration,x>0&&ae&&ye){f.averagetargetduration=x/ae;let ue=ye.sn;if(f.endSN=ue!=="initSegment"?ue:0,!f.live)ye.endList=!0;if(ee>0){if(KE(d,ee,ee>ae-1?U:null),be)g.unshift(be)}}if(f.fragmentHint)x+=f.fragmentHint.duration;if(f.totalduration=x,g.length&&f.dateRangeTagCount&&be)z9(g,f);return f.endCC=T,f}}function Z5(e,n,s,i,r,a){var l;if(n===void 0)return null;let c=D1(i,n),f={attrs:e,bitrate:e.decimalInteger("BANDWIDTH")||e.decimalInteger("AVERAGE-BANDWIDTH"),name:e.NAME,url:Ma.resolve(c,s)},d=e.decimalResolution("RESOLUTION");if(d)f.width=d.width,f.height=d.height;n3(e.CODECS,f);let g=e["SUPPLEMENTAL-CODECS"];if(g)f.supplemental={},n3(g,f.supplemental);if(!((l=f.unknownCodecs)!=null&&l.length))r.push(f);if(a)f.iframes=!0;return f}function z9(e,n){let s=e.length;if(!s)if(n.hasProgramDateTime){let c=n.fragments[n.fragments.length-1];e.push(c),s++}else return;let i=e[s-1],r=n.live?1/0:n.totalduration,a=Object.keys(n.dateRanges);for(let c=a.length;c--;){let f=n.dateRanges[a[c]],d=f.startDate.getTime();f.tagAnchor=i.ref;for(let g=s;g--;){var l;if(((l=e[g])==null?void 0:l.sn)<n.startSN)break;let b=WE(n,d,e,g,r);if(b){f.tagAnchor=b.ref;break}}}}function WE(e,n,s,i,r){let a=s[i];if(a){let c=a.programDateTime;if(n>=c||i===0){var l;let f=(((l=s[i+1])==null?void 0:l.start)||r)-a.start;if(n<=c+f*1000){let d=a.sn-e.startSN,g=e.fragments;if(d>=0&&d<g.length){if(g.length>s.length){let b=s[i+1]||g[g.length-1],y=Math.min(b.sn-e.startSN,g.length-1);for(let v=y;v>d;v--){let x=g[v].programDateTime;if(n>=x&&n<x+g[v].duration*1000)return g[v]}}return g[d]}}}}return null}function e3(e,n,s){var i,r;let a=new ks(e,s),l=(i=a.METHOD)!=null?i:"",c=a.URI,f=a.hexadecimalInteger("IV"),d=a.KEYFORMATVERSIONS,g=(r=a.KEYFORMAT)!=null?r:"identity";if(c&&a.IV&&!f)In.error(`Invalid IV: ${a.IV}`);let b=c?Ma.resolve(c,n):"",y=(d?d:"1").split("/").map(Number).filter(Number.isFinite);return new So(l,b,g,y,f,a.KEYID)}function t3(e){let s=new ks(e).decimalFloatingPoint("TIME-OFFSET");if(ct(s))return s;return null}function n3(e,n){let s=(e||"").split(/[ ,]+/).filter((i)=>i);["video","audio","text","image"].forEach((i)=>{let r=s.filter((a)=>_1(a,i));if(r.length)n[`${i}Codec`]=r.map((a)=>a.split("/")[0]).join(","),s=s.filter((a)=>r.indexOf(a)===-1)}),n.unknownCodecs=s}function s3(e,n,s){let i=n[s];if(i)e[s]=i}function KE(e,n,s){if(s||(s=e[n]),!s)return;for(let i=n;i--;){let r=e[i];if(!r)return;r.programDateTime=s.programDateTime-r.duration*1000,s=r}}function r1(e,n,s){if(e.rawProgramDateTime)s.push(e);else if(n!=null&&n.programDateTime)e.programDateTime=n.endProgramDateTime}function i3(e,n,s,i){if(e.relurl=n.URI,n.BYTERANGE)e.setByteRange(n.BYTERANGE);if(e.level=s,e.sn="initSegment",i)e.levelkeys=i;e.initSegment=null}function r3(e,n,s){e.levelkeys=n;let{encryptedFragments:i}=s;if((!i.length||i[i.length-1].levelkeys!==n)&&Object.keys(n).some((r)=>n[r].isCommonEncryption))i.push(e)}function wo(e,n,s){e.playlistParsingError=Error(`#EXT-X-${n} must not appear more than once (${s[0]})`)}function YE(e,n,s){e.playlistParsingError=Error(`#EXT-X-${n} must appear before the first Media Segment (${s[0]})`)}function Ig(e,n){let s=n.startPTS;if(ct(s)){let i=0,r;if(n.sn>e.sn)i=s-e.start,r=e;else i=e.start-s,r=n;if(r.duration!==i)r.setDuration(i)}else if(n.sn>e.sn)if(e.cc===n.cc&&e.minEndPTS)n.setStart(e.start+(e.minEndPTS-e.start));else n.setStart(e.start+e.duration);else n.setStart(Math.max(e.start-n.duration,0))}function G9(e,n,s,i,r,a,l,c){if(i-s<=0)c.warn("Fragment should have a positive duration",n),i=s+n.duration,a=r+n.duration;let d=s,g=i,{startPTS:b,endPTS:y}=n;if(ct(b)){let U=Math.abs(b-s);if(e&&U>e.totalduration)c.warn(`media timestamps and playlist times differ by ${U}s for level ${n.level} ${e.url}`);else if(!ct(n.deltaPTS))n.deltaPTS=U;else n.deltaPTS=Math.max(U,n.deltaPTS);d=Math.max(s,b),s=Math.min(s,b),r=n.startDTS!==void 0?Math.min(r,n.startDTS):r,g=Math.min(i,y),i=Math.max(i,y),a=n.endDTS!==void 0?Math.max(a,n.endDTS):a}let v=s-n.start;if(n.start!==0)n.setStart(s);n.setDuration(i-n.start),n.startPTS=s,n.maxStartPTS=d,n.startDTS=r,n.endPTS=i,n.minEndPTS=g,n.endDTS=a;let x=n.sn;if(!e||x<e.startSN||x>e.endSN)return 0;let T,R=x-e.startSN,N=e.fragments;N[R]=n;for(T=R;T>0;T--)Ig(N[T],N[T-1]);for(T=R;T<N.length-1;T++)Ig(N[T],N[T+1]);if(e.fragmentHint)Ig(N[N.length-1],e.fragmentHint);return e.PTSKnown=e.alignedSliding=!0,v}function QE(e,n,s){if(e===n)return;let i=null,r=e.fragments;for(let g=r.length-1;g>=0;g--){let b=r[g].initSegment;if(b){i=b;break}}if(e.fragmentHint)delete e.fragmentHint.endPTS;let a;eC(e,n,(g,b,y,v)=>{if((!n.startCC||n.skippedSegments)&&b.cc!==g.cc){let x=g.cc-b.cc;for(let T=y;T<v.length;T++)v[T].cc+=x;n.endCC=v[v.length-1].cc}if(ct(g.startPTS)&&ct(g.endPTS)){if(b.setStart(b.startPTS=g.startPTS),b.startDTS=g.startDTS,b.maxStartPTS=g.maxStartPTS,b.endPTS=g.endPTS,b.endDTS=g.endDTS,b.minEndPTS=g.minEndPTS,b.setDuration(g.endPTS-g.startPTS),b.duration)a=b;n.PTSKnown=n.alignedSliding=!0}if(g.hasStreams)b.elementaryStreams=g.elementaryStreams;if(b.loader=g.loader,g.hasStats)b.stats=g.stats;if(g.initSegment)b.initSegment=g.initSegment,i=g.initSegment});let l=n.fragments,c=n.fragmentHint?l.concat(n.fragmentHint):l;if(i)c.forEach((g)=>{var b;if(g&&(!g.initSegment||g.initSegment.relurl===((b=i)==null?void 0:b.relurl)))g.initSegment=i});if(n.skippedSegments){if(n.deltaUpdateFailed=l.some((g)=>!g),n.deltaUpdateFailed){s.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let g=n.skippedSegments;g--;)l.shift();n.startSN=l[0].sn}else{if(n.canSkipDateRanges)n.dateRanges=JE(e.dateRanges,n,s);let g=e.fragments.filter((b)=>b.rawProgramDateTime);if(e.hasProgramDateTime&&!n.hasProgramDateTime){for(let b=1;b<c.length;b++)if(c[b].programDateTime===null)r1(c[b],c[b-1],g)}z9(g,n)}n.endCC=l[l.length-1].cc}if(!n.startCC){var f;let g=X9(e,n.startSN-1);n.startCC=(f=g==null?void 0:g.cc)!=null?f:l[0].cc}if(ZE(e.partList,n.partList,(g,b)=>{b.elementaryStreams=g.elementaryStreams,b.stats=g.stats,b.gap=g.gap||b.gap}),a){let g=n.iframesOnly&&a.type===Ct.MAIN;G9(n,a,a.startPTS,a.endPTS,a.startDTS,a.endDTS,g,s)}else V9(e,n);if(l.length)n.totalduration=n.edge-l[0].start;n.driftStartTime=e.driftStartTime,n.driftStart=e.driftStart;let d=n.advancedDateTime;if(n.advanced&&d){let g=n.edge;if(!n.driftStart)n.driftStartTime=d,n.driftStart=g;n.driftEndTime=d,n.driftEnd=g}else n.driftEndTime=e.driftEndTime,n.driftEnd=e.driftEnd,n.advancedDateTime=e.advancedDateTime;if(n.requestScheduled===-1)n.requestScheduled=e.requestScheduled}function JE(e,n,s){let{dateRanges:i,recentlyRemovedDateranges:r}=n,a=Hn({},e);if(r)r.forEach((f)=>{delete a[f]});let c=Object.keys(a).length;if(!c)return i;return Object.keys(i).forEach((f)=>{let d=a[f],g=new q1(i[f].attr,d);if(g.isValid){if(a[f]=g,!d)g.tagOrder+=c}else s.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${cs(i[f].attr)}"`)}),a}function ZE(e,n,s){if(e&&n){let i=0;for(let r=0,a=e.length;r<a;r++){let l=e[r],c=n[r+i];if(l&&c&&l.index===c.index&&l.fragment.sn===c.fragment.sn)s(l,c);else i--}}}function eC(e,n,s){var i;let r=n.skippedSegments,a=Math.max(e.startSN,n.startSN)-n.startSN,l=(e.fragmentHint?1:0)+(r?n.endSN:Math.min(e.endSN,n.endSN))-n.startSN,c=n.startSN-e.startSN,f=n.fragmentHint?n.fragments.concat(n.fragmentHint):n.fragments,d=(i=e.fragmentHint)!=null&&i.duration?e.fragments.concat(e.fragmentHint):e.fragments;for(let g=a;g<=l;g++){let b=d[c+g],y=f[g];if(r&&!y&&b)y=n.fragments[g]=b;if(b&&y){s(b,y,g,f);let v=b.relurl,x=y.relurl;if(v&&nC(v,x)){n.playlistParsingError=a3(`media sequence mismatch ${y.sn}:`,e,n,b,y);return}else if(b.cc!==y.cc){n.playlistParsingError=a3(`discontinuity sequence mismatch (${b.cc}!=${y.cc})`,e,n,b,y);return}}}}function a3(e,n,s,i,r){return Error(`${e} ${r.url}
23
- Playlist starting @${n.startSN}
24
- ${n.m3u8}
25
-
26
- Playlist starting @${s.startSN}
27
- ${s.m3u8}`)}function V9(e,n,s=!0,i){let r=n.startSN+n.skippedSegments-e.startSN,a=e.fragments,l=r>=0,c=0;if(l&&r<a.length)c=a[r].start,i==null||i.log(`Aligning playlists based on SN ${n.startSN} (diff: ${c})`);else if(l&&n.startSN===e.endSN+1)c=e.fragmentEnd,i==null||i.log(`Aligning playlists based on first/last SN ${n.startSN} (diff: ${c})`);else if(l&&s)c=e.fragmentStart+r*n.levelTargetDuration;else if(!n.skippedSegments&&n.fragmentStart===0)c=e.fragmentStart,i==null||i.log(`Aligning playlists based on first SN ${n.startSN} (diff: ${c})`);else return c;return tC(n,c),c}function tC(e,n){if(n){let s=e.fragments;for(let i=e.skippedSegments;i<s.length;i++)s[i].addStart(n);if(e.fragmentHint)e.fragmentHint.addStart(n)}}function $9(e,n=1/0){let s=1000*e.targetduration;if(e.updated){let i=e.fragments,r=4;if(i.length&&s*4>n){let a=i[i.length-1].duration*1000;if(a>0&&a<s)s=a}}else s/=2;return Math.round(s)}function X9(e,n,s){var i;if(!e)return null;let r=e.fragments[n-e.startSN];if(r)return r;if(r=e.fragmentHint,((i=r)==null?void 0:i.sn)===n)return r;if(s&&n<e.startSN&&s.sn===n)return s;return null}function o3(e,n,s){if(!e)return null;return W9(e.partList,n,s)}function W9(e,n,s){if(e)for(let i=e.length;i--;){let r=e[i];if(r.index===s&&r.fragment.sn===n)return r}return null}function K9(e){e.forEach((n,s)=>{var i;(i=n.details)==null||i.fragments.forEach((r)=>{if(r.level=s,r.initSegment)r.initSegment.level=s})})}function nC(e,n){if(e!==n&&n)return l3(e)!==l3(n);return!1}function l3(e){return e.replace(/\?[^?]*$/,"")}function wh(e,n){for(let i=0,r=e.length;i<r;i++){var s;if(((s=e[i])==null?void 0:s.cc)===n)return e[i]}return null}function sC(e,n){if(e){if(n.startCC<e.endCC&&n.endCC>e.startCC)return!0}return!1}function c3(e,n){let s=e.start+n;e.setStart(s)}function Y9(e,n){let s=n.fragments;for(let i=0,r=s.length;i<r;i++)c3(s[i],e);if(n.fragmentHint)c3(n.fragmentHint,e);n.alignedSliding=!0}function a0(e,n,s){if(!e)return;if(iC(n,e,s),!n.alignedSliding)rC(n,e,s);if(!n.alignedSliding&&!n.skippedSegments)V9(e,n,!1,s)}function iC(e,n,s){if(!sC(n,e))return;let i=Math.min(n.endCC,e.endCC),r=wh(n.fragments,i),a=wh(e.fragments,i);if(!r||!a)return;let l=r.start-a.start;s.log(`Aligning playlists using dicontinuity sequence ${i} (diff: ${l})`),Y9(l,e)}function rC(e,n,s){if(!e.hasProgramDateTime||!n.hasProgramDateTime)return;let i=e.fragments,r=n.fragments;if(!i.length||!r.length)return;let a,l,c=Math.min(n.endCC,e.endCC);if(n.startCC<c&&e.startCC<c)a=wh(r,c),l=wh(i,c);if(!a||!l)a=r[Math.floor(r.length/2)]||r.filter((y)=>!!y)[0],l=wh(i,a.cc)||i[Math.floor(i.length/2)];let f=a.programDateTime,d=l.programDateTime;if(!f||!d)return;let g=(d-f)/1000;if(Math.abs(g)>Math.max(60,e.totalduration)){s.log(`Cannot align playlists using PDT without overlap (${Math.abs(g)} > ${e.totalduration})`);return}let b=g-(l.start-a.start);s.log(`Aligning playlists using PDT (diff: ${b})`),Y9(b,e)}function Nn(e,n,s){On(e,n,s),e.addEventListener(n,s)}function On(e,n,s){e.removeEventListener(n,s)}function o0(e){let n="",s=e.length;for(let i=0;i<s;i++)n+=`[${e.start(i).toFixed(3)}-${e.end(i).toFixed(3)}]`;return n}var Ve={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"};class y0 extends R1{constructor(e,n,s,i,r){super(i,e.logger);this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragPlaying=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=Ve.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=-1,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.initFragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:a,fragCurrent:l,media:c,mediaBuffer:f,state:d}=this,g=c?c.currentTime:0,b=Ot.bufferInfo(f?f:c,g,a.maxBufferHole),y=b.len;if(this.log(`Media seeking to ${g}, state: ${d}, ${!y?"out of":"in"} buffer`),this.state===Ve.ENDED)this.resetLoadingState();else if(l){let x=a.maxFragLookUpTolerance,T=l.start-x,R=l.start+l.duration+x;if(!y||R<b.start||T>b.end){let N=g<T,U=g>R;if(N||U)if(l.loader&&(U||!this.isFragmentNearlyDownloaded(l)))this.log(`Cancelling fragment load for seek (sn: ${l.sn}) - ${N?"backward":"forward"} seek`),l.abortRequests(),this.resetLoadingState();else this.fragPrevious=null}}if(c){this.fragmentTracker.removeFragmentsInRange(g,1/0,this.playlistType,!0);let x=this.lastCurrentTime;if(g>x)this.lastCurrentTime=g;if(!this.loadingParts){let T=Math.max(b.end,g),R=this.shouldLoadParts(this.getLevelDetails(),T);if(R)this.log(`LL-Part loading ON after seeking to ${g} with buffer @${T}`),this.loadingParts=R}}let v=!Ot.isBuffered(c,g);if(!this.hls.hasEnoughToStart||v){if(this.log(`Setting ${v?"startPosition":"nextLoadPosition"} to ${g} for seek without enough to start`),this.nextLoadPosition=g,v)this.startPosition=g}if(y<1&&this.state===Ve.IDLE)this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=r,this.hls=e,this.fragmentLoader=new n1(e.config),this.initFragmentLoader=new n1(e.config),this.keyLoader=s,this.fragmentTracker=n,this.config=e.config,this.decrypter=new b0(e.config)}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===Ve.STOPPED)return;this.fragmentLoader.abort(),this.initFragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;if(e!=null&&e.loader)e.abortRequests(),this.fragmentTracker.removeFragment(e);this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Ve.STOPPED}get startPositionValue(){let{nextLoadPosition:e,startPosition:n}=this;if(n===-1&&e){let s=this.getLevelDetails();if(s!=null&&s.live)return(this.hls.liveSyncPosition||s.fragmentStart)+this.timelineOffset;return e}return n}get bufferingEnabled(){return this.buffering}get backtrackFragment(){return}set backtrackFragment(e){}get couldBacktrack(){return!1}set couldBacktrack(e){}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,n){if(n.live||!this.media)return!1;let s=e.end||0,i=this.config.timelineOffset||0;if(s<=i)return!1;let r=e.buffered;if(this.config.maxBufferHole&&r&&r.length>1)e=Ot.bufferedInfo(r,e.start,0);let a=e.nextStart;if(a&&a>i&&a<n.edge)return!1;if(this.media.currentTime<e.start)return!1;let c=n.partList;if(c!=null&&c.length){let d=c[c.length-1];return Ot.isBuffered(this.media,d.start+d.duration/2)}let f=n.fragments[n.fragments.length-1];return this.fragmentTracker.isEndListAppended(f.type)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null)return this.levelLastLoaded.details}get timelineOffset(){let e=this.config.timelineOffset;if(e){var n;return((n=this.getLevelDetails())==null?void 0:n.appliedTimelineOffset)||e}return 0}onMediaAttached(e,n){let s=this.media=this.mediaBuffer=n.media;Nn(s,"seeking",this.onMediaSeeking),Nn(s,"ended",this.onMediaEnded);let i=this.config;if(this.levels&&i.autoStartLoad&&this.state===Ve.STOPPED)this.startLoad(i.startPosition)}onMediaDetaching(e,n){this.fragPlaying=null;let s=!!n.transferMedia,i=this.media;if(i===null)return;if(i.ended)this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0;if(On(i,"seeking",this.onMediaSeeking),On(i,"ended",this.onMediaEnded),this.media=this.mediaBuffer=null,this.loopSn=void 0,s){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onManifestLoading(){this.initPTS=[],this.fragPlaying=this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=0,this.startPosition=-1,this.startFragRequested=!1}onError(e,n){}onManifestLoaded(e,n){this.startTimeOffset=n.startTimeOffset}onHandlerDestroying(){if(this.stopLoad(),this.transmuxer)this.transmuxer.destroy(),this.transmuxer=null;super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){if(this.state=Ve.STOPPED,this.fragmentLoader)this.fragmentLoader.destroy();if(this.initFragmentLoader)this.initFragmentLoader.destroy();if(this.keyLoader)this.keyLoader.destroy();if(this.decrypter)this.decrypter.destroy();this.hls=this.decrypter=this.keyLoader=null,this.fragmentLoader=this.initFragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,n,s){this.startFragRequested=!0,this._loadFragForPlayback(e,n,s)}_loadFragForPlayback(e,n,s){let i=(r)=>{let a=r.frag;if(this.fragContextChanged(a)){this.warn(`${a.type} sn: ${a.sn}${r.part?" part: "+r.part.index:""} of ${this.fragInfo(a,!1,r.part)} was dropped during download.`),this.fragmentTracker.removeFragment(a);return}let l=++a.stats.chunkCount;this.log(`load progress ${a.type} sn: ${a.sn}${r.part?" part: "+r.part.index:""} of ${this.fragInfo(a,!1,r.part)} chunk: ${l}`),this._handleFragmentLoadProgress(r)};this._doFragLoad(e,n,s,i).then((r)=>{if(!r)return;let a=this.state,l=r.frag;if(this.fragContextChanged(l)){if(a===Ve.FRAG_LOADING||!this.fragCurrent&&a===Ve.PARSING)this.fragmentTracker.removeFragment(l),this.state=Ve.IDLE;return}if("payload"in r)this.log(`Loaded ${l.type} sn: ${l.sn} of ${this.playlistLabel()} ${l.level} (bytes ${l.stats.loaded})`),this.hls.trigger(Z.FRAG_LOADED,r);this._handleFragmentLoadComplete(r)}).catch((r)=>{if(this.state===Ve.STOPPED||this.state===Ve.ERROR)return;this.log(`Frag error ${e.type} sn:${e.sn} cc:${e.cc}: ${(r==null?void 0:r.message)||r}`),this.resetFragmentLoading(e)})}clearTrackerIfNeeded(e){var n;let{fragmentTracker:s}=this;if(s.getState(e)===Ts.APPENDING){let r=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,r),l=Math.max(e.duration,a?a.len:this.config.maxBufferLength),c=this.backtrackFragment;if((c?e.sn-c.sn:0)===1||this.reduceMaxBufferLength(l,e.duration))s.removeFragment(e)}else if(((n=this.mediaBuffer)==null?void 0:n.buffered.length)===0)s.removeAllFragments();else if(s.hasParts(e.type)){if(s.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),s.getState(e)===Ts.PARTIAL)s.removeFragment(e)}}checkLiveUpdate(e){if(e.updated&&!e.live){let n=this.fragmentTracker,s=e.fragments[e.fragments.length-1];if(s.endList&&!n.isEndListAppended(this.playlistType)){let i=n.getPartialFragment(s.end);if(i)n.removeFragment(i),n.fragBuffered(s,!0)}n.detectPartialFragments({frag:s,part:null,stats:s.stats,id:s.type})}if(!e.fragments[0])e.deltaUpdateFailed=!0}waitForLive(e){let n=e.details;return(n==null?void 0:n.live)&&n.type!=="EVENT"&&(this.levelLastLoaded!==e||n.expired)}flushMainBuffer(e,n,s=null){if(!(e-n))return;let i={startOffset:e,endOffset:n,type:s};this.hls.trigger(Z.BUFFER_FLUSHING,i)}_loadInitSegment(e){let{hls:n}=this;return this.initFragmentLoader.abort(),n.trigger(Z.FRAG_LOADING,{frag:e,targetBufferTime:0}),this.initFragmentLoader.load(e).then((s)=>{var i;let r=s.frag;if(!this.levels||!Xg(r,(i=this.fragCurrent)==null?void 0:i.initSegment))throw new oa({type:Dt.NETWORK_ERROR,details:Le.INTERNAL_ABORTED,error:Error("init load aborted"),fatal:!1,frag:r,networkDetails:null});return s}).then((s)=>{let{frag:i,payload:r}=s,a=i.decryptdata;if(r&&r.byteLength>0&&a!=null&&a.key&&a.iv&&Qc(a.method)){let l=self.performance.now(),{decryptRange:c}=s0(i,null,this.iframesOnly);return this.decrypter.decrypt(new Uint8Array(r),a.key.buffer,a.iv.buffer,M1(a.method),c).catch((f)=>{throw n.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.FRAG_DECRYPT_ERROR,fatal:!1,error:f,reason:f.message,frag:i}),this.fragmentLoader.abort(),f}).then((f)=>{let d=self.performance.now();return n.trigger(Z.FRAG_DECRYPTED,{frag:i,part:null,payload:f,stats:{tstart:l,tdecrypt:d}}),s.payload=f,this.completeInitSegmentLoad(s)})}return this.completeInitSegmentLoad(s)})}completeInitSegmentLoad(e){let n=e.frag.stats;e.frag.data=new Uint8Array(e.payload),n.parsing.start=n.buffering.start=self.performance.now(),n.parsing.end=n.buffering.end=self.performance.now()}loadInitSegmentIfNeeded(e){let{initSegment:n}=e;if(!this.bitrateTest&&Fs(e)&&n&&!n.data){var s;return(n.encrypted&&!((s=n.decryptdata)!=null&&s.key)?this.keyLoader.load(n).then(()=>this._loadInitSegment(n)):this._loadInitSegment(n)).catch((r)=>{if(this.state===Ve.STOPPED||this.state===Ve.ERROR)throw r;if("data"in r)r.data.frag=e,this.fragmentLoader.abort(),this.handleFragLoadError(r);throw this.resetFragmentLoading(e),r})}}unhandledEncryptionError(e,n){var s,i;let r=e.tracks;if(r&&!n.encrypted&&((s=r.audio)!=null&&s.encrypted||(i=r.video)!=null&&i.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let a=this.media,l=Error(`Encrypted track with no key in ${this.fragInfo(n)} (media ${a?"attached mediaKeys: "+a.mediaKeys:"detached"})`);if(this.warn(l.message),!a||a.mediaKeys)return!1;return this.hls.trigger(Z.ERROR,{type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_KEYS,fatal:!1,error:l,frag:n}),this.resetTransmuxer(),!0}return!1}fragContextChanged(e){let{fragCurrent:n}=this;return!e||!Xg(e,n)}fragBufferedComplete(e,n){let s=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)} > buffer:${s?o0(Ot.getBuffered(s)):"(detached)"})`),Fs(e)){var i;if(e.type!==Ct.SUBTITLE){let a=e.elementaryStreams;if(!Object.keys(a).some((l)=>!!a[l])){this.state=Ve.IDLE;return}}let r=(i=this.levels)==null?void 0:i[e.level];if(r!=null&&r.fragmentError&&(n||this.fragmentTracker.getState(e)!==Ts.PARTIAL))this.log(`Resetting level fragment error count of ${r.fragmentError} on frag buffered`),r.fragmentError=0,e.stats.retry=0}this.state=Ve.IDLE}_handleFragmentLoadComplete(e){let{transmuxer:n}=this;if(!n)return;let s=e.frag,{part:i,partsLoaded:r}=e,a=!r||r.length===0||r.some((f)=>!f),{decryptRange:l}=s0(s,i),c=new w0(s.level,s.sn,s.stats.chunkCount+1,0,i?i.index:-1,!a,s.duration,this.iframesOnly,l);this.log(`load complete ${s.type} sn: ${s.sn}${i?" part: "+i.index:""} of ${this.fragInfo(s,!1,i)}`),n.flush(c)}_handleFragmentLoadProgress(e){}loadKeyFor(e,n,s){var i;let r=null;if(e.encrypted&&!((i=e.decryptdata)!=null&&i.key))this.log(`Loading key for ${e.sn} of [${n.startSN}-${n.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=Ve.KEY_LOADING,r=this.keyLoader.load(e,s).then((a)=>{if(!this.fragContextChanged(a.frag)){if(this.hls.trigger(Z.KEY_LOADED,a),this.state===Ve.KEY_LOADING)this.state=Ve.IDLE;return a}}),this.hls.trigger(Z.KEY_LOADING,{frag:e});else if(!e.encrypted){if(r=this.keyLoader.loadClear(e,n.encryptedFragments,this.startFragRequested),r)this.log(`[eme] blocking frag sn: ${e.sn} load until media-keys acquired`)}return r}_doFragLoad(e,n,s=null,i){this.fragCurrent=e;let r=n.details;if(!this.levels||!r)throw Error(`frag load aborted, missing level${r?"":" detail"}s`);let a=this.fragPrevious;if(!uh(e,a)){let y=this.shouldLoadParts(n.details,e.end);if(y!==this.loadingParts)this.log(`LL-Part loading ${y?"ON":"OFF"} loading sn ${a==null?void 0:a.sn}->${e.sn}`),this.loadingParts=y}if(s=Math.max(e.start,s||0),this.loadingParts){let y=r.partList;if(y&&i){if(s>r.fragmentEnd&&r.fragmentHint)e=r.fragmentHint;let v=this.getNextPart(y,e,s);if(v>-1){let x=y[v];if(e=this.fragCurrent=x.fragment,!uh(e,a)&&!this.shouldLoadParts(n.details,e.end))return this.log(`LL-Part loading OFF @${this.playhead} next part: ${this.fragInfo(e,!1,x)}`),this.loadingParts=!1,Promise.resolve(null);if(!this.filterReplacedPrimary(x,n.details))return Promise.resolve(null);let T=this.loadKeyFor(e,r);if(this.fragContextChanged(e))return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} part: ${x.index} (${v}/${y.length-1}) of ${this.fragInfo(e,!1,x)} cc: ${e.cc} [${r.startSN}-${r.endSN}], target: ${s}${x.byteRange.length?` range:${x.byteRange.join("-")}`:""}`),this.nextLoadPosition=x.start+x.duration,this.state=Ve.FRAG_LOADING;let R,N=this.loadInitSegmentIfNeeded(e);if(T||N){let U=!!T;R=Promise.all([T,N]).then(([X])=>{if(U&&(!X||this.fragContextChanged(X.frag)))return null;return this.doFragPartsLoad(e,x,n,i)}).catch((X)=>this.handleFragLoadError(X))}else R=this.doFragPartsLoad(e,x,n,i).catch((U)=>this.handleFragLoadError(U));if(this.hls.trigger(Z.FRAG_LOADING,{frag:e,part:x,targetBufferTime:s}),this.fragCurrent===null)return Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING parts"));return R}else if(!e.url||this.loadedEndOfParts(y,s))return Promise.resolve(null)}}if(this.loadingParts){var l;this.log(`LL-Part loading OFF after next part miss @${s} Check buffer at sn: ${e.sn} loaded parts: ${(l=r.partList)==null?void 0:l.filter((y)=>y.loaded).map((y)=>`[${y.start}-${y.end}]`)}`),this.loadingParts=!1}else if(!e.url)return Promise.resolve(null);if(!this.filterReplacedPrimary(e,n.details))return Promise.resolve(null);let c=this.loadInitSegmentIfNeeded(e),f=this.loadKeyFor(e,r,c);if(this.fragContextChanged(e)){var d;return this.log(`Context changed in KEY_LOADING sn: ${e.sn} ${e.relurl} > ${(d=this.fragCurrent)==null?void 0:d.relurl}`),c==null||c.catch(()=>null),f==null||f.catch(()=>null),Promise.resolve(null)}if(this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)} cc: ${e.cc} ${"["+r.startSN+"-"+r.endSN+"]"}, target: ${s}${e.byteRange.length?` range:${e.byteRange.join("-")}`:""}`),ct(e.sn)&&!this.bitrateTest)this.nextLoadPosition=e.start+e.duration;this.state=Ve.FRAG_LOADING;let g=this.config.progressive&&e.type!==Ct.SUBTITLE,b;if(g&&f)b=f.then((y)=>{if(!y||this.fragContextChanged(y.frag))return null;return this.fragmentLoader.load(e,this.iframesOnly,i,c)}).catch((y)=>this.handleFragLoadError(y));else b=Promise.all([this.fragmentLoader.load(e,this.iframesOnly,g?i:void 0,g?c:void 0),f,c]).then(([y])=>{if(!g&&i)i(y);return y}).catch((y)=>this.handleFragLoadError(y));if(this.hls.trigger(Z.FRAG_LOADING,{frag:e,targetBufferTime:s}),this.fragCurrent===null)return Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING"));return Promise.all([b,c]).then(([y])=>y)}doFragPartsLoad(e,n,s,i){return new Promise((r,a)=>{var l;let c=[],f=(l=s.details)==null?void 0:l.partList,d=(g)=>{this.fragmentLoader.loadPart(e,g,i).then((b)=>{c[g.index]=b;let y=b.part;this.hls.trigger(Z.FRAG_LOADED,b);let v=o3(s.details,e.sn,g.index+1)||W9(f,e.sn,g.index+1);if(v)d(v);else return r({frag:e,part:y,partsLoaded:c})}).catch(a)};d(n)})}handleFragLoadError(e){if("data"in e){let n=e.data;if(n.frag&&n.details===Le.INTERNAL_ABORTED)this.handleFragLoadAborted(n.frag,n.part);else if(n.frag&&n.type===Dt.KEY_SYSTEM_ERROR&&!n.fatal)n.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(n.frag);this.hls.trigger(Z.ERROR,n)}else this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let n=this.getCurrentContext(e);if(!n||this.state!==Ve.PARSING){if(!this.fragCurrent&&this.state!==Ve.STOPPED&&this.state!==Ve.ERROR)this.state=Ve.IDLE;return}let{frag:s,part:i,level:r}=n,a=self.performance.now();if(s.stats.parsing.end=a,i)i.stats.parsing.end=a;let l=this.getLevelDetails(),f=l&&s.sn>l.endSN||this.shouldLoadParts(l,s.end);if(f!==this.loadingParts)this.log(`LL-Part loading ${f?"ON":"OFF"} after parsing segment ending @${s.end}`),this.loadingParts=f;this.updateLevelTiming(s,i,r,e)}shouldLoadParts(e,n){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList&&!this.iframesOnly){var s;let i=e.partList[0],r=i.end+(((s=e.fragmentHint)==null?void 0:s.duration)||0);if(n>=r){if(this.playhead>i.start-i.fragment.duration)return!0}}}return!1}getCurrentContext(e){let{levels:n,fragCurrent:s}=this,{level:i,sn:r,part:a}=e;if(!(n!=null&&n[i]))return this.warn(`Levels object was unset while buffering fragment ${r} of ${this.playlistLabel()} ${i}. The current chunk will not be buffered.`),null;let l=n[i],c=l.details,f=a>-1?o3(c,r,a):null,d=f?f.fragment:X9(c,r,s);if(!d)return null;if(s&&s!==d)d.stats=s.stats;return{frag:d,part:f,level:l}}bufferFragmentData(e,n,s,i,r){if(this.state!==Ve.PARSING)return;if(Fs(n)&&!this.fragContextChanged(n))this.fragPrevious=n;let{data1:a,data2:l}=e,c=a;if(l)c=qr(a,l);if(!c.length)return;let f=this.initPTS[n.cc],d=f?-f.baseTime/f.timescale:void 0,g={type:e.type,frag:n,part:s,chunkMeta:i,offset:d,parent:n.type,data:c};if(this.hls.trigger(Z.BUFFER_APPENDING,g),e.dropped&&e.independent&&!s){if(r)return;this.flushBufferGap(n)}}flushBufferGap(e){let n=this.media;if(!n)return;if(!Ot.isBuffered(n,n.currentTime)){this.flushMainBuffer(0,e.start);return}let s=n.currentTime,i=Ot.bufferInfo(n,s,0),r=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,r*0.25),l=Math.max(Math.min(e.start-a,i.end-a),s+a);if(e.start-l>a)this.flushMainBuffer(l,e.start)}getFwdBufferInfo(e,n){var s;let i=this.playhead,a=this.lastCurrentTime>i||(s=this.media)!=null&&s.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,i,n,a)}getFwdBufferInfoAtPos(e,n,s,i){let r=Ot.bufferInfo(e,n,i);if(r.len===0&&r.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(n,s);if(a&&(r.nextStart<=a.end||a.gap)){let l=Math.max(Math.min(r.nextStart,a.end)-n,i);return Ot.bufferInfo(e,n,l)}}return r}getMaxBufferLength(e){let{config:n}=this,s;if(e)s=Math.max(8*n.maxBufferSize/e,n.maxBufferLength);else s=n.maxBufferLength;return Math.min(s,n.maxMaxBufferLength)}exceedsMaxBuffer(e,n,s){let i=e.nextStart;if(i&&s.start>i){let r=e.buffered;if(r){let{len:a,bufferedIndex:l}=e;for(let c=r.length-1;c>l;c--)if(r[c].start<s.start)a+=r[c].end-r[c].start;return a>=n}}return!1}reduceMaxBufferLength(e,n){let s=this.config,i=Math.max(Math.min(e-n,s.maxBufferLength),n/2),r=Math.max(e-n*3,s.maxMaxBufferLength/2,i);if(r>=i)return s.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0;return!1}getAppendedFrag(e){let n=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,this.playlistType):null;if(n&&"fragment"in n)return n.fragment;return n}getNextFragment(e,n){let s=n.fragments,i=s.length;if(!i)return null;let{config:r}=this,a=n.fragmentStart,l=r.lowLatencyMode&&!!n.partList,c=null;if(n.live){let g=r.initialLiveManifestSize;if(i<g)return this.warn(`Not enough fragments to start playback (have: ${i}, need: ${g})`),null;if(!this.startFragRequested&&l&&!this.loadingParts)this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0;if(!n.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a){var f;c=this.getInitialLiveFragment(n);let b=this.config.startPosition,y=this.hls.startPosition,v=this.hls.liveSyncPosition,x=((f=c)==null?void 0:f.start)||0,T,R;if(y!==-1&&y>=a)T=y,R=y===b?"config":"next load start";else if(v)T=v,R="live edge";else T=e,R="buffer pos";if(T<x)T=x,R="live frag start";if(T<a)T=a,R="playlist start";if(this.startPosition!=T||this.nextLoadPosition!=T){let U=n.live&&!this.filterReplacedPrimary(c,n)?-1:T;this.log(`Setting startPosition to ${U} next load ${T} ${y===-1?"":`(from ${b}) `}based on ${R}. live edge: ${v} live frag start: ${x} playlist start: ${a} buffer pos: ${e}`),this.startPosition=U,this.nextLoadPosition=T}}}else if(e<=a)c=s[0];if(!c){let g=this.loadingParts?n.partEnd:n.fragmentEnd;c=this.getFragmentAtPosition(e,g,n)}let d=this.filterReplacedPrimary(c,n);if(!d&&c){if(d=I9(n,c.sn),d)this.nextLoadPosition=d.start}return d}isLoopLoading(e,n){if(this.nextLoadPosition<=n)return!1;let s=this.fragmentTracker.getState(e);if(s===Ts.OK)return!0;if(s===Ts.PARTIAL){if(e.gap)return!0;if(e.stats.retry>1)return!0}return!1}getNextFragmentLoopLoading(e,n,s,i,r){let a=null;if(e.gap){if(a=this.getNextFragment(this.nextLoadPosition,n),a&&!a.gap&&s.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,s.nextStart,i,0);if(l!==null&&s.len+l.len>=r){let c=a.sn;if(this.loopSn!==c)this.log(`buffer full after gaps in "${i}" playlist starting at sn: ${c}`),this.loopSn=c;return null}}}return this.loopSn=void 0,a}get primaryPrefetch(){if(l0(this.config)){var e;if((e=this.hls.interstitialsManager)==null||(e=e.playingItem)==null?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,n){if(!e)return e;if(l0(this.config)&&("type"in e?e:e.fragment).type!==Ct.SUBTITLE){let s=this.hls.interstitialsManager,i=s==null?void 0:s.bufferingItem;if(i){let r=i.event;if(r){if(!r.appendInPlace&&(Math.abs(e.start-i.start)>1||i.start===0))return null}else{if(e.end<=i.start&&(n==null?void 0:n.live)===!1)return null;if(e.start>=i.end&&i.nextEvent){if(i.nextEvent.appendInPlace&&!i.nextEvent.hasPlayed||e.start-i.end>1)return null}}}if(Q9(e,s==null?void 0:s.playerQueue,this.playhead))return null}return e}getNextPart(e,n,s){let i=-1,r=!1,a=!0;for(let c=0,f=e.length;c<f;c++){let d=e[c];if(a=a&&!d.independent,i>-1&&s<d.start)break;let g=d.loaded||d.gap;if(g)i=-1;else if(r||(d.independent||a)&&d.fragment===n)i=c;r=g&&!d.gap}let l=e[i];if(l&&l.fragment!==n)this.log(`Need buffer at ${s} but next unloaded part starts at ${l.start} (sn: ${n.sn} -> ${l.fragment.sn})`);return i}loadedEndOfParts(e,n){let s;for(let i=e.length;i--;){if(s=e[i],!s.loaded)return!1;if(n>s.start)return!0}return!1}getInitialLiveFragment(e){let n=e.fragments,s=this.fragPrevious,i=null;if(s){if(e.hasProgramDateTime){if(i=jE(n,s.endProgramDateTime,this.config.maxFragLookUpTolerance),i)this.log(`Live playlist, switching playlist, load frag with same PDT: ${s.programDateTime}`)}if(!i){let r=s.sn+1;if(r>=e.startSN&&r<=e.endSN){let a=n[r-e.startSN];if(s.cc===a.cc)i=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${i.sn}`)}if(!i){if(i=_9(e,s.cc,s.end),i)this.log(`Live playlist, switching playlist, load frag with same CC: ${i.sn}`)}}}else{let r=this.hls.liveSyncPosition;if(r!==null)i=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e)}return i}getFragmentAtPosition(e,n,s){let{config:i}=this,{fragPrevious:r}=this,{fragments:a,endSN:l}=s,{fragmentHint:c}=s,{maxFragLookUpTolerance:f}=i,d=s.partList,g=!!(this.loadingParts&&d!=null&&d.length&&c);if(g&&!this.bitrateTest&&d[d.length-1].fragment.sn===c.sn)a=a.concat(c),l=c.sn;if(r&&this.fragmentTracker.getState(r)===Ts.NOT_LOADED)r=null;let b;if(e<n){var y;let x=e<this.lastCurrentTime||e>n-f||(y=this.media)!=null&&y.paused||!this.startFragRequested?0:f;b=nf(r,a,e,x)}else b=a[a.length-1];if(b){let v=b.sn-s.startSN,x=this.fragmentTracker.getState(b);if(x===Ts.OK||x===Ts.PARTIAL&&b.gap)r=b;if(uh(b,r)&&(!g||d[0].fragment.sn>b.sn||!s.live)){let T=a[v+1];if(b.sn<l&&this.fragmentTracker.getState(T)!==Ts.OK)b=T;else b=null}}return b}alignPlaylists(e,n,s){let i=e.fragments.length;if(!i)return this.warn("No fragments in live playlist"),0;let r=e.fragmentStart,a=!n,l=e.alignedSliding&&ct(r);if(a||!l&&!r){a0(s,e,this);let c=e.fragmentStart;return this.log(`Live playlist sliding: ${c} start-sn: ${n?n.startSN:"na"}->${e.startSN} fragments: ${i}`),c}return r}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,n){let s=this.startPosition;if(s<n)s=-1;let i=this.timelineOffset;if(s===-1){let r=this.startTimeOffset!==null,a=r?this.startTimeOffset:e.startTimeOffset;if(a!==null&&ct(a)){if(s=n+a,a<0)s+=e.edge;s=Math.min(Math.max(n,s),n+e.totalduration),this.log(`Setting startPosition to ${s} for start time offset ${a} found in ${r?"multivariant":"media"} playlist`),this.startPosition=s}else if(e.live){let l=this.hls.liveSyncPosition;s=l||n,this.log(`Setting startPosition to -1 to start at ${l?"live edge":"playlist start"} ${s}`),this.startPosition=-1}else this.log("setting startPosition to 0 by default"),this.startPosition=s=0;this.lastCurrentTime=s+i}this.nextLoadPosition=s+i}getLoadPosition(){var e;let{media:n}=this,s=0;if((e=this.hls)!=null&&e.hasEnoughToStart&&n&&!this.iframesOnly)s=n.currentTime;else if(this.nextLoadPosition>=0)s=this.nextLoadPosition;return s}get playhead(){var e;if((e=this.hls)!=null&&e.hasEnoughToStart){var n;let s=(n=this.media)==null?void 0:n.currentTime;if(ct(s))return s;return this.lastCurrentTime}return this.getLoadPosition()}get iframesOnly(){var e;if(this.playlistType!==Ct.MAIN)return!1;let n=this.getLevelDetails();if(n)return n.iframesOnly;return(e=this.levelLastLoaded)==null?void 0:e.iframes}handleFragLoadAborted(e,n){if(this.transmuxer&&e.type===this.playlistType&&Fs(e)&&e.stats.aborted)this.log(`Fragment ${e.sn}${n?" part "+n.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e)}resetFragmentLoading(e){if(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==Ve.FRAG_LOADING_WAITING_RETRY)this.state=Ve.IDLE}onFragmentOrKeyLoadError(e,n){if(n.chunkMeta&&!n.frag){let N=this.getCurrentContext(n.chunkMeta);if(N)n.frag=N.frag}let{frag:s,part:i}=n;if(!s||!this.levels||s.type!==e)return;if(this.fragContextChanged(s)){var r;this.warn(`Frag load error must match current frag to retry ${s.relurl} > ${(r=this.fragCurrent)==null?void 0:r.relurl}`);return}let a=n.details===Le.FRAG_GAP;if(a)this.fragmentTracker.addAsGap(s);let l=n.errorAction;if(!l){this.state=Ve.ERROR;return}let{action:c,flags:f,retryCount:d=0,retryConfig:g}=l,b=!!g,y=b&&c===di.RetryRequest,v=b&&!l.resolved&&f&ui.MoveAllAlternatesMatchingHost,x=this.hls.latestLevelDetails,T=x==null?void 0:x.live;if(!y&&v&&Fs(s)&&T&&s.sn<x.endSN&&!Q3(n)){if(this.resetFragmentErrors(e),i)i.gap=!0;else this.treatAsGap(s);l.resolved=!0}else if((y||v)&&d<g.maxNumRetry){var R;let N=kh((R=n.response)==null?void 0:R.code),U=A1(g,d);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+U,this.state=Ve.FRAG_LOADING_WAITING_RETRY,l.resolved=!0,N){this.log("Waiting for connection (offline)"),this.retryDate=1/0,n.reason="offline";return}this.warn(`Fragment ${s.sn} of ${e} ${s.level} errored with ${n.details}, retrying loading ${d+1}/${g.maxNumRetry} in ${U}ms`)}else if(g)if(this.resetFragmentErrors(e),d<g.maxNumRetry){if(!a&&c!==di.RemoveAlternatePermanently)l.resolved=!0}else{this.warn(`${n.details} reached or exceeded max retry (${d})`);return}else if(c===di.SendAlternateToPenaltyBox)this.state=Ve.WAITING_LEVEL;else this.state=Ve.ERROR;this.tickImmediate()}checkRetryDate(){let e=self.performance.now(),n=this.retryDate,s=n===1/0;if(!n||e>=n||s&&!kh(0)){if(s)this.log("Connection restored (online)");this.resetStartWhenNotLoaded(),this.state=Ve.IDLE}}reduceLengthAndFlushBuffer(e){if(this.state===Ve.PARSING||this.state===Ve.PARSED){let{frag:n,parent:s}=e,i=this.getFwdBufferInfo(this.mediaBuffer,s),r=i&&i.len>0.5;if(r)this.reduceMaxBufferLength(i.len,(n==null?void 0:n.duration)||10);let a=!r;if(a)this.warn(`Buffer full error while media.currentTime (${this.playhead}) is not buffered, flush ${s} buffer`);else if(i.nextStart&&n&&i.nextStart>n.start)this.flushMainBuffer(i.nextStart,Number.POSITIVE_INFINITY,s===Ct.AUDIO?s:void 0);if(n)this.fragmentTracker.removeFragment(n),this.nextLoadPosition=n.start;return this.resetLoadingState(),a}return!1}resetFragmentErrors(e){if(e===Ct.AUDIO)this.fragCurrent=null;if(!this.hls.hasEnoughToStart)this.startFragRequested=!1;if(this.state!==Ve.STOPPED)this.state=Ve.IDLE}afterBufferFlushed(e,n){if(!e)return;let s=Ot.getBuffered(e);if(this.fragmentTracker.detectEvictedFragments(n,s,this.playlistType),this.state===Ve.ENDED)this.resetLoadingState()}resetLoadingState(){if(this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==Ve.STOPPED)this.state=Ve.IDLE}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.getLevelDetails();if(e!=null&&e.live)this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(e,e.fragmentStart),this.resetLoadingState();else this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${e.level===-1?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,n,s,i){let r=s.details;if(!r){this.warn("level.details undefined");return}if(this.log(`update level timing ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)}`),!Object.keys(e.elementaryStreams).reduce((g,b)=>{let y=e.elementaryStreams[b];if(y){let v=y.endPTS-y.startPTS;if(v<=0)return this.warn(`Could not parse fragment ${e.sn} ${b} duration reliably (${v})`),g||!1;let x=i.partial?0:G9(r,e,y.startPTS,y.endPTS,y.startDTS,y.endDTS,this.iframesOnly,this);return this.hls.trigger(Z.LEVEL_PTS_UPDATED,{details:r,level:s,drift:x,type:b,frag:e,start:y.startPTS,end:y.endPTS}),!0}return g},!1)){var l,c,f,d;let g=((l=this.transmuxer)==null?void 0:l.error)===null,b=((c=this.transmuxer)==null?void 0:c.error)!=null,y=((f=(d=this.levels)==null?void 0:d.length)!=null?f:0)>1;if(s.fragmentError===0||g&&(s.fragmentError<2||e.endList)||b&&y)this.treatAsGap(e,s);if(g){let v=Error(`Found no media in ${this.playlistLabel()} ${e.level} ${n?`part: ${n.index} of `:""}sn: ${e.sn} at playlist time: ${e.start}. Resetting transmuxer to fallback to playlist timing`);if(this.warn(v.message),this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,fatal:!1,error:v,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${s.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=Ve.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)}`),this.hls.trigger(Z.FRAG_PARSED,{frag:e,part:n,chunkMeta:i})}playlistLabel(){return`${this.playlistType} playlist`}fragInfo(e,n=!0,s){var i,r;return`${this.playlistLabel()} ${e.level} (${s?"part":"frag"}:[${(i=n&&!s?e.startPTS:(s||e).start)!=null?i:NaN}-${(r=n&&!s?e.endPTS:(s||e).end)!=null?r:NaN}]${s&&e.type==="main"?"INDEPENDENT="+(s.independent?"YES":"NO"):""})`}treatAsGap(e,n){if(n)n.fragmentError++;this.fragmentTracker.addAsGap(e)}resetTransmuxer(){var e;(e=this.transmuxer)==null||e.reset()}isFragmentNearlyDownloaded(e){var n;let s=(n=e.loader)==null?void 0:n.stats;if(!s)return!1;let i=s.loading.first>0,a=(s.total-s.loaded)/(this.hls.bandwidthEstimate||this.hls.config.abrEwmaDefaultEstimate);return i&&a<=0.15}recoverWorkerError(e){if(e.event==="demuxerWorker"){if(this.fragmentTracker.removeAllFragments(),this.transmuxer)this.transmuxer.destroy(),this.transmuxer=null;this.resetStartWhenNotLoaded(),this.resetLoadingState()}}set state(e){let n=this._state;if(n!==e)this._state=e,this.log(`${n}->${e}`)}get state(){return this._state}calculateOptimalSwitchPoint(e,n){let s=0,{hls:i,media:r,config:a,levels:l,playlistType:c}=this,f=this.getLevelDetails();if(r&&!r.paused&&l){var d;let y=c===Ct.AUDIO?x9(e.audioCodec,128000):e.maxBitrate,v=1+i.ttfbEstimate/1000,x=i.bandwidthEstimate*a.abrBandWidthUpFactor,T=f&&(this.loadingParts?f.partTarget:f.averagetargetduration)||((d=this.fragCurrent)==null?void 0:d.duration)||6;if(s=v+y*T/x,!e.details)s+=v}let g=this.playhead,b=!(f!=null&&f.live)||n.end-g>s*1.5;return{fetchdelay:s,okToFlushForwardBuffer:b}}scheduleTrackSwitch(e,n,s){let{media:i,playlistType:r}=this;if(!i||!e)return;let a=s?this.getBufferedFrag(this.playhead+n):null;if(a){let c=this.followingBufferedFrag(a);if(c){var l;this.abortCurrentFrag();let f=c.maxStartPTS?c.maxStartPTS:c.start,d=c.duration,g=Math.max(a.end,f+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?0.5:0.125)),d*(this.couldBacktrack?0.75:0.25)));if((((l=this.getLevelDetails())==null?void 0:l.fragmentStart)||0)>g)return;let y=r===Ct.MAIN?null:"audio";this.flushMainBuffer(g,Number.POSITIVE_INFINITY,y),this.cleanupBackBuffer()}}}cleanupBackBuffer(){let{media:e,playlistType:n}=this;if(!e)return;let s=this.getAppendedFrag(this.playhead);if(s&&s.start>1){let i=n===Ct.AUDIO;this.flushMainBuffer(0,s.start-(i?0:1),i?"audio":null)}}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,this.playlistType)}followingBufferedFrag(e){if(e)return this.getBufferedFrag(e.end+0.5);return null}abortCurrentFrag(){let e=this.fragCurrent;if(this.fragCurrent=null,e)e.abortRequests(),this.fragmentTracker.removeFragment(e);switch(this.state){case Ve.KEY_LOADING:case Ve.FRAG_LOADING:case Ve.FRAG_LOADING_WAITING_RETRY:case Ve.PARSING:case Ve.PARSED:this.state=Ve.IDLE;break}this.nextLoadPosition=this.playhead}checkFragPlaying(){let e=this.media,n=null;if(e&&e.readyState>1&&e.seeking===!1){let s=e.currentTime;if(Ot.isBuffered(e,s))n=this.getAppendedFrag(s);else if(Ot.isBuffered(e,s+0.1))n=this.getAppendedFrag(s+0.1);if(n){if(this.backtrackFragment=void 0,!uh(n,this.fragPlaying))return this.fragPlaying=n,!0}}return!1}getBufferOutput(){return null}nextLevelSwitch(){let{levels:e,media:n,hls:s,config:i,playlistType:r}=this;if(n!=null&&n.readyState&&e&&s&&i){let a=this.getBufferOutput(),l=this.getFwdBufferInfo(a,r);if(!l)return;let c=r===Ct.AUDIO?s.nextAudioTrack:s.nextLoadLevel,f=e[c],{fetchdelay:d,okToFlushForwardBuffer:g}=this.calculateOptimalSwitchPoint(f,l);this.scheduleTrackSwitch(l,d,g)}this.tickImmediate()}}function Q9(e,n,s){if(n)for(let i=n.length;i--;){let r=n[i].interstitial,a=r.startTime,l=Math.min(a+r.duration,r.resumeTime);if(r.appendInPlace){if(e.start>=a&&e.end<=l)return!0;if(s>e.start&&e.end>a&&e.start<l)return!0}}return!1}function l0(e){return!!e.interstitialsController&&e.enableInterstitialPlayback!==!1}class L1{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:n}=this,s;if(!e.length)return new Uint8Array(0);else if(e.length===1)s=e[0];else s=aC(e,n);return this.reset(),s}reset(){this.chunks.length=0,this.dataLength=0}}function aC(e,n){let s=new Uint8Array(n),i=0;for(let r=0;r<e.length;r++){let a=e[r];s.set(a,i),i+=a.length}return s}var Rg={exports:{}},f3;function oC(){if(f3)return Rg.exports;return f3=1,function(e){var n=Object.prototype.hasOwnProperty,s="~";function i(){}if(Object.create){if(i.prototype=Object.create(null),!new i().__proto__)s=!1}function r(f,d,g){this.fn=f,this.context=d,this.once=g||!1}function a(f,d,g,b,y){if(typeof g!=="function")throw TypeError("The listener must be a function");var v=new r(g,b||f,y),x=s?s+d:d;if(!f._events[x])f._events[x]=v,f._eventsCount++;else if(!f._events[x].fn)f._events[x].push(v);else f._events[x]=[f._events[x],v];return f}function l(f,d){if(--f._eventsCount===0)f._events=new i;else delete f._events[d]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var d=[],g,b;if(this._eventsCount===0)return d;for(b in g=this._events)if(n.call(g,b))d.push(s?b.slice(1):b);if(Object.getOwnPropertySymbols)return d.concat(Object.getOwnPropertySymbols(g));return d},c.prototype.listeners=function(d){var g=s?s+d:d,b=this._events[g];if(!b)return[];if(b.fn)return[b.fn];for(var y=0,v=b.length,x=Array(v);y<v;y++)x[y]=b[y].fn;return x},c.prototype.listenerCount=function(d){var g=s?s+d:d,b=this._events[g];if(!b)return 0;if(b.fn)return 1;return b.length},c.prototype.emit=function(d,g,b,y,v,x){var T=s?s+d:d;if(!this._events[T])return!1;var R=this._events[T],N=arguments.length,U,X;if(R.fn){if(R.once)this.removeListener(d,R.fn,void 0,!0);switch(N){case 1:return R.fn.call(R.context),!0;case 2:return R.fn.call(R.context,g),!0;case 3:return R.fn.call(R.context,g,b),!0;case 4:return R.fn.call(R.context,g,b,y),!0;case 5:return R.fn.call(R.context,g,b,y,v),!0;case 6:return R.fn.call(R.context,g,b,y,v,x),!0}for(X=1,U=Array(N-1);X<N;X++)U[X-1]=arguments[X];R.fn.apply(R.context,U)}else{var Y=R.length,J;for(X=0;X<Y;X++){if(R[X].once)this.removeListener(d,R[X].fn,void 0,!0);switch(N){case 1:R[X].fn.call(R[X].context);break;case 2:R[X].fn.call(R[X].context,g);break;case 3:R[X].fn.call(R[X].context,g,b);break;case 4:R[X].fn.call(R[X].context,g,b,y);break;default:if(!U)for(J=1,U=Array(N-1);J<N;J++)U[J-1]=arguments[J];R[X].fn.apply(R[X].context,U)}}}return!0},c.prototype.on=function(d,g,b){return a(this,d,g,b,!1)},c.prototype.once=function(d,g,b){return a(this,d,g,b,!0)},c.prototype.removeListener=function(d,g,b,y){var v=s?s+d:d;if(!this._events[v])return this;if(!g)return l(this,v),this;var x=this._events[v];if(x.fn){if(x.fn===g&&(!y||x.once)&&(!b||x.context===b))l(this,v)}else{for(var T=0,R=[],N=x.length;T<N;T++)if(x[T].fn!==g||y&&!x[T].once||b&&x[T].context!==b)R.push(x[T]);if(R.length)this._events[v]=R.length===1?R[0]:R;else l(this,v)}return this},c.prototype.removeAllListeners=function(d){var g;if(d){if(g=s?s+d:d,this._events[g])l(this,g)}else this._events=new i,this._eventsCount=0;return this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=s,c.EventEmitter=c,e.exports=c}(Rg),Rg.exports}var lC=oC(),O1=iT(lC),jh="1.7.3",sf={};function cC(){return typeof __HLS_WORKER_BUNDLE__==="function"}function fC(){let e=sf[jh];if(e)return e.clientCount++,e;let n=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),s=self.URL.createObjectURL(n),r={worker:new self.Worker(s),objectURL:s,clientCount:1};return sf[jh]=r,r}function hC(e){let n=sf[e];if(n)return n.clientCount++,n;let s=new self.URL(e,self.location.href).href,r={worker:new self.Worker(s),scriptURL:s,clientCount:1};return sf[e]=r,r}function uC(e){let n=sf[e||jh];if(n){if(n.clientCount--===1){let{worker:i,objectURL:r}=n;if(delete sf[e||jh],r)self.URL.revokeObjectURL(r);i.terminate()}}}function dC(e,n,s,i){let r=[96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000,7350],a=n[s+2],l=a>>2&15;if(l>12){let R=Error(`invalid ADTS sampling index:${l}`);e.emit(Z.ERROR,Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,fatal:!0,error:R,reason:R.message});return}let c=(a>>6&3)+1,f=n[s+3]>>6&3|(a&1)<<2,d=r[l],g=l;if(c===5||c===29)g-=3;let b,y=(g&14)>>1,v=(g&1)<<7|f<<3,x=0;if(c===1&&l>=6){x=5;let R=l-3;b=[x<<3|y,v|(R&14)>>1,(R&1)<<7|8,0]}else b=[c<<3|y,v];let T="mp4a.40."+(x||c);return In.log(`manifest codec:${i}, parsed codec:${T}, channels:${f}, rate:${d} (ADTS object type:${c} sampling index:${l} esds config:[${b.join(",")}])`),{config:b,samplerate:d,channelCount:f,codec:T,parsedCodec:T,manifestCodec:i}}function J9(e,n){return e[n]===255&&(e[n+1]&246)===240}function Z9(e,n){return e[n+1]&1?7:9}function P1(e,n){return(e[n+3]&3)<<11|e[n+4]<<3|(e[n+5]&224)>>>5}function mC(e,n){return n+5<e.length}function c0(e,n){return n+1<e.length&&J9(e,n)}function pC(e,n){return mC(e,n)&&J9(e,n)&&P1(e,n)<=e.length-n}function gC(e,n){if(c0(e,n)){let s=Z9(e,n);if(n+s>=e.length)return!1;let i=P1(e,n);if(i<=s)return!1;let r=n+i;return r===e.length||c0(e,r)}return!1}function e6(e,n,s,i,r){if(!e.samplerate){let a=dC(n,s,i,r);if(!a)return;Hn(e,a)}}function t6(e){return 92160000/e}function bC(e,n){let s=Z9(e,n);if(n+s<=e.length){let i=P1(e,n)-s;if(i>0)return{headerLength:s,frameLength:i}}}function n6(e,n,s,i,r){let a=t6(e.samplerate),l=i+r*a,c=bC(n,s),f;if(c){let{frameLength:b,headerLength:y}=c,v=y+b,x=Math.max(0,s+v-n.length);if(x)f=new Uint8Array(v-y),f.set(n.subarray(s+y,n.length),0);else f=n.subarray(s+y,s+v);let T={unit:f,pts:l};if(!x)e.samples.push(T);return{sample:T,length:v,missing:x}}let d=n.length-s;return f=new Uint8Array(d),f.set(n.subarray(s,n.length),0),{sample:{unit:f,pts:l},length:d,missing:-1}}var Oi=function(e){return e.audioId3="org.id3",e.dateRange="com.apple.quicktime.HLS",e.emsg="https://aomedia.org/emsg/ID3",e.misbklv="urn:misb:KLV:bin:1910.1",e}({});function Da(e="",n=90000){return{type:e,id:-1,pid:-1,inputTimeScale:n,sequenceNumber:-1,samples:[],dropped:0}}class v0{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,n,s,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:90000,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,n){return!1}appendFrame(e,n,s){}demux(e,n){if(this.cachedData)e=qr(this.cachedData,e),this.cachedData=null;let s=xh(e,0),i=s?s.length:0,r,a=this._audioTrack,l=this._id3Track,c=s?E1(s):void 0,f=e.length;if(this.basePTS===null||this.frameIndex===0&&ct(c))this.basePTS=wC(c,n,this.initPTS),this.lastPTS=this.basePTS;if(this.lastPTS===null)this.lastPTS=this.basePTS;if(s&&s.length>0)l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:Oi.audioId3,duration:Number.POSITIVE_INFINITY});while(i<f){if(this.canParse(e,i)){let d=this.appendFrame(a,e,i);if(d)this.frameIndex++,this.lastPTS=d.sample.pts,i+=d.length,r=i;else i=f}else if(kT(e,i))s=xh(e,i),l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:Oi.audioId3,duration:Number.POSITIVE_INFINITY}),i+=s.length,r=i;else i++;if(i===f&&r!==f){let d=e.slice(r);if(this.cachedData)this.cachedData=qr(this.cachedData,d);else this.cachedData=d}}return{audioTrack:a,videoTrack:Da(),id3Track:l,textTrack:Da()}}demuxSampleAes(e,n,s){return Promise.reject(Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let n=this.cachedData;if(n)this.cachedData=null,this.demux(n,0);return{audioTrack:this._audioTrack,videoTrack:Da(),id3Track:this._id3Track,textTrack:Da()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}var wC=(e,n,s)=>{if(ct(e))return e*90;let i=s?s.baseTime*90000/s.timescale:0;return n*90000+i},yC=[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],vC=[44100,48000,32000,22050,24000,16000,11025,12000,8000],SC=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],kC=[0,1,1,4];function s6(e,n,s,i,r){if(s+24>n.length)return;let a=i6(n,s);if(a&&s+a.frameLength<=n.length){let l=a.samplesPerFrame*90000/a.sampleRate,c=i+r*l,f={unit:n.subarray(s,s+a.frameLength),pts:c,dts:c};return e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(f),{sample:f,length:a.frameLength,missing:0}}}function i6(e,n){let s=e[n+1]>>3&3,i=e[n+1]>>1&3,r=e[n+2]>>4&15,a=e[n+2]>>2&3;if(s!==1&&r!==0&&r!==15&&a!==3){let l=e[n+2]>>1&1,c=e[n+3]>>6,f=s===3?3-i:i===3?3:4,d=yC[f*14+r-1]*1000,b=vC[(s===3?0:s===2?1:2)*3+a],y=c===3?1:2,v=SC[s][i],x=kC[i],T=v*8*x,R=Math.floor(v*d/b+l)*x,N=gh();if(!!N&&N<=87&&i===2&&d>=224000&&c===0)e[n+3]=e[n+3]|128;return{sampleRate:b,channelCount:y,frameLength:R,samplesPerFrame:T}}}function N1(e,n){return e[n]===255&&(e[n+1]&224)===224&&(e[n+1]&6)!==0}function r6(e,n){return n+1<e.length&&N1(e,n)}function xC(e,n){return N1(e,n)&&4<=e.length-n}function a6(e,n){if(n+1<e.length&&N1(e,n)){let i=i6(e,n),r=4;if(i!=null&&i.frameLength)r=i.frameLength;let a=n+r;return a===e.length||r6(e,a)}return!1}class B1{constructor(e,n,s){this.keyData=void 0,this.decrypter=void 0,this.keyData=s,this.decrypter=new b0(n,!0)}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,cl.cbc,{start:0,end:e.byteLength})}decryptAacSample(e,n,s){let i=e[n].unit;if(i.length<=16)return;let r=i.subarray(16,i.length-i.length%16),a=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(a).then((l)=>{let c=new Uint8Array(l);if(i.set(c,16),!this.decrypter.isSync())this.decryptAacSamples(e,n+1,s)}).catch(s)}decryptAacSamples(e,n,s){for(;;n++){if(n>=e.length){s();return}if(e[n].unit.length<32)continue;if(this.decryptAacSample(e,n,s),!this.decrypter.isSync())return}}getAvcEncryptedData(e){let n=Math.floor((e.length-48)/160)*16+16,s=new Int8Array(n),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)s.set(e.subarray(r,r+16),i);return s}getAvcDecryptedUnit(e,n){let s=new Uint8Array(n),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)e.set(s.subarray(i,i+16),r);return e}decryptAvcSample(e,n,s,i,r){let a=g9(r.data),l=this.getAvcEncryptedData(a);this.decryptBuffer(l.buffer).then((c)=>{if(r.data=this.getAvcDecryptedUnit(a,c),!this.decrypter.isSync())this.decryptAvcSamples(e,n,s+1,i)}).catch(i)}decryptAvcSamples(e,n,s,i){if(e instanceof Uint8Array)throw Error("Cannot decrypt samples of type Uint8Array");for(;;n++,s=0){if(n>=e.length){i();return}let r=e[n].units;for(;;s++){if(s>=r.length)break;let a=r[s];if(a.data.length<=48||a.type!==1&&a.type!==5)continue;if(this.decryptAvcSample(e,n,s,i,a),!this.decrypter.isSync())return}}}}class o6 extends v0{constructor(e,n){super();this.observer=void 0,this.config=void 0,this.sampleAes=null,this.observer=e,this.config=n}resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}static probe(e,n){if(!e)return!1;let s=xh(e,0),i=(s==null?void 0:s.length)||0;if(a6(e,i))return!1;for(let r=e.length;i<r;i++)if(gC(e,i))return n.log("ADTS sync word found !"),!0;return!1}canParse(e,n){return pC(e,n)}appendFrame(e,n,s){e6(e,this.observer,n,s,e.manifestCodec);let i=n6(e,n,s,this.basePTS,this.frameIndex);if((i==null?void 0:i.missing)===0)return i}demuxSampleAes(e,n,s){let i=this.demux(e,s),r=this.sampleAes=new B1(this.observer,this.config,n);return new Promise((a)=>{r.decryptAacSamples(i.audioTrack.samples,0,()=>{a(i)})})}}var l6=(e,n)=>{let s=0,i=5;n+=i;let r=new Uint32Array(1),a=new Uint32Array(1),l=new Uint8Array(1);while(i>0){l[0]=e[n];let c=Math.min(i,8),f=8-c;a[0]=4278190080>>>24+f<<f,r[0]=(l[0]&a[0])>>f,s=!s?r[0]:s<<c|r[0],n+=1,i-=c}return s};class c6 extends v0{constructor(e){super();this.observer=void 0,this.observer=e}resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}canParse(e,n){return n+64<e.length}appendFrame(e,n,s){let i=f6(e,n,s,this.basePTS,this.frameIndex);if(i!==-1)return{sample:e.samples[e.samples.length-1],length:i,missing:0}}static probe(e){if(!e)return!1;let n=xh(e,0);if(!n)return!1;let s=n.length;if(e[s]===11&&e[s+1]===119&&E1(n)!==void 0)if(l6(e,s)<16)return!0;else throw Error("Containerless ec-3 is not supported");return!1}}function f6(e,n,s,i,r){if(s+8>n.length)return-1;if(n[s]!==11||n[s+1]!==119)return-1;let a=n[s+4]>>6;if(a>=3)return-1;let c=[48000,44100,32000][a],f=n[s+4]&63,g=[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][f*3+a]*2;if(s+g>n.length)return-1;let b=n[s+6]>>5,y=0;if(b===2)y+=2;else{if(b&1&&b!==1)y+=2;if(b&4)y+=2}let v=(n[s+6]<<8|n[s+7])>>12-y&1,T=[2,1,2,3,3,4,4,5][b]+v,R=n[s+5]>>3,N=n[s+5]&7,U=new Uint8Array([a<<6|R<<1|N>>2,(N&3)<<6|b<<3|v<<2|f>>4,f<<4&224]),X=1536/c*90000,Y=i+r*X,J=n.subarray(s,s+g);return e.config=U,e.channelCount=T,e.samplerate=c,e.samples.push({unit:J,pts:Y}),g}class h6 extends v0{resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}static probe(e){if(!e)return!1;let n=xh(e,0),s=(n==null?void 0:n.length)||0;if(n&&e[s]===11&&e[s+1]===119&&E1(n)!==void 0&&l6(e,s)<=16)return!1;for(let i=e.length;s<i;s++)if(a6(e,s))return In.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,n){return xC(e,n)}appendFrame(e,n,s){if(this.basePTS===null)return;return s6(e,n,s,this.basePTS,this.frameIndex)}}var AC=/\/emsg[-/]ID3/i;class u6{constructor(e,n,s,i=In){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.initData=void 0,this.logger=void 0,this.config=n,this.logger=i}resetTimeStamp(){}resetInitSegment(e,n,s,i){let r=this.videoTrack=Da("video",1),a=this.audioTrack=Da("audio",1),l=this.txtTrack=Da("text",1);if(this.id3Track=Da("id3",1),this.initData=void 0,this.timeOffset=0,!(e!=null&&e.byteLength))return;let c=this.initData=h9(e);if(c.video){let{id:f,timescale:d,codec:g,supplemental:b}=c.video;r.id=f,r.timescale=l.timescale=d,r.codec=g,r.supplemental=b}if(c.audio){let{id:f,timescale:d,codec:g}=c.audio;a.id=f,a.timescale=d,a.codec=g}l.id=o9.text,r.sampleDuration=0,r.duration=a.duration=i}resetContiguity(){this.remainderData=null}static probe(e){return OT(e,"moof")}demux(e,n,s){this.timeOffset=n;let i=e,r=this.videoTrack,a=this.txtTrack;if(this.config.progressive){if(this.remainderData)i=qr(this.remainderData,e);let f=XT(i);this.remainderData=f.remainder,r.samples=f.valid||new Uint8Array}else r.samples=i;let l=this.extractID3Track(r,n),c=this.parseFragment(r,a,n,s);return{videoTrack:r,audioTrack:this.audioTrack,id3Track:l,textTrack:this.txtTrack,initData:this.initData,sampleData:c}}flush(e,n){let s=this.timeOffset,i=this.videoTrack,r=this.txtTrack;i.samples=this.remainderData||new Uint8Array,this.remainderData=null;let a=this.extractID3Track(i,this.timeOffset),l=this.parseFragment(i,r,s,n);return{videoTrack:i,audioTrack:Da(),id3Track:a,textTrack:Da(),initData:this.initData,sampleData:l}}parseFragment(e,n,s,i){let r=this.initData;if(r&&i){let{samples:a,sampleData:l}=$T(s,e,r,this.logger,i.iframe);return n.samples=a,l}n.samples=WT(s,e)}extractID3Track(e,n){let s=this.id3Track;if(e.samples.length){let i=Xt(e.samples,["emsg"]);if(i)i.forEach((r)=>{let a=KT(r);if(AC.test(a.schemeIdUri)){let l=h3(a,n),c=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;if(c<=0.001)c=Number.POSITIVE_INFINITY;let f=a.payload;s.samples.push({data:f,len:f.byteLength,dts:l,pts:l,type:Oi.emsg,duration:c})}else if(this.config.enableEmsgKLVMetadata){let l=this.config.emsgKLVSchemaUri||Oi.misbklv;if(a.schemeIdUri.startsWith(l)){let c=h3(a,n);s.samples.push({data:a.payload,len:a.payload.byteLength,dts:c,pts:c,type:Oi.misbklv,duration:Number.POSITIVE_INFINITY})}}})}return s}demuxSampleAes(e,n,s){return Promise.reject(Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0,this.initData=void 0}}function h3(e,n){return ct(e.presentationTime)?e.presentationTime/e.timeScale:n+e.presentationTimeDelta/e.timeScale}var TC=1,EC=2,ch=-1;class H1{constructor(){this.VideoSample=null}createVideoSample(e,n,s){return{key:e,frame:!1,pts:n,dts:s,units:[],length:0}}getLastNalUnit(e){var n;let s=this.VideoSample,i;if(!s||s.units.length===0)s=e[e.length-1];if((n=s)!=null&&n.units){let r=s.units;i=r[r.length-1]}return i}pushAccessUnit(e,n){if(e.units.length&&e.frame){if(e.pts===void 0){let s=n.samples,i=s.length;if(i){let r=s[i-1];e.pts=r.pts,e.dts=r.dts}else{n.dropped++;return}}n.samples.push(e)}}parseNALu(e,n,s){let i=n.byteLength;if(i===0)return[];let r=e.naluState||0,a=r===ch?0:r,l=[],c=0,f=0,d=-1,g=0;if(r===ch)d=0,g=this.getNALuType(n,0),f=1;while(f<i){let b=n.indexOf(TC,f);if(b===-1)break;f=b+1;let y=b;while(y>0&&n[y-1]===0)y--;if(b-y+(y===0?a:0)<EC)continue;if(d>=0)l.push({data:n.subarray(d,y),type:g});else{let x=this.getLastNalUnit(e.samples);if(x){if(y>0)x.data=qr(x.data,n.subarray(0,y));else if(a>0)x.data=x.data.subarray(0,x.data.byteLength-a);x.state=0}}if(f<i)d=f,g=this.getNALuType(n,f);else{c=ch,d=-1;break}}if(c!==ch){let b=i;while(b>0&&n[b-1]===0)b--;c=i-b+(b===0?a:0)}if(d>=0)l.push({data:n.subarray(d),type:g,state:c});else if(l.length===0&&c!==ch){let b=this.getLastNalUnit(e.samples);if(b)b.data=qr(b.data,n),b.state=c}return e.naluState=c,l}}class Jc{constructor(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}loadWord(){let e=this.data,n=this.bytesAvailable,s=e.byteLength-n,i=new Uint8Array(4),r=Math.min(4,n);if(r===0)throw Error("no bytes available");i.set(e.subarray(s,s+r)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=r*8,this.bytesAvailable-=r}skipBits(e){let n;if(e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e)this.word<<=e,this.bitsAvailable-=e;else e-=this.bitsAvailable,n=e>>3,e-=n<<3,this.bytesAvailable-=n,this.loadWord(),this.word<<=e,this.bitsAvailable-=e}readBits(e){let n=Math.min(this.bitsAvailable,e),s=this.word>>>32-n;if(e>32)In.error("Cannot read more than 32 bits at a time");if(this.bitsAvailable-=n,this.bitsAvailable>0)this.word<<=n;else if(this.bytesAvailable>0)this.loadWord();else throw Error("no bits available");if(n=e-n,n>0&&this.bitsAvailable)return s<<n|this.readBits(n);else return s}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>e)!==0)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();if(1&e)return 1+e>>>1;else return-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}}class d6 extends H1{parsePES(e,n,s,i,r){let a=r.iframe,l=this.parseNALu(e,s.data,i),c=this.VideoSample,f,d=!1;if(s.data=null,c&&l.length&&!e.audFound)this.pushAccessUnit(c,e),c=this.VideoSample=this.createVideoSample(!1,s.pts,s.dts);if(l.forEach((g)=>{var b,y;switch(g.type){case 1:{if(a)break;let R=!1;f=!0;let N=g.data;if(d&&N.length>4){let U=this.readSliceType(N);if(U===2||U===4||U===7||U===9)R=!0}if(R){var v;if((v=c)!=null&&v.frame&&!c.key)this.pushAccessUnit(c,e),c=this.VideoSample=null}if(!c)c=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts);c.frame=!0,c.key=R;break}case 5:if(f=!0,(b=c)!=null&&b.frame&&!c.key)this.pushAccessUnit(c,e),c=this.VideoSample=null;if(!c)c=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts);c.key=!0,c.frame=!0;break;case 6:{if(a)break;f=!0,Ah(g.data,1,s.pts,n.samples);break}case 7:{var x,T;f=!0,d=!0;let R=g.data,N=this.readSPS(R);if(!e.sps||e.width!==N.width||e.height!==N.height||((x=e.pixelRatio)==null?void 0:x[0])!==N.pixelRatio[0]||((T=e.pixelRatio)==null?void 0:T[1])!==N.pixelRatio[1]){e.width=N.width,e.height=N.height,e.pixelRatio=N.pixelRatio,e.sps=[R];let U=R.subarray(1,4),X="avc1.";for(let Y=0;Y<3;Y++){let J=U[Y].toString(16);if(J.length<2)J="0"+J;X+=J}e.codec=X}break}case 8:f=!0,e.pps=[g.data];break;case 9:if(f=!0,e.audFound=!0,(y=c)!=null&&y.frame)this.pushAccessUnit(c,e),c=null;if(!c)c=this.VideoSample=this.createVideoSample(!1,s.pts,s.dts);break;case 12:f=!0;break;default:f=!1;break}if(c&&f)c.units.push(g)}),i&&c)this.pushAccessUnit(c,e),this.VideoSample=null}getNALuType(e,n){return e[n]&31}readSliceType(e){let n=new Jc(e);return n.readUByte(),n.readUEG(),n.readUEG()}skipScalingList(e,n){let s=8,i=8,r;for(let a=0;a<e;a++){if(i!==0)r=n.readEG(),i=(s+r+256)%256;s=i===0?s:i}}readSPS(e){let n=new Jc(e),s=0,i=0,r=0,a=0,l,c,f,d=n.readUByte.bind(n),g=n.readBits.bind(n),b=n.readUEG.bind(n),y=n.readBoolean.bind(n),v=n.skipBits.bind(n),x=n.skipEG.bind(n),T=n.skipUEG.bind(n),R=this.skipScalingList.bind(this);d();let N=d();if(g(5),v(3),d(),T(),N===100||N===110||N===122||N===244||N===44||N===83||N===86||N===118||N===128){let te=b();if(te===3)v(1);if(T(),T(),v(1),y()){c=te!==3?8:12;for(f=0;f<c;f++)if(y())if(f<6)R(16,n);else R(64,n)}}T();let U=b();if(U===0)b();else if(U===1){v(1),x(),x(),l=b();for(f=0;f<l;f++)x()}T(),v(1);let X=b(),Y=b(),J=g(1);if(J===0)v(1);if(v(1),y())s=b(),i=b(),r=b(),a=b();let ee=[1,1];if(y()){if(y())switch(d()){case 1:ee=[1,1];break;case 2:ee=[12,11];break;case 3:ee=[10,11];break;case 4:ee=[16,11];break;case 5:ee=[40,33];break;case 6:ee=[24,11];break;case 7:ee=[20,11];break;case 8:ee=[32,11];break;case 9:ee=[80,33];break;case 10:ee=[18,11];break;case 11:ee=[15,11];break;case 12:ee=[64,33];break;case 13:ee=[160,99];break;case 14:ee=[4,3];break;case 15:ee=[3,2];break;case 16:ee=[2,1];break;case 255:{ee=[d()<<8|d(),d()<<8|d()];break}}}return{width:Math.ceil((X+1)*16-s*2-i*2),height:(2-J)*(Y+1)*16-(J?2:4)*(r+a),pixelRatio:ee}}}class m6 extends H1{constructor(...e){super(...e);this.initVPS=null}parsePES(e,n,s,i){let r=this.parseNALu(e,s.data,i),a=this.VideoSample,l,c=!1;s.data=null;let f=(d)=>(a=this.VideoSample=this.createVideoSample(d,s.pts,s.dts),a);if(r.forEach((d,g)=>{var b,y;if(this.startsNewAccessUnit(a,e,d,g)){this.pushAccessUnit(a,e);let x=d.type>=16&&d.type<=23;a=f(x),c=!1}switch(d.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:if(!a)a=f(!1);a.frame=!0,l=!0;break;case 16:case 17:case 18:case 21:case 22:case 23:if(l=!0,c){var v;if((v=a)!=null&&v.frame&&!a.key)this.pushAccessUnit(a,e),a=this.VideoSample=null}if(!a)a=f(!0);a.key=!0,a.frame=!0;break;case 19:case 20:if(l=!0,(b=a)!=null&&b.frame&&!a.key)this.pushAccessUnit(a,e),a=this.VideoSample=null;if(!a)a=f(!0);a.key=!0,a.frame=!0;break;case 39:l=!0,Ah(d.data,2,s.pts,n.samples);break;case 32:if(l=!0,!e.vps){if(typeof e.params!=="object")e.params={};e.params=Hn(e.params,this.readVPS(d.data)),this.initVPS=d.data}e.vps=[d.data];break;case 33:if(l=!0,c=!0,e.vps!==void 0&&e.vps[0]!==this.initVPS&&e.sps!==void 0&&!this.matchSPS(e.sps[0],d.data))this.initVPS=e.vps[0],e.sps=e.pps=void 0;if(!e.sps){let x=this.readSPS(d.data);if(e.width=x.width,e.height=x.height,e.pixelRatio=x.pixelRatio,e.codec=x.codecString,e.sps=[],typeof e.params!=="object")e.params={};for(let T in x.params)e.params[T]=x.params[T]}if(this.pushParameterSet(e.sps,d.data,e.vps),!a)a=f(!1);break;case 34:if(l=!0,typeof e.params==="object"){if(!e.pps){e.pps=[];let x=this.readPPS(d.data);for(let T in x)e.params[T]=x[T]}this.pushParameterSet(e.pps,d.data,e.vps)}break;case 35:if(l=!0,e.audFound=!0,(y=a)!=null&&y.frame)this.pushAccessUnit(a,e),a=null;if(!a)a=f(!1);break;default:l=!1;break}if(a&&l)a.units.push(d)}),i&&a)this.pushAccessUnit(a,e),this.VideoSample=null}pushParameterSet(e,n,s){if(!!s&&s[0]===this.initVPS||!s&&!e.length)e.push(n)}startsNewAccessUnit(e,n,s,i){if(!e)return!1;if(!n.audFound&&i===0)return!0;if(!e.frame)return!1;let{type:r,data:a}=s;if(r>=32&&r<=35||r===39||r>=41&&r<=44||r>=48&&r<=55)return!0;return r<=31&&a.length>2&&(a[2]&128)!==0}getNALuType(e,n){return(e[n]&126)>>>1}ebsp2rbsp(e){let n=new Uint8Array(e.byteLength),s=0;for(let i=0;i<e.byteLength;i++){if(i>=2){if(e[i]===3&&e[i-1]===0&&e[i-2]===0)continue}n[s]=e[i],s++}return new Uint8Array(n.buffer,0,s)}pushAccessUnit(e,n){if(super.pushAccessUnit(e,n),this.initVPS)this.initVPS=null}readVPS(e){let n=new Jc(e);n.readUByte(),n.readUByte(),n.readBits(4),n.skipBits(2),n.readBits(6);let s=n.readBits(3),i=n.readBoolean();return{numTemporalLayers:s+1,temporalIdNested:i}}readSPS(e){let n=new Jc(this.ebsp2rbsp(e));n.readUByte(),n.readUByte(),n.readBits(4);let s=n.readBits(3);n.readBoolean();let i=n.readBits(2),r=n.readBoolean(),a=n.readBits(5),l=n.readUByte(),c=n.readUByte(),f=n.readUByte(),d=n.readUByte(),g=n.readUByte(),b=n.readUByte(),y=n.readUByte(),v=n.readUByte(),x=n.readUByte(),T=n.readUByte(),R=n.readUByte(),N=[],U=[];for(let Xe=0;Xe<s;Xe++)N.push(n.readBoolean()),U.push(n.readBoolean());if(s>0)for(let Xe=s;Xe<8;Xe++)n.readBits(2);for(let Xe=0;Xe<s;Xe++){if(N[Xe])n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte();if(U[Xe])n.readUByte()}n.readUEG();let X=n.readUEG();if(X==3)n.skipBits(1);let Y=n.readUEG(),J=n.readUEG(),ee=n.readBoolean(),te=0,ne=0,ie=0,se=0;if(ee)te+=n.readUEG(),ne+=n.readUEG(),ie+=n.readUEG(),se+=n.readUEG();let ae=n.readUEG(),be=n.readUEG(),ye=n.readUEG(),ue=n.readBoolean();for(let Xe=ue?0:s;Xe<=s;Xe++)n.skipUEG(),n.skipUEG(),n.skipUEG();if(n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.readBoolean()){if(n.readBoolean())for(let Ze=0;Ze<4;Ze++)for(let wt=0;wt<(Ze===3?2:6);wt++)if(!n.readBoolean())n.readUEG();else{let Nt=Math.min(64,1<<4+(Ze<<1));if(Ze>1)n.readEG();for(let an=0;an<Nt;an++)n.readEG()}}if(n.readBoolean(),n.readBoolean(),n.readBoolean())n.readUByte(),n.skipUEG(),n.skipUEG(),n.readBoolean();let Se=n.readUEG(),we=0;for(let Xe=0;Xe<Se;Xe++){let Ze=!1;if(Xe!==0)Ze=n.readBoolean();if(Ze){if(Xe===Se)n.readUEG();n.readBoolean(),n.readUEG();let wt=0;for(let mt=0;mt<=we;mt++){let Nt=n.readBoolean(),an=!1;if(!Nt)an=n.readBoolean();if(Nt||an)wt++}we=wt}else{let wt=n.readUEG(),mt=n.readUEG();we=wt+mt;for(let Nt=0;Nt<wt;Nt++)n.readUEG(),n.readBoolean();for(let Nt=0;Nt<mt;Nt++)n.readUEG(),n.readBoolean()}}if(n.readBoolean()){let Xe=n.readUEG();for(let Ze=0;Ze<Xe;Ze++){for(let wt=0;wt<ye+4;wt++)n.readBits(1);n.readBits(1)}}let De=0,Fe=1,Be=1,We=!0,st=1,Je=0;n.readBoolean(),n.readBoolean();let vt=!1;if(n.readBoolean()){if(n.readBoolean()){let mn=n.readUByte(),Yt=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Dn=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];if(mn>0&&mn<16)Fe=Yt[mn-1],Be=Dn[mn-1];else if(mn===255)Fe=n.readBits(16),Be=n.readBits(16)}if(n.readBoolean())n.readBoolean();if(n.readBoolean()){if(n.readBits(3),n.readBoolean(),n.readBoolean())n.readUByte(),n.readUByte(),n.readUByte()}if(n.readBoolean())n.readUEG(),n.readUEG();if(n.readBoolean(),n.readBoolean(),n.readBoolean(),vt=n.readBoolean(),vt)n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG();if(n.readBoolean()){if(st=n.readBits(32),Je=n.readBits(32),n.readBoolean())n.readUEG();if(n.readBoolean()){let Dn=n.readBoolean(),is=n.readBoolean(),xt=!1;if(Dn||is){if(xt=n.readBoolean(),xt)n.readUByte(),n.readBits(5),n.readBoolean(),n.readBits(5);if(n.readBits(4),n.readBits(4),xt)n.readBits(4);n.readBits(5),n.readBits(5),n.readBits(5)}for(let it=0;it<=s;it++){We=n.readBoolean();let on=We||n.readBoolean(),Bt=!1;if(on)n.readEG();else Bt=n.readBoolean();let qn=Bt?1:n.readUEG()+1;if(Dn)for(let as=0;as<qn;as++){if(n.readUEG(),n.readUEG(),xt)n.readUEG(),n.readUEG();n.skipBits(1)}if(is)for(let as=0;as<qn;as++){if(n.readUEG(),n.readUEG(),xt)n.readUEG(),n.readUEG();n.skipBits(1)}}}}if(n.readBoolean())n.readBoolean(),n.readBoolean(),n.readBoolean(),De=n.readUEG()}let ut=Y,Lt=J;if(ee){let Xe=1,Ze=1;if(X===1)Xe=Ze=2;else if(X==2)Xe=2;ut=Y-Xe*ne-Xe*te,Lt=J-Ze*se-Ze*ie}let Jt=i?["A","B","C"][i]:"",hn=l<<24|c<<16|f<<8|d,Wt=0;for(let Xe=0;Xe<32;Xe++)Wt=(Wt|(hn>>Xe&1)<<31-Xe)>>>0;let rn=Wt.toString(16);if(a===1&&rn==="2")rn="6";return{codecString:`hvc1.${Jt}${a}.${rn}.${r?"H":"L"}${R}.B0`,params:{general_tier_flag:r,general_profile_idc:a,general_profile_space:i,general_profile_compatibility_flags:[l,c,f,d],general_constraint_indicator_flags:[g,b,y,v,x,T],general_level_idc:R,bit_depth:ae+8,bit_depth_luma_minus8:ae,bit_depth_chroma_minus8:be,min_spatial_segmentation_idc:De,chroma_format_idc:X,frame_rate:{fixed:We,fps:Je/st}},width:ut,height:Lt,pixelRatio:[Fe,Be]}}readPPS(e){let n=new Jc(this.ebsp2rbsp(e));if(n.readUByte(),n.readUByte(),n.skipUEG(),n.skipUEG(),n.skipBits(2),n.skipBits(3),n.skipBits(2),n.skipUEG(),n.skipUEG(),n.skipEG(),n.skipBits(2),n.readBoolean())n.skipUEG();n.skipEG(),n.skipEG(),n.skipBits(4);let i=n.readBoolean(),r=n.readBoolean(),a=1;if(r&&i)a=0;else if(r)a=3;else if(i)a=2;return{parallelismType:a}}matchSPS(e,n){return la(e).substring(3)===la(n).substring(3)}}var ti=188;class vo{constructor(e,n,s,i){this.logger=void 0,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._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this._klvPid=-1,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.videoIntegrityChecker=null,this.observer=e,this.config=n,this.typeSupported=s,this.logger=i,this.videoParser=null}static probe(e,n){let s=vo.syncOffset(e);if(s>0)n.warn(`MPEG2-TS detected but first sync word found @ offset ${s}`);return s!==-1}static syncOffset(e){let n=e.length,s=Math.min(ti*5,n-ti)+1,i=0;while(i<s){let r=!1,a=-1,l=0;for(let c=i;c<n;c+=ti)if(e[c]===71&&(n-c===ti||e[c+ti]===71)){if(l++,a===-1){if(a=c,a!==0)s=Math.min(a+ti*99,e.length-ti)+1}if(!r)r=f0(e,c)===0;if(r&&l>1&&(a===0&&l>2||c+ti>s))return a}else if(l)return-1;else break;i++}return-1}static createTrack(e,n){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:o9[e],pid:-1,inputTimeScale:90000,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?n:void 0}}resetInitSegment(e,n,s,i,r,a){if(this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=vo.createTrack("video"),this._videoTrack.duration=i,this.videoIntegrityChecker=this.config.handleMpegTsVideoIntegrityErrors==="skip"?new p6(this.logger):null,this._audioTrack=vo.createTrack("audio",i),this._id3Track=vo.createTrack("id3"),this._txtTrack=vo.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=n,this.videoCodec=s,e)this.demux(e,0,a,(r==null?void 0:r.method)==="SAMPLE-AES")}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:n,_id3Track:s}=this;if(e)e.pesData=null;if(n)n.pesData=null;if(s)s.pesData=null;this.aacOverFlow=null,this.remainderData=null}demux(e,n,s,i=!1,r=!1){if(!i)this.sampleAes=null;let a,l=this._videoTrack,c=this.videoIntegrityChecker,f=this._audioTrack,d=this._id3Track,g=this._txtTrack,b=s.iframe,{pid:y,pesData:v}=l,x=f.pid,T=d.pid,R=this._klvPid,N=f.pesData,U=d.pesData,X=null,Y=null,J=this.pmtParsed,ee=this._pmtId,te=e.length;if(this.remainderData)e=qr(this.remainderData,e),te=e.length,this.remainderData=null;if(te<ti&&!r)return this.remainderData=e,{audioTrack:f,videoTrack:l,id3Track:d,textTrack:g};let ne=Math.max(0,vo.syncOffset(e));if(te-=(te-ne)%ti,te<e.byteLength&&!r)this.remainderData=new Uint8Array(e.buffer,te,e.buffer.byteLength-te);let ie=0;for(let ae=ne;ae<te;ae+=ti)if(e[ae]===71){let be=!!(e[ae+1]&64),ye=f0(e,ae),ue=(e[ae+3]&48)>>4,he;if(ue>1){if(he=ae+5+e[ae+4],he===ae+ti)continue}else he=ae+4;switch(ye){case y:if(be){if(v&&!(c!=null&&c.isCorrupted)&&(a=Gl(v,this.logger))){if(this.readyVideoParser(l.segmentCodec),this.videoParser!==null)this.videoParser.parsePES(l,g,a,!1,s)}v={data:[],size:0},c==null||c.reset(y)}if(c==null||c.handlePacket(e.subarray(ae)),v)v.data.push(e.subarray(he,ae+ti)),v.size+=ae+ti-he;break;case x:if(b)break;if(be){if(N&&(a=Gl(N,this.logger)))switch(f.segmentCodec){case"aac":this.parseAACPES(f,a,s);break;case"mp3":this.parseMPEGPES(f,a);break;case"ac3":this.parseAC3PES(f,a);break}N={data:[],size:0}}if(N)N.data.push(e.subarray(he,ae+ti)),N.size+=ae+ti-he;break;case T:if(b)break;if(be){if(U&&(a=Gl(U,this.logger)))this.parseID3PES(d,a);U={data:[],size:0}}if(U)U.data.push(e.subarray(he,ae+ti)),U.size+=ae+ti-he;break;case R:if(b)break;if(be){if(X&&(a=Gl(X,this.logger)))this.parseKlvPES(d,a);X={data:[],size:0}}if(X)X.data.push(e.subarray(he,ae+ti)),X.size+=ae+ti-he;break;case 0:if(be)he+=e[he]+1;ee=this._pmtId=CC(e,he);break;case ee:{if(be)he+=e[he]+1;let oe=jC(e,he,this.typeSupported,i,this.observer,this.logger,this.config,s);if(y=oe.videoPid,y>0)l.pid=y,l.segmentCodec=oe.segmentVideoCodec;if(x=oe.audioPid,x>0)f.pid=x,f.segmentCodec=oe.segmentAudioCodec;if(T=oe.id3Pid,T>0)d.pid=T;if(R=oe.klvPid,R>0)this._klvPid=R;if(Y!==null&&!J)this.logger.warn(`MPEG-TS PMT found at ${ae} after unknown PID '${Y}'. Backtracking to sync byte @${ne} to parse all TS packets.`),Y=null,ae=ne-188;J=this.pmtParsed=!0;break}case 17:case 8191:break;default:Y=ye;break}}else ie++;if(ie>0)a1(this.observer,Error(`Found ${ie} TS packet/s that do not start with 0x47`),s,void 0,this.logger);l.pesData=v,f.pesData=N,d.pesData=U;let se={audioTrack:f,videoTrack:l,id3Track:d,textTrack:g};if(r)this.extractRemainingSamples(se,s);return se}flush(e,n){let{remainderData:s}=this;this.remainderData=null;let i;if(s)i=this.demux(s,0,n,!1,!0);else i={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack};if(this.extractRemainingSamples(i,n),this.sampleAes)return this.decrypt(i,this.sampleAes);return i}extractRemainingSamples(e,n){let{audioTrack:s,videoTrack:i,id3Track:r,textTrack:a}=e,l=i.pesData,c=s.pesData,f=r.pesData,d=this.videoIntegrityChecker,g;if(l&&!(d!=null&&d.isCorrupted)&&(g=Gl(l,this.logger))){if(this.readyVideoParser(i.segmentCodec),this.videoParser!==null)this.videoParser.parsePES(i,a,g,!0,n),i.pesData=null}else i.pesData=l;if(c&&(g=Gl(c,this.logger))){switch(s.segmentCodec){case"aac":this.parseAACPES(s,g,n);break;case"mp3":this.parseMPEGPES(s,g);break;case"ac3":this.parseAC3PES(s,g);break}s.pesData=null}else{if(c!=null&&c.size)this.logger.log("last AAC PES packet truncated,might overlap between fragments");s.pesData=c}if(f&&(g=Gl(f,this.logger)))this.parseID3PES(r,g),r.pesData=null;else r.pesData=f}demuxSampleAes(e,n,s,i){let r=this.demux(e,s,i,!0,!this.config.progressive),a=this.sampleAes=new B1(this.observer,this.config,n);return this.decrypt(r,a)}readyVideoParser(e){if(this.videoParser===null){if(e==="avc")this.videoParser=new d6;else if(e==="hevc")this.videoParser=new m6}}decrypt(e,n){return new Promise((s)=>{let{audioTrack:i,videoTrack:r}=e;if(i.samples&&i.segmentCodec==="aac")n.decryptAacSamples(i.samples,0,()=>{if(r.samples)n.decryptAvcSamples(r.samples,0,0,()=>{s(e)});else s(e)});else if(r.samples)n.decryptAvcSamples(r.samples,0,0,()=>{s(e)})})}destroy(){if(this.observer)this.observer.removeAllListeners();this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0,this.videoIntegrityChecker=null}parseAACPES(e,n,s){let i=0,r=this.aacOverFlow,a=n.data;if(r){this.aacOverFlow=null;let b=r.missing,y=r.sample.unit.byteLength;if(b===-1)a=qr(r.sample.unit,a);else{let v=y-b;r.sample.unit.set(a.subarray(0,b),v),e.samples.push(r.sample),i=r.missing}}let l,c;for(l=i,c=a.length;l<c-1;l++)if(c0(a,l))break;if(l!==i){let b,y=l<c-1;if(y)b=`AAC PES did not start with ADTS header,offset:${l}`;else b="No ADTS header found in AAC PES";if(a1(this.observer,Error(b),s,y,this.logger),!y)return}e6(e,this.observer,a,l,this.audioCodec);let f;if(n.pts!==void 0)f=n.pts;else if(r){let b=t6(e.samplerate);f=r.sample.pts+b}else{this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,g;while(l<c)if(g=n6(e,a,l,f,d),l+=g.length,!g.missing){d++;for(;l<c-1;l++)if(c0(a,l))break}else{this.aacOverFlow=g;break}}parseMPEGPES(e,n){let s=n.data,i=s.length,r=0,a=0,l=n.pts;if(l===void 0){this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");return}while(a<i)if(r6(s,a)){let c=s6(e,s,a,l,r);if(c)a+=c.length,r++;else break}else a++}parseAC3PES(e,n){{let{data:s,pts:i}=n;if(i===void 0){this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let r=s.length,a=0,l=0,c;while(l<r&&(c=f6(e,s,l,i,a++))>0)l+=c}}parseID3PES(e,n){if(n.pts===void 0){this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let s=Hn({},n,{type:this._videoTrack?Oi.emsg:Oi.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(s)}parseKlvPES(e,n){var s;let i=(s=n.pts)!=null?s:n.dts;if(i===void 0){this.logger.warn("[tsdemuxer]: KLV PES unknown PTS and DTS");return}let r=n.data;if(r.length<16){this.logger.warn("[tsdemuxer]: KLV PES payload too short");return}let a=0;while(a<r.length){var l;if(a+16>r.length)break;let c=a;if(a+=16,a>=r.length)break;let f=r[a];a+=1;let d=0;if(f&128){let v=f&127;if(v===0||v>4||a+v>r.length){this.logger.warn("[tsdemuxer]: Invalid KLV length encoding");break}for(let x=0;x<v;x++)d=d<<8|r[a+x];a+=v}else d=f;if(a+d>r.length){this.logger.warn("[tsdemuxer]: KLV value extends beyond PES payload");break}let g=a+d,b=r.subarray(c,g),y={data:b,len:b.byteLength,pts:i,dts:(l=n.dts)!=null?l:i,type:Oi.misbklv,duration:Number.POSITIVE_INFINITY};e.samples.push(y),a=g}}}function f0(e,n){return((e[n+1]&31)<<8)+e[n+2]}function CC(e,n){return(e[n+10]&31)<<8|e[n+11]}function jC(e,n,s,i,r,a,l,c){let f={audioPid:-1,videoPid:-1,id3Pid:-1,klvPid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},d=(e[n+1]&15)<<8|e[n+2],g=n+3+d-4,b=(e[n+10]&15)<<8|e[n+11];n+=12+b;while(n<g){let y=f0(e,n),v=(e[n+3]&15)<<8|e[n+4];switch(e[n]){case 207:if(!i){Dg("ADTS AAC",a);break}case 15:if(f.audioPid===-1)f.audioPid=y;break;case 21:if(f.id3Pid===-1)f.id3Pid=y;break;case 219:if(!i){Dg("H.264",a);break}case 27:if(f.videoPid===-1)f.videoPid=y;break;case 3:case 4:if(!s.mpeg&&!s.mp3)a.log("MPEG audio found, not supported in this browser");else if(f.audioPid===-1)f.audioPid=y,f.segmentAudioCodec="mp3";break;case 193:if(!i){Dg("AC-3",a);break}case 129:if(!s.ac3)a.log("AC-3 audio found, not supported in this browser");else if(f.audioPid===-1)f.audioPid=y,f.segmentAudioCodec="ac3";break;case 6:if(v>0){let x=n+5,T=v;while(T>2){switch(e[x]){case 106:if(f.audioPid===-1)if(s.ac3!==!0)a.log("AC-3 audio found, not supported in this browser for now");else f.audioPid=y,f.segmentAudioCodec="ac3";break;case 5:if(f.klvPid===-1&&l.enableEmsgKLVMetadata)f.klvPid=y,a.log(`KLV metadata PID found: ${y}`);break}let N=e[x+1]+2;x+=N,T-=N}}break;case 194:case 135:return a1(r,Error("Unsupported EC-3 in M2TS found"),c,void 0,a),f;case 36:if(f.videoPid===-1)f.videoPid=y,f.segmentVideoCodec="hevc",a.log("HEVC in M2TS found");break}n+=v+5}return f}function a1(e,n,s,i,r){r.warn(`parsing error: ${n.message}`),e.emit(Z.ERROR,Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,chunkMeta:s,error:n,reason:n.message})}function Dg(e,n){n.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function Gl(e,n){let s=0,i,r,a,l,c,f=e.data;if(!e||e.size===0)return null;while(f[0].length<19&&f.length>1)f[0]=qr(f[0],f[1]),f.splice(1,1);if(i=f[0],(i[0]<<16)+(i[1]<<8)+i[2]===1){if(r=(i[4]<<8)+i[5],r&&r>e.size-6)return null;let g=i[7];if(g&192)if(l=(i[9]&14)*536870912+(i[10]&255)*4194304+(i[11]&254)*16384+(i[12]&255)*128+(i[13]&254)/2,g&64){if(c=(i[14]&14)*536870912+(i[15]&255)*4194304+(i[16]&254)*16384+(i[17]&255)*128+(i[18]&254)/2,l-c>5400000)n.warn(`${Math.round((l-c)/90000)}s delta between PTS and DTS, align them`),l=c}else c=l;a=i[8];let b=a+9;if(e.size<=b)return null;e.size-=b;let y=new Uint8Array(e.size);for(let v=0,x=f.length;v<x;v++){i=f[v];let T=i.byteLength;if(b)if(b>T){b-=T;continue}else i=i.subarray(b),T-=b,b=0;y.set(i,s),s+=T}if(r)r-=a+3;return{data:y,pts:l,dts:c,len:r}}return null}class p6{constructor(e){this.logger=void 0,this.pid=0,this.lastContinuityCounter=-1,this.integrityState="ok",this.logger=e}get isCorrupted(){return this.integrityState!=="ok"}reset(e){this.pid=e,this.lastContinuityCounter=-1,this.integrityState="ok"}handlePacket(e){if(e.byteLength<4)return;let n=f0(e,0);if(n!==this.pid){this.logger.debug(`Packet PID mismatch, expected ${this.pid} got ${n}`);return}let s=(e[3]&48)>>4;if(s===0)return;let i=e[3]&15,r=this.lastContinuityCounter;this.lastContinuityCounter=i;let a=(s&1)!=0;if((s&2)!=0&&e[4]!=0&&(e[5]&128)!=0)return;if(r<0)return;let f=a?r+1&15:r;if(i!==f){this.logger.warn(`MPEG-TS Continuity Counter check failed for PID='${n}', CC=${i}, Expected-CC=${f} Last-CC=${r}`),this.integrityState="cc-failed";return}if((e[1]&128)!==0){this.logger.warn(`MPEG-TS Packet had TEI flag set for PID='${n}'`),this.integrityState="tei-bit";return}}}class g6{static getSilentFrame(e,n){switch(e){case"mp4a.40.2":if(n===1)return new Uint8Array([0,200,0,128,35,128]);else if(n===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);else if(n===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);else if(n===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);else if(n===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);else if(n===6)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]);break;default:if(n===1)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]);else if(n===2)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]);else if(n===3)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]);break}return}}var h0,_C={video: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]),audio: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])},qg=new Uint8Array([0,0,0,0,0,0,0,0]),IC=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),RC=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),DC=new Uint8Array([0,0,0,0,0,0,0,0]),fh=new Uint8Array([0,0,0,0,0,0,0,1]),u3=new Uint8Array([105,115,111,109]),qC=new Uint8Array([97,118,99,49]),MC=new Uint8Array([0,0,0,1]);class gt{static box(e,...n){let s=8,i=n.length,r=i;while(i--)s+=n[i].byteLength;let a=new Uint8Array(s);Ks(a,0,s),Ks(a,4,e);for(i=0,s=8;i<r;i++)a.set(n[i],s),s+=n[i].byteLength;return a}static hdlr(e){return gt.box(Ht.hdlr,_C[e])}static mdat(e){return gt.box(Ht.mdat,e)}static mdhd(e,n){n*=e;let s=Math.floor(n/(_a+1)),i=Math.floor(n%(_a+1));return gt.box(Ht.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,s>>24,s>>16&255,s>>8&255,s&255,i>>24,i>>16&255,i>>8&255,i&255,85,196,0,0]))}static mdia(e){return gt.box(Ht.mdia,gt.mdhd(e.timescale||0,e.duration||0),gt.hdlr(e.type),gt.minf(e))}static mfhd(e){return gt.box(Ht.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){if(e.type==="audio")return gt.box(Ht.minf,gt.box(Ht.smhd,DC),gt.DINF,gt.stbl(e));else return gt.box(Ht.minf,gt.box(Ht.vmhd,RC),gt.DINF,gt.stbl(e))}static moof(e,n,s){return gt.box(Ht.moof,gt.mfhd(e),gt.traf(s,n))}static moov(e){let n=e.length,s=[];while(n--)s[n]=gt.trak(e[n]);return gt.box.apply(null,[Ht.moov,gt.mvhd(e[0].timescale||0,e[0].duration||0)].concat(s).concat(gt.mvex(e)))}static mvex(e){let n=e.length,s=[];while(n--)s[n]=gt.trex(e[n]);return gt.box.apply(null,[Ht.mvex,...s])}static mvhd(e,n){n*=e;let s=Math.floor(n/(_a+1)),i=Math.floor(n%(_a+1)),r=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,s>>24,s>>16&255,s>>8&255,s&255,i>>24,i>>16&255,i>>8&255,i&255,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 gt.box(Ht.mvhd,r)}static sdtp(e){let n=e.samples||[],s=new Uint8Array(4+n.length),i,r;for(i=0;i<n.length;i++)r=n[i].flags,s[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return gt.box(Ht.sdtp,s)}static stbl(e){return gt.box(Ht.stbl,gt.stsd(e),gt.box(Ht.stts,qg),gt.box(Ht.stsc,qg),gt.box(Ht.stsz,IC),gt.box(Ht.stco,qg))}static avc1(e){let n=[],s=[],i,r,a;for(i=0;i<e.sps.length;i++)r=e.sps[i],a=r.byteLength,n.push(a>>>8&255),n.push(a&255),n=n.concat(Array.prototype.slice.call(r));for(i=0;i<e.pps.length;i++)r=e.pps[i],a=r.byteLength,s.push(a>>>8&255),s.push(a&255),s=s.concat(Array.prototype.slice.call(r));let l=gt.box(Ht.avcC,new Uint8Array([1,n[3],n[4],n[5],255,224|e.sps.length].concat(n).concat([e.pps.length]).concat(s))),{width:c,height:f}=e,d=e.pixelRatio[0],g=e.pixelRatio[1];return gt.box(Ht.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,c>>8&255,c&255,f>>8&255,f&255,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]),l,gt.box(Ht.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),gt.box(Ht.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,d&255,g>>24,g>>16&255,g>>8&255,g&255])))}static esds(e){let n=e.config,s=n.length;return new Uint8Array([0,0,0,0,3,23+s,0,1,0,4,15+s,64,21,0,0,0,0,0,0,0,0,0,0,0,5,s,...n,6,1,2])}static audioStsd(e){let n=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,n>>8&255,n&255,0,0])}static mp4a(e){return gt.box(Ht.mp4a,gt.audioStsd(e),gt.box(Ht.esds,gt.esds(e)))}static mp3(e){return gt.box(Ht[".mp3"],gt.audioStsd(e))}static ac3(e){return gt.box(Ht["ac-3"],gt.audioStsd(e),gt.box(Ht.dac3,e.config))}static stsd(e){let{segmentCodec:n}=e;if(e.type==="audio"){if(n==="aac")return gt.box(Ht.stsd,fh,gt.mp4a(e));if(n==="ac3"&&e.config)return gt.box(Ht.stsd,fh,gt.ac3(e));if(n==="mp3"&&e.codec==="mp3")return gt.box(Ht.stsd,fh,gt.mp3(e))}else if(e.pps&&e.sps){if(n==="avc")return gt.box(Ht.stsd,fh,gt.avc1(e));if(n==="hevc"&&e.vps)return gt.box(Ht.stsd,fh,gt.hvc1(e))}else throw Error("video track missing pps or sps");throw Error(`unsupported ${e.type} segment codec (${n}/${e.codec})`)}static tkhd(e){let n=e.id,s=(e.duration||0)*(e.timescale||0),i=e.width||0,r=e.height||0,a=Math.floor(s/(_a+1)),l=Math.floor(s%(_a+1));return gt.box(Ht.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,n&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,l>>24,l>>16&255,l>>8&255,l&255,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,i&255,0,0,r>>8&255,r&255,0,0]))}static traf(e,n){let s=gt.sdtp(e),i=e.id,r=Math.floor(n/(_a+1)),a=Math.floor(n%(_a+1));return gt.box(Ht.traf,gt.box(Ht.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255])),gt.box(Ht.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,r&255,a>>24,a>>16&255,a>>8&255,a&255])),gt.trun(e,s.length+16+20+8+16+8+8),s)}static trak(e){return e.duration=e.duration||4294967295,gt.box(Ht.trak,gt.tkhd(e),gt.mdia(e))}static trex(e){let n=e.id;return gt.box(Ht.trex,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,n){let s=e.samples||[],i=s.length,r=12+16*i,a=new Uint8Array(r),l,c,f,d,g,b;n+=8+r,a.set([e.type==="video"?1:0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,i&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255],0);for(l=0;l<i;l++)c=s[l],f=c.duration,d=c.size,g=c.flags,b=c.cts,a.set([f>>>24&255,f>>>16&255,f>>>8&255,f&255,d>>>24&255,d>>>16&255,d>>>8&255,d&255,g.isLeading<<2|g.dependsOn,g.isDependedOn<<6|g.hasRedundancy<<4|g.paddingValue<<1|g.isNonSync,g.degradPrio&61440,g.degradPrio&15,b>>>24&255,b>>>16&255,b>>>8&255,b&255],12+16*l);return gt.box(Ht.trun,a)}static initSegment(e){let n=gt.moov(e);return qr(gt.FTYP,n)}static hvc1(e){let n=e.params,s=[e.vps,e.sps,e.pps],i=4,r=new Uint8Array([1,n.general_profile_space<<6|(n.general_tier_flag?32:0)|n.general_profile_idc,n.general_profile_compatibility_flags[0],n.general_profile_compatibility_flags[1],n.general_profile_compatibility_flags[2],n.general_profile_compatibility_flags[3],n.general_constraint_indicator_flags[0],n.general_constraint_indicator_flags[1],n.general_constraint_indicator_flags[2],n.general_constraint_indicator_flags[3],n.general_constraint_indicator_flags[4],n.general_constraint_indicator_flags[5],n.general_level_idc,240|n.min_spatial_segmentation_idc>>8,255&n.min_spatial_segmentation_idc,252|n.parallelismType,252|n.chroma_format_idc,248|n.bit_depth_luma_minus8,248|n.bit_depth_chroma_minus8,0,parseInt(n.frame_rate.fps),3|n.temporal_id_nested<<2|n.num_temporal_layers<<3|(n.frame_rate.fixed?64:0),s.length]),a=r.length;for(let v=0;v<s.length;v+=1){a+=3;for(let x=0;x<s[v].length;x+=1)a+=2+s[v][x].length}let l=new Uint8Array(a);l.set(r,0),a=r.length;let c=s.length-1;for(let v=0;v<s.length;v+=1){l.set(new Uint8Array([32+v|(v===c?128:0),0,s[v].length]),a),a+=3;for(let x=0;x<s[v].length;x+=1)l.set(new Uint8Array([s[v][x].length>>8,s[v][x].length&255]),a),a+=2,l.set(s[v][x],a),a+=s[v][x].length}let f=gt.box(Ht.hvcC,l),{width:d,height:g}=e,b=e.pixelRatio[0],y=e.pixelRatio[1];return gt.box(Ht.hvc1,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,d>>8&255,d&255,g>>8&255,g&255,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]),f,gt.box(Ht.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),gt.box(Ht.pasp,new Uint8Array([b>>24,b>>16&255,b>>8&255,b&255,y>>24,y>>16&255,y>>8&255,y&255])))}}h0=gt;gt.FTYP=h0.box(Ht.ftyp,u3,MC,u3,qC);gt.DINF=h0.box(Ht.dinf,h0.box(Ht.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])));var b6=90000;function U1(e,n,s=1,i=!1){let r=e*n*s;return i?Math.round(r):r}function FC(e,n,s=1,i=!1){return U1(e,n,1/s,i)}function hh(e,n=!1){return U1(e,1000,1/b6,n)}function LC(e,n=1){return U1(e,b6,1/n)}function d3(e){let{baseTime:n,timescale:s,trackId:i}=e;return`${n/s} (${n}/${s}) trackId: ${i}`}var OC=1e4,PC=1024,NC=1152,BC=1536,o1=8589934592;function m3(e,n,s,i){return{duration:n,size:s,cts:i,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1,paddingValue:0}}}class yh extends Yi{constructor(e,n,s,i){super("mp4-remuxer",i);this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=n,this.typeSupported=s,this.ISGenerated=!1}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){let n=this._initPTS;if(!n||!e||e.trackId!==n.trackId||e.baseTime!==n.baseTime||e.timescale!==n.timescale)this.log(`Reset initPTS: ${n?d3(n):n} > ${e?d3(e):e}`);this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let n=!1,s=e[0].pts,i=e.reduce((r,a)=>{let l=a.pts,c=l-r;if(c<-4294967296)n=!0,l=mr(l,s),c=l-r;if(c>0)return r;return l},s);if(n)this.debug("PTS rollover detected");return i}remux(e,n,s,i,r,a,l,c,f){let d,g,b,y,v,x,T=r,R=r,U=!f.iframe&&e.pid>-1,X=n.pid>-1,Y=n.samples.length,J=e.samples.length>0,ee=l&&Y>0||Y>1;if((!U||J)&&(!X||ee)||this.ISGenerated||l){if(this.ISGenerated){var ne,ie,se,ae;let he=this.videoTrackConfig;if(he&&(n.width!==he.width||n.height!==he.height||((ne=n.pixelRatio)==null?void 0:ne[0])!==((ie=he.pixelRatio)==null?void 0:ie[0])||((se=n.pixelRatio)==null?void 0:se[1])!==((ae=he.pixelRatio)==null?void 0:ae[1]))||!he&&ee||this.nextAudioTs===null&&J)this.resetInitSegment()}if(!this.ISGenerated)b=this.generateIS(e,n,r,a);let be=this.isVideoContiguous,ye=-1,ue;if(ee){if(ye=HC(n.samples),!be&&this.config.forceKeyFrameOnDiscontinuity){if(x=!0,ye>0){this.warn(`Dropped ${ye} out of ${Y} video samples due to a missing keyframe`);let he=this.getVideoStartPts(n.samples);n.samples=n.samples.slice(ye),n.dropped+=ye,R+=(n.samples[0].pts-he)/n.inputTimeScale,ue=R}else if(ye===-1)this.warn(`No keyframe found out of ${Y} video samples`),x=!1}}if(this.ISGenerated){if(J&&ee&&r){let he=this.getVideoStartPts(n.samples),Se=(mr(e.samples[0].pts,he)-he)/n.inputTimeScale;T+=Math.max(0,Se),R+=Math.max(0,-Se)}if(J){if(!e.samplerate)this.warn("regenerate InitSegment as audio detected"),b=this.generateIS(e,n,r,a);if(g=this.remuxAudio(e,T,this.isAudioContiguous,a,X||ee||c===Ct.AUDIO?R:void 0,f),ee){let he=g?g.endPTS-g.startPTS:0;if(!n.inputTimeScale)this.warn("regenerate InitSegment as video detected"),b=this.generateIS(e,n,r,a);d=this.remuxVideo(n,R,be,he,f)}}else if(ee)d=this.remuxVideo(n,R,be,0,f);if(d)d.firstKeyFrame=ye,d.independent=ye!==-1,d.firstKeyFramePTS=ue}}if(this.ISGenerated&&this._initPTS&&this._initDTS){if(s.samples.length)v=w6(s,r,this._initPTS,this._initDTS);if(i.samples.length)y=y6(i,r,this._initPTS)}return{audio:g,video:d,initSegment:b,independent:x,text:y,id3:v}}computeInitPts(e,n,s,i){let r=Math.round(s*n),a=mr(e,r);if(a<r){this.log(`Adjusting PTS for rollover in timeline near ${(r-a)/n} ${i}`);while(a<r)a+=o1}return a-r}generateIS(e,n,s,i){let r=e.samples,a=n.samples,l=this.typeSupported,c={},f=this._initPTS,d=!f||i,g="audio/mp4",b,y,v,x=-1;if(d)b=y=1/0;if(e.config&&r.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":if(l.mpeg)g="audio/mpeg",e.codec="";else if(l.mp3)e.codec="mp3";break;case"ac3":e.codec="ac-3";break}if(c.audio={id:"audio",container:g,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&l.mpeg?new Uint8Array(0):gt.initSegment([e]),metadata:{channelCount:e.channelCount}},d){x=e.id,v=e.inputTimeScale;let T=this.computeInitPts(r[0].pts,v,s,"audio");if(!f||v!==f.timescale||s===0&&T<f.baseTime)b=y=T}}if(n.sps&&n.pps&&a.length){if(n.timescale=n.inputTimeScale,c.video={id:"main",container:"video/mp4",codec:n.codec,initSegment:gt.initSegment([n]),metadata:{width:n.width,height:n.height}},d){x=n.id,v=n.inputTimeScale;let T=this.getVideoStartPts(a),R=mr(a[0].dts,T),N=this.computeInitPts(R,v,s,"video"),U=this.computeInitPts(T,v,s,"video");if(!f||v!==f.timescale||ct(b)||s===0&&U<f.baseTime)y=Math.min(y,N),b=Math.min(b,N)}this.videoTrackConfig={width:n.width,height:n.height,pixelRatio:n.pixelRatio}}if(Object.keys(c).length){if(this.ISGenerated=!0,d&&ct(b)){if(f)this.warn(`Timestamps at playlist time: ${i?"":"~"}${s} ${b/v} != initPTS: ${f.baseTime/f.timescale} (${f.baseTime}/${f.timescale}) trackId: ${f.trackId}`);this.log(`Found initPTS at playlist time: ${s} offset: ${b/v} (${b}/${v}) trackId: ${x}`),this._initPTS={baseTime:b,timescale:v,trackId:x},this._initDTS={baseTime:y,timescale:v,trackId:x}}else b=v=void 0;return{tracks:c,initPTS:b,timescale:v,trackId:x}}}remuxVideo(e,n,s,i,r){let{inputTimeScale:a,samples:l}=e,c=[],f=l.length,d=this._initPTS,g=d.baseTime*a/d.timescale,b=this.nextVideoTs,y=8,v=this.videoSampleDuration,x,T,{POSITIVE_INFINITY:R,NEGATIVE_INFINITY:N}=Number,U=!1;if(!s||b===null){let De=g+n*a,Fe=l[0].pts-mr(l[0].dts,l[0].pts);if(gh()&&b!==null&&Math.abs(De-Fe-(b+g))<15000)s=!0;else b=De-Fe-g}let X=b+g;for(let De=0;De<f;De++){let Fe=l[De];if(Fe.pts=mr(Fe.pts,X),Fe.dts=mr(Fe.dts,X),Fe.dts<l[De>0?De-1:De].dts)U=!0}if(U)l.sort(function(De,Fe){let Be=De.dts-Fe.dts,We=De.pts-Fe.pts;return Be||We});x=l[0].dts,T=l[l.length-1].dts;let Y=T-x,J=Y?Math.round(Y/(f-1)):v||e.inputTimeScale/30;if(s){let De=x-X,Fe=De>J,Be=De<-1;if(Fe||Be){if(Fe)this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${hh(De,!0)} ms (${De}dts) hole between fragments detected at ${n.toFixed(3)}`);else this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${hh(-De,!0)} ms (${De}dts) overlapping between fragments detected at ${n.toFixed(3)}`);if(!Be||X>=l[0].pts||gh()){x=X;let We=l[0].pts-De;if(Fe)l[0].dts=x,l[0].pts=We;else{let st=!0;for(let Je=0;Je<l.length;Je++){if(l[Je].dts>We&&st)break;let vt=l[Je].pts;if(l[Je].dts-=De,l[Je].pts-=De,Je<l.length-1){let jt=l[Je+1].pts,ut=l[Je].pts,Lt=jt<=ut,Jt=jt<=vt;st=Lt==Jt}}}this.log(`Video: Initial PTS/DTS adjusted: ${hh(We,!0)}/${hh(x,!0)}, delta: ${hh(De,!0)} ms`)}}}x=Math.max(0,x);let ee=0,te=0,ne=x;for(let De=0;De<f;De++){let Fe=l[De],Be=Fe.units,We=Be.length,st=0;for(let Je=0;Je<We;Je++)st+=Be[Je].data.length;if(te+=st,ee+=We,Fe.length=st,Fe.dts<ne)Fe.dts=ne,ne+=J/4|0||1;else ne=Fe.dts;R=Math.min(Fe.pts,R),N=Math.max(Fe.pts,N)}T=l[f-1].dts;let ie=te+4*ee+8,se;try{se=new Uint8Array(ie)}catch(De){this.observer.emit(Z.ERROR,Z.ERROR,{type:Dt.MUX_ERROR,details:Le.REMUX_ALLOC_ERROR,fatal:!1,chunkMeta:r,error:De,bytes:ie,reason:`fail allocating video mdat ${ie}`});return}Ks(se,0,ie),Ks(se,4,Ht.mdat);let ae=!1,{POSITIVE_INFINITY:be,POSITIVE_INFINITY:ye,NEGATIVE_INFINITY:ue,NEGATIVE_INFINITY:he}=Number;for(let De=0;De<f;De++){let Fe=l[De],Be=Fe.units,We=0;for(let vt=0,jt=Be.length;vt<jt;vt++){let ut=Be[vt],Lt=ut.data,Jt=ut.data.byteLength;Ks(se,y,Jt),y+=4,se.set(Lt,y),y+=Jt,We+=4+Jt}let st;if(De<f-1)v=l[De+1].dts-Fe.dts,st=l[De+1].pts-Fe.pts;else{let vt=this.config,jt=De>0?Fe.dts-l[De-1].dts:J;if(st=De>0?Fe.pts-l[De-1].pts:J,vt.stretchShortVideoTrack&&this.nextAudioTs!==null){let ut=Math.floor(vt.maxBufferHole*a),Lt=(i?R+i*a:this.nextAudioTs+g)-Fe.pts;if(Lt>ut){if(v=Lt-jt,v<0)v=jt;else ae=!0;this.log(`It is approximately ${Lt/90} ms to the next segment; using duration ${v/90} ms for the last video frame.`)}else v=jt}else v=jt}let Je=Math.round(Fe.pts-Fe.dts);if(be=Math.min(be,v),ue=Math.max(ue,v),ye=Math.min(ye,st),he=Math.max(he,st),!s&&De===0&&Je>v){let vt=Math.round(Je/J)*J;if(vt-Je===1)this.log(`pad first CTS ${Je} -> ${vt} of sn: ${r.sn}`),Je=vt}c.push(m3(Fe.key,v,We,Je))}if(c.length){let De=gh();if(De){if(De<70){let Fe=c[0].flags;Fe.dependsOn=2,Fe.isNonSync=0}}else if(tE()){if(he-ye<ue-be&&J/ue<0.025&&c[0].cts===0){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Fe=x;for(let Be=0,We=c.length;Be<We;Be++){let st=Fe+c[Be].duration,Je=Fe+c[Be].cts;if(Be<We-1){let vt=st+c[Be+1].cts;c[Be].duration=vt-Je}else c[Be].duration=Be?c[Be-1].duration:J;c[Be].cts=0,Fe=st}}}}v=ae||!v?J:v;let oe=T+v;if(this.nextVideoTs=b=oe-g,this.videoSampleDuration=v,this.isVideoContiguous=!0,r.iframe)if(c.length===1)c[0].duration=v=r.duration*a,this.nextVideoTs=b=x+v-g;else this.warn(`Not adjusting IFrame duration (sample count ${c.length})`);let Se=gt.moof(r.sn,x,Hn(e,{samples:c})),we="video",qe={data1:Se,data2:se,startPTS:(R-g)/a,endPTS:(N+v-g)/a,startDTS:(x-g)/a,endDTS:b/a,type:we,hasAudio:!1,hasVideo:!0,nb:c.length,dropped:e.dropped};return e.samples=[],e.dropped=0,qe}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return NC;case"ac3":return BC;default:return PC}}remuxAudio(e,n,s,i,r,a){let l=e.inputTimeScale,c=e.samplerate?e.samplerate:l,f=l/c,d=this.getSamplesPerFrame(e),g=d*f,b=this._initPTS,y=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,v=[],x=r!==void 0,T=e.samples,R=y?0:8,N=this.nextAudioTs||-1,U=b.baseTime*l/b.timescale,X=U+n*l;if(this.isAudioContiguous=s=s||T.length&&N>0&&(i&&Math.abs(X-(N+U))<9000||Math.abs(mr(T[0].pts,X)-(N+U))<20*g),T.forEach(function(oe){oe.pts=mr(oe.pts,X)}),!s||N<0){let oe=T.length;if(T=T.filter((Se)=>Se.pts>=0),oe!==T.length)this.warn(`Removed ${T.length-oe} of ${oe} samples (initPTS ${U} / ${l})`);if(!T.length)return;if(r===0)N=0;else if(i&&!x)N=Math.max(0,X-U);else N=T[0].pts-U}if(e.segmentCodec==="aac"){let oe=this.config.maxAudioFramesDrift;for(let Se=0,we=N+U;Se<T.length;Se++){let qe=T[Se],De=qe.pts,Fe=De-we,Be=Math.abs(1000*Fe/l);if(Fe<=-oe*g&&x){if(Se===0)this.warn(`Audio frame @ ${(De/l).toFixed(3)}s overlaps marker by ${Math.round(1000*Fe/l)} ms.`),this.nextAudioTs=N=De-U,we=De}else if(Fe>=oe*g&&Be<OC&&x){let We=Math.round(Fe/g);we=De-We*g;while(we<0&&We&&g)We--,we+=g;if(Se===0)this.nextAudioTs=N=we-U;this.warn(`Injecting ${We} audio frames @ ${((we-U)/l).toFixed(3)}s due to ${Math.round(1000*Fe/l)} ms gap.`);for(let st=0;st<We;st++){let Je=g6.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);if(!Je)this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),Je=qe.unit.subarray();T.splice(Se,0,{unit:Je,pts:we}),we+=g,Se++}}qe.pts=we,we+=g}}let Y=null,J=null,ee,te=0,ne=T.length;while(ne--)te+=T[ne].unit.byteLength;for(let oe=0,Se=T.length;oe<Se;oe++){let we=T[oe],{unit:qe,pts:De}=we;if(J!==null){let Be=v[oe-1];Be.duration=Math.round((De-J)/f)}else{if(s&&e.segmentCodec==="aac")De=N+U;if(Y=De,te>0){te+=R;try{ee=new Uint8Array(te)}catch(Be){this.observer.emit(Z.ERROR,Z.ERROR,{type:Dt.MUX_ERROR,details:Le.REMUX_ALLOC_ERROR,fatal:!1,chunkMeta:a,error:Be,bytes:te,reason:`fail allocating audio mdat ${te}`});return}if(!y)Ks(ee,0,te),Ks(ee,4,Ht.mdat)}else return}if(ee)ee.set(qe,R);let Fe=qe.byteLength;R+=Fe,v.push(m3(!0,d,Fe,0)),J=De}let ie=v.length;if(!ie)return;let se=v[v.length-1];N=J-U,this.nextAudioTs=N+f*se.duration;let ae=y?new Uint8Array(0):gt.moof(e.sequenceNumber++,Y/f,Hn({},e,{samples:v}));e.samples=[];let be=(Y-U)/l,ye=this.nextAudioTs/l,he={data1:ae,data2:ee,startPTS:be,endPTS:ye,startDTS:be,endDTS:ye,type:"audio",hasAudio:!0,hasVideo:!1,nb:ie};return this.isAudioContiguous=!0,he}}function mr(e,n){let s;if(n===null)return e;if(n<e)s=-o1;else s=o1;while(Math.abs(e-n)>4294967296)e+=s;return e}function HC(e){for(let n=0;n<e.length;n++)if(e[n].key)return n;return-1}function w6(e,n,s,i){let r=e.samples.length;if(!r)return;let a=e.inputTimeScale;for(let c=0;c<r;c++){let f=e.samples[c];f.pts=mr(f.pts-s.baseTime*a/s.timescale,n*a)/a,f.dts=mr(f.dts-i.baseTime*a/i.timescale,n*a)/a}let l=e.samples;return e.samples=[],{samples:l}}function y6(e,n,s){let i=e.samples.length;if(!i)return;let r=e.inputTimeScale;for(let l=0;l<i;l++){let c=e.samples[l];c.pts=mr(c.pts-s.baseTime*r/s.timescale,n*r)/r}e.samples.sort((l,c)=>l.pts-c.pts);let a=e.samples;return e.samples=[],{samples:a}}class v6 extends Yi{constructor(e,n,s,i){super("passthrough-remuxer",i);this.observer=void 0,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,this.isVideoContiguous=!1,this.videoOnlyRemux=!1,this.decryptdata=null,this.pendingInitSegment=void 0,this.observer=e}destroy(){if(this.observer)this.observer.removeAllListeners();this.observer=null}resetTimeStamp(e){this.lastEndTime=null;let n=this.initPTS;if(n&&e){if(n.baseTime===e.baseTime&&n.timescale===e.timescale)return}this.initPTS=e}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,n,s,i){this.audioCodec=n,this.videoCodec=s,this.decryptdata=i,this.pendingInitSegment=e,this.videoOnlyRemux=!1,this.initTracks=void 0,this.initData=void 0,this.emitInitSegment=!0}generateInitSegment(e,n,s){this.videoOnlyRemux=!1;let{audioCodec:i,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let{audio:a,video:l}=this.initData=s||h9(e);if(n)HT(e,n);else{let f=a||l;if(f!=null&&f.encrypted)this.warn(`Init segment with encrypted track with has no key ("${f.codec}")!`)}if(a)i=p3(a,Jn.AUDIO,this);if(l)r=p3(l,Jn.VIDEO,this);let c={};if(a&&l)c.audiovideo={container:"video/mp4",codec:i+","+r,supplemental:l.supplemental,encrypted:l.encrypted,initSegment:e,id:"main"};else if(a)c.audio={container:"audio/mp4",codec:i,encrypted:a.encrypted,initSegment:e,id:"audio"};else if(l)c.video={container:"video/mp4",codec:r,supplemental:l.supplemental,encrypted:l.encrypted,initSegment:e,id:"main"};else this.warn("initSegment does not contain moov or trak boxes.");this.initTracks=c}remux(e,n,s,i,r,a,l,c,f,d,g){var b,y;let{initPTS:v,lastEndTime:x}=this,T={audio:void 0,video:void 0,text:void 0,id3:s,initSegment:void 0};if(!ct(x))x=this.lastEndTime=r||0;let R=n.samples;if(!R.length)return T;let N=this.pendingInitSegment;if(N)this.pendingInitSegment=void 0,this.generateInitSegment(N,this.decryptdata,d);let U={initPTS:void 0,timescale:void 0,trackId:void 0},X=this.initData;if(!((b=X)!=null&&b.length))this.generateInitSegment(R),X=this.initData;if(!((y=X)!=null&&y.length))return this.warn("Failed to generate initSegment."),T;if(f.iframe&&X.audio&&X.video){var Y;let Xe=(Y=this.initTracks)==null||(Y=Y.audiovideo)==null?void 0:Y.initSegment,Ze=Xe?FT(Xe):null;if(Ze){var J;if(this.log("Converted muxed init segment to video-only for I-Frame playback"),this.generateInitSegment(Ze,this.decryptdata),(J=this.initData)!=null&&J.length)X=this.initData,this.emitInitSegment=!0,this.videoOnlyRemux=!0}}if(this.emitInitSegment)U.tracks=this.initTracks,T.initSegment=U,this.emitInitSegment=!1;let ee=f.iframe,te=g&&(!ee||g.includeSampleDetails)?g.tracks:VT(R,X,f,this,ee),ne=X.audio?te[X.audio.id]:null,ie=X.video?te[X.video.id]:null,se=!!X.audio,ae=!!X.video,be="";if(se)be+="audio";if(ae)be+="video";let ye=Ld(ie,1/0),ue=Ld(ne,1/0),he=Ld(ie,0,!0),oe=Ld(ne,0,!0),Se=r,we=0;if(ie&&ne&&X.audio&&(ue>he||ye>oe))this.warn(`audio and video track sample timestamps do not overlap. v: ${ye}-${he} a: ${ue}-${oe}}`,ie,ne);let qe=!!ne&&(!ie||!v&&ue<ye||!!v&&v.trackId===X.audio.id),De=qe?ne:ie;if(!De)return this.log(`No media samples found in ${c} ${f.level} ${f.part===-1?"":`part: ${f.part} of`} sn: ${f.sn} at playlist time: ${r}`),T;let Fe=R,Be,We;if(ie&&ie.sampleCount>=1&&X.video&&f.iframe){let{trun:Xe,start:Ze}=ie,wt=Xe.length===1,mt=!Xe.length?[]:wt?Xe[0].samples:Xe[0].samples.concat(...Xe.slice(1).map((Nt)=>Nt.samples));if(mt.length){let Nt=Xe[0],an=Nt;for(let it=Xe.length;it--;)if(Xe[it].samples.length){an=Xe[it];break}let mn=an.lastSampleDurationOffset,{defaultSampleDurationOffset:Yt}=Nt,Dn=Math.abs(f.duration-(he-ye))>0.05,is=mt.length<ie.sampleCount;if(!(Dn||is||this.videoOnlyRemux||!wt))we=he-ye;else{let it=is?an.sampleOffset+an.samples.reduce((as,Rs)=>as+Rs.size,0):void 0,on=Dn?f.duration:he-ye,Bt=zC(mt,on*X.video.timescale,mn,Yt),qn=LT(R,X.video.id,mt.length,it,Bt);if(qn)Fe=qn,We=UC(Ze,mt);else this.warn(`IFrame remux skipped (sn ${f.sn}); using native sample duration`);we=qn&&Bt?on:he-ye}}else this.warn(`Could not remux IFrame track fragment (no samples in range, trun count ${Xe.length})`),we=he-ye}else we=qe?oe-ue:he-ye;if(this.videoOnlyRemux&&Fe===R)return this.warn(`Dropping muxed I-Frame fragment that could not be remuxed to video-only (sn: ${f.sn})`),T;let st=De.timescale,Je=De.start-r*st,vt=qe?X.audio.id:X.video.id;if(Se=De.start/st,(a||!v)&&(GC(v,Se,r,we)||st!==v.timescale)){let Xe=!1,Ze=qe?"audio":"video";if(v){let wt=r!==0?Se/r:1+Se/1;Xe=Se>=0&&Math.abs(1-wt)<0.001,this.log(`${Ze} timestamps in track ${vt} at playlist time: ${a?"":"~"}${r} maps to ${Se} with initPTS: ${v.baseTime/v.timescale} (${Je/st-v.baseTime/v.timescale}s diff) (${be}) drift estimate: ${wt} ${Xe?"(ignoring drift)":"remapping timestamps (initPTS)"}`)}if(!Xe)this.log(`Found initPTS in ${Ze} track ${vt} at playlist time: ${r} offset: ${Se-r} (${Je}/${st})`),v=null,U.initPTS=Je,U.timescale=st,U.trackId=vt}if(!v){if(!U.timescale||U.trackId===void 0||U.initPTS===void 0)this.warn("Could not set initPTS"),U.initPTS=Se,U.timescale=1,U.trackId=-1;this.initPTS=v={baseTime:U.initPTS,timescale:U.timescale,trackId:U.trackId}}else U.initPTS=v.baseTime,U.timescale=v.timescale,U.trackId=v.trackId;let jt=Se-v.baseTime/v.timescale,ut=jt+we,Lt=ae&&(De==null?void 0:De.ptsMin)!==void 0?De.ptsMin/De.timescale-v.baseTime/v.timescale:jt,Jt=We!==void 0&&ie?We/ie.timescale-v.baseTime/v.timescale:ae&&De!=null&&De.ptsMax?De.ptsMax/De.timescale-v.baseTime/v.timescale:ut;if(we>0)this.lastEndTime=ut;else this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp();let hn=(X.audio?X.audio.encrypted:!1)||(X.video?X.video.encrypted:!1),Wt={data1:Fe,data2:Be,startPTS:Lt,startDTS:jt,endPTS:Jt,endDTS:ut,type:be,hasAudio:se,hasVideo:ae,nb:1,dropped:0,encrypted:hn};T.audio=se&&!ae?Wt:void 0,T.video=ae?Wt:void 0;let rn=this.isVideoContiguous,Wn=ie==null?void 0:ie.sampleCount;if(Wn){let Xe=ie.keyFrameIndex,Ze=Xe!==-1;if(Wt.nb=Wn,Wt.dropped=Xe===0||rn?0:Ze?Xe:Wn,Wt.independent=Ze,Wt.firstKeyFrame=Xe,Ze&&ie.keyFrameStart)Wt.firstKeyFramePTS=(ie.keyFrameStart-v.baseTime)/v.timescale;if(!rn)T.independent=Ze;if(this.isVideoContiguous||(this.isVideoContiguous=Ze),Wt.dropped)this.warn(`fmp4 does not start with IDR: firstIDR ${Xe}/${Wn} dropped: ${Wt.dropped} start: ${Wt.firstKeyFramePTS||"NA"}`)}if(T.initSegment=U,T.id3=w6(s,r,v,v),i.samples.length)T.text=y6(i,r,v);return T}}function Ld(e,n,s=!1){return(e==null?void 0:e.start)!==void 0?(e.start+(s?e.duration:0))/e.timescale:n}function UC(e,n){let s=e,i=e;for(let r=0;r<n.length;r++){let{cts:a,duration:l}=n[r];i=Math.max(i,s+(a||0)+l),s+=l}return i}function zC(e,n,s,i){if(s!==void 0){let a=e[e.length-1],l=n;for(let c=0;c<e.length-1;c++)l-=e[c].duration;if(l<=0)l=a.duration;return a.duration=l,{durationOffset:s,value:l}}if(i===void 0)return;let r=Math.round(n/e.length);for(let a=0;a<e.length;a++)e[a].duration=r;return{durationOffset:i,value:r}}function GC(e,n,s,i){if(e===null)return!0;let r=Math.max(i,1),a=n-e.baseTime/e.timescale;return Math.abs(a-s)>=r}function p3(e,n,s){let i=e.codec;if(i&&i.length>4)return i;if(n===Jn.AUDIO){if(i==="ec-3"||i==="ac-3"||i==="alac")return i;if(i==="fLaC"||i==="Opus")return e0(i,!1);return s.warn(`Unhandled audio codec "${i}" in mp4 MAP`),i||"mp4a"}else if(i==="mjpg")return i;return s.warn(`Unhandled video codec "${i}" in mp4 MAP`),i||"avc1"}var rl;try{rl=self.performance.now.bind(self.performance)}catch(e){rl=Date.now}var Xd=[{demux:u6,remux:v6},{demux:vo,remux:yh},{demux:o6,remux:yh},{demux:h6,remux:yh}];Xd.splice(2,0,{demux:c6,remux:yh});class l1{constructor(e,n,s,i,r,a){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=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=n,this.config=s,this.id=r,this.logger=a}configure(e){if(this.transmuxConfig=e,this.decrypter)this.decrypter.reset()}push(e,n,s,i){if(!this.observer)return Od(s);let r=s.transmuxing;r.executeStart=rl();let a=new Uint8Array(e),{currentTransmuxState:l,transmuxConfig:c}=this;if(i)this.currentTransmuxState=i;let{contiguous:f,discontinuity:d,trackSwitch:g,accurateTimeOffset:b,timeOffset:y,initSegmentChange:v}=i||l,{audioCodec:x,videoCodec:T,defaultInitPts:R,duration:N,initSegmentData:U}=c,X=VC(a,n);if(X&&Qc(X.method)){let te=this.getDecrypter(),ne=M1(X.method);return this.asyncResult=!0,this.decryptionPromise=te.decrypt(a,X.key.buffer,X.iv.buffer,ne,s.decryptRange).then((ie)=>{let se=this.push(ie,null,s);return this.decryptionPromise=null,se}),this.decryptionPromise}let Y=this.needsProbing(d,g);if(Y){let te=s.iframe&&U&&vo.probe(U,this.logger)?U:a,ne=this.configureTransmuxer(te);if(ne)return this.logger.warn(`[transmuxer] ${ne.message}`),this.observer.emit(Z.ERROR,Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,fatal:!1,error:ne,reason:ne.message}),r.executeEnd=rl(),Od(s)}if(d||g||v||Y)this.resetInitSegment(U,x,T,N,n,s);if(d||v||Y)this.resetInitialTimestamp(R);if(!f)this.resetContiguity();let J=this.transmux(a,X,y,b,s);this.asyncResult=_h(J);let ee=this.currentTransmuxState;return ee.contiguous=!0,ee.discontinuity=!1,ee.trackSwitch=!1,r.executeEnd=rl(),J}flush(e){let n=e.transmuxing;n.executeStart=rl();let{decrypter:s,currentTransmuxState:i,decryptionPromise:r}=this;if(r)return this.asyncResult=!0,r.then(()=>this.flush(e));let a=[],{timeOffset:l}=i;if(s){let g=s.flush();if(g)a.push(this.push(g.buffer,null,e))}let{demuxer:c,remuxer:f}=this;if(!c||!f){n.executeEnd=rl();let g=[Od(e)];if(this.asyncResult)return Promise.resolve(g);return g}let d=c.flush(l,e);if(_h(d))return this.asyncResult=!0,d.then((g)=>(this.flushRemux(a,g,e),a));if(this.flushRemux(a,d,e),this.asyncResult)return Promise.resolve(a);return a}flushRemux(e,n,s){if(!this.remuxer)return;let{audioTrack:i,videoTrack:r,id3Track:a,textTrack:l}=n,{accurateTimeOffset:c,timeOffset:f}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${s.sn}${s.part>-1?" part: "+s.part:""} of ${this.id} playlist ${s.level}`);let d=this.remuxer.remux(i,r,a,l,f,c,!0,this.id,s,n.initData,n.sampleData);e.push({remuxResult:d,chunkMeta:s}),s.transmuxing.executeEnd=rl()}resetInitialTimestamp(e){let{demuxer:n,remuxer:s}=this;if(!n||!s)return;n.resetTimeStamp(e),s.resetTimeStamp(e)}resetContiguity(){let{demuxer:e,remuxer:n}=this;if(!e||!n)return;e.resetContiguity(),n.resetNextTimestamp()}resetInitSegment(e,n,s,i,r,a){let{demuxer:l,remuxer:c}=this;if(!l||!c)return;l.resetInitSegment(e,n,s,i,r,a),c.resetInitSegment(e,n,s,r)}destroy(){if(this.demuxer)this.demuxer.destroy(),this.demuxer=void 0;if(this.remuxer)this.remuxer.destroy(),this.remuxer=void 0;if(this.observer)this.observer.removeAllListeners();this.decryptionPromise=null,this.decrypter=this.observer=void 0,this.logger=this.config=this.probe=void 0}transmux(e,n,s,i,r){let a;if((n==null?void 0:n.method)==="SAMPLE-AES")a=this.transmuxSampleAes(e,n,s,i,r);else a=this.transmuxUnencrypted(e,s,i,r);return a}transmuxUnencrypted(e,n,s,i){let{demuxer:r,remuxer:a}=this;if(!r||!a)return Od(i);let l=r.demux(e,n,i,!1,!this.config.progressive),{audioTrack:c,videoTrack:f,id3Track:d,textTrack:g}=l;return{remuxResult:a.remux(c,f,d,g,n,s,!1,this.id,i,l.initData,l.sampleData),chunkMeta:i}}transmuxSampleAes(e,n,s,i,r){if(!this.demuxer)return Promise.reject(Error("no demuxer"));return this.demuxer.demuxSampleAes(e,n,s,r).then((a)=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,s,i,!1,this.id,r,a.initData,a.sampleData),chunkMeta:r}))}configureTransmuxer(e){let{config:n,observer:s,typeSupported:i}=this;if(!s)return;let r;try{for(let g=0,b=Xd.length;g<b;g++){var a;if((a=Xd[g].demux)!=null&&a.probe(e,this.logger)){r=Xd[g];break}}}catch(g){return g}if(!r)return Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,c=this.remuxer,f=r.demux,d=r.remux;if(!l||!(l instanceof f))this.logger.log(`Using ${f.name}`),this.demuxer=new f(s,n,i,this.logger),this.probe=f.probe;if(!c||!(c instanceof d))this.logger.log(`Using ${d.name}`),this.remuxer=new d(s,n,i,this.logger)}needsProbing(e,n){return!this.demuxer||!this.remuxer||e||n}getDecrypter(){let e=this.decrypter;if(!e)e=this.decrypter=new b0(this.config);return e}}function VC(e,n){let s=null;if(e.byteLength>0&&(n==null?void 0:n.key)!=null&&n.iv!==null&&n.method!=null)s=n;return s}var Od=(e)=>({remuxResult:{},chunkMeta:e});function _h(e){return"then"in e&&e.then instanceof Function}class S6{constructor(e,n,s,i,r){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=n,this.initSegmentData=s,this.duration=i,this.defaultInitPts=r||null}}class k6{constructor(e,n,s,i,r,a){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=n,this.accurateTimeOffset=s,this.trackSwitch=i,this.timeOffset=r,this.initSegmentChange=a}}var g3=0;class z1{constructor(e,n,s,i){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=g3++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=(c)=>{let f=c.data,d=this.hls;if(!d||!(f!=null&&f.event)||f.instanceNo!==this.instanceNo)return;switch(f.event){case"init":{var g;let b=(g=this.workerContext)==null?void 0:g.objectURL;if(b)self.URL.revokeObjectURL(b);break}case"transmuxComplete":{this.handleTransmuxComplete(f.data);break}case"flush":{this.onFlush(f.data);break}case"workerLog":{if(d.logger[f.data.logType])d.logger[f.data.logType](f.data.message);break}default:{f.data=f.data||{},f.data.frag=this.frag,f.data.part=this.part,f.data.id=this.id,d.trigger(f.event,f.data);break}}},this.onWorkerError=(c)=>{if(!this.hls)return;let f=Error(`${c.message} (${c.filename}:${c.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:f})};let r=e.config;this.hls=e,this.id=n,this.useWorker=!!r.enableWorker,this.onTransmuxComplete=s,this.onFlush=i;let a=(c,f)=>{if(f=f||{},f.frag=this.frag||void 0,c===Z.ERROR)f=f,f.parent=this.id,f.part=this.part,this.error=f.error;this.hls.trigger(c,f)};this.observer=new O1,this.observer.on(Z.FRAG_DECRYPTED,a),this.observer.on(Z.ERROR,a);let l=M5(r.preferManagedMediaSource);if(this.useWorker&&typeof Worker<"u"){let c=this.hls.logger;if(r.workerPath||cC()){try{if(r.workerPath)c.log(`loading Web Worker ${r.workerPath} for "${n}"`),this.workerContext=hC(r.workerPath);else c.log(`injecting Web Worker for "${n}"`),this.workerContext=fC();let{worker:d}=this.workerContext;d.addEventListener("message",this.onWorkerMessage),d.addEventListener("error",this.onWorkerError),d.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:l,id:n,config:cs(r)})}catch(d){c.warn(`Error setting up "${n}" Web Worker, fallback to inline`,d),this.terminateWorker(),this.error=null,this.transmuxer=new l1(this.observer,l,r,"",n,e.logger)}return}}this.transmuxer=new l1(this.observer,l,r,"",n,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=g3++;let n=this.hls.config,s=M5(n.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:s,id:this.id,config:cs(n)})}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),uC(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let n=this.transmuxer;if(n)n.destroy(),this.transmuxer=null}let e=this.observer;if(e)e.removeAllListeners();this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,n,s,i,r,a,l,c,f,d){var g,b;f.transmuxing.start=self.performance.now();let{instanceNo:y,transmuxer:v}=this,x=a?a.start:r.start,T=r.decryptdata,R=this.frag,N=R?r.cc!==R.cc:!0,U=R?f.level!==R.level:!0,X=R?f.sn-R.sn:-1,Y=this.part?f.part-this.part.index:-1,J=X===0&&f.id>1&&f.id===(R==null?void 0:R.stats.chunkCount),ee=!U&&(X===1||X===0&&(Y===1||J&&Y<=0)),te=self.performance.now();if(U||X||r.stats.parsing.start===0)r.stats.parsing.start=te;if(a&&(Y||!ee))a.stats.parsing.start=te;let ne=!(R&&((g=r.initSegment)==null?void 0:g.url)===((b=R.initSegment)==null?void 0:b.url)),ie=new k6(N,ee,c,U,x,ne);if(!ee||N||ne){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${r.type} sn: ${f.sn}${f.part>-1?" part: "+f.part:""} ${this.id} playlist: ${f.level} id: ${f.id}
28
- discontinuity: ${N}
29
- trackSwitch: ${U}
30
- contiguous: ${ee}
31
- accurateTimeOffset: ${c}
32
- timeOffset: ${x}
33
- initSegmentChange: ${ne}`);let se=new S6(s,i,n,l,d);this.configureTransmuxer(se)}if(this.frag=r,this.part=a,this.workerContext)this.workerContext.worker.postMessage({instanceNo:y,cmd:"demux",data:e,decryptdata:T,chunkMeta:f,state:ie},e instanceof ArrayBuffer?[e]:[]);else if(v){let se=v.push(e,T,f,ie);if(_h(se))se.then((ae)=>{this.handleTransmuxComplete(ae)}).catch((ae)=>{this.transmuxerError(ae,f,"transmuxer-interface push error")});else this.handleTransmuxComplete(se)}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:n,transmuxer:s}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:n,cmd:"flush",chunkMeta:e});else if(s){let i=s.flush(e);if(_h(i))i.then((r)=>{this.handleFlushResult(r,e)}).catch((r)=>{this.transmuxerError(r,e,"transmuxer-interface flush error")});else this.handleFlushResult(i,e)}}transmuxerError(e,n,s){if(!this.hls)return;this.error=e,this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,chunkMeta:n,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:s})}handleFlushResult(e,n){e.forEach((s)=>{this.handleTransmuxComplete(s)}),this.onFlush(n)}configureTransmuxer(e){let{instanceNo:n,transmuxer:s}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:n,cmd:"configure",config:e});else if(s)s.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}var b3=100;class x6 extends y0{constructor(e,n,s){super(e,n,s,"audio-stream-controller",Ct.AUDIO);this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.nextTrackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Z.BUFFER_RESET,this.onBufferReset,this),e.on(Z.BUFFER_CREATED,this.onBufferCreated,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;super.unregisterListeners(),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Z.BUFFER_RESET,this.onBufferReset,this),e.off(Z.BUFFER_CREATED,this.onBufferCreated,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,n){let{frag:s,id:i,initPTS:r,timescale:a,trackId:l,timestampOffsets:c}=n;if(i===Ct.MAIN){let f=s.cc,d=this.fragCurrent;if(this.initPTS=c,this.log(`InitPTS for cc: ${f} found from main: ${r/a} (${r}/${a}) trackId: ${l}`),this.mainAnchor=s,this.state===Ve.WAITING_INIT_PTS){let g=this.waitingData;if(!g&&!this.loadingParts||g&&g.frag.cc!==f)this.syncWithAnchor(s,g==null?void 0:g.frag)}else if(!this.hls.hasEnoughToStart&&d&&d.cc!==f)d.abortRequests(),this.syncWithAnchor(s,d);else if(this.state===Ve.IDLE)this.tick()}}getLoadPosition(){var e;if(!this.startFragRequested&&this.nextLoadPosition>=0&&((e=this.switchingTrack)==null?void 0:e.flushImmediate)!==!1)return this.nextLoadPosition;return super.getLoadPosition()}syncWithAnchor(e,n){var s;let i=((s=this.mainFragLoading)==null?void 0:s.frag)||null;if(n){if((i==null?void 0:i.cc)===n.cc)return}let r=(i||e).cc,a=this.getLevelDetails(),l=this.getLoadPosition(),c=_9(a,r,l);if(c){if(this.log(`Syncing with main frag at ${c.start} cc ${c.cc}`),this.startFragRequested=!1,this.nextLoadPosition=c.start,this.resetLoadingState(),this.state===Ve.IDLE)this.doTickIdle()}}startLoad(e,n){if(!this.levels){this.startPosition=e,this.state=Ve.STOPPED;return}let s=this.lastCurrentTime;if(this.stopLoad(),this.setInterval(b3),s>0&&e===-1&&!n&&this.initPTS.length)this.log(`Override startPosition with lastCurrentTime @${s.toFixed(3)}`),e=s;if(this.state=Ve.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,!n&&!this.fragmentTracker.hasFragments(this.playlistType))this.startFragRequested=!1;this.tick()}doTick(){switch(this.state){case Ve.IDLE:this.doTickIdle();break;case Ve.WAITING_TRACK:{let{levels:e,trackId:n}=this,s=e==null?void 0:e[n],i=s==null?void 0:s.details;if(i&&!this.waitForLive(s)){if(this.waitForCdnTuneIn(i))break;this.state=Ve.WAITING_INIT_PTS}break}case Ve.FRAG_LOADING_WAITING_RETRY:{this.checkRetryDate();break}case Ve.WAITING_INIT_PTS:{let e=this.waitingData;if(e){let{frag:n,part:s,cache:i,complete:r}=e,a=this.mainAnchor;if(this.initPTS[n.cc]!==void 0){this.waitingData=null,this.state=Ve.FRAG_LOADING;let l=i.flush().buffer,c={frag:n,part:s,payload:l,networkDetails:null};if(this._handleFragmentLoadProgress(c),r)super._handleFragmentLoadComplete(c)}else if(a&&a.cc!==e.frag.cc)this.syncWithAnchor(a,e.frag)}else this.state=Ve.IDLE}}this.onTickEnd()}resetLoadingState(){let e=this.waitingData;if(e)this.fragmentTracker.removeFragment(e.frag),this.waitingData=null;super.resetLoadingState()}onTickEnd(){let{media:e}=this;if(!(e!=null&&e.readyState))return;this.lastCurrentTime=e.currentTime,this.checkFragmentChanged()}doTickIdle(){var e;let{hls:n,levels:s,media:i,trackId:r}=this,a=n.config;if(!this.buffering||!i&&!this.primaryPrefetch&&(this.startFragRequested||!a.startFragPrefetch)||!(s!=null&&s[r]))return;let l=s[r],c=l.details;if(!c||this.waitForLive(l)||this.waitForCdnTuneIn(c)){this.state=Ve.WAITING_TRACK,this.startFragRequested=!1;return}let f=this.getBufferOutput();if(this.bufferFlushed&&f)this.bufferFlushed=!1,this.afterBufferFlushed(f,Jn.AUDIO);let d=this.getFwdBufferInfo();if(d===null)return;if(!this.switchingTrack&&this._streamEnded(d,c)){n.trigger(Z.BUFFER_EOS,{type:"audio"}),this.state=Ve.ENDED;return}let g=d.len,b=n.maxBufferLength,y=c.fragments,v=y[0].start,x=this.getLoadPosition(),T=this.flushing||this.switchingTrack&&!this.switchingTrack.flushImmediate?x:d.end;if(this.switchingTrack&&i){let U=x;if(c.PTSKnown&&U<v&&U>=this.timelineOffset){if(d.end>v||d.nextStart)this.log(`Alt audio track ahead of main track, seek to start of alt audio track ${U} -> ${v} + 0.05`),i.currentTime=v+0.05}}if(g>=b&&!this.switchingTrack&&T<y[y.length-1].start)return;let R=this.getNextFragment(T,c);if(R&&this.isLoopLoading(R,T))R=this.getNextFragmentLoopLoading(R,c,d,Ct.MAIN,b);if(!R){this.bufferFlushed=!0;return}if(this.exceedsMaxBuffer(d,b,R))return;let N=((e=this.mainFragLoading)==null?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&N&&Fs(R)&&!R.endList&&(!c.live||!this.loadingParts&&T<this.hls.liveSyncPosition)){if(this.fragmentTracker.getState(N)===Ts.OK)this.mainFragLoading=N=null;if(N&&Fs(N)){if(R.start>N.end){let X=this.fragmentTracker.getFragAtPos(T,Ct.MAIN);if(X&&X.end>N.end)N=X,this.mainFragLoading={frag:X,targetBufferTime:null}}if(R.start>N.end)return}}this.loadFragment(R,l,T)}onMediaDetaching(e,n){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,n)}onAudioTracksUpdated(e,{audioTracks:n}){this.resetTransmuxer(),this.levels=n.map((s)=>new tf(s))}onAudioTrackSwitching(e,n){let s=!!n.url;this.trackId=n.id;let{fragCurrent:i}=this;if(i)i.abortRequests(),this.removeUnbufferedFrags(i.start);if(this.resetLoadingState(),s){if(this.switchingTrack=n,!n.flushImmediate)this.nextTrackId=n.id,this.nextLevelSwitch();if(this.flushAudioIfNeeded(n),this.state!==Ve.STOPPED)this.setInterval(b3),this.state=Ve.IDLE,this.tick()}else this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=n,this.clearInterval()}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,n){this.mainDetails=n.details;let s=this.cachedTrackLoadedData;if(s)this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(Z.AUDIO_TRACK_LOADED,s)}onAudioTrackLoaded(e,n){var s;let{levels:i}=this,{details:r,id:a,groupId:l,track:c}=n;if(!i){this.warn(`Audio tracks reset while loading track ${a} "${c.name}" of "${l}"`);return}let f=this.mainDetails;if(!f||r.endCC>f.endCC||f.expired){if(this.cachedTrackLoadedData=n,this.state!==Ve.STOPPED)this.state=Ve.WAITING_TRACK;return}this.cachedTrackLoadedData=null,this.log(`Audio track ${a} "${c.name}" of "${l}" loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);let d=i[a],g=0;if(r.live||(s=d.details)!=null&&s.live){if(this.checkLiveUpdate(r),r.deltaUpdateFailed)return;if(d.details){var b;g=this.alignPlaylists(r,d.details,(b=this.levelLastLoaded)==null?void 0:b.details)}if(!r.alignedSliding)a0(f,r,this),g=r.fragmentStart}if(d.details=r,this.levelLastLoaded=d,!this.startFragRequested)this.setStartPosition(f,g);if(this.hls.trigger(Z.AUDIO_TRACK_UPDATED,{details:r,id:a,groupId:n.groupId}),this.state===Ve.WAITING_TRACK&&!this.waitForCdnTuneIn(r))this.state=Ve.IDLE;this.tick()}_handleFragmentLoadProgress(e){var n;let s=e.frag,{part:i,payload:r}=e,{config:a,trackId:l,levels:c}=this;if(!c){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);return}let f=c[l];if(!f){this.warn("Audio track is undefined on fragment load progress");return}let d=f.details;if(!d){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(s.start);return}let g=a.defaultAudioCodec||f.audioCodec||"mp4a.40.2",b=this.transmuxer;if(!b)b=this.transmuxer=new z1(this.hls,Ct.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this));let y=this.initPTS[s.cc],v=(n=s.initSegment)==null?void 0:n.data;if(y!==void 0){let T=i?i.index:-1,R=T!==-1,N=new w0(s.level,s.sn,s.stats.chunkCount,r.byteLength,T,R,s.duration);b.push(r,v,g,"",s,i,d.totalduration,!1,N,y)}else{this.log(`Unknown video PTS for cc ${s.cc}, waiting for video PTS before demuxing audio frag ${s.sn} of [${d.startSN} ,${d.endSN}],track ${l}`);let{cache:x}=this.waitingData=this.waitingData||{frag:s,part:i,cache:new L1,complete:!1};if(x.push(new Uint8Array(r)),this.state!==Ve.STOPPED)this.state=Ve.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,n){this.bufferFlushed=this.flushing=!1;let s=n.tracks.audio;if(s)this.mediaBuffer=s.buffer||null}onFragLoading(e,n){if(!this.audioOnly&&n.frag.type===Ct.MAIN&&Fs(n.frag)){if(this.mainFragLoading=n,this.state===Ve.IDLE)this.tick()}}onFragBuffered(e,n){let{frag:s,part:i}=n;if(s.type!==Ct.AUDIO){if(!this.audioOnly&&s.type===Ct.MAIN&&!s.elementaryStreams.video&&!s.elementaryStreams.audiovideo)this.audioOnly=!0,this.mainFragLoading=null;return}if(this.fragContextChanged(s)){this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(Fs(s)){let r=this.switchingTrack;if(r)this.bufferedTrack=r}if(this.fragBufferedComplete(s,i),this.media)this.tick()}getFwdBufferInfo(){let e=this.getBufferOutput();return super.getFwdBufferInfo(e,Ct.AUDIO)}getBufferOutput(){return this.mediaBuffer?this.mediaBuffer:this.media}checkFragmentChanged(){let e=this.fragPlaying;if(!this.checkFragPlaying())return!1;let s=this.fragPlaying,i=e==null?void 0:e.level;if(!s||s.level!==i){if(e)this.cleanupBackBuffer();if(this.switchingTrack)this.completeAudioSwitch(this.switchingTrack)}return!0}onError(e,n){var s;if(n.fatal){this.state=Ve.ERROR;return}switch(n.details){case Le.FRAG_GAP:case Le.FRAG_PARSING_ERROR:case Le.FRAG_DECRYPT_ERROR:case Le.FRAG_LOAD_ERROR:case Le.FRAG_LOAD_TIMEOUT:case Le.KEY_LOAD_ERROR:case Le.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Ct.AUDIO,n);break;case Le.AUDIO_TRACK_LOAD_ERROR:case Le.AUDIO_TRACK_LOAD_TIMEOUT:case Le.LEVEL_PARSING_ERROR:if(!n.levelRetry&&this.state===Ve.WAITING_TRACK&&((s=n.context)==null?void 0:s.type)===fn.AUDIO_TRACK)this.state=Ve.IDLE;break;case Le.BUFFER_APPEND_NO_PROGRESS:if(n.parent!=="audio")return;if(n.frag&&(n.appendsWithoutProgress||0)>=this.config.appendErrorMaxRetry)this.warn(`Marking fragment ${n.frag.sn} of track ${n.frag.level} as a gap after ${n.appendsWithoutProgress} appends without buffered range growth, to prevent loop loading`),this.fragmentTracker.addAsGap(n.frag);break;case Le.BUFFER_ADD_CODEC_ERROR:case Le.BUFFER_APPEND_ERROR:if(n.parent!=="audio")return;if(!this.reduceLengthAndFlushBuffer(n))this.resetLoadingState();break;case Le.BUFFER_FULL_ERROR:if(n.parent!=="audio")return;if(this.reduceLengthAndFlushBuffer(n))this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio");break;case Le.INTERNAL_EXCEPTION:this.recoverWorkerError(n);break}}onBufferFlushing(e,{type:n}){if(n!==Jn.VIDEO)this.flushing=!0}onBufferFlushed(e,{type:n}){if(n!==Jn.VIDEO){if(this.flushing=!1,this.bufferFlushed=!0,this.state===Ve.ENDED)this.state=Ve.IDLE;let s=this.getBufferOutput();if(s)this.afterBufferFlushed(s,n),this.tick()}}_handleTransmuxComplete(e){var n;let s="audio",{hls:i}=this,{remuxResult:r,chunkMeta:a}=e,l=this.getCurrentContext(a);if(!l){this.resetWhenMissingContext(a);return}let{frag:c,part:f,level:d}=l,{details:g}=d,{audio:b,text:y,id3:v,initSegment:x}=r;if(this.fragContextChanged(c)||!g){if(this.fragmentTracker.removeFragment(c),x!=null&&x.tracks)this.resetTransmuxer();return}if(this.state=Ve.PARSING,b&&this.switchingTrack&&!this.switchingTrack.flushImmediate){let{config:T}=this,R=T.nextAudioTrackBufferFlushForwardOffset,N=Math.max(this.getLoadPosition()+R,c.start);super.flushMainBuffer(N,Number.POSITIVE_INFINITY,Ct.AUDIO)}if(x!=null&&x.tracks){let T=c.initSegment||c;if(this.unhandledEncryptionError(x,c))return;this._bufferInitSegment(d,x.tracks,T,a),i.trigger(Z.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:"audio",tracks:x.tracks})}if(b){let{startPTS:T,endPTS:R,startDTS:N,endDTS:U}=b;if(f)f.elementaryStreams[Jn.AUDIO]={startPTS:T,endPTS:R,startDTS:N,endDTS:U};c.setElementaryStreamInfo(Jn.AUDIO,T,R,N,U),this.bufferFragmentData(b,c,f,a)}if(v!=null&&(n=v.samples)!=null&&n.length){let T=Hn({id:"audio",frag:c,details:g},v);i.trigger(Z.FRAG_PARSING_METADATA,T)}if(y){let T=Hn({id:"audio",frag:c,details:g},y);i.trigger(Z.FRAG_PARSING_USERDATA,T)}}_bufferInitSegment(e,n,s,i){if(this.state!==Ve.PARSING)return;if(n.video)delete n.video;if(n.audiovideo)delete n.audiovideo;if(!n.audio)return;let r=n.audio;r.id=Ct.AUDIO;let a=e.audioCodec;if(this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${a}/${r.codec}]`),(a==null?void 0:a.split(",").length)===1)r.levelCodec=a;this.hls.trigger(Z.BUFFER_CODECS,n);let l=r.initSegment;if(l!=null&&l.byteLength){let c={type:"audio",frag:s,part:null,chunkMeta:i,parent:s.type,data:l};this.hls.trigger(Z.BUFFER_APPENDING,c)}this.tickImmediate()}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(this.switchingTrack||i===Ts.NOT_LOADED||i===Ts.PARTIAL){var r;if((r=n.details)!=null&&r.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=Ve.WAITING_INIT_PTS;let a=this.mainDetails;if(a&&a.fragmentStart!==n.details.fragmentStart)a0(a,n.details,this)}else super.loadFragment(e,n,s)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack&&e.flushImmediate){let{name:n,lang:s,assocLang:i,characteristics:r,audioCodec:a,channels:l}=this.bufferedTrack;if(!Ql({name:n,lang:s,assocLang:i,characteristics:r,audioCodec:a,channels:l},e,Yl))if(n0(e.url,this.hls))this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null;else this.bufferedTrack=e}}completeAudioSwitch(e){let{hls:n}=this;this.bufferedTrack=e,this.switchingTrack=null,n.trigger(Z.AUDIO_TRACK_SWITCHED,qt({},e))}get nextAudioTrack(){return this.nextTrackId}}class S0 extends Yi{constructor(e,n){super(n,e.logger);this.hls=void 0,this.canLoad=!1,this.timer=-1,this.loadingSync=!1,this.hls=e}destroy(){this.clearTimer(),this.hls=null}clearTimer(){if(this.timer!==-1)self.clearTimeout(this.timer),this.timer=-1}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,n,s){let i=n==null?void 0:n.renditionReports;if(i){let r=-1;for(let a=0;a<i.length;a++){let l=i[a],c;try{c=new self.URL(l.URI,n.url).href}catch(f){this.warn(`Could not construct new URL for Rendition Report: ${f}`),c=l.URI||""}if(c===e){r=a;break}else if(c===e.substring(0,c.length))r=a}if(r!==-1){let a=i[r],l=parseInt(a["LAST-MSN"])||n.lastPartSn,c=parseInt(a["LAST-PART"])||n.lastPartIndex;if(this.hls.config.lowLatencyMode){let d=Math.min(n.age-n.partTarget,n.targetduration);if(c>=0&&d>n.partTarget)c+=1}let f=s&&F5(s);return new t1(l,c>=0?c:void 0,f)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,n){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,n){if(n)try{return n.addDirectives(e)}catch(s){this.warn(`Could not construct new URL with HLS Delivery Directives: ${s}`)}return e}playlistLoaded(e,n,s){let{details:i,stats:r}=n,a=i.fragments,l=self.performance.now(),c=r.loading.first?Math.max(0,Math.floor(l-r.loading.first)):0;i.advancedDateTime=Date.now()-c;let f=this.hls.config.timelineOffset;if(f!==i.appliedTimelineOffset){let g=Math.max(f||0,0);i.appliedTimelineOffset=g,a.forEach((b)=>{b==null||b.setStart(b.playlistOffset+g)})}if(i.live||s!=null&&s.live){var d;let g="levelInfo"in n?n.levelInfo:n.track;i.reloaded(s);let b=(d=a[a.length-1])==null?void 0:d.type;if(i.misses>=this.hls.config.liveMaxUnchangedPlaylistRefresh){let Y=Error(`${b} playlist ${g.id} hit max allowed unchanged reloads.`);this.warn(Y);let{networkDetails:J,context:ee}=n;this.hls.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Le.PLAYLIST_UNCHANGED_ERROR,fatal:!1,url:i.url,error:Y,reason:Y.message,level:n.level,parent:b,context:ee,networkDetails:J,stats:r});return}if(s){QE(s,i,this);let Y=i.playlistParsingError;if(Y){this.warn(Y);let J=this.hls;if(!J.config.ignorePlaylistParsingErrors){let{networkDetails:ee}=n;J.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Le.LEVEL_PARSING_ERROR,fatal:!1,url:i.url,error:Y,reason:Y.message,level:n.level,parent:b,networkDetails:ee,stats:r});return}i.playlistParsingError=null}}if(i.requestScheduled===-1)i.requestScheduled=r.loading.start;let y=this.hls.mainForwardBufferInfo,v=y?y.end-y.len:0,x=(i.edge-v)*1000,T=$9(i,x);if(i.requestScheduled+T<l)i.requestScheduled=l;else if(i.requestScheduled<=l)i.requestScheduled+=T;let R=n.deliveryDirectives;if(this.log(`live playlist ${e} ${i.advanced?`REFRESHED ${i.lastPartSn} - ${i.lastPartIndex}`:i.updated?"UPDATED":`MISSED (received ${i.lastPartSn} - ${i.lastPartIndex}${R?` | requested ${R.msn} - ${R.part}`:""})`}`),!this.canLoad||!i.live)return;let N,U=void 0,X=void 0;if(i.canBlockReload&&i.advanced){let Y=this.hls.config.lowLatencyMode,{lastPartSn:J,endSN:ee,lastPartIndex:te}=i,ne=te!==-1,ie=J===ee;if(ne)if(ie)U=ee+1,X=Y?0:te;else U=J,X=Y?te+1:i.maxPartIndex;else U=ee+1;let se=i.age,ae=se+i.ageHeader,be=Math.min(ae-i.partTarget,i.targetduration*1.5);if(be>0){if(ae>i.targetduration*3)this.log(`Playlist last advanced ${se.toFixed(2)}s ago. Omitting segment and part directives.`),U=void 0,X=void 0;else if(s!=null&&s.tuneInGoal&&ae-i.partTarget>s.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${s.tuneInGoal} to: ${be} with playlist age: ${i.age}`),be=0;else{let ye=Math.floor(be/i.targetduration);if(U+=ye,X!==void 0){let ue=Math.round(be%i.targetduration/i.partTarget);X+=ue}this.log(`CDN Tune-in age: ${i.ageHeader}s last advanced ${se.toFixed(2)}s goal: ${be} skip sn ${ye} to part ${X}`)}i.tuneInGoal=be}if(N=this.getDeliveryDirectives(i,n.deliveryDirectives,U,X),Y||!ie){i.requestScheduled=l,this.loadingPlaylist(g,N);return}}else if(i.canBlockReload||i.canSkipUntil)N=this.getDeliveryDirectives(i,n.deliveryDirectives,U,X);if(N&&U!==void 0&&i.canBlockReload)i.requestScheduled=r.loading.first+Math.max(T-c*2,T/2);this.scheduleLoading(g,N,i)}else this.clearTimer()}scheduleLoading(e,n,s){let i=s||e.details;if(!i){this.loadingPlaylist(e,n);return}let r=self.performance.now(),a=i.requestScheduled;if(r>=a&&!this.loadingSync){this.loadingSync=!0,this.loadingPlaylist(e,n),this.loadingSync=!1;return}let l=Math.max(a-r,0);this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(l)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,n),l)}getDeliveryDirectives(e,n,s,i){let r=F5(e);if(n!=null&&n.skip&&e.deltaUpdateFailed)s=n.msn,i=n.part,r=$d.No;return new t1(s,i,r)}checkRetry(e){let n=e.details,s=Jd(e),i=e.errorAction,{action:r,retryCount:a=0,retryConfig:l}=i||{},c=!!i&&!!l&&(r===di.RetryRequest||!i.resolved&&r===di.SendAlternateToPenaltyBox);if(c){var f;if(a>=l.maxNumRetry)return!1;if(s&&(f=e.context)!=null&&f.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${l.maxNumRetry} after "${n}" without delivery-directives`),this.loadPlaylist();else{var d;let g=kh((d=e.response)==null?void 0:d.code);if(this.clearTimer(),g)this.log("Waiting for connection (offline)"),e.reason="offline",this.timer=self.setTimeout(()=>this.checkOfflineStatus(),1000);else{let b=A1(l,a);this.warn(`Retrying playlist loading ${a+1}/${l.maxNumRetry} after "${n}" in ${b}ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(),b)}}e.levelRetry=!0,i.resolved=!0}return c}checkOfflineStatus(){if(this.clearTimer(),kh(0))this.timer=self.setTimeout(()=>this.checkOfflineStatus(),1000);else this.log("Connection restored (online)"),this.loadPlaylist()}}function A6(e,n){if(e.length!==n.length)return!1;for(let s=0;s<e.length;s++)if(!Ih(e[s].attrs,n[s].attrs))return!1;return!0}function Ih(e,n,s){let i=e["STABLE-RENDITION-ID"];if(i&&!s)return i===n["STABLE-RENDITION-ID"];return!(s||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some((r)=>e[r]!==n[r])}class T6 extends S0{constructor(e){super(e,"audio-track-controller");this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Z.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,n){this.tracks=n.audioTracks||[]}onAudioTrackLoaded(e,n){let{id:s,groupId:i,details:r}=n,a=this.tracksInGroup[s];if(!a||a.groupId!==i){this.warn(`Audio track with id:${s} and group:${i} not found in active group ${a==null?void 0:a.groupId}`);return}let l=a.details;if(a.details=n.details,this.log(`Audio track ${s} "${a.name}" lang:${a.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId)this.playlistLoaded(s,n,l)}onLevelLoading(e,n){this.switchLevel(n.level)}onLevelSwitching(e,n){this.switchLevel(n.level)}switchLevel(e){let n=this.hls.levels[e];if(!n)return;let s=n.audioGroups||null,i=this.groupIds,r=this.currentTrack;if(!s||(i==null?void 0:i.length)!==(s==null?void 0:s.length)||s!=null&&s.some((l)=>(i==null?void 0:i.indexOf(l))===-1)){this.groupIds=s,this.trackId=-1,this.currentTrack=null;let l=this.tracks.filter((b)=>Ch(b.groupId,s));if(l.length){if(this.selectDefaultTrack&&!l.some((b)=>b.default))this.selectDefaultTrack=!1;l.forEach((b,y)=>{b.id=y})}else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=l;let c=this.hls.config.audioPreference;if(!r&&c){let b=qa(c,l,Yl);if(b>-1)r=l[b];else{let y=qa(c,this.tracks);r=this.tracks[y]}}let f=this.findTrackId(r);if(f===-1&&r)f=this.findTrackId(null);let d={audioTracks:l};this.log(`Updating audio tracks, ${l.length} track(s) found in group(s): ${s==null?void 0:s.join(",")}`),this.hls.trigger(Z.AUDIO_TRACKS_UPDATED,d);let g=this.trackId;if(f!==-1&&g===-1)this.setAudioTrack(f);else if(l.length&&g===-1){var a;let b=Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${l.length}`);this.warn(b.message),this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:b})}}}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===fn.AUDIO_TRACK&&n.context.id===this.trackId&&Ch(n.context.groupId,this.groupIds))this.checkRetry(n)}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}get nextAudioTrack(){return this.trackId}set nextAudioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e,!1)}setAudioOption(e){let n=this.hls;if(n.config.audioPreference=e,e){let s=this.allAudioTracks;if(this.selectDefaultTrack=!1,s.length){let i=this.currentTrack;if(i&&Ql(e,i,Yl))return i;let r=qa(e,this.tracksInGroup,Yl);if(r>-1){let a=this.tracksInGroup[r];return this.setAudioTrack(r,"flushImmediate"in e&&e.flushImmediate),a}else if(i){let a=n.loadLevel;if(a===-1)a=n.firstAutoLevel;let l=CE(e,n.levels,s,a,Yl);if(l===-1)return null;n.nextLoadLevel=l}if(e.channels||e.audioCodec){let a=qa(e,s);if(a>-1)return s[a]}}}return null}setAudioTrack(e,n=!0){let s=this.tracksInGroup;if(e<0||e>=s.length){this.warn(`Invalid audio track id: ${e}`);return}this.selectDefaultTrack=!1;let i=this.currentTrack,r=s[e],a=r.details&&!r.details.live;if(e===this.trackId&&r===i&&a)return;if(this.log(`Switching to audio-track ${e} "${r.name}" lang:${r.lang} group:${r.groupId} channels:${r.channels}`),this.trackId=e,this.currentTrack=r,this.hls.trigger(Z.AUDIO_TRACK_SWITCHING,qt(qt({},r),{},{flushImmediate:n})),a)return;let l=this.switchParams(r.url,i==null?void 0:i.details,r.details);this.loadPlaylist(l)}findTrackId(e){let n=this.tracksInGroup;for(let s=0;s<n.length;s++){let i=n[s];if(this.selectDefaultTrack&&!i.default)continue;if(!e||Ql(e,i,Yl))return s}if(e){let{name:s,lang:i,assocLang:r,characteristics:a,audioCodec:l,channels:c}=e;for(let f=0;f<n.length;f++){let d=n[f];if(Ql({name:s,lang:i,assocLang:r,characteristics:a,audioCodec:l,channels:c},d,Yl))return f}for(let f=0;f<n.length;f++){let d=n[f];if(Ih(e.attrs,d.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return f}for(let f=0;f<n.length;f++){let d=n[f];if(Ih(e.attrs,d.attrs,["LANGUAGE"]))return f}}return-1}loadPlaylist(e){super.loadPlaylist();let n=this.currentTrack;if(!this.shouldLoadPlaylist(n))return;if(n0(n.url,this.hls))this.scheduleLoading(n,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let{id:s,groupId:i}=e,r=this.getUrlWithDirectives(e.url,n),a=e.details,l=a==null?void 0:a.age;this.log(`Loading audio-track ${s} "${e.name}" lang:${e.lang} group:${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${r}`),this.hls.trigger(Z.AUDIO_TRACK_LOADING,{url:r,id:s,groupId:i,deliveryDirectives:n||null,track:e})}}class E6{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,n,s){if(this.queues===null||this.tracks===null)return;let i=this.queues[n];if(i.push(e),i.length===1&&!s)this.executeNext(n)}appendBlocker(e){return new Promise((n)=>{let s={label:"async-blocker",execute:n,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(s,e)})}prependBlocker(e){return new Promise((n)=>{if(this.queues){let s={label:"async-blocker-prepend",execute:n,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(s)}})}removeBlockers(){if(this.queues===null)return;[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach((e)=>{var n;let s=(n=e[0])==null?void 0:n.label;if(s==="async-blocker"||s==="async-blocker-prepend")e[0].execute(),e.splice(0,1);else if(s==="block-audio")e.splice(0,1)})}insertNext(e,n){if(this.queues===null)return;this.queues[n].splice(1,0,...e)}unblockAudio(){var e;if(this.queues===null)return;if(((e=this.current("audio"))==null?void 0:e.label)==="block-audio")this.shiftAndExecuteNext("audio")}audioBlocking(){if(this.queues===null)return!1;return this.queues.audio.some((e)=>e.label==="block-audio")}executeNext(e){if(this.queues===null||this.tracks===null)return;let n=this.queues[e];if(n.length){let i=n[0];try{i.execute()}catch(r){var s;if(i.onError(r),this.queues===null||this.tracks===null)return;let a=(s=this.tracks[e])==null?void 0:s.buffer;if(!(a!=null&&a.updating))this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){if(this.queues===null)return;this.queues[e].shift(),this.executeNext(e)}current(e){var n;return((n=this.queues)==null?void 0:n[e][0])||null}toString(){let{queues:e,tracks:n}=this;if(e===null||n===null)return"<destroyed>";return`
34
- ${this.list("video")}
35
- ${this.list("audio")}
36
- ${this.list("audiovideo")}}`}list(e){var n,s;return(n=this.queues)!=null&&n[e]||(s=this.tracks)!=null&&s[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var n;let s=(n=this.tracks)==null?void 0:n[e],i=s==null?void 0:s.buffer;if(!i)return"none";return`SourceBuffer${i.updating?" updating":""}${s.ended?" ended":""}${s.ending?" ending":""}`}listOps(e){var n;return((n=this.queues)==null?void 0:n[e].map((s)=>s.label).join(", "))||""}}var w3=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,C6="HlsJsTrackRemovedError",$C=0.25,XC=0.001;class j6 extends Error{constructor(e){super(e);this.name=C6}}class _6 extends Yi{constructor(e,n){super("buffer-controller",e.logger);this.hls=void 0,this.fragmentTracker=void 0,this.fragmentAppendProgress=Object.create(null),this.appendsWithoutProgress=Object.create(null),this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.appendError=void 0,this._quotaEvictionPending={},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=(s)=>{var i;if(!this.hls)return;if(((i=this.mediaSource)==null?void 0:i.readyState)!=="open")return;if(!this.media||this.media.seeking)return;this.hls.pauseBuffering()},this._onStartStreaming=(s)=>{if(!this.hls)return;this.hls.resumeBuffering()},this._onMediaSourceOpen=(s)=>{let{media:i,mediaSource:r}=this;if(s)this.log("Media source opened");if(!i||!r)return;if(On(r,"sourceopen",this._onMediaSourceOpen),On(i,"emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(Z.MEDIA_ATTACHED,{media:i,mediaSource:r}),this.mediaSource!==null)this.checkPendingTracks()},this._onMediaSourceClose=()=>{if(this.log("Media source closed"),this.media){let s=this.media.error,{appendError:i,appendErrors:r}=this,a=!1;if(!i&&s)a=Math.max(++r.audio,++r.video,++r.audiovideo)>=this.hls.config.appendErrorMaxRetry;let l=Error(`MediaSource closed while media attached${v3(a,s)}`);this.warn(l),this.hls.trigger(Z.ERROR,Hn({fatal:a},i,{type:Dt.MEDIA_ERROR,details:Le.MEDIA_SOURCE_REQUIRES_RESET,error:l}))}},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:s,_objectUrl:i}=this;if(s!==i)this.error(`Media element src was set while attaching MediaSource (${i} > ${s})`)},this._onMediaError=()=>{let{media:s}=this;if(s){var i,r;this.log(`Media error (code: ${(i=s.error)==null?void 0:i.code}): ${(r=s.error)==null?void 0:r.message}`)}},this.hls=e,this.fragmentTracker=n,this.appendSource=gT(ll(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){if(this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.transferData=this.overrides=void 0,this.operationQueue)this.operationQueue.destroy(),this.operationQueue=null;this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null,this._onMediaEmptied=this._onMediaError=null}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.BUFFER_RESET,this.onBufferReset,this),e.on(Z.BUFFER_APPENDING,this.onBufferAppending,this),e.on(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Z.BUFFER_EOS,this.onBufferEos,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.FRAG_PARSED,this.onFragParsed,this),e.on(Z.FRAG_CHANGED,this.onFragChanged,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.BUFFER_RESET,this.onBufferReset,this),e.off(Z.BUFFER_APPENDING,this.onBufferAppending,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.BUFFER_EOS,this.onBufferEos,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.FRAG_PARSED,this.onFragParsed,this),e.off(Z.FRAG_CHANGED,this.onFragChanged,this),e.off(Z.ERROR,this.onError,this)}transferMedia(){let{media:e,mediaSource:n}=this;if(!e)return null;let s={};if(this.operationQueue){let r=this.isUpdating();if(!r)this.operationQueue.removeBlockers();let a=this.isQueued();if(r||a)this.warn(`Transfering MediaSource with${a?" operations in queue":""}${r?" updating SourceBuffer(s)":""} ${this.operationQueue}`);this.operationQueue.destroy()}let i=this.transferData;if(i&&!this.sourceBufferCount&&i.mediaSource===n)Hn(s,i.tracks);else this.sourceBuffers.forEach((r)=>{let[a]=r;if(a)s[a]=Hn({},this.tracks[a]),this.removeBuffer(a);r[0]=r[1]=null});return{media:e,mediaSource:n,tracks:s}}initTracks(){let e={};this.resetAppendProgress(),this.sourceBuffers=[[null,null],[null,null]],this.tracks=e,this.resetQueue(),this.lastMpegAudioChunk=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null,this.resetAppendErrors(),this.resetAppendProgress()}onManifestParsed(e,n){var s;let i=2;if(n.audio&&!n.video||!n.altAudio)i=1;if(this.bufferCodecEventsTotal=i,this.log(`${i} bufferCodec event(s) expected.`),(s=this.transferData)!=null&&s.mediaSource&&this.sourceBufferCount&&i)this.bufferCreated()}onMediaAttaching(e,n){let s=this.media=n.media;this.transferData=this.overrides=void 0;let i=ll(this.appendSource);if(i){let r=!!n.mediaSource;if(r||n.overrides)this.transferData=n,this.overrides=n.overrides;let a=this.mediaSource=n.mediaSource||new i;if(this.assignMediaSource(a),r)this._objectUrl=s.src,this.attachTransferred();else{let l=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{s.removeAttribute("src");let c=self.ManagedMediaSource;s.disableRemotePlayback=s.disableRemotePlayback||c&&a instanceof c,y3(s),WC(s,l),s.load()}catch(c){s.src=l}else s.src=l}if(Nn(s,"emptied",this._onMediaEmptied),Nn(s,"error",this._onMediaError),this.appendSource)Nn(s,"seeking",this._onStartStreaming)}}assignMediaSource(e){var n,s;if(this.log(`${((n=this.transferData)==null?void 0:n.mediaSource)===e?"transferred":"created"} media source: ${(s=e.constructor)==null?void 0:s.name}`),Nn(e,"sourceopen",this._onMediaSourceOpen),Nn(e,"sourceended",this._onMediaSourceEnded),Nn(e,"sourceclose",this._onMediaSourceClose),this.appendSource)Nn(e,"startstreaming",this._onStartStreaming),Nn(e,"endstreaming",this._onEndStreaming)}attachTransferred(){let e=this.media,n=this.transferData;if(!n||!e)return;let s=this.tracks,i=n.tracks,r=i?Object.keys(i):null,a=r?r.length:0,l=()=>{Promise.resolve().then(()=>{if(this.media&&this.mediaSourceOpenOrEnded)this._onMediaSourceOpen()})};if(i&&r&&a){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal})
37
- required tracks: ${cs(s,(c,f)=>c==="initSegment"?void 0:f)};
38
- transfer tracks: ${cs(i,(c,f)=>c==="initSegment"?void 0:f)}}`),!e9(i,s)){n.mediaSource=null,n.tracks=void 0;let c=e.currentTime,f=this.details,d=Math.max(c,(f==null?void 0:f.fragments[0].start)||0);if(d-c>1){this.log(`attachTransferred: waiting for playback to reach new tracks start time ${c} -> ${d}`);return}this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(i)}"->"${Object.keys(s)}") start time: ${d} currentTime: ${c}`),this.onMediaDetaching(Z.MEDIA_DETACHING,{}),this.onMediaAttaching(Z.MEDIA_ATTACHING,n),e.currentTime=d;return}this.transferData=void 0,r.forEach((c)=>{let f=c,d=i[f];if(d){let g=d.buffer;if(g){let b=this.fragmentTracker,y=d.id;if(b.hasFragments(y)||b.hasParts(y)){let T=Ot.getBuffered(g);b.detectEvictedFragments(f,T,y,null,null,!0)}let v=Mg(f),x=[f,g];if(this.sourceBuffers[v]=x,g.updating&&this.operationQueue)this.operationQueue.prependBlocker(f);this.trackSourceBuffer(f,d)}}}),l(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),l()}get mediaSourceOpenOrEnded(){var e;let n=(e=this.mediaSource)==null?void 0:e.readyState;return n==="open"||n==="ended"}onMediaDetaching(e,n){let s=!!n.transferMedia;this.transferData=this.overrides=void 0;let{media:i,mediaSource:r,_objectUrl:a}=this;if(r){if(this.log(`media source ${s?"transferring":"detaching"}`),s)this.sourceBuffers.forEach(([l])=>{if(l)this.removeBuffer(l)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let l=r.readyState==="open";try{let c=r.sourceBuffers;for(let f=c.length;f--;){if(l)c[f].abort();r.removeSourceBuffer(c[f])}if(l)r.endOfStream()}catch(c){this.warn(`onMediaDetaching: ${c.message} while calling endOfStream`)}}if(this.sourceBufferCount)this.onBufferReset()}if(On(r,"sourceopen",this._onMediaSourceOpen),On(r,"sourceended",this._onMediaSourceEnded),On(r,"sourceclose",this._onMediaSourceClose),this.appendSource)On(r,"startstreaming",this._onStartStreaming),On(r,"endstreaming",this._onEndStreaming);this.mediaSource=null,this._objectUrl=null}if(i){if(On(i,"emptied",this._onMediaEmptied),On(i,"error",this._onMediaError),On(i,"seeking",this._onStartStreaming),!s){if(a)self.URL.revokeObjectURL(a);if(this.mediaSrc===a){if(i.removeAttribute("src"),this.appendSource)y3(i);i.load()}else this.warn("media|source.src was changed by a third party - skip cleanup")}this.media=null}}onBufferReset(){this.sourceBuffers.forEach(([e])=>{if(e)this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var n;let s=(n=this.tracks[e])==null?void 0:n.buffer;if(this.removeBuffer(e),s)try{var i;if((i=this.mediaSource)!=null&&i.sourceBuffers.length)this.mediaSource.removeSourceBuffer(s)}catch(r){this.warn(`onBufferReset ${e}`,r)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[Mg(e)]=[null,null];let n=this.tracks[e];if(n)this.clearBufferAppendTimeoutId(n),n.buffer=void 0}resetQueue(){if(this.operationQueue)this.operationQueue.destroy();this.operationQueue=new E6(this.tracks)}onBufferCodecs(e,n){var s;let i=this.tracks,r=Object.keys(n);this.log(`BUFFER_CODECS: "${r}" (current SB count ${this.sourceBufferCount})`);let a="audiovideo"in n&&(i.audio||i.video)||i.audiovideo&&(("audio"in n)||("video"in n)),l=!a&&this.sourceBufferCount&&this.media&&r.some((c)=>!i[c]);if(a||l){this.warn(`Unsupported transition between "${Object.keys(i)}" and "${r}" SourceBuffers`);return}if(r.forEach((c)=>{var f,d;let g=n[c],{id:b,codec:y,levelCodec:v,container:x,metadata:T,supplemental:R}=g,N=i[c],U=(f=this.transferData)==null||(f=f.tracks)==null?void 0:f[c],X=U!=null&&U.buffer?U:N,Y=(X==null?void 0:X.pendingCodec)||(X==null?void 0:X.codec),J=X==null?void 0:X.levelCodec;if(!N)N=i[c]={buffer:void 0,listeners:[],codec:y,supplemental:R,container:x,levelCodec:v,metadata:T,id:b};let ee=Vd(Y,J),te=ee==null?void 0:ee.replace(w3,"$1"),ne=Vd(y,v),ie=(d=ne)==null?void 0:d.replace(w3,"$1");if(ne&&ee&&te!==ie){if(c.slice(0,5)==="audio")ne=e0(ne,this.appendSource);if(this.log(`switching codec ${Y} to ${ne}`),ne!==(N.pendingCodec||N.codec))N.pendingCodec=ne;N.container=x,this.appendChangeType(c,x,ne)}}),this.tracksReady||this.sourceBufferCount)n.tracks=this.sourceBufferTracks;if(this.sourceBufferCount)return;if(this.bufferCodecEventsTotal>1&&!this.tracks.video&&!n.video&&((s=n.audio)==null?void 0:s.id)==="main")this.log("Main audio-only"),this.bufferCodecEventsTotal=1;if(this.mediaSourceOpenOrEnded)this.checkPendingTracks()}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,n)=>{let s=this.tracks[n];return e[n]={id:s.id,container:s.container,codec:s.codec,levelCodec:s.levelCodec},e},{})}appendChangeType(e,n,s){let i=`${n};codecs=${s}`,r={label:`change-type=${i}`,execute:()=>{let a=this.tracks[e];if(a){let l=a.buffer;if(l!=null&&l.changeType)this.log(`changing ${e} sourceBuffer type to ${i}`),l.changeType(i),a.codec=s,a.container=n}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:(a)=>{this.warn(`Failed to change ${e} SourceBuffer type`,a)}};this.append(r,e,this.isPending(this.tracks[e]))}blockAudio(e){var n;let s=e.start,i=s+e.duration*0.05;if(((n=this.fragmentTracker.getAppendedFrag(s,Ct.MAIN))==null?void 0:n.gap)===!0)return;let a={label:"block-audio",execute:()=>{var l,c;if(this.lastVideoAppendEnd>i||Ot.isBuffered((l=this.tracks.video)==null?void 0:l.buffer,i)||((c=this.fragmentTracker.getAppendedFrag(i,Ct.MAIN))==null?void 0:c.gap)===!0)this.unblockAudio()},onStart:()=>{},onComplete:()=>{},onError:(l)=>{this.warn("Error executing block-audio operation",l)}};this.append(a,"audio",!0)}unblockAudio(){if(this.operationQueue)this.operationQueue.unblockAudio()}onBufferAppending(e,n){let{tracks:s}=this,{data:i,type:r,parent:a,frag:l,part:c,chunkMeta:f,offset:d}=n,g=f.buffering[r],b=Fs(l)&&!c&&!l.gap&&!f.partial&&!f.iframe,y=null,v=!1,{sn:x,cc:T}=l,R=self.performance.now();g.start=R;let N=l.stats.buffering,U=c?c.stats.buffering:null;if(N.start===0)N.start=R;if((U==null?void 0:U.start)===0)U.start=R;let X=s.audio,Y=!1;if(r==="audio"&&(X==null?void 0:X.container)==="audio/mpeg")Y=!this.lastMpegAudioChunk||f.id===1||this.lastMpegAudioChunk.sn!==f.sn,this.lastMpegAudioChunk=f;let J=s.video,ee=J==null?void 0:J.buffer;if(ee&&x!=="initSegment"&&d!==void 0){let ie=X==null?void 0:X.buffer,se=c||l;if(r==="audio"&&a!=="main"&&!(J.ending||J.ended)&&ie&&Ot.getBuffered(ie).length){let be=se.start+se.duration*0.05,ye=Ot.getBuffered(ee),ue=this.currentOp("video");if(!ye.length&&!ue)this.blockAudio(se);else if(!Ot.isBuffered(ee,be)&&this.lastVideoAppendEnd<be)this.blockAudio(se)}else if(r==="video"){let ae=se.end,be=this.lastVideoAppendEnd-ae;if(this.lastVideoAppendEnd=ae,be<0||be>se.duration)this.unblockAudio();else if(this.isAudioBlocked())this.executeNext("audio")}}let te=(c||l).start,ne={label:`append-${r}`,execute:()=>{var ie;g.executeStart=self.performance.now();let se=(ie=this.tracks[r])==null?void 0:ie.buffer;if(se){if(b)y=Ot.timeRangesToArray(Ot.getBuffered(se)),v=k3(Fg(y,l),l);if(Y)this.updateTimestampOffset(se,te,0.1,r,x,T);else if(d!==void 0&&ct(d))this.updateTimestampOffset(se,d,0.000001,r,x,T)}this.appendExecutor(i,r)},onStart:()=>{},onComplete:()=>{this.clearBufferAppendTimeoutId(this.tracks[r]);let ie=self.performance.now();if(g.executeEnd=g.end=ie,N.first===0)N.first=ie;if((U==null?void 0:U.first)===0)U.first=ie;let se={};if(this.sourceBuffers.forEach(([ae,be])=>{if(ae)se[ae]=Ot.getBuffered(be)}),b){let ae=this.getFragmentAppendProgress(l),be=se[r];if(be&&y){let ye=Ot.timeRangesToArray(be),ue=Fg(ye,l);ae.progressed||(ae.progressed=ue-Fg(y,l)>XC);let he=v&&k3(ue,l);ae.fullyBuffered[r]=ae.fullyBuffered[r]===void 0?he:ae.fullyBuffered[r]&&he}}this.hls.trigger(Z.BUFFER_APPENDED,{type:r,frag:l,part:c,chunkMeta:f,parent:a,timeRanges:se})},onError:(ie)=>{var se;this.clearBufferAppendTimeoutId(this.tracks[r]);let ae=ie.code===DOMException.QUOTA_EXCEEDED_ERR||ie.name=="QuotaExceededError"||"quota"in ie;if(ae){if(!this._quotaEvictionPending[r]){let he=this.getBackBufferEvictionTarget(r,i.byteLength,l.type);if(he>0){this._quotaEvictionPending[r]=!0,this.log(`QuotaExceededError on "${r}" append sn: ${x} - evicting back buffer to ${he.toFixed(3)}s and retrying`);let oe=this.getFlushOp(r,0,he),Se=this.getClearEvictionPendingOp(r);this.insertNext([oe,ne,Se],r);return}this.warn(`QuotaExceededError on "${r}" sn: ${x} - no back buffer available to evict`)}}if(b)this.getFragmentAppendProgress(l).errored=!0;let be={type:Dt.MEDIA_ERROR,parent:a,details:Le.BUFFER_APPEND_ERROR,sourceBufferName:r,frag:l,part:c,chunkMeta:f,error:ie,err:ie,fatal:!1},ye=(se=this.media)==null?void 0:se.error;if(ie.name===C6&&this.sourceBufferCount===0&&(!this.media||this.pendingTrackCount===0))be.errorAction=bh(!0);else{var ue;if(ae)be.details=Le.BUFFER_FULL_ERROR;let he=++this.appendErrors[r],oe=this.hls.config.appendErrorMaxRetry;if(this.warn(`Failed ${he}/${oe+1} times to append segment in "${r}" sourceBuffer with error: ${ie.message}`),he>=oe)be.fatal=!ae;let Se=(ue=this.mediaSource)==null?void 0:ue.readyState;if(Se==="ended"||Se==="closed"||!!ye)this.warn(`MediaSource readyState "${Se}" during SourceBuffer${v3(be.fatal,ye)}`),be.details=Le.MEDIA_SOURCE_REQUIRES_RESET}if(this.appendError=be,this.hls.trigger(Z.ERROR,be),ae&&this.hls)this.trimBuffers(l.start,1)}};this.log(`queuing "${r}" append sn: ${x}${c?" p: "+c.index:""} of ${a} playlist ${l.level} cc: ${T} offset: ${d} bytes: ${i.byteLength}`),this.append(ne,r,this.isPending(this.tracks[r]))}getClearEvictionPendingOp(e){return{label:"clear",execute:()=>{this._quotaEvictionPending[e]=!1,this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:()=>{}}}getFlushOp(e,n,s){return this.log(`queuing "${e}" remove ${n}-${s}`),{label:"remove",execute:()=>{this.removeExecutor(e,n,s)},onStart:()=>{},onComplete:()=>{var i;let r=(i=this.tracks[e])==null?void 0:i.buffer;this.log(`Remove request ${n}-${s} from ${e} Source Buffer complete > buffer: ${r?o0(Ot.getBuffered(r)):"(detached)"}`),this.hls.trigger(Z.BUFFER_FLUSHED,{type:e,start:n,end:s})},onError:(i)=>{this.warn(`Failed to remove ${n}-${s} from "${e}" SourceBuffer`,i),this.hls.trigger(Z.BUFFER_FLUSHED,{type:e,start:0,end:0,error:i})}}}onBufferFlushing(e,n){let{type:s,startOffset:i,endOffset:r}=n;if(!s||s==="audio")this.unblockAudio();if(s)this.append(this.getFlushOp(s,i,r),s);else this.sourceBuffers.forEach(([a])=>{if(a)this.append(this.getFlushOp(a,i,r),a)})}onFragParsed(e,n){let{frag:s,part:i,chunkMeta:r}=n,a=[],l=i?i.elementaryStreams:s.elementaryStreams;if(l[Jn.AUDIOVIDEO])a.push("audiovideo");else{if(l[Jn.AUDIO])a.push("audio");if(l[Jn.VIDEO])a.push("video")}let c=()=>{let f=self.performance.now();if(s.stats.buffering.end=f,i)i.stats.buffering.end=f;let d=i?i.stats:s.stats;if(this.checkAppendProgress(s,i,r,a),!this.hls)return;if(this.hls.trigger(Z.FRAG_BUFFERED,{frag:s,part:i,stats:d,id:s.type,chunkMeta:r}),!i&&s.gap&&d.retry)this.log(`Nothing buffered for ${s.type} level: ${s.level} sn: ${s.sn} retries ${d.retry}`)};if(a.length===0)this.log(`Fragments must have at least one ElementaryStreamType set. ${s.type} ${s.level} ${i?`part: ${i.index} of `:""}sn: ${s.sn}`);this.blockBuffers(c,a).catch((f)=>{this.warn(`Fragment buffered callback ${f.message}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,n){var s,i;let r=(s=this.hls)==null?void 0:s.config;if(!r)return;let{backBufferLength:a,frontBufferFlushThreshold:l}=r;this.trimBuffers(l,a,n.frag,n.previousFrag);let c=n.frag.elementaryStreams,{appendErrors:f}=this,d=(i=this.appendError)==null?void 0:i.sourceBufferName;Object.keys(c).forEach((g)=>{if(!c[g])return;if(f[g]=0,g===d)this.appendError=void 0;if(g==="audio"||g==="video"){if(f.audiovideo=0,d==="audiovideo")this.appendError=void 0}else if(f.audio=0,f.video=0,d!=="audiovideo")this.appendError=void 0})}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let n=this.tracks[e];if(n)return!n.ended||n.ending}return!1})}onBufferEos(e,n){var s;this.sourceBuffers.forEach(([a])=>{if(a){let l=this.tracks[a];if(!n.type||n.type===a){if(l.ending=!0,!l.ended)l.ended=!0,this.log(`${a} buffer reached EOS`)}}});let i=((s=this.overrides)==null?void 0:s.endOfStream)!==!1;if(this.sourceBufferCount>0&&!this.sourceBuffers.some(([a])=>{var l;return a&&!((l=this.tracks[a])!=null&&l.ended)}))if(this.unblockAudio(),i)this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:a}=this;if((a==null?void 0:a.readyState)!=="open"){if(a)this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${a.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),a.endOfStream(),this.hls.trigger(Z.BUFFERED_TO_END,void 0)});else this.tracksEnded(),this.hls.trigger(Z.BUFFERED_TO_END,void 0);else if(n.type==="video")this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(e!==null){let n=this.tracks[e];if(n)n.ending=!1}})}onLevelUpdated(e,{details:n}){if(!n.fragments.length)return;this.details=n,this.updateDuration()}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();if(!e)return;this.updateMediaSource(e)})}onError(e,n){if(n.details===Le.BUFFER_APPEND_ERROR&&n.frag){var s;let i=(s=n.errorAction)==null?void 0:s.nextAutoLevel;if(ct(i)&&i!==n.frag.level)this.resetAppendErrors()}}getBackBufferEvictionTarget(e,n,s){let{media:i}=this;if(!i)return 0;return this.fragmentTracker.getBackBufferEvictionEnd(i.currentTime,s,n)}getFragmentAppendProgress(e){var n;let s=S3(e),i=this.fragmentAppendProgress[s];if(((n=i)==null?void 0:n.stats)!==e.stats)i={stats:e.stats,progressed:!1,errored:!1,fullyBuffered:Object.create(null)},this.fragmentAppendProgress[s]=i;return i}checkAppendProgress(e,n,s,i){if(n||!Fs(e)||e.gap||s.iframe||s.partial)return;let r=S3(e),a=this.fragmentAppendProgress[r];delete this.fragmentAppendProgress[r];let l=e.stats.buffering;if(l.start&&!l.first)return;let c=(a==null?void 0:a.stats)===e.stats?a:void 0;if(c!=null&&c.errored)return;let f=i.length>0&&i.every((y)=>(c==null?void 0:c.fullyBuffered[y])===!0);if(c!=null&&c.progressed||f){delete this.appendsWithoutProgress[r];return}if(!c&&i.length===0)return;let d=(this.appendsWithoutProgress[r]||0)+1,g=this.hls;if(d>=g.config.appendErrorMaxRetry)delete this.appendsWithoutProgress[r];else this.appendsWithoutProgress[r]=d;this.warn(`Fragment ${e.sn} of ${e.type} playlist ${e.level} appended ${d} time${d>1?"s":""} without buffered range growth`),g.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.BUFFER_APPEND_NO_PROGRESS,fatal:!1,frag:e,chunkMeta:s,parent:e.type,appendsWithoutProgress:d,error:Error(`Fragment append did not increase buffered coverage (${d})`)})}resetAppendProgress(){this.fragmentAppendProgress=Object.create(null),this.appendsWithoutProgress=Object.create(null)}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0},this.appendError=void 0}trimBuffers(e,n,s,i){let{hls:r,details:a,media:l}=this;if(!l||a===null)return;if(!this.sourceBufferCount)return;let c=r.config,f=l.currentTime,d=a.levelTargetDuration;n=a.live&&c.liveBackBufferLength!==null?c.liveBackBufferLength:n;let g=-1/0;if(ct(n)&&n>=0){let b=Math.max(n,d);g=Math.floor(f/d)*d-b}if(s){let b=this.getLoopBackBufferFlushEnd(s,i!=null?i:null);if(b>0)g=Math.max(g,b)}if(g>0)this.flushBackBuffer(f,d,g);if(ct(e)&&e>0){let b=Math.max(c.maxBufferLength,e),y=Math.max(b,d),v=Math.floor(f/d)*d+y;this.flushFrontBuffer(f,d,v)}}getLoopBackBufferFlushEnd(e,n){var s;let{media:i}=this;if(((s=this.hls)==null?void 0:s.config.loopBackBufferFlush)===!1||!(i!=null&&i.loop)||!n||e.level<=n.level)return 0;let{video:r,audiovideo:a}=e.elementaryStreams;if(r!=null&&r.partial||a!=null&&a.partial)return 0;let l=this.getEarliestElementaryStreamStart(e)-$C;if(l<=0)return 0;return this.log(`Flushing lower quality back buffer for loop: level ${e.level}, range [0-${l.toFixed(3)}]`),l}getEarliestElementaryStreamStart(e){let{audio:n,video:s,audiovideo:i}=e.elementaryStreams,r=e.start;if(i)r=Math.min(r,i.startDTS);else{if(n)r=Math.min(r,n.startDTS);if(s)r=Math.min(r,s.startDTS)}return r}flushBackBuffer(e,n,s){this.sourceBuffers.forEach(([i,r])=>{if(r){let f=Ot.getBuffered(r);if(f.length>0&&s>f.start(0)){var a,l,c;this.hls.trigger(Z.BACK_BUFFER_REACHED,{bufferEnd:s});let d=this.tracks[i];if((a=this.details)!=null&&a.live)this.hls.trigger(Z.LIVE_BACK_BUFFER_REACHED,{bufferEnd:s});else if(d!=null&&d.ended&&!((l=this.media)!=null&&l.loop&&((c=this.hls)==null?void 0:c.config.loopBackBufferFlush)!==!1)){this.log(`Cannot flush ${i} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:0,endOffset:s,type:i})}}})}flushFrontBuffer(e,n,s){this.sourceBuffers.forEach(([i,r])=>{if(r){let a=Ot.getBuffered(r),l=a.length;if(l<2)return;let c=a.start(l-1),f=a.end(l-1);if(s>c||e>=c&&e<=f)return;this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:c,endOffset:1/0,type:i})}})}getDurationAndRange(){var e;let{details:n,mediaSource:s}=this;if(!n||!this.media||(s==null?void 0:s.readyState)!=="open")return null;let i=n.edge;if(n.live&&this.hls.config.liveDurationInfinity){if(n.fragments.length&&!!s.setLiveSeekableRange){let f=Math.max(0,n.fragmentStart),d=Math.max(f,i);return{duration:1/0,start:f,end:d}}return{duration:1/0}}let r=(e=this.overrides)==null?void 0:e.duration;if(r){if(!ct(r))return null;return{duration:r}}let a=this.media.duration,l=ct(s.duration)?s.duration:0;if(i>l&&i>a||!ct(a))return{duration:i};return null}updateMediaSource({duration:e,start:n,end:s}){let i=this.mediaSource;if(!i||!this.media||i.readyState!=="open")return;if(i.duration!==e){if(ct(e))this.log(`Updating MediaSource duration to ${e.toFixed(3)}`);i.duration=e}if(n!==void 0&&s!==void 0)this.log(`MediaSource duration is set to ${i.duration}. Setting seekable range to ${n}-${s}.`),i.setLiveSeekableRange(n,s)}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:n,tracks:s}=this;if(this.log(`checkPendingTracks (pending: ${n} codec events expected: ${e}) ${cs(s)}`),this.tracksReady){var i;let r=(i=this.transferData)==null?void 0:i.tracks;if(r&&Object.keys(r).length)this.attachTransferred();else this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([n,s])=>{if(n){let i=this.tracks[n];e[n]={buffer:s,container:i.container,codec:i.codec,supplemental:i.supplemental,levelCodec:i.levelCodec,id:i.id,metadata:i.metadata}}}),this.hls.trigger(Z.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([n])=>{this.executeNext(n)})}else{let e=Error("could not create source buffer for media codec(s)");this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){let{tracks:e,sourceBuffers:n,mediaSource:s}=this;if(!s)throw Error("createSourceBuffers called when mediaSource was null");for(let r in e){let a=r,l=e[a];if(this.isPending(l)){let c=this.getTrackCodec(l,a),f=`${l.container};codecs=${c}`;l.codec=c,this.log(`creating sourceBuffer(${f})${this.currentOp(a)?" Queued":""} ${cs(l)}`);try{let d=s.addSourceBuffer(f),g=Mg(a),b=[a,d];n[g]=b,l.buffer=d}catch(d){var i;this.error(`error while trying to add sourceBuffer: ${d.message}`),this.shiftAndExecuteNext(a),(i=this.operationQueue)==null||i.removeBlockers(),delete this.tracks[a],this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:a,mimeType:f,parent:l.id});return}this.trackSourceBuffer(a,l)}}this.bufferCreated()}clearBufferAppendTimeoutId(e){if(!e)return;self.clearTimeout(e.bufferAppendTimeoutId),e.bufferAppendTimeoutId=void 0}getTrackCodec(e,n){let{supplemental:s,codec:i}=e;if(s&&(n==="video"||n==="audiovideo")&&Th(s,"video"))i=oE(i,s);let r=Vd(i,e.levelCodec);if(r){if(n.slice(0,5)==="audio")return e0(r,this.appendSource);return r}return""}trackSourceBuffer(e,n){let s=n.buffer;if(!s)return;let i=this.getTrackCodec(n,e);if(this.tracks[e]={buffer:s,codec:i,container:n.container,levelCodec:n.levelCodec,supplemental:n.supplemental,metadata:n.metadata,id:n.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource)this.addBufferListener(e,"bufferedchange",(r,a)=>{let l=a.removedRanges;if(l!=null&&l.length)this.log(`${r} buffer removed ${o0(l)}`),this.hls.trigger(Z.BUFFER_FLUSHED,{type:r,start:l.start(0),end:l.end(l.length-1)})})}get mediaSrc(){var e,n;let s=((e=this.media)==null||(n=e.querySelector)==null?void 0:n.call(e,"source"))||this.media;return s==null?void 0:s.src}onSBUpdateStart(e){let n=this.currentOp(e);if(!n)return;n.onStart()}onSBUpdateEnd(e){var n,s;if(((n=this.mediaSource)==null?void 0:n.readyState)==="closed"){this.resetBuffer(e);return}let i=this.currentOp(e);if(!i)return;if(i.onComplete(),(s=this.tracks[e])==null||(s=s.buffer)==null?void 0:s.updating){this.log(`${e} SourceBuffer updating on "updateend"`),this.blockUntilOpen(()=>{this.shiftAndExecuteNext(e)});return}this.shiftAndExecuteNext(e)}onSBUpdateError(e,n){var s;let i=(s=this.mediaSource)==null?void 0:s.readyState,r=Error(`${e} SourceBuffer error. MediaSource readyState: ${i}`);this.error(`${r.message}`,n),this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:r,fatal:!1});let a=this.currentOp(e);if(a)a.onError(r)}updateTimestampOffset(e,n,s,i,r,a){let l=n-e.timestampOffset;if(Math.abs(l)>=s)this.log(`Updating ${i} SourceBuffer timestampOffset to ${n} (sn: ${r} cc: ${a})`),e.timestampOffset=n}removeExecutor(e,n,s){let{media:i,mediaSource:r}=this,a=this.tracks[e],l=a==null?void 0:a.buffer;if(!i||!r||!l)throw Error(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`);let c=ct(i.duration)?i.duration:1/0,f=ct(r.duration)?r.duration:1/0,d=Math.max(0,n);if(d>=f){var g;(g=this.currentOp(e))==null||g.onComplete(),this.shiftAndExecuteNext(e);return}let b=Math.min(s,c,f);if(b>d&&(!a.ending||a.ended))a.ended=!1,this.log(`Removing [${d},${b}] from the ${e} SourceBuffer`),l.remove(d,b);else throw Error(`Cannot remove ${b<=d?`invalid range (${d} >= ${b}) `:""}from the ${e} SourceBuffer${a.ending?" while track ending":""}`)}appendExecutor(e,n){let s=this.tracks[n],i=s==null?void 0:s.buffer;if(!i)throw new j6(`Attempting to append to the ${n} SourceBuffer, but it does not exist`);if(s.ending=!1,s.ended=!1,this.hls.config.appendTimeout!==1/0){let r=this.calculateAppendTimeoutTime(i);s.bufferAppendTimeoutId=self.setTimeout(()=>this.appendTimeoutHandler(n,i,r),r)}i.appendBuffer(e)}appendTimeoutHandler(e,n,s){this.log(`Received timeout after ${s}ms for append on ${e} source buffer. Aborting and triggering error.`);try{n.abort()}catch(r){this.log(`Failed to abort append on ${e} source buffer after timeout.`)}let i=this.currentOp(e);if(i)i.onError(Error(`${e}-append-timeout`))}calculateAppendTimeoutTime(e){let n=O9;if(this.details)n=this.details.levelTargetDuration;let s=2*n*1000;if(this.media===null)return s;let i=Ot.bufferInfo(e,this.media.currentTime,0);if(!i.len)return s;return s=Math.max(i.len*1000,s),Math.max(this.hls.config.appendTimeout,s)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch((n)=>{this.warn(`SourceBuffer blocked callback ${n}`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(n){this.warn(`Callback run without blocking ${this.operationQueue} ${n}`)}}isUpdating(){return this.sourceBuffers.some(([e,n])=>e&&n.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}isAudioBlocked(){var e;return((e=this.currentOp("audio"))==null?void 0:e.label)==="block-audio"}isAudioBlocking(){if(this.operationQueue)return this.operationQueue.audioBlocking();return!1}blockBuffers(e,n=this.sourceBufferTypes){if(!n.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);let{operationQueue:s}=this,r=n.length===2&&this.isAudioBlocking()?[this.appendBlocker("video")]:n.map((a)=>this.appendBlocker(a));return Promise.all(r).then((a)=>{if(s!==this.operationQueue)return;e(),this.stepOperationQueue(this.sourceBufferTypes)})}stepOperationQueue(e){e.forEach((n)=>{var s;let i=(s=this.tracks[n])==null?void 0:s.buffer;if(!i||i.updating||n==="audio"&&this.isAudioBlocked())return;this.shiftAndExecuteNext(n)})}append(e,n,s){if(this.operationQueue)this.operationQueue.append(e,n,s)}insertNext(e,n){if(this.operationQueue)this.operationQueue.insertNext(e,n)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){if(this.operationQueue)return this.operationQueue.current(e);return null}executeNext(e){if(e&&this.operationQueue)this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){if(this.operationQueue)this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,n)=>e+(this.isPending(this.tracks[n])?1:0),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[n])=>e+(n?1:0),0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter((e)=>!!e)}addBufferListener(e,n,s){let i=this.tracks[e];if(!i)return;let r=i.buffer;if(!r)return;let a=s.bind(this,e);i.listeners.push({event:n,listener:a}),Nn(r,n,a)}removeBufferListeners(e){let n=this.tracks[e];if(!n)return;let s=n.buffer;if(!s)return;n.listeners.forEach((i)=>{On(s,i.event,i.listener)}),n.listeners.length=0}}function y3(e){let n=e.querySelectorAll("source");[].slice.call(n).forEach((s)=>{e.removeChild(s)})}function WC(e,n){let s=self.document.createElement("source");s.type="video/mp4",s.src=n,e.appendChild(s)}function Mg(e){return e==="audio"?1:0}function v3(e,n){return`${e?"":" - triggering recovery"}${n?" with HTMLMediaElement Error: "+n.message:""}`}function S3(e){return`${e.type}_${e.sn}_${e.level}`}function Fg(e,n){let{start:s,end:i}=n,r=0;for(let a=0;a<e.length;a++){let l=e[a];if(l.start>=i)break;let c=Math.max(s,l.start),f=Math.min(i,l.end);if(f>c)r+=f-c}return r}function k3(e,n){return n.duration-e<=0.05}class G1{constructor(e){this.hls=null,this.autoLevelCapping=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.observer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.media=null,this.restrictedLevels=[],this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){if(this.hls)this.unregisterListener();if(this.timer||this.observer)this.stopCapping();this.media=this.clientRect=this.hls=null,this.streamController=void 0}registerListeners(){let{hls:e}=this;if(e)e.on(Z.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;if(e)e.off(Z.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,n){if(!this.hls)return;let s=this.hls.levels[n.droppedLevel];if(this.isLevelAllowed(s))this.restrictedLevels.push({bitrate:s.bitrate,height:s.height,width:s.width})}onMediaAttaching(e,n){let s=n.media;if(this.clientRect=null,!this.hls)return;if(s instanceof HTMLVideoElement){if(this.media=s,this.hls.config.capLevelToPlayerSize)this.observe()}else this.media=null;if((this.timer||this.observer)&&this.hls.levels.length>1)this.detectPlayerSize()}onManifestParsed(e,n){if(this.restrictedLevels=[],n.video)this.startCapping();this.onLevelsUpdated()}onLevelsUpdated(){if(!this.hls)return;if((this.timer||this.observer)&&(ct(this.autoLevelCapping)||this.clientRect))this.detectPlayerSize();else if(this.observer===void 0&&this.timer===void 0){let e=this.hls.levels;if(e.length>1&&e.some((n)=>!!n.videoCodec))this.startCapping()}}onBufferCodecs(e,n){if(n.video)this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0||!this.hls){this.clientRect=null;return}let e=this.hls.levels;if(e.length>1){let n=this.hls,s=this.getMaxLevel(e.length-1);if(s!==this.autoLevelCapping)n.logger.log(`Setting autoLevelCapping to ${s}: ${e[s].height}p@${e[s].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`);if(n.autoLevelCapping=s,n.autoLevelEnabled&&n.autoLevelCapping>this.autoLevelCapping&&this.streamController)this.streamController.nextLevelSwitch();this.autoLevelCapping=n.autoLevelCapping}else if(e.length===1)this.stopCapping()}}getMaxLevel(e){if(!this.hls)return-1;let n=this.hls.levels;if(!n.length)return-1;let s=n.filter((i,r)=>this.isLevelAllowed(i)&&r<=e);if(!this.observer)this.clientRect=null;return G1.getMaxLevelByMediaSize(s,this.mediaWidth,this.mediaHeight)}observe(){let e=self.ResizeObserver;if(e)this.observer=new e((n)=>{var s;let i=(s=n[0])==null?void 0:s.contentRect;if(i)this.clientRect=i,this.detectPlayerSize()});if(this.observer&&this.media)this.observer.observe(this.media)}startCapping(){var e;if(this.timer||this.observer||!((e=this.hls)!=null&&e.config.capLevelToPlayerSize))return;if(self.clearInterval(this.timer),this.timer=void 0,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.observe(),!this.observer)this.timer=self.setInterval(this.detectPlayerSize.bind(this),1000);this.detectPlayerSize()}stopCapping(){if(this.restrictedLevels=[],this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer)self.clearInterval(this.timer),this.timer=void 0;if(this.observer)this.observer.disconnect(),this.observer=void 0}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,n={width:0,height:0};if(e){let s=e.getBoundingClientRect();if(n.width=s.width,n.height=s.height,!n.width&&!n.height)n.width=s.right-s.left||e.width||0,n.height=s.bottom-s.top||e.height||0}return this.clientRect=n,n}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls)return e;let{ignoreDevicePixelRatio:n,maxDevicePixelRatio:s}=this.hls.config;if(!n)try{e=self.devicePixelRatio}catch(i){}return Math.min(e,s)}isLevelAllowed(e){return!this.restrictedLevels.some((s)=>e.bitrate===s.bitrate&&e.width===s.width&&e.height===s.height)}static getMaxLevelByMediaSize(e,n,s){if(!(e!=null&&e.length))return-1;let i=(l,c)=>{if(!c)return!0;return l.width!==c.width||l.height!==c.height},r=e.length-1,a=Math.max(n,s);for(let l=0;l<e.length;l+=1){let c=e[l];if((c.width>=a||c.height>=a)&&i(c,e[l+1])){r=l;break}}return r}}var Ki=class e{constructor(n,s){if(Array.isArray(n))n=n.map((i)=>i instanceof e?i:new e(i));this.value=n,this.params=s}},KC="Dict";function YC(e){if(Array.isArray(e))return JSON.stringify(e);if(e instanceof Map)return"Map{}";if(e instanceof Set)return"Set{}";if(typeof e==="object")return JSON.stringify(e);return String(e)}function QC(e,n,s,i){return Error(`failed to ${e} "${YC(n)}" as ${s}`,{cause:i})}var x3="Bare Item",JC="Boolean",ZC="Byte Sequence",ej="Decimal",tj="Integer";function nj(e){return e<-999999999999999||999999999999999<e}var sj="String",ij=/[\x00-\x1f\x7f]+/,I6=class{constructor(e){this.description=e}},rj="Token",aj="Key";function Oa(e,n,s){return QC("serialize",e,n,s)}function oj(e){if(typeof e!=="boolean")throw Oa(e,JC);return e?"?1":"?0"}function lj(e){if(ArrayBuffer.isView(e)===!1)throw Oa(e,ZC);return`:${bT(e)}:`}function R6(e){if(nj(e))throw Oa(e,tj);return e.toString()}function cj(e){return`@${R6(e.getTime()/1000)}`}function fj(e){let n=t9(e,3);if(Math.floor(Math.abs(n)).toString().length>12)throw Oa(e,ej);let s=n.toString();return s.includes(".")?s:`${s}.0`}function hj(e){if(ij.test(e))throw Oa(e,sj);return`"${e.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`}function uj(e){return e.description||e.toString().slice(7,-1)}function A3(e){let n=uj(e);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(n)===!1)throw Oa(n,rj);return n}function c1(e){switch(typeof e){case"number":if(!ct(e))throw Oa(e,x3);if(Number.isInteger(e))return R6(e);return fj(e);case"string":return hj(e);case"symbol":return A3(e);case"boolean":return oj(e);case"object":if(e instanceof Date)return cj(e);if(e instanceof Uint8Array)return lj(e);if(e instanceof I6)return A3(e);default:throw Oa(e,x3)}}function f1(e){if(/^[a-z*][a-z0-9\-_.*]*$/.test(e)===!1)throw Oa(e,aj);return e}function V1(e){if(e==null)return"";return Object.entries(e).map(([n,s])=>{if(s===!0)return`;${f1(n)}`;return`;${f1(n)}=${c1(s)}`}).join("")}function D6(e){if(e instanceof Ki)return`${c1(e.value)}${V1(e.params)}`;else return c1(e)}function dj(e){return`(${e.value.map(D6).join(" ")})${V1(e.params)}`}function mj(e,n={whitespace:!0}){if(typeof e!=="object"||e==null)throw Oa(e,KC);let s=e instanceof Map?e.entries():Object.entries(e),i=n!=null&&n.whitespace?" ":"";return Array.from(s).map(([r,a])=>{if(a instanceof Ki===!1)a=new Ki(a);let l=f1(r);if(a.value===!0)l+=V1(a.params);else if(l+="=",Array.isArray(a.value))l+=dj(a);else l+=D6(a);return l}).join(`,${i}`)}function q6(e,n){return mj(e,n)}var pj=["url"],gj=["version","eventTargets","sid","transmissionMode"],bj=["customData","headers"],T3=(e)=>{if(e instanceof Ki)return new Ki(Math.round(e.value),e.params);return Math.round(e)},Lg=(e)=>{if(Array.isArray(e))return e.map(T3);return T3(e)},h1=(e,n)=>{if(Array.isArray(e))return e.map((s)=>h1(s,n));if(e instanceof Ki&&typeof e.value==="string")return new Ki(h1(e.value,n),e.params);else{if(n.baseUrl)e=ST(e,vT(n.baseUrl));return n.version===1?encodeURIComponent(e):e}},E3=(e)=>{if(e instanceof Ki)return new Ki(Math.round(e.value/100)*100,e.params);return Math.round(e/100)*100},Pd=(e)=>{if(Array.isArray(e))return e.map(E3);return E3(e)},wj=(e,n)=>{let s=e;if(n.version>=2){if(e instanceof Ki&&typeof e.value==="string")s=new Ki([e]);else if(typeof e==="string")s=[e]}return h1(s,n)},yj={br:Lg,d:Lg,bl:Pd,dl:Pd,mtp:Pd,nor:wj,rtp:Pd,tb:Lg},Rh=2,M6="bc",vj="ps",F6="pr",Sj="e",C3="t",kj="c",L6="b",$1="rr",O6="ce",Nd={BITRATE_CHANGE:M6,ERROR:Sj,RESPONSE_RECEIVED:$1,CUSTOM_EVENT:O6},P6=new Map([[vj,"sta"],[F6,"pr"],[kj,"cid"],[L6,"bg"],[M6,"br"]]),X1="event",W1="request",N6=["cen","e","h","ts"],B6=["ab","bg","bl","br","bs","bsa","bsd","bsda","cdn","cid","cs","d","dfa","dl","ec","lab","lb","ltc","msd","mtp","nor","nr","ot","pb","pr","pt","rtp","sf","sid","sn","st","sta","su","tab","tb","tbl","tpb","v"],xj=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function K1(e){return xj.test(e)}var Aj=new Set(B6);function H6(e){return Aj.has(e)||K1(e)}var U6=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],Tj=new Set(U6);function z6(e){return Tj.has(e)}var Ej=new Set(N6);function Cj(e){return H6(e)||z6(e)||Ej.has(e)}var jj=new Set(["ab","bl","br","bsa","bsd","bsda","lab","lb","mtp","pb","tab","tb","tbl","tpb"]),k0=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"],_j=new Set(k0);function Ij(e){return _j.has(e)||K1(e)}var Rj=new Set(["ot","sf","st","e","sta"]);function Dj(e){return Rj.has(e)}function qj(e){if(typeof e==="number")return ct(e);return e!=null&&e!==""&&e!==!1}var Mj={[X1]:Cj,[W1]:H6};function G6(e,n){if(Array.isArray(e)){let s;if(n)s=e.find((i)=>{var r;return((r=i.params)==null?void 0:r.ot)===n});if(!s)s=e[0];return G6(s)}if(e instanceof Ki)return e.value;return e}function Fj(e){let n={};for(let[i,r]of Object.entries(e)){if(r==null){n[i]=r;continue}if(i==="nor"){let a=(Array.isArray(r)?r:[r])[0];if(a instanceof Ki){var s;if(n.nor=a.value,(s=a.params)!=null&&s.r)n.nrr=a.params.r}else n.nor=a}else if(jj.has(i))n[i]=G6(r,e.ot);else n[i]=r}return n}function V6(e,n={}){let s={};if(e==null||typeof e!=="object")return s;let i=n.version||e.v||Rh,r=n.reportingMode||W1,a=i===1?Fj(e):e,l=i===1?Ij:Mj[r],c=Object.keys(a).filter(l);if(a.e&&a.e!==$1)c=c.filter((v)=>!z6(v));let f=n.filter;if(typeof f==="function")c=c.filter(f);let d=r===X1;if(d){let v=a.e;if(!c.includes("e")&&v!=null)c.push("e");if(!c.includes("ts"))c.push("ts");if(!c.includes("cen")&&a.cen!=null&&v===O6)c.push("cen");let x=v?P6.get(v):void 0;if(x&&a[x]!=null&&!c.includes(x))c.push(x)}if(c.length===0)return s;if(i>1&&!c.includes("v"))c.push("v");let g={version:i,reportingMode:r,baseUrl:n.baseUrl};c.sort();for(let v of c){var b,y;let x=a[v],T=(b=(y=n.formatters)==null?void 0:y[v])!=null?b:yj[v];if(typeof T==="function")x=T(x,g);if(v==="v")if(i===1)continue;else x=i;if(v==="pr"&&x===1&&!(d&&a.e===F6))continue;if(d&&v==="ts"&&!ct(x))x=Date.now();let R=d&&x===!1&&v==="bg"&&a.e===L6;if(!qj(x)&&!R)continue;if(Dj(v)&&typeof x==="string")x=new I6(x);s[v]=x}return s}var yo="CMCD-Object",$i="CMCD-Request",Kc="CMCD-Session",na="CMCD-Status",Lj={REQUEST:$i},Oj={ab:yo,br:yo,d:yo,lab:yo,lb:yo,ot:yo,tab:yo,tb:yo,tpb:yo,bl:$i,cs:$i,dfa:$i,dl:$i,ltc:$i,mtp:$i,nor:$i,nrr:$i,pb:$i,sn:$i,sta:$i,su:$i,tbl:$i,cid:Kc,msd:Kc,sf:Kc,sid:Kc,st:Kc,v:Kc,bg:na,bs:na,bsa:na,bsd:na,bsda:na,cdn:na,ec:na,nr:na,pr:na,pt:na,rtp:na};function Pj(e){return Object.keys(e).reduce((n,s)=>{var i;return(i=e[s])==null||i.forEach((r)=>n[r]=s),n},{})}function Nj(e,n){let s={};if(!e)return s;let i=Object.keys(e),r=n?Pj(n):{};for(let l of i){var a;let c=Oj[l]||r[l]||Lj.REQUEST,f=(a=s[c])!=null?a:s[c]={};f[l]=e[l]}return s}function Bj(e,n){let s={},i=Nj(e,n);for(let[r,a]of Object.entries(i)){let l=q6(a,{whitespace:!1});if(l)s[r]=l}return s}var j3="CMCD";function $6(e){return q6(e,{whitespace:!1})}function Hj(e,n={}){if(!e)return"";return $6(V6(e,n))}var Uj=30,u1=[...k0,...B6,...U6,...N6].filter((e,n,s)=>s.indexOf(e)===n),zj="application/cmcd",Gj=1,vi={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},ia={STARTING:"s",PLAYING:"p",SEEKING:"k",REBUFFERING:"r",PAUSED:"a",ENDED:"e",FATAL_ERROR:"f",PRELOADING:"d"},Y1="query",X6="headers";function _3(e,n,s){var i;let r=new Set((i=n.enabledKeys)!=null?i:[]);return{version:n.version||Rh,reportingMode:e,filter:(a)=>r.has(a),baseUrl:s}}function Vj(e,n){if(e===n)return!0;if(e.length!==n.length)return!1;for(let s=0;s<e.length;s++){let i=e[s],r=n[s];if(i===r)continue;if(typeof i==="number"||typeof r==="number")return!1;if(i.value!==r.value)return!1;let a=i.params,l=r.params,c=a&&Object.keys(a)[0],f=l&&Object.keys(l)[0];if(c!==f)return!1;if(c!==void 0&&f!==void 0&&a&&l&&a[c]!==l[f])return!1}return!0}var $j=Object.is,Xj=(e)=>e,W6=Array.from(P6,([e,n])=>{if(n==="br")return{event:e,field:n,equal:(s,i)=>s===void 0||i===void 0?s===i:Vj(s,i),snapshot:(s)=>s.slice()};return{event:e,field:n,equal:$j,snapshot:Xj}}),Wj=new Map(W6.map((e)=>[e.event,e]));function Kj(e){let{url:n}=e,s=m0(e,pj);return fetch(n,s)}function Yj(e){let{version:n=Rh,eventTargets:s=[],sid:i=n9(),transmissionMode:r=Y1}=e,a=m0(e,gj);return qt(qt({},a),{},{version:n,transmissionMode:r,sid:i,eventTargets:s.reduce((l,c)=>{var f,d,g;if(c!=null&&c.url&&(f=c.events)!=null&&f.length)l.push({version:c.version||Rh,enabledKeys:((d=c.enabledKeys)==null?void 0:d.slice())||[],url:c.url,events:c.events.slice(),interval:(g=c.interval)!=null?g:Uj,batchSize:c.batchSize||1});return l},[])})}var Qj=class{constructor(e,n=Kj){var s;this.timeOrigin=performance.timeOrigin||((s=performance.timing)==null?void 0:s.fetchStart)||Date.now()-performance.now(),this.data={},this.msd=NaN,this.eventTargets=new Map,this.lastEmitted={},this.requestTarget={sn:0,msdSent:!1},this.config=Yj(e),this.data={cid:this.config.cid,sid:this.config.sid,v:this.config.version},this.requester=n;for(let i of this.config.eventTargets)this.eventTargets.set(i,{intervalId:void 0,sn:0,msdSent:!1,queue:[]})}start(){this.eventTargets.forEach((e,n)=>{if(this.disarmInterval(e),n.interval===0||!n.events.includes(C3))return;let s=()=>{this.recordTargetEvent(e,n,C3),this.processEventTargets()};e.intervalId=setInterval(s,n.interval*1000),s()})}stop(e=!1){if(e)this.flush();this.eventTargets.forEach((n)=>{this.disarmInterval(n)})}flush(){this.processEventTargets(!0)}update(e){if(e.sid&&e.sid!==this.data.sid)this.resetSession();if(e.msd&&!isNaN(e.msd))this.msd=e.msd;this.data=qt(qt(qt({},this.data),e),{},{msd:void 0});for(let n of W6)if(n.field in e&&!n.equal(this.data[n.field],this.lastEmitted[n.field]))this.recordEvent(n.event)}recordEvent(e,n={}){let s=Wj.get(e);if(s){let i=s.field,r=n[i];if(r!==void 0)Hn(this.data,{[i]:r});let a=this.data[i];if(a===void 0)return;if(s.equal(a,this.lastEmitted[i]))return;Hn(this.lastEmitted,{[i]:s.snapshot(a)})}this.eventTargets.forEach((i,r)=>{this.recordTargetEvent(i,r,e,n)}),this.processEventTargets()}recordTargetEvent(e,n,s,i={}){var r;if(!n.events.includes(s))return;let a=qt(qt(qt({},this.data),i),{},{e:s,ts:(r=i.ts)!=null?r:Date.now(),sn:e.sn++});if(!isNaN(this.msd)&&!e.msdSent)a.msd=this.msd,e.msdSent=!0;e.queue.push(a)}recordResponseReceived(e,n={}){var s,i,r;let{request:a}=e,l=(s=n.url)!=null?s:a==null?void 0:a.url;if(!l)return;let c=new URL(l);c.searchParams.delete(j3);let f={url:c.toString(),rc:e.status},d=e.resourceTiming;if(d){if(d.startTime!=null){if(f.ts=Math.round(this.timeOrigin+d.startTime),d.responseStart!=null)f.ttfb=Math.round(d.responseStart-d.startTime)}if(d.duration!=null)f.ttlb=Math.round(d.duration)}let g=(i=(r=a.customData)==null?void 0:r.cmcd)!=null?i:{};this.recordEvent($1,qt(qt(qt({},g),f),n))}applyRequestReport(e){var n;return(n=this.createRequestReport(e))!=null?n:e}isRequestReportingEnabled(){var e;return!!((e=this.config.enabledKeys)!=null&&e.length)}createRequestReport(e,n){var s;let{customData:i={},headers:r={}}=e,a=m0(e,bj),l=qt(qt({},a),{},{headers:qt({},r),customData:qt(qt({},i),{},{cmcd:{}})});if(!((s=this.config.enabledKeys)!=null&&s.length)||!l.url)return l;let c=new URL(l.url),f=qt(qt(qt({},this.data),n),{},{sn:this.requestTarget.sn++}),d=_3(W1,this.config,l.url);if(!isNaN(this.msd)&&!this.requestTarget.msdSent)f.msd=this.msd,this.requestTarget.msdSent=!0;let g=l.customData.cmcd=V6(f,d);switch(this.config.transmissionMode){case Y1:let b=$6(g);if(b)c.searchParams.set(j3,b),l.url=c.toString();break;case X6:Hn(l.headers,Bj(g,d.customHeaderMap));break}return l}processEventTargets(e=!1){let n=!1;if(this.eventTargets.forEach((s,i)=>{let{queue:r}=s;if(!r.length)return;if(r.length<i.batchSize&&!e)return;let a=e?r.length:i.batchSize,l=r.splice(0,a);this.sendEventReport(i,l).catch(()=>{s.queue.unshift(...l)}),n||(n=r.length>0)}),n)this.processEventTargets()}async sendEventReport(e,n){let s=_3(X1,e),{status:i}=await this.requester({url:e.url,method:"POST",headers:{"Content-Type":zj},body:n.map((r)=>Hj(r,s)).join(`
39
- `)+`
40
- `});if(i===410)this.disposeEventTarget(e);else if(i===429||i>499&&i<600)throw Error(`Event report failed with status ${i}`)}disarmInterval(e){clearInterval(e.intervalId),e.intervalId=void 0}disposeEventTarget(e){let n=this.eventTargets.get(e);if(!n)return;this.disarmInterval(n),this.eventTargets.delete(e)}resetSession(){this.eventTargets.forEach((e)=>e.sn=0),this.requestTarget.sn=0,this.lastEmitted={}}},Jj={HLS:"h"},Og={VOD:"v",LIVE:"l",LOW_LATENCY:"ll"};function Zj(e,n){return new Ki(e,n)}new Set(k0);new Set(u1);var e_=["includeKeys"];function I3(e){return Object.keys(e).every(K1)}class K6{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.playerState=void 0,this.reporter=void 0,this.playheadLevel=void 0,this.onWaiting=()=>{if(this.initialized)this.starved=!0,this.setPlayerState(ia.REBUFFERING);this.buffering=!0},this.onPlay=()=>{if(!this.initialized)this.setPlayerState(ia.STARTING)},this.onPlaying=()=>{if(!this.initialized)this.initialized=!0;this.buffering=!1,this.setPlayerState(ia.PLAYING)},this.onPause=()=>{if(this.media&&!this.media.ended)this.setPlayerState(ia.PAUSED)},this.onSeeking=()=>{if(this.initialized)this.setPlayerState(ia.SEEKING)},this.onSeeked=()=>{var i;if(!this.initialized)return;if((i=this.media)!=null&&i.paused)this.setPlayerState(ia.PAUSED)},this.onRateChange=()=>{if(this.reporter&&this.media)this.reporter.update({pr:this.media.playbackRate})},this.applyPlaylistData=(i)=>{try{this.apply(i,{ot:vi.MANIFEST,su:!this.initialized})}catch(r){this.hls.logger.warn("Could not generate manifest CMCD data.",r)}},this.applyFragmentData=(i)=>{try{let{frag:l,part:c}=i,f=this.hls.levels[l.level],d=this.getObjectType(l,f),g={d:(c||l).duration*1000,ot:d};if(d===vi.VIDEO||d===vi.AUDIO||d===vi.MUXED||d==null&&(l.type==="main"||l.type==="audio")){var r;let y=f.bitrate/1000;g.br=[y];let{cmcd:v}=this.config,x=(r=v==null?void 0:v.rtpSafetyFactor)!=null?r:5;if(g.rtp=Math.round(y*x/100)*100,d===vi.MUXED||d==null&&l.type==="main"){let N=this.getTopBandwidth()/1000;if(ct(N))g.tb=[N];let U=this.getLowestBandwidth()/1000;if(ct(U))g.lb=[U]}let T=this.getBufferLength(l);if(ct(T)){var a;g.bl=[T];let N=((a=this.media)==null?void 0:a.playbackRate)||1;g.dl=Math.round(T/N/100)*100}if(this.playheadLevel)g.pb=[this.playheadLevel.bitrate/1000];let R=this.hls.maxAutoLevel;if(R>=0){let N=this.hls.levels[R];if(N)g.tpb=[N.bitrate/1000]}}let b=c?this.getNextPart(c):this.getNextFrag(l);if(b!=null&&b.url&&b.url!==l.url)if(b.byteRange.length>0)g.nor=[Zj(b.url,{r:`${b.byteRange[0]}-${b.byteRange[1]}`})];else g.nor=[b.url];this.apply(i,g)}catch(l){this.hls.logger.warn("Could not generate segment CMCD data.",l)}},this.recordFragmentResponse=(i,r,a)=>{var l;let{cmcd:c}=this.config,f=c==null||(l=c.eventTargets)==null?void 0:l.some((d)=>{var g;return(g=d.events)==null?void 0:g.includes(Nd.RESPONSE_RECEIVED)});if(!this.reporter||!(a.loading.first>0)||!f)return;try{this.reporter.recordResponseReceived({request:{url:i},status:r.code,resourceTiming:{startTime:a.loading.start,responseStart:a.loading.first,duration:a.loading.end-a.loading.start,encodedBodySize:a.total}})}catch(d){this.hls.logger.warn("Could not record fragment response CMCD data.",d)}},this.hls=e;let n=this.config=e.config,{cmcd:s}=n;if(s!=null)n.pLoader=this.createPlaylistLoader(),n.fLoader=this.createFragmentLoader(),this.registerListeners()}createReporter(){var e,n;let{cmcd:s}=this.config;if(s==null)return;let i=s.version||Gj;if(this.reporter=new Qj({sid:s.sessionId||this.hls.sessionId,cid:s.contentId,version:i,transmissionMode:s.useHeaders===!0?X6:Y1,enabledKeys:(e=s.includeKeys)!=null?e:[...i>=Rh?u1:k0],eventTargets:((n=s.eventTargets)!=null?n:[]).map((r)=>{let{includeKeys:a}=r,l=m0(r,e_);return qt(qt({},l),{},{enabledKeys:a!=null?a:u1})})},s.loader),this.reporter.update({sf:Jj.HLS,sta:this.playerState}),s.reporterCallback){let r=this.reporter,a={updateCustomData:(l)=>{if(I3(l))r.update(l)},recordCustomEvent:(l,c={})=>{if(I3(c))r.recordEvent(Nd.CUSTOM_EVENT,qt({cen:l},c))}};s.reporterCallback(a)}this.reporter.start()}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Z.MEDIA_ENDED,this.onMediaEnded,this),e.on(Z.ERROR,this.onError,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.LEVEL_SWITCHED,this.onLevelSwitched,this),e.on(Z.BUFFER_APPENDED,this.onBufferInfoChange,this),e.on(Z.BUFFER_FLUSHED,this.onBufferInfoChange,this)}unregisterListeners(){let e=this.hls;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Z.MEDIA_ENDED,this.onMediaEnded,this),e.off(Z.ERROR,this.onError,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.LEVEL_SWITCHED,this.onLevelSwitched,this),e.off(Z.BUFFER_APPENDED,this.onBufferInfoChange,this),e.off(Z.BUFFER_FLUSHED,this.onBufferInfoChange,this)}destroy(){if(this.unregisterListeners(),this.onMediaDetached(),this.reporter)this.reporter.stop(!0),this.reporter=void 0;this.hls=this.config=null,this.onWaiting=this.onPlay=this.onPlaying=this.onPause=null,this.onSeeking=this.onSeeked=this.onRateChange=this.media=null}onMediaAttaching(e,n){let s=this.media=n.media;this.setPlayerState(this.media.autoplay?ia.STARTING:ia.PRELOADING),Nn(s,"waiting",this.onWaiting),Nn(s,"play",this.onPlay),Nn(s,"playing",this.onPlaying),Nn(s,"pause",this.onPause),Nn(s,"seeking",this.onSeeking),Nn(s,"seeked",this.onSeeked),Nn(s,"ratechange",this.onRateChange)}onMediaDetached(){let e=this.media;if(!e)return;On(e,"waiting",this.onWaiting),On(e,"play",this.onPlay),On(e,"playing",this.onPlaying),On(e,"pause",this.onPause),On(e,"seeking",this.onSeeking),On(e,"seeked",this.onSeeked),On(e,"ratechange",this.onRateChange),this.media=null}onMediaEnded(e,n){this.setPlayerState(ia.ENDED)}onManifestLoading(e,n){if(this.initialized=!1,this.starved=!1,this.buffering=!0,this.reporter)this.reporter.stop(!0),this.reporter=void 0;if(this.createReporter(),!this.media)this.setPlayerState(ia.PRELOADING)}onError(e,n){if(n.fatal){if(this.setPlayerState(ia.FATAL_ERROR),this.reporter)this.reporter.recordEvent(Nd.ERROR,{ec:[n.details]})}}onLevelSwitching(e,n){var s;if(!this.reporter)return;let i={br:[n.bitrate/1000]},r=(s=n.details)==null?void 0:s.fragments[0];if(r)i.ot=this.getObjectType(r,n);this.reporter.recordEvent(Nd.BITRATE_CHANGE,i)}onLevelSwitched(e,n){let s=this.hls.levels[n.level];if(s)this.playheadLevel=s}setPlayerState(e){if(this.playerState=e,this.reporter)this.reporter.update({sta:e})}getStreamType(){let e=this.hls.latestLevelDetails;if(!e)return;if(!e.live)return Og.VOD;if(!!e.partList&&e.canBlockReload)return Og.LOW_LATENCY;return Og.LIVE}apply(e,n={}){var s;if(!this.reporter)return;this.reporter.update({mtp:[this.hls.bandwidthEstimate/1000],pr:(s=this.media)==null?void 0:s.playbackRate,st:this.getStreamType()});let i=n.ot===vi.INIT||n.ot===vi.VIDEO||n.ot===vi.MUXED;if(this.starved&&i)n.bs=!0,n.su=!0,this.starved=!1;if(n.su==null)n.su=this.buffering;let r=this.reporter.createRequestReport({url:e.url,headers:e.headers},n);e.url=r.url,e.headers=r.headers}getNextFrag(e){var n;let s=(n=this.hls.levels[e.level])==null?void 0:n.details;if(s){let i=e.sn-s.startSN;return s.fragments[i+1]}return}getNextPart(e){var n;let{index:s,fragment:i}=e,r=(n=this.hls.levels[i.level])==null||(n=n.details)==null?void 0:n.partList;if(r){let{sn:a}=i;for(let l=r.length-1;l>=0;l--){let c=r[l];if(c.index===s&&c.fragment.sn===a)return r[l+1]}}return}getObjectType(e,n){let{type:s}=e;if(s==="subtitle")return vi.TIMED_TEXT;if(e.sn==="initSegment")return vi.INIT;if(s==="audio")return vi.AUDIO;if(s==="main"){if(e.hasStreams){let i=e.elementaryStreams;if(i.audiovideo)return vi.MUXED;if(i.video)return vi.VIDEO;if(i.audio)return vi.AUDIO}if(n){let{audioCodec:i,videoCodec:r}=n;if(!this.hls.audioTracks.length){if(i&&r)return vi.MUXED;if(i)return vi.AUDIO}if(r)return vi.VIDEO}}return}getTopBandwidth(){let e=0,n=this.hls,s=n.maxAutoLevel,i=s>-1?s+1:n.levels.length;return n.levels.slice(0,i).forEach((a)=>{if(a.bitrate>e)e=a.bitrate}),e>0?e:NaN}getLowestBandwidth(){let e=1/0,n=this.hls,s=n.maxAutoLevel,i=s>-1?s+1:n.levels.length;return n.levels.slice(0,i).forEach((a)=>{if(a.bitrate<e)e=a.bitrate}),ct(e)?e:NaN}getBufferLength(e){if(!this.media)return NaN;let n=e.type==="audio"?this.hls.audioForwardBufferInfo:this.hls.mainForwardBufferInfo;return n?n.len*1000:NaN}getEventBufferLength(){if(!this.media)return NaN;let e=this.hls.mainForwardBufferInfo,n=this.hls.audioForwardBufferInfo;if(e&&n)return Math.min(e.len,n.len)*1000;let s=e||n;return s?s.len*1000:NaN}onBufferInfoChange(e,n){if(!this.reporter)return;let s=this.getEventBufferLength();if(!ct(s))return;this.reporter.update({bl:[s]})}createPlaylistLoader(){let{pLoader:e}=this.config,n=this.applyPlaylistData,s=e||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new s(r)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(r,a,l){n(r),this.loader.load(r,a,l)}}}createFragmentLoader(){let{fLoader:e}=this.config,n=this.applyFragmentData,s=this.recordFragmentResponse,i=e||this.config.loader;return class{constructor(a){this.loader=void 0,this.loader=new i(a)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(a,l,c){n(a);let{onSuccess:f}=c;this.loader.load(a,l,qt(qt({},c),{},{onSuccess:(d,g,b,y)=>{f(d,g,b,y),s(a.url,d,g)}}))}}}}var t_=300000;class Y6 extends Yi{constructor(e){super("content-steering",e.logger);this.hls=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.registerListeners()}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;if(!e)return;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.ERROR,this.onError,this)}pathways(){return(this.levels||[]).reduce((e,n)=>{if(e.indexOf(n.pathwayId)===-1)e.push(n.pathwayId);return e},[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1000-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){if(this.started=!1,this.loader)this.loader.destroy(),this.loader=null;this.clearTimeout()}clearTimeout(){if(this.reloadTimer!==-1)self.clearTimeout(this.reloadTimer),this.reloadTimer=-1}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let n=this.levels;if(n)this.levels=n.filter((s)=>s!==e)}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,n){let{contentSteering:s}=n;if(s===null)return;if(this.pathwayId=s.pathwayId,this.uri=s.uri,this.started)this.startLoad()}onManifestParsed(e,n){this.audioTracks=n.audioTracks,this.subtitleTracks=n.subtitleTracks}onError(e,n){let{errorAction:s}=n;if((s==null?void 0:s.action)===di.SendAlternateToPenaltyBox&&s.flags&ui.MoveAllAlternatesMatchingHost){let i=this.levels,r=this._pathwayPriority,a=this.pathwayId;if(n.context){let{groupId:l,pathwayId:c,type:f}=n.context;if(l&&i)a=this.getPathwayForGroupId(l,f,a);else if(c)a=c}if(!(a in this.penalizedPathways))this.penalizedPathways[a]=performance.now();if(!r&&i)r=this.pathways();if(r&&r.length>1){if(this.updatePathwayPriority(r),s.resolved=this.pathwayId!==a,!s.resolved&&(n.details!==Le.BUFFER_APPEND_ERROR||n.fatal))this.warn(`Could not resolve ${n.details} ("${n.error.message}") with content-steering for Pathway: ${a} levels: ${i?i.length:i} priorities: ${cs(r)} penalized: ${cs(this.penalizedPathways)}`)}}}filterParsedLevels(e){this.levels=e;let n=this.getLevelsForPathway(this.pathwayId);if(n.length===0){let s=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${s}"`),n=this.getLevelsForPathway(s),this.pathwayId=s}if(n.length!==e.length)this.log(`Found ${n.length}/${e.length} levels in Pathway "${this.pathwayId}"`);return n}getLevelsForPathway(e){if(this.levels===null)return[];return this.levels.filter((n)=>e===n.pathwayId)}updatePathwayPriority(e){this._pathwayPriority=e;let n,s=this.penalizedPathways,i=performance.now();Object.keys(s).forEach((r)=>{if(i-s[r]>t_)delete s[r]});for(let r=0;r<e.length;r++){let a=e[r];if(a in s)continue;if(a===this.pathwayId)return;let l=this.hls.nextLoadLevel,c=this.hls.levels[l];if(n=this.getLevelsForPathway(a),n.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,K9(n),this.hls.trigger(Z.LEVELS_UPDATED,{levels:n});let f=this.hls.levels[l];if(c&&f&&this.levels){if(f.attrs["STABLE-VARIANT-ID"]!==c.attrs["STABLE-VARIANT-ID"]&&f.bitrate!==c.bitrate)this.log(`Unstable Pathways change from bitrate ${c.bitrate} to ${f.bitrate}`);this.hls.nextLoadLevel=l}break}}}getPathwayForGroupId(e,n,s){let i=this.getLevelsForPathway(s).concat(this.levels||[]);for(let r=0;r<i.length;r++)if(n===fn.AUDIO_TRACK&&i[r].hasAudioGroup(e)||n===fn.SUBTITLE_TRACK&&i[r].hasSubtitleGroup(e))return i[r].pathwayId;return s}clonePathways(e){let n=this.levels;if(!n)return;let s={},i={};e.forEach((r)=>{let{ID:a,"BASE-ID":l,"URI-REPLACEMENT":c}=r;if(n.some((d)=>d.pathwayId===a))return;let f=this.getLevelsForPathway(l).map((d)=>{let g=new ks(d.attrs);g["PATHWAY-ID"]=a;let b=g.AUDIO&&`${g.AUDIO}_clone_${a}`,y=g.SUBTITLES&&`${g.SUBTITLES}_clone_${a}`;if(b)s[g.AUDIO]=b,g.AUDIO=b;if(y)i[g.SUBTITLES]=y,g.SUBTITLES=y;let v=Q6(d.uri,g["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",c),x=new tf({attrs:g,audioCodec:d.audioCodec,bitrate:d.bitrate,height:d.height,name:d.name,url:v,videoCodec:d.videoCodec,width:d.width});if(d.audioGroups)for(let T=1;T<d.audioGroups.length;T++)x.addGroupId("audio",`${d.audioGroups[T]}_clone_${a}`);if(d.subtitleGroups)for(let T=1;T<d.subtitleGroups.length;T++)x.addGroupId("text",`${d.subtitleGroups[T]}_clone_${a}`);return x});n.push(...f),R3(this.audioTracks,s,c,a),R3(this.subtitleTracks,i,c,a)})}loadSteeringManifest(e){let n=this.hls.config,s=n.loader;if(this.loader)this.loader.destroy();this.loader=new s(n);let i;try{i=new self.URL(e)}catch(d){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(i.protocol!=="data:"){let d=(this.hls.bandwidthEstimate||n.abrEwmaDefaultEstimate)|0;al(i,"_HLS_pathway",this.pathwayId),al(i,"_HLS_throughput",""+d)}let r={type:fn.STEERING_MANIFEST,responseType:"json",url:i.href},a=n.steeringManifestLoadPolicy.default,l=a.errorRetry||a.timeoutRetry||{},c={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:l.maxNumRetry||0,retryDelay:l.retryDelayMs||0,maxRetryDelay:l.maxRetryDelayMs||0},f={onSuccess:(d,g,b,y)=>{this.log(`Loaded steering manifest: "${i}"`);let v=d.data;if((v==null?void 0:v.VERSION)!==1){this.log(`Steering VERSION ${v.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=v.TTL;let{"RELOAD-URI":x,"PATHWAY-CLONES":T,"PATHWAY-PRIORITY":R}=v;if(x)try{this.uri=new self.URL(x,i).href}catch(U){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${x}`);return}if(this.scheduleRefresh(this.uri||b.url),T)this.clonePathways(T);let N={steeringManifest:v,url:i.toString()};if(this.hls.trigger(Z.STEERING_MANIFEST_LOADED,N),R)this.updatePathwayPriority(R)},onError:(d,g,b,y)=>{if(this.log(`Error loading steering manifest: ${d.code} ${d.text} (${g.url})`),this.stopLoad(),d.code===410){this.enabled=!1,this.log(`Steering manifest ${g.url} no longer available`);return}let v=this.timeToLoad*1000;if(d.code===429){let x=this.loader;if(typeof(x==null?void 0:x.getResponseHeader)==="function"){let T=x.getResponseHeader("Retry-After");if(T)v=parseFloat(T)*1000}this.log(`Steering manifest ${g.url} rate limited`);return}this.scheduleRefresh(this.uri||g.url,v)},onTimeout:(d,g,b)=>{this.log(`Timeout loading steering manifest (${g.url})`),this.scheduleRefresh(this.uri||g.url)}};this.log(`Requesting steering manifest: ${i}`),this.loader.load(r,c,f)}scheduleRefresh(e,n=this.timeToLoad*1000){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var s;let i=(s=this.hls)==null?void 0:s.media;if(i&&!i.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1000)},n)}}function R3(e,n,s,i){if(!e)return;Object.keys(n).forEach((r)=>{let a=e.filter((l)=>l.groupId===r).map((l)=>{let c=Hn({},l);return c.details=void 0,c.attrs=new ks(c.attrs),c.url=c.attrs.URI=Q6(l.url,l.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",s),c.groupId=c.attrs["GROUP-ID"]=n[r],c.attrs["PATHWAY-ID"]=i,c});e.push(...a)})}function Q6(e,n,s,i){if(n){let{[s]:c}=i;if(c){let f=c[n];if(f)return f}}let{HOST:r,PARAMS:a}=i,l=new self.URL(e);if(r)l.hostname=r;if(a)Object.keys(a).sort().forEach((c)=>{if(c)al(l,c,a[c])});return l.href}class J6{constructor(){this.status="initialized",this.requestErrors=[],this.licenseXhr=void 0,this.onmessage=void 0,this.onkeystatuseschange=void 0,this.emitter=new O1,this.error=void 0,this.ok=void 0}get errored(){return this.error}set errored(e){if(this.error=e,this.emitter.eventNames().length)this.emitter.emit("error",e)}get hasListeners(){return this.emitter.eventNames().length>0}get resolved(){return this.ok}resolve(){this.ok=!0,this.emitter.emit("resolved")}get useable(){if(this.ok)return Promise.resolve();if(this.error)return Promise.reject(this.error);return new Promise((e,n)=>{this.emitter.on("error",n),this.emitter.on("resolved",e)})}reset(){this.emitter.removeAllListeners();let e=this.licenseXhr;if(e){if(e.readyState!==XMLHttpRequest.DONE)e.abort();this.licenseXhr=void 0}this.onmessage=this.onkeystatuseschange=void 0}}class Ir extends Error{constructor(e,n){super(n);this.data=void 0,e.error||(e.error=Error(n)),this.data=e,e.err=e.error}}class Zc extends Yi{constructor(e){super("eme",e.logger);this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this.sessionSetupByUri={},this.mediaKeySessions=[],this.activeKeys={},this.mediaKeys=null,this.setMediaKeysQueue=Zc.CDMCleanupPromise?[Zc.CDMCleanupPromise]:[],this.onMediaEncrypted=(n)=>{let{initDataType:s,initData:i}=n,r=`"${n.type}" event: init data type: "${s}"`;if(this.log(r),i===null)return;if(!this.keyFormatPromise){let a=Object.keys(this.keySystemAccessPromises);if(!a.length)a=lh(this.config);let l=a.map(Cg).filter((c)=>!!c);this.keyFormatPromise=this.getKeyFormatPromise(l)}this.keyFormatPromise.then((a)=>{let l,c=Fd(a),f=this.activeLevelKeys();if(c===ps.FAIRPLAY&&s==="sinf")try{let v=la(new Uint8Array(i)),x=C1(JSON.parse(v).sinf),T=d9(x);if(!T)throw Error("'schm' box missing or not cbcs/cenc with schi > tenc");l=new Uint8Array(T.subarray(8,24))}catch(v){this.warn(`${r} Failed to parse sinf: ${v}`);return}else if(c===ps.PLAYREADY)l=F1(new Uint8Array(i));else if(c===ps.WIDEVINE){let v=b9(i).filter((x)=>x.systemId===H9.WIDEVINE);if(v.length){var d;let x=v[0];l=(d=x.kids)!=null&&d.length?x.kids[0]:null}}let g;if(l){let v=ni(l);for(let x=0;x<f.length;x++){let T=f[x];if(T.keyId&&(i0(l,T.keyId)||T.uri.replace(/-/g,"").indexOf(v)!==-1)){if(!T.pssh)T.scheme=s,T.pssh=new Uint8Array(i),T.keyId=l,So.setKeyIdForUri(T.uri,l);g=this.getSessionForKey(T,"encrypted-event-key-match");break}}}if(!g){if(f.length){var b,y;return(b=f[0]).scheme||(b.scheme=s),(y=f[0]).pssh||(y.pssh=new Uint8Array(i)),this.getSessionForKey(f[0],"encrypted-event-no-match")}if(l)throw Error(`Key ID ${ni(l)} not encountered in playlist`);else this.log(`Ignoring "${n.type}" event - could not determine keyId`)}return g}).catch((a)=>this.handleError(a))},this.onWaitingForKey=(n)=>{this.log(`"${n.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=null,this.onMediaEncrypted=this.onWaitingForKey=null}registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.DESTROYING,this.onDestroying,this)}attemptKeySystemAccess(e){if(!this.hls)return Promise.reject(Error("destroyed"));let n=this.hls.levels,s=(a,l,c)=>!!a&&c.indexOf(a)===l,i=n.map((a)=>a.audioCodec).filter(s),r=n.map((a)=>a.videoCodec).filter(s);if(i.length+r.length===0)r.push("avc1.42e01e");return new Promise((a,l)=>{let c=(f)=>{let d=f.shift();this.getMediaKeysPromise(d,i,r).then((g)=>a({keySystem:d,mediaKeys:g})).catch((g)=>{if(f.length)c(f);else if(g instanceof Ir)l(g);else l(new Ir({type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_ACCESS,error:g,fatal:!0},g.message))})};c(e)})}requestMediaKeySystemAccess(e,n){let{requestMediaKeySystemAccessFunc:s}=this.config;if(typeof s!=="function"){let i=`Configured requestMediaKeySystemAccess is not a function ${s}`;if(U9===null&&self.location.protocol==="http:")i=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`;return Promise.reject(Error(i))}return s(e,n)}getMediaKeysPromise(e,n,s){var i;let r=HE(e,n,s,this.config.drmSystemOptions||{}),a=this.keySystemAccessPromises[e],l=(i=a)==null?void 0:i.keySystemAccess;if(!l){this.log(`Requesting encrypted media "${e}" key-system access with config: ${cs(r)}`),l=this.requestMediaKeySystemAccess(e,r);let c=a=this.keySystemAccessPromises[e]={keySystemAccess:l};return l.catch((f)=>{this.log(`Failed to obtain access to key-system "${e}": ${f}`)}),l.then((f)=>{this.throwIfDestroyed(),this.log(`Access for key-system "${f.keySystem}" obtained`);let d=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);let g=c.mediaKeys=f.createMediaKeys().then((b)=>(this.log(`Media-keys created for "${e}"`),c.hasMediaKeys=!0,d.then((y)=>{if(y)return this.setMediaKeysServerCertificate(b,e,y);return b})));return g.catch((b)=>{this.error(`Failed to create media-keys for "${e}"}: ${b}`)}),g})}return l.then(()=>a.mediaKeys)}getMediaKeySessionContext(e,n,s,i){let{mediaKeySessions:r}=this,a=` key-session "${e}" keyId: ${ni(s.keyId||[])} keyUri: ${s.uri} for "${i}"`;for(let f=0;f<r.length;f++){let d=r[f];if(!d.initialized&&d.createdFor.levelKey.uri===s.uri)return this.log(`Reusing${a}`),d}this.log(`Creating${a}`);let l=n.createSession(),c={keySystem:e,mediaKeys:n,mediaKeysSession:l,keyRequests:{},keyStatuses:{},createdFor:{levelKey:s,reason:i},initialized:!1};return r.push(c),c}resetMediaKeys(){var e;let n=(e=this.mediaKeySessions[0])==null?void 0:e.keySystem,s=this.keySystemAccessPromises[n];if(s)this.log("reset mediaKeys"),this.mediaKeys=null,s.hasMediaKeys=!1,delete s.mediaKeys,delete this.keySystemAccessPromises[n]}updateKeySession(e,n,s){let i=e.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyId ${ni(n.keyId||[])}
41
- } (data length: ${s.byteLength})`),i.update(s)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map((e)=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>Cg(e)).filter((e)=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:n,mediaKeys:s})=>this.attemptSetMediaKeys(n,s))}selectKeySystem(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:n})=>{let s=Cg(n);if(!s)throw Error(`Unable to find format for key-system "${n}"`);return s})}selectKeySystemFormat(e){let n=Object.keys(e.levelkeys||{});if(!this.keyFormatPromise)this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n);return this.keyFormatPromise}getKeyFormatPromise(e){let n=lh(this.config),s=e.map(Fd).filter((i)=>!!i&&n.indexOf(i)!==-1);return this.selectKeySystem(s)}loadClear(e,n,s){if(this.config.emeEnabled&&!this.getSelectedKeySystemFormats().length){if(n.length)for(let i=0,r=n.length;i<r;i++){let a=n[i];if(e.cc<=a.cc&&(!Fs(e)||!Fs(a)||e.sn<a.sn)||!s&&i==r-1)return this.selectKeySystemFormat(a).then((l)=>{if(!this.hls)return;a.setKeyFormat(l);let c=Fd(l);if(c)return this.getKeySystemAccess([c])})}if(this.config.requireKeySystemAccessOnStart){let i=lh(this.config);if(i.length)return this.getKeySystemAccess(i)}}return null}getKeyStatus(e){let{mediaKeySessions:n}=this;for(let s=0;s<n.length;s++){let i=Pg(e,n[s]);if(i)return i}return}loadKey(e){let n=e.decryptdata,s=this.getKeyStatus(n);if(s==="internal-error"){let l=D3(s,n);return l.data.frag=e,this.error(`${l.message} (${ni(n.keyId||[])})`),Promise.reject(l)}let i=e.type,r=this.activeKeys,a=r[i];if(a&&!n.matches(a.decryptdata))r.previous||(r.previous=[]),r.previous.push(a),delete r[i];r[i]||(r[i]=e);for(let l=this.mediaKeySessions.length;l--;){let c=this.mediaKeySessions[l];if(n.keyId&&c.keyStatuses[ni(n.keyId)]==="expired")return this.renewKeySession(n,c)}return this.updateUsablePromise(n,"playlist-key",e)}renewKeySession(e,n){return this.resetMediaKeys(),this.removeSession(n).then(()=>(this.throwIfDestroyed(),this.updateUsablePromise(e,"expired")))}updateUsablePromise(e,n,s){let i=this.getSessionForKey(e,n);return i.catch((r)=>this.handleError(r,s)),i.then((r)=>e)}getSessionForKey(e,n){let s=this.findContextForKey(e);if(s!==void 0)return Promise.resolve(s);let i=e.uri,r=this.sessionSetupByUri[i],a;if(r===void 0)a=this.resolveSessionForKey(e,n);else a=r.catch(()=>{return}).then(()=>(this.throwIfDestroyed(),this.resolveSessionForKey(e,n)));this.sessionSetupByUri[i]=a;let l=()=>{if(this.sessionSetupByUri[i]===a)delete this.sessionSetupByUri[i]};return a.then(l,l),a}findContextForKey(e){let{mediaKeySessions:n}=this;for(let s=n.length;s--;){let i=n[s];if(Pg(e,i))return i}return}resolveSessionForKey(e,n){return this.getKeySystemForKeyPromise(e).then(({keySystem:s,mediaKeys:i})=>{this.throwIfDestroyed();for(let r=this.mediaKeySessions.length;r--;){let a=this.mediaKeySessions[r];if(Pg(e,a))return a;let l=this.getUsableKeyPromise(a,e,n);if(l)return l}return this.attemptSetMediaKeys(s,i).then(()=>(this.throwIfDestroyed(),this.getMediaKeySessionContext(s,i,e,n))).then((r)=>{this.throwIfDestroyed();let a=e.scheme||"cenc",l=e.pssh?e.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(r,e,a,l,n)})})}getUsableKeyPromise(e,n,s){let i=e.keyRequests[n.uri];if(i)return this.log(`Waiting for usable key (${s} keyId: ${i_(n)} format: "${n.keyFormat}" URI: ${n.uri})`),i.useable.then(()=>e)}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw Error("invalid state")}handleError(e,n){if(!this.hls)return;if(e instanceof Ir){if(n)e.data.frag=n;let s=e.data.decryptdata;this.error(`${e.message}${s?` (${ni(s.keyId||[])})`:""}`),this.hls.trigger(Z.ERROR,e.data)}else this.error(e.message),this.hls.trigger(Z.ERROR,{type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}getKeySystemForKeyPromise(e){let n=Fd(e.keyFormat),s=n?[n]:lh(this.config);return this.attemptKeySystemAccess(s)}getKeySystemSelectionPromise(e){if(!e.length)e=lh(this.config);if(e.length===0)throw new Ir({type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${cs({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}activeLevelKeys(){let e=this.activeKeys,n=(e.previous||[]).map((s)=>s.decryptdata);return e.audio&&n.unshift(e.audio.decryptdata),e.main&&n.unshift(e.main.decryptdata),n}attemptSetMediaKeys(e,n){if(this.mediaResolved=void 0,this.mediaKeys===n)return Promise.resolve();let s=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let i=Promise.all(s).then(()=>{if(!this.media)return new Promise((r,a)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return a(Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=n,this.media.setMediaKeys(n).then(r).catch(a)}});return this.media.setMediaKeys(n)});return this.mediaKeys=n,this.setMediaKeysQueue.push(i),i.then(()=>{this.log(`Media-keys set for "${e}"`),s.push(i),this.setMediaKeysQueue=this.setMediaKeysQueue.filter((r)=>s.indexOf(r)===-1)})}filterInitData(e,n,s,i,r){var a;let l=(a=this.config.drmSystems)==null||(a=a[e.keySystem])==null?void 0:a.generateRequest;if(l)try{let f=l.call(this.hls,s,i,Hn({},e,{decryptdata:n,reason:r}),r);if(!f)throw Error("Invalid response from configured generateRequest filter");n.scheme=f.initDataType?f.initDataType:"cenc";let d=f.initData?f.initData:null;return n.pssh=d?new Uint8Array(d):null,f}catch(f){var c;if(this.warn(f.message),(c=this.hls)!=null&&c.config.debug)throw f}return{initDataType:s,initData:i}}generateRequestWithPreferredKeySession(e,n,s,i,r){let a=this.getUsableKeyPromise(e,n,r);if(a)return a;let l=this.filterInitData(e,n,s,i,r);if(l)i=l.initData?l.initData:null,s=l.initDataType;if(i===null)if(r.startsWith("encrypted-event"))return Promise.reject(Error(`missing initialization data for "${r}"`));else return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(e);let c=n.uri,f=new J6;e.keyRequests[c]=f;let d=(b)=>{let y=e.mediaKeysSession;if(!y){let T=Error("invalid state");f.errored=T;return}let{messageType:v,message:x}=b;if(f.status=v,this.log(`"${v}" message event for session "${y.sessionId}" message size: ${x.byteLength}`),v==="license-request"||v==="license-renewal")this.renewLicense(e,n,x).catch((T)=>{if(f.errored=T,!f.hasListeners)this.handleError(T);this.removeSession(e)});else if(v==="license-release"){if(e.keySystem===ps.FAIRPLAY)this.updateKeySession(e,n,i1("acknowledged")).then(()=>this.removeSession(e)).catch((T)=>this.handleError(T))}else this.warn(`unhandled media key message type "${v}"`)};f.onmessage=d,Nn(e.mediaKeysSession,"message",d);let g=!1;return this.generateRequest(e,n,s,i,r,g)}generateRequest(e,n,s,i,r,a){if(a){let y=this.filterInitData(e,n,s,i,r);if(y)i=y.initData?y.initData:i,s=y.initDataType}let l=n.uri,c=e.keyRequests[l],f=ni(n.keyId||[]),d=(y)=>{let v;if(y.startsWith("usable"))c.resolve();else if(y==="internal-error"||y==="output-restricted"||y==="output-downscaled")v=D3(y,n);else if(y==="expired")v=Error(`key expired (keyId: ${f})`);else if(y==="released")v=Error("key released");else if(y==="status-pending");else this.warn(`unhandled key status change "${y}" (keyId: ${f})`);if(v){if(c.errored=v,!c.hasListeners)this.handleError(v)}},g=(y)=>{if(!e.mediaKeysSession){let Y=Error("invalid state");c.errored=Y;return}let x=e.keyStatuses=this.getKeyStatuses(e);if(!Object.keys(x).some((Y)=>x[Y]!=="status-pending"))return;let R=this.activeLevelKeys();for(let Y=0;Y<R.length;Y++){let J=ni(R[Y].keyId||[]);if(x[J]==="expired"){var N;this.log(`Expired key ${cs(x)} in key-session "${(N=e.mediaKeysSession)==null?void 0:N.sessionId}"`),this.renewKeySession(n,e).catch((ee)=>this.handleError(ee));break}}let U=x[f];if(U)d(U);else{var X;let Y=1000;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(X=e.keyStatusTimeouts)[f]||(X[f]=self.setTimeout(()=>{var J;if(!e.mediaKeysSession)return;let ee=this.getKeyStatus(n);if(ee&&ee!=="status-pending"){var te;return this.log(`No status for keyId ${f} in key-session "${(te=e.mediaKeysSession)==null?void 0:te.sessionId}". Using session key-status ${ee} from other session.`),d(ee)}this.log(`key status for ${f} in key-session "${(J=e.mediaKeysSession)==null?void 0:J.sessionId}" timed out after 1000ms`),U="internal-error",d(U)},1000)),this.log(`No status for keyId ${f} (${cs(x)}).`)}};c.onkeystatuseschange=g,Nn(e.mediaKeysSession,"keystatuseschange",g);let b=c.useable;return this.log(`Generating key-session request for "${r}" keyId: ${f} URI: ${l} (init data type: ${s} length: ${i.byteLength})`),c.status="started",e.initialized=!0,e.mediaKeysSession.generateRequest(s,i).then(()=>{var y;c.status="generated",this.log(`Request generated for key-session "${(y=e.mediaKeysSession)==null?void 0:y.sessionId}" keyId: ${f} URI: ${l}`)}).catch((y)=>{throw this.log(`mediaKeysSession.generateRequest failed: ${y}`),new Ir({type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_SESSION,error:y,decryptdata:n,fatal:!1},`Error generating key-session request: ${y}`)}).then(()=>b).catch((y)=>{var v;this.log(`mediaKeysSession.generateRequest failed: ${y}`);let x=(v=y.data)==null?void 0:v.details;if((x===Le.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED||x===Le.KEY_SYSTEM_STATUS_INTERNAL_ERROR)&&Object.keys(e.keyStatuses).some((T)=>e.keyStatuses[T]==="usable"))return this.handleError(y),e;return this.removeSession(e).then(()=>{throw y})}).then(()=>e)}getKeyStatuses(e){let n={},s=e.mediaKeysSession.sessionId;return e.mediaKeysSession.keyStatuses.forEach((i,r)=>{if(typeof r==="string"&&typeof i==="object"){let c=r;r=i,i=c}let a="buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r);if(e.keySystem===ps.PLAYREADY&&a.length===16){let c=ni(a);n[c]=i,N9(a)}let l=ni(a);this.log(`key status change "${i}" for keyStatuses keyId: ${l} key-session "${s}"`),n[l]=i}),n}fetchServerCertificate(e){let n=this.config,i=new n.loader(n),r=s_(e,n);if(!r)return this.log(`No Server Certificate in config.drmSystems["${e}"]`),Promise.resolve();return this.log(`Fetching server certificate for "${e}"`),new Promise((a,l)=>{let c={type:fn.SERVER_CERTIFICATE,responseType:"arraybuffer",url:r},f=n.certLoadPolicy.default,d={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},g={onSuccess:(b,y,v,x)=>{a(b.data)},onError:(b,y,v,x)=>{l(new Ir({type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:v,response:qt({url:c.url,data:void 0},b)},`"${e}" certificate request failed (${r}). Status: ${b.code} (${b.text})`))},onTimeout:(b,y,v)=>{l(new Ir({type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:v,response:{url:c.url,data:void 0}},`"${e}" certificate request timed out (${r})`))},onAbort:(b,y,v)=>{l(Error("aborted"))}};i.load(c,d,g)})}setMediaKeysServerCertificate(e,n,s){return new Promise((i,r)=>{e.setServerCertificate(s).then((a)=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${s.byteLength}) on "${n}"`),i(e)}).catch((a)=>{r(new Ir({type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,n,s){return this.requestLicense(e,n,new Uint8Array(s)).then((i)=>this.updateKeySession(e,n,new Uint8Array(i)).catch((r)=>{throw new Ir({type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:n,error:r,fatal:!1},r.message)}))}unpackPlayReadyKeyMessage(e,n){let s=la(new Uint16Array(n.buffer));if(!s.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),n;let i=new DOMParser().parseFromString(s,"application/xml"),r=i.querySelectorAll("HttpHeader");if(r.length>0){let d;for(let g=0,b=r.length;g<b;g++){var a,l;d=r[g];let y=(a=d.querySelector("name"))==null?void 0:a.textContent,v=(l=d.querySelector("value"))==null?void 0:l.textContent;if(y&&v)e.setRequestHeader(y,v)}}let c=i.querySelector("Challenge"),f=c==null?void 0:c.textContent;if(!f)throw Error("Cannot find <Challenge> in key message");return i1(atob(f))}setupLicenseXHR(e,n,s,i,r){let a=this.config.licenseXhrSetup;if(!a)return e.open("POST",n,!0),Promise.resolve({xhr:e,licenseChallenge:r});return Promise.resolve().then(()=>(this.throwIfDestroyed(),a.call(this.hls,e,n,qt(qt({},s),{},{decryptdata:i}),r))).catch((l)=>{if(!s.mediaKeysSession)throw l;return e.open("POST",n,!0),a.call(this.hls,e,n,qt(qt({},s),{},{decryptdata:i}),r)}).then((l)=>{if(!e.readyState)e.open("POST",n,!0);return{xhr:e,licenseChallenge:l?l:r}})}requestLicense(e,n,s){return new Promise((i,r)=>{let a=n_(e.keySystem,this.config);if(!a)return r(Error(`no license server URL configured for key-system "${e.keySystem}"`));let l=e.keyRequests[n.uri];if(!l)return r(Error("License emitter removed"));this.log(`Sending license request to URL: ${a}`);let c=this.config.keyLoadPolicy.default,f=new XMLHttpRequest;if(f.responseType="arraybuffer",f.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return r(Error("invalid state"));if(f.readyState===4)if(f.status===200){l.requestErrors=[];let d=f.response;this.log(`License received ${d instanceof ArrayBuffer?d.byteLength:d}`);let g=this.config.licenseResponseCallback;if(g)try{d=g.call(this.hls,f,a,qt(qt({},e),{},{decryptdata:n}))}catch(b){this.error(b)}i(d)}else{let d=c.errorRetry,g=d?d.maxNumRetry:0;if(l.requestErrors.push({status:f.status,message:f.statusText}),l.requestErrors.length>g||f.status>=400&&f.status<500)r(new Ir({type:Dt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:n,fatal:!0,networkDetails:f,response:{url:a,data:void 0,code:f.status,text:f.statusText}},`License Request XHR failed (${a}). Status: ${f.status} (${f.statusText})`));else{let b=g-l.requestErrors.length;this.warn(`Retrying license request, ${b} attempts left`),this.requestLicense(e,n,s).then(i,r)}}},l.licenseXhr&&l.licenseXhr.readyState!==XMLHttpRequest.DONE)l.licenseXhr.abort();l.licenseXhr=f,this.setupLicenseXHR(f,a,e,n,s).then(({xhr:d,licenseChallenge:g})=>{if(e.keySystem==ps.PLAYREADY)g=this.unpackPlayReadyKeyMessage(d,g);d.send(g)}).catch(r)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,n){if(!this.config.emeEnabled)return;let s=n.media;this.media=s,Nn(s,"encrypted",this.onMediaEncrypted),Nn(s,"waitingforkey",this.onWaitingForKey);let i=this.mediaResolved;if(i)i();else this.mediaKeys=s.mediaKeys}onMediaDetached(){let e=this.media;if(e)On(e,"encrypted",this.onMediaEncrypted),On(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null}_clear(){var e;this.keyFormatPromise=null,this.keySystemAccessPromises={},this.activeKeys={},this.sessionSetupByUri={};let n=this.mediaResolved;if(n)n();if(!this.mediaKeys&&!this.mediaKeySessions.length)return;let s=this.media,i=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,So.clearKeyUriToKeyIdMap();let r=i.length;Zc.CDMCleanupPromise=Promise.all(i.map((a)=>this.removeSession(a)).concat((s==null||(e=s.setMediaKeys(null))==null?void 0:e.catch((a)=>{if(this.log(`Could not clear media keys: ${a}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:Error(`Could not clear media keys: ${a}`)})}))||Promise.resolve())).catch((a)=>{if(this.log(`Could not close sessions and clear media keys: ${a}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close sessions and clear media keys: ${a}`)})}).then(()=>{if(r)this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this._clear(),this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:n}){if(!n||!this.config.emeEnabled)return;if(!this.keyFormatPromise){let s=n.reduce((i,r)=>{if(i.indexOf(r.keyFormat)===-1)i.push(r.keyFormat);return i},[]);this.log(`Selecting key-system from session-keys ${s.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(s),this.keyFormatPromise.catch(()=>{})}}removeSession(e){let{mediaKeysSession:n}=e;if(n){this.log(`Remove licenses and keys and close session "${n.sessionId}"`),Object.keys(e.keyRequests).forEach((l)=>{let c=e.keyRequests[l];if(c.onmessage)n.removeEventListener("message",c.onmessage);if(c.onkeystatuseschange)n.removeEventListener("keystatuseschange",c.onkeystatuseschange);c.reset(),e.keyRequests[l]=void 0}),e.mediaKeysSession=void 0;let s=this.mediaKeySessions.indexOf(e);if(s>-1)this.mediaKeySessions.splice(s,1);let{keyStatusTimeouts:i}=e;if(i)Object.keys(i).forEach((l)=>self.clearTimeout(i[l]));let{drmSystemOptions:r}=this.config;return(zE(r)?new Promise((l,c)=>{self.setTimeout(()=>c(Error("MediaKeySession.remove() timeout")),8000),n.remove().then(l).catch(c)}):Promise.resolve()).catch((l)=>{if(this.log(`Could not remove session: ${l}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:Error(`Could not remove session: ${l}`)})}).then(()=>n.close()).then(()=>n.closed).catch((l)=>{if(this.log(`Could not close session: ${l}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close session: ${l}`)})})}return Promise.resolve()}}Zc.CDMCleanupPromise=void 0;function n_(e,n){let{drmSystems:s,widevineLicenseUrl:i}=n,r=s==null?void 0:s[e];if(r)return r.licenseUrl;if(e===ps.WIDEVINE&&i)return i}function s_(e,n){let{drmSystems:s}=n,i=s==null?void 0:s[e];if(i)return i.serverCertificateUrl}function i_(e){if(e.keyFormat===Si.FAIRPLAY)return e.uri;if(e.keyId===null)throw Error("keyId is null");return ni(e.keyId)}function Pg(e,n){let s=e.keyId,i=n.mediaKeysSession;if(s&&i){let r=n.mediaKeysSession.keyStatuses;if(r.size){if(r.has(s))return r.get(s);return n.keyStatuses[ni(s)]}}return}function D3(e,n){let s=e==="output-restricted",i=s?Le.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:Le.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new Ir({type:Dt.KEY_SYSTEM_ERROR,details:i,fatal:!1,decryptdata:n},s?"HDCP level output restricted":`key status changed to "${e}"`)}class Z6{constructor(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()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){if(this.timer)clearInterval(this.timer);this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,n){let s=this.hls.config;if(s.capLevelOnFPSDrop){let i=n.media instanceof self.HTMLVideoElement?n.media:null;if(this.media=i,i&&typeof i.getVideoPlaybackQuality==="function")this.isVideoPlaybackQualityAvailable=!0;self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),s.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,n,s){let i=performance.now();if(n){if(this.lastTime){let r=i-this.lastTime,a=s-this.lastDroppedFrames,l=n-this.lastDecodedFrames,c=1000*a/r,f=this.hls;if(f.trigger(Z.FPS_DROP,{currentDropped:a,currentDecoded:l,totalDroppedFrames:s}),c>0){if(a>f.config.fpsDroppedMonitoringThreshold*l){let d=f.currentLevel;if(f.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+d),d>0&&(f.autoLevelCapping===-1||f.autoLevelCapping>=d))d=d-1,f.trigger(Z.FPS_DROP_LEVEL_CAPPING,{level:d,droppedLevel:f.currentLevel}),f.autoLevelCapping=d,this.streamController.nextLevelSwitch()}}}this.lastTime=i,this.lastDroppedFrames=s,this.lastDecodedFrames=n}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let n=e.getVideoPlaybackQuality();this.checkFPS(e,n.totalVideoFrames,n.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}}var Q1=function(){if(r0!=null&&r0.VTTCue)return self.VTTCue;let e=["","lr","rl"],n=["start","middle","end","left","right"];function s(c,f){if(typeof f!=="string")return!1;if(!Array.isArray(c))return!1;let d=f.toLowerCase();if(~c.indexOf(d))return d;return!1}function i(c){return s(e,c)}function r(c){return s(n,c)}function a(c,...f){let d=1;for(;d<arguments.length;d++){let g=arguments[d];for(let b in g)c[b]=g[b]}return c}function l(c,f,d){let g=this,b={enumerable:!0};g.hasBeenReset=!1;let y="",v=!1,x=c,T=f,R=d,N=null,U="",X=!0,Y="auto",J="start",ee=50,te="middle",ne=50,ie="middle";Object.defineProperty(g,"id",a({},b,{get:function(){return y},set:function(se){y=""+se}})),Object.defineProperty(g,"pauseOnExit",a({},b,{get:function(){return v},set:function(se){v=!!se}})),Object.defineProperty(g,"startTime",a({},b,{get:function(){return x},set:function(se){if(typeof se!=="number")throw TypeError("Start time must be set to a number.");x=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"endTime",a({},b,{get:function(){return T},set:function(se){if(typeof se!=="number")throw TypeError("End time must be set to a number.");T=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"text",a({},b,{get:function(){return R},set:function(se){R=""+se,this.hasBeenReset=!0}})),Object.defineProperty(g,"region",a({},b,{get:function(){return N},set:function(se){N=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"vertical",a({},b,{get:function(){return U},set:function(se){let ae=i(se);if(ae===!1)throw SyntaxError("An invalid or illegal string was specified.");U=ae,this.hasBeenReset=!0}})),Object.defineProperty(g,"snapToLines",a({},b,{get:function(){return X},set:function(se){X=!!se,this.hasBeenReset=!0}})),Object.defineProperty(g,"line",a({},b,{get:function(){return Y},set:function(se){if(typeof se!=="number"&&se!=="auto")throw SyntaxError("An invalid number or illegal string was specified.");Y=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"lineAlign",a({},b,{get:function(){return J},set:function(se){let ae=r(se);if(!ae)throw SyntaxError("An invalid or illegal string was specified.");J=ae,this.hasBeenReset=!0}})),Object.defineProperty(g,"position",a({},b,{get:function(){return ee},set:function(se){if(se<0||se>100)throw Error("Position must be between 0 and 100.");ee=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"positionAlign",a({},b,{get:function(){return te},set:function(se){let ae=r(se);if(!ae)throw SyntaxError("An invalid or illegal string was specified.");te=ae,this.hasBeenReset=!0}})),Object.defineProperty(g,"size",a({},b,{get:function(){return ne},set:function(se){if(se<0||se>100)throw Error("Size must be between 0 and 100.");ne=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"align",a({},b,{get:function(){return ie},set:function(se){let ae=r(se);if(!ae)throw SyntaxError("An invalid or illegal string was specified.");ie=ae,this.hasBeenReset=!0}})),g.displayState=void 0}return l.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},l}();class ev{decode(e,n){if(!e)return"";if(typeof e!=="string")throw Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function tv(e){function n(i,r,a,l){return(i|0)*3600+(r|0)*60+(a|0)+parseFloat(l||0)}let s=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);if(!s)return null;if(parseFloat(s[2])>59)return n(s[2],s[3],0,s[4]);return n(s[1],s[2],s[3],s[4])}class nv{constructor(){this.values=Object.create(null)}set(e,n){if(!this.get(e)&&n!=="")this.values[e]=n}get(e,n,s){if(s)return this.has(e)?this.values[e]:n[s];return this.has(e)?this.values[e]:n}has(e){return e in this.values}alt(e,n,s){for(let i=0;i<s.length;++i)if(n===s[i]){this.set(e,n);break}}integer(e,n){if(/^-?\d+$/.test(n))this.set(e,parseInt(n,10))}percent(e,n){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(n)){let s=parseFloat(n);if(s>=0&&s<=100)return this.set(e,s),!0}return!1}}function sv(e,n,s,i){let r=i?e.split(i):[e];for(let a in r){if(typeof r[a]!=="string")continue;let l=r[a].split(s);if(l.length!==2)continue;let c=l[0],f=l[1];n(c,f)}}var d1=new Q1(0,0,""),Bd=d1.align==="middle"?"middle":"center";function r_(e,n,s){let i=e;function r(){let c=tv(e);if(c===null)throw Error("Malformed timestamp: "+i);return e=e.replace(/^[^\sa-zA-Z-]+/,""),c}function a(c,f){let d=new nv;sv(c,function(y,v){let x;switch(y){case"region":for(let T=s.length-1;T>=0;T--)if(s[T].id===v){d.set(y,s[T].region);break}break;case"vertical":d.alt(y,v,["rl","lr"]);break;case"line":if(x=v.split(","),d.integer(y,x[0]),d.percent(y,x[0]))d.set("snapToLines",!1);if(d.alt(y,x[0],["auto"]),x.length===2)d.alt("lineAlign",x[1],["start",Bd,"end"]);break;case"position":if(x=v.split(","),d.percent(y,x[0]),x.length===2)d.alt("positionAlign",x[1],["start",Bd,"end","line-left","line-right","auto"]);break;case"size":d.percent(y,v);break;case"align":d.alt(y,v,["start",Bd,"end","left","right"]);break}},/:/,/\s/),f.region=d.get("region",null),f.vertical=d.get("vertical","");let g=d.get("line","auto");if(g==="auto"&&d1.line===-1)g=-1;f.line=g,f.lineAlign=d.get("lineAlign","start"),f.snapToLines=d.get("snapToLines",!0),f.size=d.get("size",100),f.align=d.get("align",Bd);let b=d.get("position","auto");if(b==="auto"&&d1.position===50)b=f.align==="start"||f.align==="left"?0:f.align==="end"||f.align==="right"?100:50;f.position=b}function l(){e=e.replace(/^\s+/,"")}if(l(),n.startTime=r(),l(),e.slice(0,3)!=="-->")throw Error("Malformed time stamp (time stamps must be separated by '-->'): "+i);e=e.slice(3),l(),n.endTime=r(),l(),a(e,n)}function iv(e){return e.replace(/<br(?: \/)?>/gi,`
42
- `)}class rv{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new ev,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let n=this;if(e)n.buffer+=n.decoder.decode(e,{stream:!0});function s(){let r=n.buffer,a=0;r=iv(r);while(a<r.length&&r[a]!=="\r"&&r[a]!==`
43
- `)++a;let l=r.slice(0,a);if(r[a]==="\r")++a;if(r[a]===`
44
- `)++a;return n.buffer=r.slice(a),l}function i(r){sv(r,function(a,l){},/:/)}try{let r="";if(n.state==="INITIAL"){if(!/\r\n|\n/.test(n.buffer))return this;r=s();let l=r.match(/^()?WEBVTT([ \t].*)?$/);if(!(l!=null&&l[0]))throw Error("Malformed WebVTT signature.");n.state="HEADER"}let a=!1;while(n.buffer){if(!/\r\n|\n/.test(n.buffer))return this;if(!a)r=s();else a=!1;switch(n.state){case"HEADER":if(/:/.test(r))i(r);else if(!r)n.state="ID";continue;case"NOTE":if(!r)n.state="ID";continue;case"ID":if(/^NOTE($|[ \t])/.test(r)){n.state="NOTE";break}if(!r)continue;if(n.cue=new Q1(0,0,""),n.state="CUE",r.indexOf("-->")===-1){n.cue.id=r;continue}case"CUE":if(!n.cue){n.state="BADCUE";continue}try{r_(r,n.cue,n.regionList)}catch(l){n.cue=null,n.state="BADCUE";continue}n.state="CUETEXT";continue;case"CUETEXT":{let l=r.indexOf("-->")!==-1;if(!r||l&&(a=!0)){if(n.oncue&&n.cue)n.oncue(n.cue);n.cue=null,n.state="ID";continue}if(n.cue===null)continue;if(n.cue.text)n.cue.text+=`
45
- `;n.cue.text+=r}continue;case"BADCUE":if(!r)n.state="ID"}}}catch(r){if(n.state==="CUETEXT"&&n.cue&&n.oncue)n.oncue(n.cue);n.cue=null,n.state=n.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if(e.cue||e.state==="HEADER")e.buffer+=`
46
-
47
- `,e.parse();if(e.state==="INITIAL"||e.state==="BADWEBVTT")throw Error("Malformed WebVTT signature.")}catch(n){if(e.onparsingerror)e.onparsingerror(n)}if(e.onflush)e.onflush();return this}}function vh(e){let n=5381,s=e.length;while(s)n=n*33^e.charCodeAt(--s);return(n>>>0).toString()}var a_=/\r\n|\n\r|\n|\r/g,q3="Missing initPTS for VTT ",o_=function(n){let s=parseInt(n.slice(-3)),i=parseInt(n.slice(-6,-4)),r=parseInt(n.slice(-9,-7)),a=n.length>9?parseInt(n.substring(0,n.indexOf(":"))):0;if(!ct(s)||!ct(i)||!ct(r)||!ct(a))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${n}`);return s+=1000*i,s+=60000*r,s+=3600000*a,s};function J1(e,n,s){return vh(e.toString())+vh(n.toString())+vh(s)}function l_(e,n,s,i,r,a,l){let c=new rv,f=pr(new Uint8Array(e)).trim().replace(a_,`
48
- `).split(`
49
- `),d=[],g=n?LC(n.baseTime,n.timescale):0,b="00:00.000",y=0,v=0,x=!1,T,R=!0;c.oncue=function(N){let U=s[i],X=s.ccOffset,Y=(y-g)/90000;if(x){if(U!=null&&U.new)X=s.ccOffset=U.start;if(Y){if(!n){T=Error(q3+"MPEGTS");return}X=Y-s.presentationOffset}}else if(!n){T=Error(q3+"without X-TIMESTAMP-MAP");return}else X=-n.baseTime/n.timescale;let J=N.endTime-N.startTime,ee=mr((N.startTime+X-v)*90000,r*90000)/90000;N.startTime=Math.max(ee,0),N.endTime=Math.max(ee+J,0);let te=N.text.trim();if(N.text=decodeURIComponent(encodeURIComponent(te)),!N.id)N.id=J1(N.startTime,N.endTime,te);else if(i)N.id=`hlsjscc${i}_${N.id}`;if(N.endTime>0)d.push(N)},c.onparsingerror=function(N){T=N},c.onflush=function(){if(T){l(T);return}a(d)},f.forEach((N)=>{if(R){if(N.startsWith("X-TIMESTAMP-MAP=")){R=!1,x=!0,N.slice(16).split(",").forEach((U)=>{if(U.startsWith("LOCAL:"))b=U.slice(6);else if(U.startsWith("MPEGTS:"))y=parseInt(U.slice(7))});try{v=o_(b)/1000}catch(U){T=U}return}else if(N==="")R=!1}c.parse(N+`
50
- `)}),c.flush()}var m1="stpp.ttml.im1t",av=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,ov=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,c_={left:"start",center:"center",right:"end",start:"start",end:"end"};function M3(e,n,s,i){let r=Xt(new Uint8Array(e),["mdat"]);if(r.length===0){i(Error("Could not parse IMSC1 mdat"));return}let a=r.map((c)=>pr(c)),l=FC(n.baseTime,1,n.timescale);try{a.forEach((c)=>s(f_(c,l)))}catch(c){i(c)}}function f_(e,n){let r=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!r)throw Error("Invalid ttml");let a={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:1},l=Object.keys(a).reduce((b,y)=>(b[y]=r.getAttribute(`ttp:${y}`)||a[y],b),{});if(!r.getAttribute("ttp:tickRate")&&r.getAttribute("ttp:frameRate"))l.tickRate=Number(l.frameRate)*Number(l.subFrameRate);let c=r.getAttribute("xml:space")!=="preserve",f=F3(Ng(r,"styling","style")),d=F3(Ng(r,"layout","region")),g=Ng(r,"body","[begin]");return[].map.call(g,(b)=>{let y=lv(b,c);if(!y||!b.hasAttribute("begin"))return null;let v=Hg(b.getAttribute("begin"),l),x=Hg(b.getAttribute("dur"),l),T=Hg(b.getAttribute("end"),l);if(v===null)throw L3(b);if(T===null){if(x===null)throw L3(b);T=v+x}let R=new Q1(v-n,T-n,y);R.id=J1(R.startTime,R.endTime,R.text);let N=d[b.getAttribute("region")],U=f[b.getAttribute("style")],X=h_(N,U,f),{textAlign:Y}=X;if(Y){let J=c_[Y];if(J)R.lineAlign=J;R.align=Y}return Hn(R,X),R}).filter((b)=>b!==null)}function Ng(e,n,s){let i=e.getElementsByTagName(n)[0];if(i)return[].slice.call(i.querySelectorAll(s));return[]}function F3(e){return e.reduce((n,s)=>{let i=s.getAttribute("xml:id");if(i)n[i]=s;return n},{})}function lv(e,n){return[].slice.call(e.childNodes).reduce((s,i,r)=>{var a;if(i.nodeName==="br"&&r)return s+`
51
- `;if((a=i.childNodes)!=null&&a.length)return lv(i,n);else if(n)return s+i.textContent.trim().replace(/\s+/g," ");return s+i.textContent},"")}function h_(e,n,s){let r=null,a=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],l=e!=null&&e.hasAttribute("style")?e.getAttribute("style"):null;if(l&&s.hasOwnProperty(l))r=s[l];return a.reduce((c,f)=>{let d=Bg(n,"http://www.w3.org/ns/ttml#styling",f)||Bg(e,"http://www.w3.org/ns/ttml#styling",f)||Bg(r,"http://www.w3.org/ns/ttml#styling",f);if(d)c[f]=d;return c},{})}function Bg(e,n,s){if(!e)return null;return e.hasAttributeNS(n,s)?e.getAttributeNS(n,s):null}function L3(e){return Error(`Could not parse ttml timestamp ${e}`)}function Hg(e,n){if(!e)return null;let s=tv(e);if(s===null){if(av.test(e))s=u_(e,n);else if(ov.test(e))s=d_(e,n)}return s}function u_(e,n){let s=av.exec(e),i=(s[4]|0)+(s[5]|0)/n.subFrameRate;return(s[1]|0)*3600+(s[2]|0)*60+(s[3]|0)+i/n.frameRate}function d_(e,n){let s=ov.exec(e),i=Number(s[1]);switch(s[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i/1000;case"f":return i/n.frameRate;case"t":return i/n.tickRate}return i}function Z1(e,n,s,i="",r="disabled"){let a=e.ownerDocument.createElement("track");if(a.kind=n,a.label=s,i)a.srclang=i;return a.src="data:,WEBVTT",a.track.mode=r,e.appendChild(a),a}function m_(e){if(e.forced&&sE())return"forced";else if(e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics))return"captions";return"subtitles"}function p1(e,n){let s=e.mode;if(s==="disabled")e.mode="hidden";if(e.cues&&!e.cues.getCueById(n.id))try{if(e.addCue(n),!e.cues.getCueById(n.id))throw Error(`addCue is failed for: ${n}`)}catch(i){In.debug(`[texttrack-utils]: ${i}`);try{let r=new self.TextTrackCue(n.startTime,n.endTime,n.text);r.id=n.id,e.addCue(r)}catch(r){In.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${r}`)}}if(s==="disabled")e.mode=s}function g1(e,n,s,i){let r=e.mode;if(r==="disabled")e.mode="hidden";if(e.cues&&e.cues.length>0){let a=g_(e.cues,n,s);for(let l=0;l<a.length;l++)if(!i||i(a[l]))e.removeCue(a[l])}if(r==="disabled")e.mode=r}function p_(e,n){if(n<=e[0].startTime)return 0;let s=e.length-1;if(n>e[s].endTime)return-1;let i=0,r=s,a;while(i<=r)if(a=Math.floor((r+i)/2),n<e[a].startTime)r=a-1;else if(n>e[a].startTime&&i<s)i=a+1;else return a;return e[i].startTime-n<n-e[r].startTime?i:r}function g_(e,n,s){let i=[],r=p_(e,n);if(r>-1)for(let a=r,l=e.length;a<l;a++){let c=e[a];if(c.startTime>=n&&c.endTime<=s)i.push(c);else if(c.startTime>s)return i}return i}class cv extends S0{constructor(e){super(e,"subtitle-track-controller");this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(!this.useTextTrackPolling)self.clearInterval(this.subtitlePollingInterval);if(!this.media||!this.hls.config.renderTextTracksNatively)return;let n=-1,s=!1;if(this.currentTrack){var i;let l=(i=this.currentTrack.trackNode)==null?void 0:i.track.mode;if(l==="showing")n=this.trackId,s=!0;else if(l==="hidden")n=this.trackId}if(!s)for(let l=0;l<this.tracksInGroup.length;l++){var r;let c=(r=this.tracksInGroup[l].trackNode)==null?void 0:r.track.mode;if(c==="showing"){n=l;break}else if(n<0&&c==="hidden")n=l}if(n>-1){var a;this._subtitleDisplay=((a=this.tracksInGroup[n].trackNode)==null?void 0:a.track.mode)==="showing"}this.setSubtitleTrack(n,!0)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){if(this._subtitleDisplay=e,this.trackId>-1)this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Z.ERROR,this.onError,this)}createTracksInGroup(){var e;if(!this.media||!this.hls.config.renderTextTracksNatively)return;this.tracksInGroup.forEach((s)=>{if(!s.trackNode)s.trackNode=Z1(this.media,m_(s),s.name,s.lang)});let n=(e=this.currentTrack)==null||(e=e.trackNode)==null?void 0:e.track;if((n==null?void 0:n.mode)==="disabled")n.mode=this._subtitleDisplay?"showing":"hidden"}onMediaAttached(e,n){let s=n.media;this.media=s;let i=this.trackId;if(this.queuedDefaultTrack>-1)i=this.queuedDefaultTrack,this.queuedDefaultTrack=-1;if(this.setSubtitleTrack(i),this.createTracksInGroup(),this.useTextTrackPolling=!(s.textTracks&&("onchange"in s.textTracks)),this.useTextTrackPolling)this.pollTrackChange(500);else s.textTracks.addEventListener("change",this.asyncPollTrackChange)}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,n){let s=this.media;if(!s)return;let i=!!n.transferMedia;if(self.clearInterval(this.subtitlePollingInterval),!this.useTextTrackPolling)s.textTracks.removeEventListener("change",this.asyncPollTrackChange);if(this.trackId>-1)this.queuedDefaultTrack=this.trackId,this.setSubtitleTrack(-1);if(this.media=null,i)return;if(this.hls.config.renderTextTracksNatively)this.tracksInGroup.forEach((r)=>{let a=r.trackNode;if(a)a.track.mode="hidden",a.remove(),r.trackNode=void 0})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,n){this.tracks=n.subtitleTracks}onSubtitleTrackLoaded(e,n){let{id:s,groupId:i,details:r}=n,a=this.tracksInGroup[s];if(!a||a.groupId!==i){this.warn(`Subtitle track with id:${s} and group:${i} not found in active group ${a==null?void 0:a.groupId}`);return}let l=a.details;if(a.details=n.details,this.log(`Subtitle track ${s} "${a.name}" lang:${a.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId)this.playlistLoaded(s,n,l)}onLevelLoading(e,n){this.switchLevel(n.level)}onLevelSwitching(e,n){this.switchLevel(n.level)}switchLevel(e){let n=this.hls.levels[e];if(!n)return;let s=n.subtitleGroups||null,i=this.groupIds,r=this.currentTrack;if(!s||(i==null?void 0:i.length)!==(s==null?void 0:s.length)||s!=null&&s.some((a)=>(i==null?void 0:i.indexOf(a))===-1)){this.groupIds=s;let a=[];if(this.tracks.forEach((d)=>{if(d.textCodec===m1?this.hls.config.enableIMSC1:this.hls.config.enableWebVTT){if(!s||s.indexOf(d.groupId)>-1)d.id=a.length,a.push(d);else if(d.trackNode)d.trackNode.remove(),d.trackNode=void 0}}),a.length===this.tracksInGroup.length){let d=!1;for(let g=0;g<a.length;g++)if(a[g]!==this.tracksInGroup[g]){d=!0;break}if(!d)return}if(a.length){if(this.selectDefaultTrack&&!a.some((d)=>d.default))this.selectDefaultTrack=!1}this.tracksInGroup=a,this.trackId=-1,this.currentTrack=null;let l=this.hls.config.subtitlePreference;if(!r&&l){this.selectDefaultTrack=!1;let d=qa(l,a);if(d>-1)r=a[d];else{let g=qa(l,this.tracks);r=this.tracks[g]}}let c=this.findTrackId(r);if(c===-1&&r)c=this.findTrackId(null);let f={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${s==null?void 0:s.join(",")}" group-id`),this.hls.trigger(Z.SUBTITLE_TRACKS_UPDATED,f),this.setSubtitleTrack(c),this.createTracksInGroup()}}findTrackId(e){let n=this.tracksInGroup,s=this.selectDefaultTrack;for(let i=0;i<n.length;i++){let r=n[i];if(s&&!r.default||!s&&!e)continue;if(!e||Ql(r,e))return i}if(e){for(let i=0;i<n.length;i++){let r=n[i];if(Ih(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<n.length;i++){let r=n[i];if(Ih(e.attrs,r.attrs,["LANGUAGE"]))return i}}return-1}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===fn.SUBTITLE_TRACK&&n.context.id===this.trackId&&Ch(n.context.groupId,this.groupIds))this.checkRetry(n)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e,!0)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(e.id===-1)return this.setSubtitleTrack(-1,!0),null;let n=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,n.length){let s=this.currentTrack;if(s&&Ql(e,s))return s;let i=qa(e,this.tracksInGroup);if(i>-1){let r=this.tracksInGroup[i];return this.setSubtitleTrack(i,!0),r}else if(s)return null;else{let r=qa(e,n);if(r>-1)return n[r]}}}return null}loadPlaylist(e){if(super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack))this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let{id:s,groupId:i}=e,r=this.getUrlWithDirectives(e.url,n),a=e.details,l=a==null?void 0:a.age;this.log(`Loading subtitle ${s} "${e.name}" lang:${e.lang} group:${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${r}`),this.hls.trigger(Z.SUBTITLE_TRACK_LOADING,{url:r,id:s,groupId:i,deliveryDirectives:n||null,track:e})}toggleTrackModes(){if(!this.media||!this.hls.config.renderTextTracksNatively)return;let e=this.currentTrack;this.tracksInGroup.forEach((n)=>{if(n.trackNode){let s=n===e?this._subtitleDisplay?"showing":"hidden":"disabled",i=n.trackNode.track;if(i.mode!==s)i.mode=s}})}setSubtitleTrack(e,n=!1){let s=this.tracksInGroup;if(!this.media)this.queuedDefaultTrack=e;if(e<-1||e>=s.length||!ct(e)){this.warn(`Invalid subtitle track id: ${e}`);return}let i=this.currentTrack,r=s[e]||null;if(this.trackId=e,this.currentTrack=r,n)this.toggleTrackModes();if(!r){if(i)this.hls.trigger(Z.SUBTITLE_TRACK_SWITCH,{id:e});return}let a=!!r.details&&!r.details.live;if(r===i&&a)return;this.log(`Switching to subtitle-track ${e}`+(r?` "${r.name}" lang:${r.lang} group:${r.groupId}`:""));let{id:l,groupId:c="",name:f,type:d,url:g}=r;this.hls.trigger(Z.SUBTITLE_TRACK_SWITCH,{id:l,groupId:c,name:f,type:d,url:g});let b=this.switchParams(r.url,i==null?void 0:i.details,r.details);this.loadPlaylist(b)}}var Wd=2,b_=100;class fv extends R1{constructor(e,n){super("gap-controller",e.logger);this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.skipRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=void 0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var s;if((s=this.media)!=null&&s.seeking)return;this.waiting=self.performance.now(),this.tick()},this.onMediaEnded=()=>{if(this.hls){var s;this.ended=((s=this.media)==null?void 0:s.currentTime)||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=n,this.lastCurrentTime=this.getCurrentTime(),this.registerListeners()}registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this)}unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this)}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,n){this.setInterval(b_),this.mediaSource=n.mediaSource;let s=this.media=n.media;Nn(s,"playing",this.onMediaPlaying),Nn(s,"waiting",this.onMediaWaiting),Nn(s,"ended",this.onMediaEnded)}onMediaDetaching(e,n){this.clearInterval();let{media:s}=this;if(s)On(s,"playing",this.onMediaPlaying),On(s,"waiting",this.onMediaWaiting),On(s,"ended",this.onMediaEnded),this.media=null;this.mediaSource=void 0}onBufferAppended(e,n){this.buffered=n.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}getCurrentTime(){var e;let n=((e=this.hls)==null?void 0:e.config.timelineOffset)||0;if(this.media)return Math.max(this.media.currentTime,n);return n}tick(){var e;if(!((e=this.media)!=null&&e.readyState)||!this.hasBuffered)return;let n=this.getCurrentTime();if(this.media.currentTime<n)return;this.poll(n,this.lastCurrentTime),this.lastCurrentTime=n}poll(e,n){var s,i;let r=(s=this.hls)==null?void 0:s.config;if(!r)return;let a=this.media;if(!a)return;let{seeking:l}=a,c=this.seeking&&!l,f=!this.seeking&&l,d=a.paused&&!l||a.ended||a.playbackRate===0;if(this.seeking=l,e!==n){if(n)this.ended=0;if(this.moved=!0,!l){if(this.skipRetry=this.nudgeRetry=0,r.nudgeOnVideoHole&&!d&&e>n)this.nudgeOnVideoHole(e,n)}if(this.waiting===0)this.stallResolved(e);return}if(f||c){if(c)this.stallResolved(e);return}if(d){if(this.skipRetry=this.nudgeRetry=0,this.stallResolved(e),!this.ended&&a.ended&&this.hls)this.ended=e||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!1});return}if(!Ot.getBuffered(a).length){this.skipRetry=this.nudgeRetry=0;return}let g=Ot.bufferInfo(a,e,0),b=this.fragmentTracker;if(b&&this.hls)N3(g,e,b,this.hls);let y=g.nextStart||0;if(l&&b&&this.hls){let J=O3(this.hls.inFlightFragments,e),ee=g.len>Wd,te=!y||J||y-e>Wd&&!b.getPartialFragment(e);if(ee||te)return;this.moved=!1}let v=(i=this.hls)==null?void 0:i.latestLevelDetails;if(!this.moved&&this.stalled!==null&&b){if(!(g.len>0)&&!y)return;let ee=Math.max(y,g.start||0)-e,ne=v!=null&&v.live?v.targetduration*2:Wd,ie=mh(e,b);if(ee>0&&(ee<=ne||ie)){if(!a.paused)this._trySkipBufferHole(ie);return}}let x=r.detectStallWithCurrentTimeMs,T=self.performance.now(),R=this.waiting,N=this.stalled;if(N===null)if(R>0&&T-R<x)N=this.stalled=R;else{this.stalled=T;return}let U=T-N;if(!l&&(U>=x||R&&this.moved)&&this.hls){var X;if(((X=this.mediaSource)==null?void 0:X.readyState)==="ended"&&!(v!=null&&v.live)&&Math.abs(e-((v==null?void 0:v.edge)||0))<1){if(this.ended)return;this.ended=e||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(g),!this.media||!this.hls)return;if(a.currentTime!==e){let J=e;e=a.currentTime,this.moved=!0,this.log(`currentTime changed ${J} > ${e}`);return}}let Y=Ot.bufferInfo(a,e,r.maxBufferHole);this._tryFixBufferStall(Y,U,e)}stallResolved(e){let n=this.stalled;if(n&&this.hls){if(this.stalled=null,this.stallReported){let s=self.performance.now()-n;this.log(`playback not stuck anymore @${e}, after ${Math.round(s)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(Z.STALL_RESOLVED,{})}}}nudgeOnVideoHole(e,n){var s;let i=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(s=this.buffered.audio)!=null&&s.length&&i&&i.length>1&&e>i.end(0)){let r=Ot.bufferedInfo(Ot.timeRangesToArray(this.buffered.audio),e,0);if(r.len>1&&n>=r.start){let a=Ot.timeRangesToArray(i),l=Ot.bufferedInfo(a,n,0).bufferedIndex;if(l>-1&&l<a.length-1){let c=Ot.bufferedInfo(a,e,0).bufferedIndex,f=a[l].end,d=a[l+1].start;if((c===-1||c>l)&&d-f<1&&e-f<2){let g=Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${f} -> ${d} buffered index: ${c}`);this.warn(g.message),this.media.currentTime+=0.000001;let b=mh(e,this.fragmentTracker);if(b&&"fragment"in b)b=b.fragment;else if(!b)b=void 0;let y=Ot.bufferInfo(this.media,e,0);this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:g,reason:g.message,frag:b,buffer:y.len,bufferInfo:y})}}}}}_tryFixBufferStall(e,n,s){var i,r;let{fragmentTracker:a,media:l}=this,c=(i=this.hls)==null?void 0:i.config;if(!l||!a||!c)return;let f=(r=this.hls)==null?void 0:r.latestLevelDetails,d=mh(s,a);if(d||f!=null&&f.live&&s<f.fragmentStart){if(this._trySkipBufferHole(d)||!this.media)return}let g=e.buffered,b=this.adjacentTraversal(e,s);if((g&&g.length>1&&e.len>c.maxBufferHole||e.nextStart&&(e.nextStart-s<c.maxBufferHole||b))&&(n>c.highBufferWatchdogPeriod*1000||this.waiting))this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e)}adjacentTraversal(e,n){let s=this.fragmentTracker,i=e.nextStart;if(s&&i){let r=s.getFragAtPos(n,Ct.MAIN),a=s.getFragAtPos(i,Ct.MAIN);if(r&&a)return a.sn-r.sn<2}return!1}_reportStall(e){let{hls:n,media:s,stallReported:i,stalled:r}=this;if(!i&&r!==null&&s&&n){this.stallReported=!0;let a=Error(`Playback stalling at @${s.currentTime} due to low buffer (${cs(e)})`);this.warn(a.message),n.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.BUFFER_STALLED_ERROR,fatal:!1,error:a,buffer:e.len,bufferInfo:e,stalled:{start:r}})}}_trySkipBufferHole(e){let{fragmentTracker:n,media:s,hls:i}=this,r=i==null?void 0:i.config;if(!s||!n||!r)return 0;let a=s.currentTime,l=Ot.bufferInfo(s,a,0);N3(l,a,n,i);let c=a<l.start?l.start:l.nextStart;if(c){let d=l.len<=r.maxBufferHole,g=l.len>0&&l.len<1&&s.readyState<3,b=c-a;if(b>0&&(d||g)){if(b>r.maxBufferHole){let R=!1;if(a===0){let N=n.getAppendedFrag(0,Ct.MAIN);if(N&&c<N.end)R=!0}if(!R&&e){var f;if(!((f=i.loadLevelObj)!=null&&f.details))return 0;if(O3(i.inFlightFragments,c))return 0;let U=!1,X=e.end;while(X<c){let Y=mh(X,n),J=Y?Y.duration:0;if(J>0)X+=J;else{U=!0;break}}if(U)return 0}}let{nudgeMaxRetry:y,skipBufferHolePadding:v}=r,x=++this.skipRetry>y,T=Math.max(c,a)+v;if(!x)this.warn(`skipping hole, adjusting currentTime from ${a} to ${T}`),this.moved=!0,s.currentTime=T;if(!(e!=null&&e.gap)||x){let R=Error(x?`Playhead still not moving after seeking over buffer hole from ${a} to ${T} after ${r.nudgeMaxRetry} attempts.`:`fragment loaded with buffer holes, seeking from ${a} to ${T}`),N={type:Dt.MEDIA_ERROR,details:Le.BUFFER_SEEK_OVER_HOLE,fatal:x,error:R,reason:R.message,buffer:l.len,bufferInfo:l};if(e)if("fragment"in e)N.part=e;else N.frag=e;i.trigger(Z.ERROR,N)}return T}}return 0}_tryNudgeBuffer(e){let{hls:n,media:s,nudgeRetry:i}=this,r=n==null?void 0:n.config;if(!s||!r)return 0;let a=s.currentTime;if(this.nudgeRetry++,i<r.nudgeMaxRetry){let l=a+(i+1)*r.nudgeOffset,c=Error(`Nudging 'currentTime' from ${a} to ${l}`);this.warn(c.message),s.currentTime=l,n.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.BUFFER_NUDGE_ON_STALL,error:c,fatal:!1,buffer:e.len,bufferInfo:e})}else{let l=Error(`Playhead still not moving while enough data buffered @${a} after ${r.nudgeMaxRetry} nudges`);this.error(l.message),n.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.BUFFER_STALLED_ERROR,error:l,fatal:!0,buffer:e.len,bufferInfo:e})}}}function O3(e,n){let s=P3(e.main);if(s&&s.start<=n)return s;let i=P3(e.audio);if(i&&i.start<=n)return i;return null}function P3(e){if(!e)return null;switch(e.state){case Ve.IDLE:case Ve.STOPPED:case Ve.ENDED:case Ve.ERROR:return null}return e.frag}function mh(e,n){return n.getAppendedFrag(e,Ct.MAIN)||n.getPartialFragment(e)}function N3(e,n,s,i){let r=i.latestLevelDetails,a=mh(n,s);if(l0(i.config)&&!e.nextStart&&r&&a&&i.interstitialsManager){let l="type"in a?a:a.fragment,c=I9(r,l.sn);if((c==null?void 0:c.level)===l.level&&Q9(c,i.interstitialsManager.playerQueue,n))e.nextStart=c.start}}var y_=0.25;function b1(){if(typeof self>"u")return;return self.VTTCue||self.TextTrackCue}function Ug(e,n,s,i,r){let a=new e(n,s,"");try{if(a.value=i,r)a.type=r}catch(l){a=new e(n,s,cs(r?qt({type:r},i):i))}return a}var Hd=(()=>{let e=b1();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(n){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class hv{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{if(!this.hls)return;this.hls.trigger(Z.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}_unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}onMediaAttaching(e,n){this.media=n.media}onMediaAttached(){var e;let n=(e=this.hls)==null?void 0:e.latestLevelDetails;if(n)this.updateDateRangeCues(n)}onMediaDetaching(e,n){if(this.media=null,!!n.transferMedia)return;if(this.id3Track)this.id3Track.remove(),this.id3Track=null;this.dateRangeCuesAppended={}}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){return Z1(e,"metadata","id3","","hidden")}onFragParsingMetadata(e,n){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:s,enableID3MetadataCues:i}=this.hls.config;if(!s&&!i)return;let{samples:r}=n;if(!this.id3Track)this.id3Track=this.createTrack(this.media);let a=b1();if(!a)return;for(let l=0;l<r.length;l++){let c=r[l].type;if(c===Oi.emsg&&!s||!i)continue;let f=i9(r[l].data),d=r[l].pts,g=d+r[l].duration;if(g>Hd)g=Hd;if(g-d<=0)g=d+y_;for(let y=0;y<f.length;y++){let v=f[y];if(!r9(v)){this.updateId3CueEnds(d,c);let x=Ug(a,d,g,v,c);if(x)this.id3Track.track.addCue(x)}}}}updateId3CueEnds(e,n){var s;let i=(s=this.id3Track)==null?void 0:s.track.cues;if(i)for(let r=i.length;r--;){let a=i[r];if(a.type===n&&a.startTime<e&&a.endTime===Hd)a.endTime=e}}onBufferFlushing(e,{startOffset:n,endOffset:s,type:i}){let{id3Track:r,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:l,enableID3MetadataCues:c}}=a;if(r&&(l||c)){let f;if(i==="audio")f=(d)=>d.type===Oi.audioId3&&c;else if(i==="video")f=(d)=>d.type===Oi.emsg&&l;else f=(d)=>d.type===Oi.audioId3&&c||d.type===Oi.emsg&&l;g1(r.track,n,s,f)}}onLevelUpdated(e,{details:n}){this.updateDateRangeCues(n,!0)}onLevelPtsUpdated(e,n){if(Math.abs(n.drift)>0.01)this.updateDateRangeCues(n.details)}updateDateRangeCues(e,n){if(!this.hls||!this.media)return;let{assetPlayerId:s,timelineOffset:i,enableDateRangeMetadataCues:r,interstitialsController:a}=this.hls.config;if(!r)return;let l=b1();if(s&&i&&!a){let{fragmentStart:x,fragmentEnd:T}=e,R=this.assetCue;if(R)R.startTime=x,R.endTime=T;else if(l){if(R=this.assetCue=Ug(l,x,T,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"),R)R.id=s,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.track.addCue(R),R.addEventListener("enter",this.onEventCueEnter)}}if(!e.hasProgramDateTime)return;let{id3Track:c}=this,{dateRanges:f}=e,d=Object.keys(f),g=this.dateRangeCuesAppended;if(c&&n){var b;if((b=c.track.cues)!=null&&b.length){let x=Object.keys(g).filter((T)=>d.indexOf(T)===-1);for(let T=x.length;T--;){var y;let R=x[T],N=(y=g[R])==null?void 0:y.cues;if(delete g[R],N)Object.keys(N).forEach((U)=>{let X=N[U];if(X){X.removeEventListener("enter",this.onEventCueEnter);try{c.track.removeCue(X)}catch(Y){}}})}}else g=this.dateRangeCuesAppended={}}let v=e.fragments[e.fragments.length-1];if(d.length===0||!ct(v==null?void 0:v.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));for(let x=0;x<d.length;x++){let T=d[x],R=f[T],N=R.startTime,U=g[T],X=(U==null?void 0:U.cues)||{},Y=(U==null?void 0:U.durationKnown)||!1,J=Hd,{duration:ee,endDate:te}=R;if(te&&ee!==null)J=N+ee,Y=!0;else if(R.endOnNext&&!Y){let ie=d.reduce((se,ae)=>{if(ae!==R.id){let be=f[ae];if(be.class===R.class&&be.startDate>R.startDate&&(!se||R.startDate<se.startDate))return be}return se},null);if(ie)J=ie.startTime,Y=!0}let ne=Object.keys(R.attr);for(let ie=0;ie<ne.length;ie++){let se=ne[ie];if(!PE(se))continue;let ae=X[se];if(ae){if(Y&&!(U!=null&&U.durationKnown))ae.endTime=J;else if(Math.abs(ae.startTime-N)>0.01)ae.startTime=N,ae.endTime=J}else if(l){let be=R.attr[se];if(NE(se))be=a9(be);let ue=Ug(l,N,J,{key:se,data:be},Oi.dateRange);if(ue){if(ue.id=T,this.id3Track.track.addCue(ue),X[se]=ue,a){if(se==="X-ASSET-LIST"||se==="X-ASSET-URL")ue.addEventListener("enter",this.onEventCueEnter)}}}}g[T]={cues:X,dateRange:R,durationKnown:Y}}}}function uv(){return self.SourceBuffer||self.WebKitSourceBuffer}function dv(){if(!ll())return!1;let n=uv();return!n||n.prototype&&typeof n.prototype.appendBuffer==="function"&&typeof n.prototype.remove==="function"}function v_(){if(!dv())return!1;let e=ll();return typeof(e==null?void 0:e.isTypeSupported)==="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((n)=>e.isTypeSupported(Eh(n,"video")))||["mp4a.40.2","fLaC"].some((n)=>e.isTypeSupported(Eh(n,"audio"))))}function k_(){var e;let n=uv();return typeof(n==null||(e=n.prototype)==null?void 0:e.changeType)==="function"}var Ca={DISABLED:0,SWITCHING:1,SWITCHED:2},A_=100;class eb extends y0{constructor(e,n,s){super(e,n,s,"stream-controller",Ct.MAIN);this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=Ca.DISABLED,this.audioOnly=!1,this._couldBacktrack=!1,this._backtrackFragment=void 0,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{let i=this.media,r=i?i.currentTime:null;if(r===null||!ct(r))return;if(this.log(`Media seeked to ${r}`),!this.getBufferedFrag(r))return;let a=this.getFwdBufferInfoAtPos(i,r,Ct.MAIN,0);if(!a||a.len===0){this.log(`Main buffer empty at ${r} on "seeked" event: ${a?a.len:a}`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(Z.BUFFER_CREATED,this.onBufferCreated,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(Z.BUFFER_CREATED,this.onBufferCreated,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,n){if(this.levels){let{lastCurrentTime:s,hls:i}=this;if(this.stopLoad(),this.setInterval(A_),this.level=-1,!this.startFragRequested){let r=i.startLevel;if(r===-1)if(i.config.testBandwidth&&this.levels.length>1)r=0,this.bitrateTest=!0;else r=i.firstAutoLevel;i.nextLoadLevel=r,this.level=i.loadLevel,this._hasEnoughToStart=!!n}if(s>0&&e===-1&&!n&&this.initPTS.length)this.log(`Override startPosition with lastCurrentTime @${s}`),e=s;if(this.state=Ve.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,!n&&!this.fragmentTracker.hasFragments(this.playlistType))this._hasEnoughToStart=this.startFragRequested=!1;this.tick()}else this._forceStartLoad=!0,this.state=Ve.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Ve.WAITING_LEVEL:{let{levels:e,level:n}=this,s=e==null?void 0:e[n],i=s==null?void 0:s.details;if(i&&(!i.live||this.levelLastLoaded===s&&!this.waitForLive(s))){if(this.waitForCdnTuneIn(i))break;this.state=Ve.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=Ve.IDLE;break}break}case Ve.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break}if(this.state===Ve.IDLE)this.doTickIdle();this.onTickEnd()}onTickEnd(){var e;if(super.onTickEnd(),(e=this.media)!=null&&e.readyState&&this.media.seeking===!1)this.lastCurrentTime=this.media.currentTime;this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:n,levels:s,media:i}=this;if(n===null||!i&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch))return;if(this.altAudio&&this.audioOnly)return;let r=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(s!=null&&s[r]))return;let a=s[r],l=this.getMainFwdBufferInfo();if(l===null)return;let c=this.getLevelDetails();if(c&&this._streamEnded(l,c)){let x={type:this.targetBufferType()};this.hls.trigger(Z.BUFFER_EOS,x),this.state=Ve.ENDED;return}if(!this.buffering)return;if(e.loadLevel!==r&&e.manualLevel===-1)this.log(`Adapting to level ${r} from level ${this.level}`);this.level=e.nextLoadLevel=r;let f=a.details;if(!f||this.state===Ve.WAITING_LEVEL||this.waitForLive(a)){this.level=r,this.state=Ve.WAITING_LEVEL,this.startFragRequested=!1;return}let d=l.len,g=this.getMaxBufferLength(a.maxBitrate);if(d>=g)return;if(this.backtrackFragment&&this.backtrackFragment.start>l.end)this.backtrackFragment=void 0;let b=this.backtrackFragment?this.backtrackFragment.start:l.end,y=this.getNextFragment(b,f);if(this.couldBacktrack&&!this.fragPrevious&&y&&Fs(y)&&this.fragmentTracker.getState(y)!==Ts.OK){var v;let T=((v=this.backtrackFragment)!=null?v:y).sn-f.startSN,R=f.fragments[T-1];if(R&&y.cc===R.cc)y=R,this.fragmentTracker.removeFragment(R)}else if(this.backtrackFragment&&l.len)this.backtrackFragment=void 0;if(y&&this.isLoopLoading(y,b)){if(!y.gap){let T=this.audioOnly&&!this.altAudio?Jn.AUDIO:Jn.VIDEO,R=(T===Jn.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;if(R)this.afterBufferFlushed(R,T)}y=this.getNextFragmentLoopLoading(y,f,l,Ct.MAIN,g)}if(!y)return;if(this.exceedsMaxBuffer(l,g,y))return;this.loadFragment(y,a,b)}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(i===Ts.NOT_LOADED||i===Ts.PARTIAL)if(this.bitrateTest)this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,n);else super.loadFragment(e,n,s);else this.clearTrackerIfNeeded(e)}immediateLevelSwitch(){if(this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY),this.altAudio!==Ca.DISABLED){var e;if((((e=this.getLevelDetails())==null?void 0:e.fragmentStart)||0)>this.lastCurrentTime)super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio")}}getBufferOutput(){if(this.mediaBuffer&&this.altAudio===Ca.SWITCHED)return this.mediaBuffer;return this.media}checkFragmentChanged(){let e=this.fragPlaying;if(!this.checkFragPlaying())return!1;let s=this.fragPlaying;if(s){let i=s.level;if(this.hls.trigger(Z.FRAG_CHANGED,{frag:s,previousFrag:e}),(e==null?void 0:e.level)!==i)this.hls.trigger(Z.LEVEL_SWITCHED,{level:i})}return!0}get backtrackFragment(){return this._backtrackFragment}set backtrackFragment(e){this._backtrackFragment=e}get couldBacktrack(){return this._couldBacktrack}set couldBacktrack(e){this._couldBacktrack=e}abortCurrentFrag(){this.backtrackFragment=void 0,super.abortCurrentFrag()}flushMainBuffer(e,n){super.flushMainBuffer(e,n,this.targetBufferType())}targetBufferType(){return this.altAudio===Ca.SWITCHED&&!this.audioOnly?"video":null}onMediaAttached(e,n){super.onMediaAttached(e,n);let s=n.media;Nn(s,"playing",this.onMediaPlaying),Nn(s,"seeked",this.onMediaSeeked)}onMediaDetaching(e,n){let{media:s}=this;if(s)On(s,"playing",this.onMediaPlaying),On(s,"seeked",this.onMediaSeeked);if(this.videoBuffer=null,super.onMediaDetaching(e,n),!!n.transferMedia)return;this._hasEnoughToStart=!1}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(Z.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.backtrackFragment=void 0,this.altAudio=Ca.DISABLED,this.audioOnly=!1}onManifestParsed(e,n){let s=!1,i=!1;for(let r=0;r<n.levels.length;r++){let a=n.levels[r].audioCodec;if(a)s=s||a.indexOf("mp4a.40.2")!==-1,i=i||a.indexOf("mp4a.40.5")!==-1}if(this.audioCodecSwitch=s&&i&&!k_(),this.audioCodecSwitch)this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC");this.levels=n.levels,this.startFragRequested=!1}onLevelLoading(e,n){let{levels:s}=this;if(!s||this.state!==Ve.IDLE)return;let i=n.levelInfo;if(!i.details||i.details.live&&(this.levelLastLoaded!==i||i.details.expired)||this.waitForCdnTuneIn(i.details))this.state=Ve.WAITING_LEVEL}onLevelLoaded(e,n){var s;let{levels:i,startFragRequested:r}=this,{level:a,details:l}=n,c=l.totalduration;if(!i){this.warn(`Levels were reset while loading level ${a}`);return}this.log(`Level ${a} loaded [${l.startSN},${l.endSN}]${l.lastPartSn?`[part-${l.lastPartSn}-${l.lastPartIndex}]`:""}, cc [${l.startCC}, ${l.endCC}] duration:${c}`);let f=n.levelInfo,d=this.fragCurrent;if(d&&(this.state===Ve.FRAG_LOADING||this.state===Ve.FRAG_LOADING_WAITING_RETRY)){if(d.level!==n.level&&d.loader)this.abortCurrentFrag()}let g=0;if(l.live||(s=f.details)!=null&&s.live){var b;if(this.checkLiveUpdate(l),l.deltaUpdateFailed)return;g=this.alignPlaylists(l,f.details,(b=this.levelLastLoaded)==null?void 0:b.details)}if(f.details=l,this.levelLastLoaded=f,!r)this.setStartPosition(l,g);if(this.hls.trigger(Z.LEVEL_UPDATED,{details:l,level:a}),this.state===Ve.WAITING_LEVEL){if(this.waitForCdnTuneIn(l))return;this.state=Ve.IDLE}if(r&&l.live)this.synchronizeToLiveEdge(l);this.initPTS.some((y,v)=>{if(v>=l.startCC)return!0;delete this.initPTS[v]}),this.tick()}synchronizeToLiveEdge(e){let{config:n,media:s}=this;if(!s)return;let i=this.hls.liveSyncPosition,r=this.playhead,{fragmentStart:a,edge:l}=e,c=r>=a-n.maxFragLookUpTolerance&&r<=l;if(i!==null&&s.duration>i&&(r<i||!c)){let d=n.liveMaxLatencyDuration!==void 0?n.liveMaxLatencyDuration:n.liveMaxLatencyDurationCount*e.targetduration;if(!c&&s.readyState<4||r<l-d){if(!this._hasEnoughToStart)this.nextLoadPosition=i;if(s.readyState)if(this.warn(`Playback: ${r} is located too far from the end of live sliding playlist: ${l}, reset currentTime to : ${i}`),this.config.liveSyncMode==="buffered"){var f;let g=Ot.bufferInfo(s,i,0);if(!((f=g.buffered)!=null&&f.length)){s.currentTime=i;return}if(g.start<=r){s.currentTime=i;return}let{nextStart:y}=Ot.bufferedInfo(g.buffered,r,0);if(y)s.currentTime=y}else s.currentTime=i}}}_handleFragmentLoadProgress(e){var n;let s=e.frag,{part:i,payload:r}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);return}let l=a[s.level];if(!l){this.warn(`Level ${s.level} not found on progress`);return}let c=l.details;if(!c){this.warn(`Dropping fragment ${s.sn} of level ${s.level} after level details were reset`),this.fragmentTracker.removeFragment(s);return}let f=l.videoCodec,d=c.PTSKnown||!c.live,g=(n=s.initSegment)==null?void 0:n.data,b=this._getAudioCodec(l),y=this.transmuxer=this.transmuxer||new z1(this.hls,Ct.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),v=i?i.index:-1,x=v!==-1,{decryptRange:T,byteRange:R}=s0(s,i,this.iframesOnly),N=new w0(s.level,s.sn,s.stats.chunkCount,R?R.end-R.start:r.byteLength,v,x,s.duration,this.iframesOnly,T),U=this.initPTS[s.cc];y.push(r,g,b,f,s,i,c.totalduration,d,N,U)}onAudioTrackSwitching(e,n){let s=this.hls,i=this.altAudio!==Ca.DISABLED;if(!n0(n.url,s)){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;if(a)this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a);this.resetTransmuxer(),this.resetLoadingState()}else if(this.audioOnly)this.resetTransmuxer();if(i){this.altAudio=Ca.DISABLED,this.fragmentTracker.removeAllFragments(),s.once(Z.BUFFER_FLUSHED,()=>{if(!this.hls)return;this.hls.trigger(Z.AUDIO_TRACK_SWITCHED,n)}),s.trigger(Z.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return}s.trigger(Z.AUDIO_TRACK_SWITCHED,n)}else this.altAudio=Ca.SWITCHING}onAudioTrackSwitched(e,n){let s=n0(n.url,this.hls);if(s){let i=this.videoBuffer;if(i&&this.mediaBuffer!==i)this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=i}this.altAudio=s?Ca.SWITCHED:Ca.DISABLED,this.tick()}onBufferCreated(e,n){let s=n.tracks,i,r,a=!1;for(let l in s){let c=s[l];if(c.id==="main"){if(r=l,i=c,l==="video"){let f=s[l];if(f)this.videoBuffer=f.buffer}}else a=!0}if(a&&i)this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer;else this.mediaBuffer=this.media}onFragBuffered(e,n){let{frag:s,part:i}=n,r=s.type===Ct.MAIN;if(r){if(this.fragContextChanged(s)){if(this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}`),this.state===Ve.PARSED)this.state=Ve.IDLE;return}let c=!1;if(Fs(s))c=!!s.gap&&!s.tagList.some((f)=>f[0]==="GAP");if(this.fragBufferedComplete(s,i),c){var a;s.stats.retry++;let f=(a=this.levels)==null?void 0:a[s.level];if(f)f.fragmentError++}}let l=this.media;if(!l)return;if(!this._hasEnoughToStart&&Ot.getBuffered(l).length)this._hasEnoughToStart=!0,this.seekToStartPos();if(r)this.tick()}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,n){var s;if(n.fatal){this.state=Ve.ERROR;return}switch(n.details){case Le.FRAG_GAP:case Le.FRAG_PARSING_ERROR:case Le.FRAG_DECRYPT_ERROR:case Le.FRAG_LOAD_ERROR:case Le.FRAG_LOAD_TIMEOUT:case Le.KEY_LOAD_ERROR:case Le.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Ct.MAIN,n);break;case Le.LEVEL_LOAD_ERROR:case Le.LEVEL_LOAD_TIMEOUT:case Le.LEVEL_PARSING_ERROR:if(!n.levelRetry&&this.state===Ve.WAITING_LEVEL&&((s=n.context)==null?void 0:s.type)===fn.LEVEL)this.state=Ve.IDLE;break;case Le.BUFFER_APPEND_NO_PROGRESS:if(n.parent!=="main")return;if(n.frag&&(n.appendsWithoutProgress||0)>=this.config.appendErrorMaxRetry)this.warn(`Marking fragment ${n.frag.sn} of level ${n.frag.level} as a gap after ${n.appendsWithoutProgress} appends without buffered range growth, to prevent loop loading`),this.fragmentTracker.addAsGap(n.frag);break;case Le.BUFFER_ADD_CODEC_ERROR:case Le.BUFFER_APPEND_ERROR:if(n.parent!=="main")return;if(this.reduceLengthAndFlushBuffer(n))this.resetLoadingState();break;case Le.BUFFER_FULL_ERROR:if(n.parent!=="main")return;if(this.reduceLengthAndFlushBuffer(n))if(!this.config.interstitialsController&&this.config.assetPlayerId)this._hasEnoughToStart=!0;else this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case Le.INTERNAL_EXCEPTION:this.recoverWorkerError(n);break}}onFragLoadEmergencyAborted(){if(this.state=Ve.IDLE,!this._hasEnoughToStart)this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime;this.tickImmediate()}onBufferFlushed(e,{type:n}){if(n!==Jn.AUDIO||!this.altAudio){let s=(n===Jn.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;if(s)this.afterBufferFlushed(s,n),this.tick()}}onLevelsUpdated(e,n){if(this.level>-1&&this.fragCurrent){if(this.level=this.fragCurrent.level,this.level===-1)this.resetWhenMissingContext(this.fragCurrent)}this.levels=n.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let n=e.currentTime,s=this.startPosition;if(s>=0&&n<s){if(e.seeking){this.log(`could not seek to ${s}, already seeking at ${n}`);return}let i=this.timelineOffset;if(i&&s)s+=i;let r=this.getLevelDetails(),a=Ot.getBuffered(e),l=a.length?a.start(0):0,c=l-s,f=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);if(this.config.startOnSegmentBoundary||c>0&&(c<f||this.loadingParts&&c<2*((r==null?void 0:r.partTarget)||0)))this.log(`adjusting start position by ${c} to match buffer start`),s+=c,this.startPosition=s;if(n<s)this.log(`seek to target start position ${s} from current time ${n} buffer start ${l}`),e.currentTime=s}}_getAudioCodec(e){let n=this.config.defaultAudioCodec||e.audioCodec;if(this.audioCodecSwap&&n)if(this.log("Swapping audio codec"),n.indexOf("mp4a.40.5")!==-1)n="mp4a.40.2";else n="mp4a.40.5";return n}_loadBitrateTestFrag(e,n){e.bitrateTest=!0,this._doFragLoad(e,n).then((s)=>{let{hls:i}=this,r=s==null?void 0:s.frag;if(!r||this.fragContextChanged(r))return;n.fragmentError=0,this.state=Ve.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let a=r.stats;a.parsing.start=a.parsing.end=a.buffering.start=a.buffering.end=self.performance.now(),i.trigger(Z.FRAG_LOADED,s),r.bitrateTest=!1}).catch((s)=>{if(this.state===Ve.STOPPED||this.state===Ve.ERROR)return;this.warn(s),this.resetFragmentLoading(e)})}_handleTransmuxComplete(e){let n=this.playlistType,{hls:s}=this,{remuxResult:i,chunkMeta:r}=e,a=this.getCurrentContext(r);if(!a){this.resetWhenMissingContext(r);return}let{frag:l,part:c,level:f}=a,{video:d,text:g,id3:b,initSegment:y}=i,{details:v}=f,x=this.altAudio?void 0:i.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=Ve.PARSING,y){let T=y.tracks;if(T){let X=l.initSegment||l;if(this.unhandledEncryptionError(y,l))return;this._bufferInitSegment(f,T,X,r),s.trigger(Z.FRAG_PARSING_INIT_SEGMENT,{frag:X,id:n,tracks:T})}let{initPTS:R,timescale:N}=y,U=this.initPTS[l.cc];if(ct(R)&&(!U||U.baseTime!==R||U.timescale!==N)){let X=y.trackId;this.initPTS[l.cc]={baseTime:R,timescale:N,trackId:X};let Y=this.initPTS.slice(0);s.trigger(Z.INIT_PTS_FOUND,{timestampOffsets:Y,frag:l,id:n,initPTS:R,timescale:N,trackId:X})}}if(d&&v){if(x&&d.type==="audiovideo")this.logMuxedErr(l);let T=v.fragments[l.sn-1-v.startSN],R=l.sn===v.startSN,N=!T||l.cc>T.cc;if(i.independent!==!1){let{startPTS:U,endPTS:X,startDTS:Y,endDTS:J}=d;if(c)c.elementaryStreams[d.type]={startPTS:U,endPTS:X,startDTS:Y,endDTS:J};else{if(d.firstKeyFrame&&d.independent&&r.id===1&&!N)this.couldBacktrack=!0;if(d.dropped&&d.independent){let ee=this.getMainFwdBufferInfo(),te=(ee?ee.end:this.getLoadPosition())+this.config.maxBufferHole,ne=d.firstKeyFramePTS?d.firstKeyFramePTS:U;if(!R&&te<ne-this.config.maxBufferHole&&!N){this.backtrack(l);return}else if(N)l.gap=!0;l.setElementaryStreamInfo(d.type,l.start,X,l.start,J,!0)}else if(R&&U-(v.appliedTimelineOffset||0)>Wd)l.gap=!0}if(l.setElementaryStreamInfo(d.type,U,X,Y,J),this.backtrackFragment)this.backtrackFragment=l;this.bufferFragmentData(d,l,c,r,R||N)}else if(R||N)l.gap=!0;else{this.backtrack(l);return}}if(x){let{startPTS:T,endPTS:R,startDTS:N,endDTS:U}=x;if(c)c.elementaryStreams[Jn.AUDIO]={startPTS:T,endPTS:R,startDTS:N,endDTS:U};l.setElementaryStreamInfo(Jn.AUDIO,T,R,N,U),this.bufferFragmentData(x,l,c,r)}if(v&&b!=null&&b.samples.length){let T={id:n,frag:l,details:v,samples:b.samples};s.trigger(Z.FRAG_PARSING_METADATA,T)}if(v&&g){let T={id:n,frag:l,details:v,samples:g.samples};s.trigger(Z.FRAG_PARSING_USERDATA,T)}}logMuxedErr(e){this.warn(`${Fs(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,n,s,i){if(this.state!==Ve.PARSING)return;if(this.audioOnly=!!n.audio&&!n.video,this.altAudio&&!this.audioOnly){if(delete n.audio,n.audiovideo)this.logMuxedErr(s)}let{audio:r,video:a,audiovideo:l}=n;if(r){let f=e.audioCodec,d=Vd(r.codec,f);if(d==="mp4a")d="mp4a.40.5";if(this.audioCodecSwitch){if(d)if(d.indexOf("mp4a.40.5")!==-1)d="mp4a.40.2";else d="mp4a.40.5";let g=r.metadata;if(g&&"channelCount"in g&&(g.channelCount||1)!==1&&!nE())d="mp4a.40.5"}if(d&&d.indexOf("mp4a.40.5")!==-1&&iE()&&r.container!=="audio/mpeg")d="mp4a.40.2",this.log(`Android: force audio codec to ${d}`);if(f&&f!==d)this.log(`Swapping manifest audio codec "${f}" for "${d}"`);r.levelCodec=d,r.id=Ct.MAIN,this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${d||""}/${f||""}/${r.codec}]`),delete n.audiovideo}if(a){a.levelCodec=e.videoCodec,a.id=Ct.MAIN;let f=a.codec;if((f==null?void 0:f.length)===4)switch(f){case"hvc1":case"hev1":a.codec="hvc1.1.6.L120.90";break;case"av01":a.codec="av01.0.04M.08";break;case"avc1":a.codec="avc1.42e01e";break}this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${f}]${a.codec!==f?" parsed-corrected="+a.codec:""}${a.supplemental?" supplemental="+a.supplemental:""}`),delete n.audiovideo}if(l){if(this.iframesOnly)this.logMuxedErr(s);this.log(`Init audiovideo buffer, container:${l.container}, codecs[level/parsed]=[${e.codecs}/${l.codec}]`),delete n.video,delete n.audio}let c=Object.keys(n);if(c.length){if(this.hls.trigger(Z.BUFFER_CODECS,n),!this.hls)return;c.forEach((f)=>{let g=n[f].initSegment;if(g!=null&&g.byteLength)this.hls.trigger(Z.BUFFER_APPENDING,{type:f,data:g,frag:s,part:null,chunkMeta:i,parent:s.type})})}this.tickImmediate()}getMainFwdBufferInfo(){let e=this.getBufferOutput();return this.getFwdBufferInfo(e,Ct.MAIN)}get maxBufferLength(){let{levels:e,level:n}=this,s=e==null?void 0:e[n];if(!s)return this.config.maxBufferLength;return this.getMaxBufferLength(s.maxBitrate)}backtrack(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=Ve.IDLE}get nextLevel(){let e=this.nextBufferedFrag;if(e)return e.level;return-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;let n=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(ct(n))return this.getAppendedFrag(n);return null}get currentProgramDateTime(){var e;let n=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(ct(n)){let s=this.getLevelDetails(),i=this.currentFrag||(s?nf(null,s.fragments,n):null);if(i){let r=i.programDateTime;if(r!==null){let a=r+(n-i.start)*1000;return new Date(a)}}}return null}get currentLevel(){let e=this.currentFrag;if(e)return e.level;return-1}get nextBufferedFrag(){let e=this.currentFrag;if(e)return this.followingBufferedFrag(e);return null}get forceStartLoad(){return this._forceStartLoad}}class tb extends eb{constructor(...e){super(...e);this.currentOp=void 0,this.nextOp=void 0,this.cached=[],this.cachedSize=0,this.cacheFragmentData=!0,this.initDetails=void 0,this.onBufferedToEnd=()=>{let n=this.media;if(n!=null&&n.seeking)n.currentTime=n.currentTime},this.onMediaSeeking=()=>{}}setInitPts(e){this.initPTS=e.slice()}loadMediaAt(e,n){if(!this.hls)return;let{seekOnAppend:s}=n,i=e+this.timelineOffset;switch(this.nextLoadPosition=this.lastCurrentTime=i,this.startPosition=e,this.state){case Ve.STOPPED:case Ve.ENDED:case Ve.ERROR:this.state=Ve.IDLE}if(this.state===Ve.IDLE)this.hls.resumeBuffering(),this.tick(),this.currentOp=[i,n];else this.nextOp=[i,n];this.hls.off(Z.BUFFERED_TO_END,this.onBufferedToEnd);let r=this.media;if(s&&r){if(this.seekTo(i))this.currentOp=[i,n],this.nextOp=void 0,this.flushPipeline(i,!0)}}seekTo(e){let n=this.media;if(n){var s;let i=(s=this.getLevelDetails())==null?void 0:s.edge,r=i!==void 0?i:n.duration;if(e>=r)e=r-0.01;if(Ot.bufferInfo(n,e,0).len>0&&this.getBufferedAt(e))return n.currentTime=e,!0}return!1}getBufferedAt(e){return this.fragmentTracker.getBufferedFrag(e,Ct.MAIN)}cacheSet(e,n){if(!this.hls)return;e.data=n;let s=this.cached;s.push(e),this.cachedSize+=n.buffer.byteLength;let i=this.hls.config.iframeCacheLimit;while(this.cachedSize>i&&s.length>1){let r=s.shift();if(r.data)this.cachedSize-=r.data.byteLength,r.data=void 0;else{this.cached=s.filter((a)=>!!a.data),this.cachedSize=s.reduce((a,{data:l})=>l?l.buffer.byteLength:0,0);break}}}onHandlerDestroying(){this.cached.length=0,this.cachedSize=0,super.onHandlerDestroying()}_handleFragmentLoadProgress(e){let n=e.frag,{part:s,payload:i}=e;if(this.cacheFragmentData&&!s&&i!=null&&i.byteLength&&!n.data&&Fs(n))this.cacheSet(n,new Uint8Array(i.slice(0)));super._handleFragmentLoadProgress(e)}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if((i===Ts.NOT_LOADED||i===Ts.PARTIAL)&&this.canReplayCached(e)){this.replayCachedFragment(e);return}super.loadFragment(e,n,s)}canReplayCached(e){var n;if(!this.cacheFragmentData||!((n=e.data)!=null&&n.byteLength))return!1;let s=e.decryptdata;return(s==null?void 0:s.keyFormat)!=="identity"||!!s.key}replayCachedFragment(e){let n=e.data.slice().buffer;this.log(`Buffering cached ${e.type} sn: ${e.sn} of level ${e.level} (${n.byteLength} bytes)`),this.fragCurrent=e,this.startFragRequested=!0;let s=e.stats=new d0;s.loading.start=s.loading.first=s.loading.end=self.performance.now(),s.loaded=s.total=n.byteLength,s.chunkCount=1,this.state=Ve.FRAG_LOADING;let i={frag:e,part:null,payload:n,networkDetails:null};this._handleFragmentLoadProgress(i),this.hls.trigger(Z.FRAG_LOADED,i),this._handleFragmentLoadComplete(i)}fragBufferedComplete(e,n){super.fragBufferedComplete(e,n);let{currentOp:s,nextOp:i}=this;if(this.currentOp=this.nextOp=void 0,this.state=Ve.STOPPED,s!=null&&s[1].seekOnAppend){if(this.flushPipeline(s[0],!i),!this.seekTo(s[0]))this.log(`Could not seek to ${s[0]} after fragment buffered (superseded or flushed) buffer: ${this.media?o0(Ot.getBuffered(this.media)):"none"}`)}if(i)this.loadMediaAt.apply(this,i)}flushPipeline(e,n){if(n){let s=this.media;if(s){let i=Ot.bufferInfo(s,e,0),r=i.len?i.nextStart:0;if(r)this.fragmentTracker.removeFragmentsInRange(r,1/0,Ct.MAIN),this.flushMainBuffer(r,1/0)}this.hls.once(Z.BUFFERED_TO_END,this.onBufferedToEnd)}this.hls.trigger(Z.BUFFER_EOS,{type:"video"})}get playhead(){return this.nextLoadPosition}startLoad(){if(!this.startFragRequested){let e=this.hls;e.nextLoadLevel=e.startLevel===-1?0:e.firstAutoLevel}}seekToStartPos(){}setStartPosition(){}alignPlaylists(e,n,s){let i=this.initDetails;return this.initDetails=null,super.alignPlaylists(e,n,s||i||void 0)}getMainFwdBufferInfo(){let e=this.playhead,n=this.getBufferedAt(e);if(n){let s=n.duration;return{len:s,start:e,end:e+s,bufferedIndex:-1}}return{len:0,start:e,end:e,bufferedIndex:-1}}_streamEnded(){let e=this.playhead,n=this.fragmentTracker.getBufferedFrag(e,Ct.MAIN);return!!(n!=null&&n.endList)}}class mv extends tb{constructor(...e){super(...e);this._img=void 0,this.queued=void 0,this.cacheFragmentData=!1}get image(){return this._img}set image(e){var n;let s=(n=this._img)==null?void 0:n.src;if(s)self.URL.revokeObjectURL(s);this._img=e}loadMediaAt(e){if(!this.hls)return;let n=e+this.timelineOffset;switch(this.nextLoadPosition=this.lastCurrentTime=n,this.startPosition=e,this.state){case Ve.STOPPED:case Ve.ENDED:case Ve.ERROR:this.state=Ve.IDLE}if(this.state===Ve.IDLE){if(this.hls.resumeBuffering(),this.media||(this.media={}),this.tick(),this.state===Ve.IDLE){let s=this.getBufferedAt(e);if(s)this.fragCurrent=s,this.updateImage(s,null)}}else{let s=this.fragCurrent;if(!s||e>=s.start&&e<s.end)this.queued=[n]}}updateImage(e,n,s){let i=e.data;if(!i)this.fragmentTracker.removeFragment(e);let r=this._img;if(r&&i){let a=self.performance.now(),l=n?n.stats:e.stats;l.buffering.start=e.stats.buffering.start=a,r.onload=()=>{if(!this.hls)return;let d=this.hls.levels[e.level];if(d!=null&&d.fragmentError)d.fragmentError=0,e.stats.retry=0;let g=self.performance.now(),b=n?n.stats:e.stats;b.buffering.end=e.stats.buffering.end=g,this.hls.trigger(Z.FRAG_BUFFERED,{frag:e,part:n,stats:b,id:e.type,chunkMeta:s})},r.onerror=()=>{this.handleError("Image decode error",e,n,s)};let c=r.src;if(c)self.URL.revokeObjectURL(c);let f=new Blob([i],{type:"image/jpeg"});r.src=self.URL.createObjectURL(f)}else this.state=Ve.STOPPED,this.processQueued()}processQueued(){let e=this.queued;if(this.queued=void 0,e)this.loadMediaAt.apply(this,e)}handleError(e,n,s,i){if(!this.hls)return;let r=Error(e);this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,chunkMeta:i,frag:n,part:s,fatal:!1,error:r,err:r})}_bufferInitSegment(){}bufferFragmentData(e,n,s,i){super.bufferFragmentData(e,n,s,i,!0);let r=Xt(new Uint8Array(e.data1),["mdat"]);if(r.length===0){this.handleError("Could not find I-Frame mdat",n,s,i);return}let a=n;this.cacheSet(a,r[0]),this.updateImage(a,s,i)}fragBufferedComplete(e,n){this.fragmentTracker.fragBuffered(e,!0),super.fragBufferedComplete(e,n),this.processQueued()}checkFragPlaying(){var e;let n=(e=this.fragPrevious)==null?void 0:e.start;if(n!==void 0){let s=this.getAppendedFrag(n);if(s&&!uh(s,this.fragPlaying))return this.fragPlaying=s,!0}return!1}getMainFwdBufferInfo(){return{len:0,start:this.playhead,end:this.playhead,bufferedIndex:-1}}}var __=10,R_="Image I-Frame player does not accept HTMLMediaElements",B3={seekOnAppend:!0},Ud,zg;class pv extends Yi{constructor(e,n){super("iframes",e.logger);this.hls=void 0,this.stats=void 0,this.variableList=null,this.initPTS=[],this.iframeInstances=void 0,this.instanceCounter=0,Ud||(Ud=D_(n)),zg||(zg=q_(Ud)),this.hls=e,this.iframeInstances=[],this.registerListeners()}registerListeners(){let e=this.hls;if(e)e.on(Z.MANIFEST_LOADING,this.clearAsset,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let e=this.hls;if(e)e.off(Z.MANIFEST_LOADING,this.clearAsset,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.DESTROYING,this.onDestroying,this)}clearAsset(){this.stats=void 0,this.variableList=null,this.initPTS=[],this.iframeInstances.forEach((e)=>e.destroy()),this.iframeInstances.length=0}onDestroying(){this.unregisterListeners(),this.clearAsset(),this.hls=void 0}onManifestLoaded(e,n){this.stats=n.stats,this.variableList=n.variableList}onLevelsUpdated(e,{levels:n}){var s;let i=(s=this.hls)==null?void 0:s.pathwayPriority;if(n.length&&i)this.iframeInstances.forEach((r)=>{r.pathwayPriority=i})}onInitPtsFound(e,{id:n,timestampOffsets:s}){if(n===Ct.MAIN)this.initPTS=s}onFragBuffered(e,n){var s;let i=this.hls;if(!i)return;if(i.hasEnoughToStart&&(((s=i.mainForwardBufferInfo)==null?void 0:s.len)||0)>__)this.iframeInstances.forEach((r)=>{if(!r.loadingEnabled){var a;r.startLoad(((a=this.hls)==null||(a=a.media)==null?void 0:a.currentTime)||0)}})}createIFramePlayer(e){var n;return this.createInstance(Ud,(n=this.hls)==null?void 0:n.iframeVariants,e)}createImageIFramePlayer(e){var n;let s=(n=this.hls)==null?void 0:n.iframeVariants.filter((i)=>i.imageCodec);return this.createInstance(zg,s,e,"image-")}createInstance(e,n,s,i){let{hls:r}=this;if(!r)return null;let{url:a,userConfig:l,latestLevelDetails:c,loadLevelObj:f,loadLevel:d,bandwidthEstimate:g,sessionId:b}=r,{stats:y,variableList:v}=this;if(!(n!=null&&n.length)||!y||!a)return null;let x=`${i||""}iframe-player-${this.instanceCounter++}`,T=r.levels,R=f||T[d],N=E9(R,l.videoPreference),U=(R==null?void 0:R.pathwayId)||".",X=qt(qt({},l),{},{loggerId:x,primarySessionId:b,videoPreference:N,abrEwmaDefaultEstimate:g,streamController:void 0,audioStreamController:void 0,audioTrackController:void 0,subtitleStreamController:void 0,subtitleTrackController:void 0,timelineController:void 0,id3TrackController:void 0,fpsController:void 0,gapController:void 0,iframeController:void 0,cmcd:void 0,interstitialsController:void 0,backBufferLength:1/0,maxMaxBufferLength:1,capLevelToPlayerSize:!0,enableWorker:!1,autoStartLoad:!1,startFragPrefetch:!1,testBandwidth:!1,progressive:!1},s),Y=new e(X,a,this.initPTS,c);return this.iframeInstances=this.iframeInstances.filter((J)=>!J.url),this.iframeInstances.push(Y),Y.trigger(Z.MANIFEST_LOADED,{levels:n,contentSteering:{uri:"",pathwayId:U},sessionKeys:null,audioTracks:[],iframeVariants:[],sessionData:null,startTimeOffset:null,stats:y,networkDetails:null,url:a,variableList:v}),Y}}function D_(e){return class extends e{constructor(s,i,r,a){s.streamController||(s.streamController=tb);super(s);this._url=i,this.streamController.setInitPts(r),this.streamController.initDetails=a}loadSource(){}loadMediaAt(s,i=B3){if(s<0)return;let r=qt(qt({},B3),i);if(!this.loadingEnabled)this.startLoad(s);this.streamController.loadMediaAt(s,r)}}}function q_(e){return class extends e{constructor(s,i,r,a){s.cmcdController=void 0,s.emeController=void 0,s.streamController||(s.streamController=mv),s.capLevelController=void 0,s.bufferController=void 0;super(s,i,r,a)}attachImage(s){this.streamController.image=s}detachImage(){this.streamController.image=void 0}loadSource(){}attachMedia(){throw Error(R_)}detachMedia(){}recoverMediaError(){}transferMedia(){return null}loadMediaAt(s){if(s<0)return null;if(!this.loadingEnabled)this.startLoad(s);this.streamController.loadMediaAt(s)}}}var ol=0.025,u0=function(e){return e[e.Point=0]="Point",e[e.Range=1]="Range",e}({});function M_(e,n,s){return`${e.identifier}-${s+1}-${vh(n)}`}class gv{constructor(e,n){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=n,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;if(this.appendInPlaceStarted=!1,(e=this.assetListLoader)==null||e.destroy(),this.assetListLoader=void 0,!this.supplementsPrimary)this.assetListResponse=null,this.assetList=[],this._duration=null}isAssetPastPlayoutLimit(e){var n;if(e>0&&e>=this.assetList.length)return!0;let s=this.playoutLimit;if(e<=0||isNaN(s))return!1;if(s===0)return!0;return(((n=this.assetList[e])==null?void 0:n.startOffset)||0)>s}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let n=this.dateRange.tagAnchor;if(n){if(!H3(n,e))return e;return Yd(e,n)}}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(this.startTime===0||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let n=this.dateRange.startTime,s=Yd(n,e);return n-s<0.1}return!1}get resumptionOffset(){let e=this.resumeOffset,n=ct(e)?e:this.duration;return this.cumulativeDuration+n}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let n=this.resumeAnchor;if(n){if(!H3(n,e))return e;return Yd(e,n)}}return e}get appendInPlace(){if(this.appendInPlaceStarted)return!0;if(this.appendInPlaceDisabled)return!1;if(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<ol))return!0;return!1}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){if(this._timelineStart!==null)return this._timelineStart;return this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){let e=this.playoutLimit,n;if(this._duration!==null)n=this._duration;else if(this.dateRange.duration)n=this.dateRange.duration;else n=this.dateRange.plannedDuration||0;if(!isNaN(e)&&e<n)n=e;return n}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){if(this.dateRange.attr["X-TIMELINE-OCCUPIES"]==="RANGE")return u0.Range;return u0.Point}get supplementsPrimary(){return this.dateRange.attr["X-TIMELINE-STYLE"]==="PRIMARY"}get contentMayVary(){return this.dateRange.attr["X-CONTENT-MAY-VARY"]!=="NO"}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||this.assetListResponse!==null}toString(){return F_(this)}}function Yd(e,n){return e-n.start<n.duration/2&&!(Math.abs(e-(n.start+n.duration))<ol)?n.start:n.start+n.duration}function H3(e,n){return n>e.start-ol&&n<e.start+e.duration+ol}function bv(e,n,s){let i=new self.URL(e,s);if(i.protocol!=="data:")al(i,"_HLS_primary_id",n);return i}function Gg(e,n){while((s=e.assetList[++n])!=null&&s.error)var s;return n}function F_(e){return`["${e.identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`}function Yc(e){let n=e.timelineStart,s=e.duration||0;return`["${e.identifier}" ${n.toFixed(2)}-${(n+s).toFixed(2)}]`}class wv{constructor(e,n,s,i){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetails=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{if(this.reachedPlayout(this.currentTime)&&this.hls)this.hls.trigger(Z.PLAYOUT_LIMIT_REACHED,{})};let r=this.hls=new e(n);this.interstitial=s,this.assetItem=i;let a=()=>{this.hasDetails=!0};r.once(Z.LEVEL_LOADED,a),r.once(Z.AUDIO_TRACK_LOADED,a),r.once(Z.SUBTITLE_TRACK_LOADED,a),r.on(Z.MEDIA_ATTACHING,(l,{media:c})=>{if(this.removeMediaListeners(),this.mediaAttached=c,this.interstitial.playoutLimit){if(c.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace)r.on(Z.BUFFER_APPENDED,()=>{let d=this.bufferedEnd;if(this.reachedPlayout(d))this._bufferedEosTime=d,r.trigger(Z.BUFFERED_TO_END,void 0)})}})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){let e=this.hls;if(!e)return;if(!e.url){let n=this.assetItem.uri;try{n=bv(n,e.config.primarySessionId||"").href}catch(s){}e.loadSource(n)}else if(e.levels.length&&!e.started)e.startLoad(-1,!0)}bufferedInPlaceToEnd(e,n){var s;if(!this.appendInPlace)return!1;if((s=this.hls)!=null&&s.bufferedToEnd)return!0;if(!e)return!1;let i=Math.min(this._bufferedEosTime||1/0,this.duration),r=this.timelineOffset+(n||0),a=Ot.bufferInfo(e,r,0.02);return this.getAssetTime(a.end)>=i-0.02}reachedPlayout(e){let s=this.interstitial.playoutLimit;return this.startOffset+e>=s}get destroyed(){var e;return!((e=this.hls)!=null&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return((e=this.hls)==null?void 0:e.media)||null}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e){if(this._bufferedEosTime)return this._bufferedEosTime;return this.currentTime}let n=Ot.bufferInfo(e,e.currentTime,0.001);return this.getAssetTime(n.end)}get currentTime(){let e=this.media||this.mediaAttached;if(!e)return this._currentTime||0;return this.getAssetTime(e.currentTime)}get duration(){let e=this.assetItem.duration;if(!e)return 0;let n=this.interstitial.playoutLimit;if(n){let s=n-this.startOffset;if(s>0&&s<e)return s}return e}get remaining(){let e=this.duration;if(!e)return 0;return Math.max(0,e-this.currentTime)}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return((e=this.hls)==null?void 0:e.config.timelineOffset)||0}set timelineOffset(e){let n=this.timelineOffset;if(e!==n){let s=e-n;if(Math.abs(s)>0.000011111111111111112&&this.hls){if(this.hasDetails)throw Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}}getAssetTime(e){let n=this.timelineOffset,s=this.duration;return Math.min(Math.max(0,e-n),s)}removeMediaListeners(){let e=this.mediaAttached;if(e)this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout)}bufferSnapShot(){if(this.mediaAttached){var e;if((e=this.hls)!=null&&e.bufferedToEnd)this._bufferedEosTime=this.bufferedEnd}}destroy(){if(this.removeMediaListeners(),this.hls)this.hls.destroy();this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var n;this.loadSource(),(n=this.hls)==null||n.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,(e=this.hls)==null||e.detachMedia()}resumeBuffering(){var e;(e=this.hls)==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.hls)==null||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),((e=this.hls)==null?void 0:e.transferMedia())||null}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let n=(s)=>delete s.details;e.levels.forEach(n),e.allAudioTracks.forEach(n),e.allSubtitleTracks.forEach(n),this.hasDetails=!1}}on(e,n,s){var i;(i=this.hls)==null||i.on(e,n)}once(e,n,s){var i;(i=this.hls)==null||i.once(e,n)}off(e,n,s){var i;(i=this.hls)==null||i.off(e,n)}toString(){var e;return`HlsAssetPlayer: ${Yc(this.assetItem)} ${(e=this.hls)==null?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}var Vg=0.033;class yv extends Yi{constructor(e,n){super("interstitials-sched",n);this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){if(this.eventMap={},this.setDurations(0,0,0),this.events)this.events.forEach((e)=>e.reset());this.events=this.items=null}resetErrorsInRange(e,n){if(this.events)return this.events.reduce((s,i)=>{if(e<=i.startOffset&&n>i.startOffset)return delete i.error,s+1;return s},0);return 0}get duration(){let e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e?this.eventMap[e]||null:null}hasEvent(e){return e in this.eventMap}findItemIndex(e,n){if(e.event)return this.findEventIndex(e.event.identifier);let s=-1;if(e.nextEvent)s=this.findEventIndex(e.nextEvent.identifier)-1;else if(e.previousEvent)s=this.findEventIndex(e.previousEvent.identifier)+1;let i=this.items;if(i){if(!i[s]){if(n===void 0)n=e.start;s=this.findItemIndexAtTime(n)}while(s>=0&&(r=i[s])!=null&&r.event){var r;s--}}return s}findItemIndexAtTime(e,n){let s=this.items;if(s)for(let i=0;i<s.length;i++){let r=s[i];if(n&&n!=="primary")r=r[n];let a=r.start,l=s[i].event,c=l!=null&&l.cue.pre?l.duration:r.end;if(e===a||e>a&&e<c)return i}return-1}findJumpRestrictedIndex(e,n){let s=this.items;if(s)for(let i=e;i<=n;i++){if(!s[i])break;let r=s[i].event;if(r!=null&&r.restrictions.jump&&!r.appendInPlace)return i}return-1}findEventIndex(e){let n=this.items;if(n)for(let i=n.length;i--;){var s;if(((s=n[i].event)==null?void 0:s.identifier)===e)return i}return-1}findAssetIndex(e,n){let s=e.assetList,i=s.length;if(i>1)for(let r=0;r<i;r++){let a=s[r];if(!a.error){let l=a.timelineStart;if(n===l||n>l&&(n<l+(a.duration||0)||r===i-1))return r}}return 0}get assetIdAtEnd(){var e;let n=(e=this.items)==null||(e=e[this.length-1])==null?void 0:e.event;if(n){let s=n.assetList,i=s[s.length-1];if(i)return i.identifier}return null}parseInterstitialDateRanges(e,n,s=0){let i=e.main.details,{dateRanges:r}=i,a=this.events,l=this.parseDateRanges(r,{url:i.url},n),c=Object.keys(r),f=a?a.filter((d)=>c.indexOf(d.identifier)===-1):[];if(l.length)l.sort((d,g)=>{let b=d.cue.pre,y=d.cue.post,v=g.cue.pre,x=g.cue.post;if(b&&!v)return-1;if(v&&!b)return 1;if(y&&!x)return 1;if(x&&!y)return-1;if(!b&&!v&&!y&&!x){let T=d.startTime,R=g.startTime;if(T!==R)return T-R}return d.dateRange.tagOrder-g.dateRange.tagOrder});this.events=l,f.forEach((d)=>{this.removeEvent(d)}),this.updateSchedule(e,f,s)}updateSchedule(e,n=[],s=0,i=!1){let r=this.events||[];if(r.length||n.length||this.length<2){let a=this.items,l=this.parseSchedule(r,e,s);if(i||n.length||(a==null?void 0:a.length)!==l.length||l.some((f,d)=>Math.abs(f.playout.start-a[d].playout.start)>0.005||Math.abs(f.playout.end-a[d].playout.end)>0.005))this.items=l,this.onScheduleUpdate(n,a)}}parseDateRanges(e,n,s){let i=[],r=Object.keys(e);for(let a=0;a<r.length;a++){let l=r[a],c=e[l];if(c.isInterstitial){let f=this.eventMap[l];if(f)f.setDateRange(c);else if(f=new gv(c,n),this.eventMap[l]=f,s===!1)f.appendInPlace=s;i.push(f)}}return i}parseSchedule(e,n,s=0){let i=[],r=n.main.details,a=r.live?1/0:r.edge,l=0;if(e=e.filter((f)=>!f.error&&!(f.cue.once&&f.hasPlayed)),e.length){this.resolveOffsets(e,n);let f=0,d=0;if(e.forEach((g,b)=>{let y=g.cue.pre,v=g.cue.post,x=e[b-1]||null,T=g.appendInPlace,R=v?a:g.startOffset,N=g.duration,U=g.timelineOccupancy===u0.Range?N:0,X=y&&r.live?s+(g.resumeOffset||0):0,Y=X||g.resumptionOffset,J=(x==null?void 0:x.startTime)===R,ee=R+g.cumulativeDuration,te=T?ee+N:R+Y;if(y||!v&&R<=0){let ie=d;d+=U,g.timelineStart=ee;let se=l;l+=N,i.push({event:g,start:ee,end:te,playout:{start:se,end:l},integrated:{start:ie,end:d}})}else if(R<=a){if(!J){let ae=R-f;if(ae>Vg){let be=f,ye=d;d+=ae;let ue=l;l+=ae;let he={previousEvent:e[b-1]||null,nextEvent:g,start:be,end:be+ae,playout:{start:ue,end:l},integrated:{start:ye,end:d}};i.push(he)}else if(ae>0&&x)x.cumulativeDuration+=ae,i[i.length-1].end=R}if(v)te=ee;g.timelineStart=ee;let ie=d;d+=U;let se=l;l+=N,i.push({event:g,start:ee,end:te,playout:{start:se,end:l},integrated:{start:ie,end:d}})}else return;let ne=X||g.resumeTime;if(v||ne>a)f=a;else if(!y&&te&&g.appendInPlaceStarted&&ne-te>Vg)f=te;else f=ne}),f<a){var c;let g=f,b=d,y=a-f;d+=y;let v=l;l+=y,i.push({previousEvent:((c=i[i.length-1])==null?void 0:c.event)||null,nextEvent:null,start:f,end:g+y,playout:{start:v,end:l},integrated:{start:b,end:d}})}this.setDurations(a,l,d)}else i.push({previousEvent:null,nextEvent:null,start:0,end:a,playout:{start:0,end:a},integrated:{start:0,end:a}}),this.setDurations(a,a,a);return i}setDurations(e,n,s){this.durations={primary:e,playout:n,integrated:s}}resolveOffsets(e,n){let s=n.main.details,i=s.live?1/0:s.edge,r=0,a=-1;e.forEach((l,c)=>{let f=l.cue.pre,d=l.cue.post,g=f?0:d?i:l.startTime;if(this.updateAssetDurations(l),a===g)l.cumulativeDuration=r;else r=0,a=g;if(!d&&l.snapOptions.in)l.resumeAnchor=nf(null,s.fragments,l.startOffset+l.resumptionOffset,0,0)||void 0;if(l.appendInPlace&&!l.appendInPlaceStarted){if(!this.primaryCanResumeInPlaceAt(l,n))l.appendInPlace=!1}if(!l.appendInPlace&&c+1<e.length){if(e[c+1].startTime-e[c].resumeTime<Vg){if(e[c+1].appendInPlace=!1,e[c+1].appendInPlace)this.warn(`Could not change append strategy for abutting event ${l}`)}}let y=ct(l.resumeOffset)?l.resumeOffset:l.duration;r+=y})}primaryCanResumeInPlaceAt(e,n){let s=e.resumeTime,i=e.startTime+e.resumptionOffset;if(Math.abs(s-i)>ol)return this.log(`"${e.identifier}" resumption ${s} not aligned with estimated timeline end ${i}`),!1;return!Object.keys(n).some((a)=>{let l=n[a].details,c=l.edge;if(s>=c)return this.log(`"${e.identifier}" resumption ${s} past ${a} playlist end ${c}`),!1;let f=nf(null,l.fragments,s);if(!f)return this.log(`"${e.identifier}" resumption ${s} does not align with any fragments in ${a} playlist (${l.fragStart}-${l.fragmentEnd})`),!0;let d=a==="audio"?0.175:0;if(!(Math.abs(f.start-s)<ol+d||Math.abs(f.end-s)<ol+d))return this.log(`"${e.identifier}" resumption ${s} not aligned with ${a} fragment bounds (${f.start}-${f.end} sn: ${f.sn} cc: ${f.cc})`),!0;return!1})}updateAssetDurations(e){if(!e.assetListLoaded)return;let n=e.timelineStart,s=0,i=!1,r=!1;for(let a=0;a<e.assetList.length;a++){let l=e.assetList[a],c=n+s;l.startOffset=s,l.timelineStart=c,i||(i=l.duration===null),r||(r=!!l.error);let f=l.error?0:l.duration||0;s+=f}if(i&&!r)e.duration=Math.max(s,e.duration);else e.duration=s}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function dr(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}class vv{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,n){let s=e.assetListUrl,i;try{i=bv(s,this.hls.sessionId,e.baseUrl)}catch(b){let y=this.assignAssetListError(e,Le.ASSET_LIST_LOAD_ERROR,b,s);this.hls.trigger(Z.ERROR,y);return}if(n&&i.protocol!=="data:")al(i,"_HLS_start_offset",""+n);let r=this.hls.config,l=new r.loader(r),c={type:fn.INTERSTITIAL_ASSET_LIST,responseType:"json",url:i.href},f=r.interstitialAssetListLoadPolicy.default,d={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},g={onSuccess:(b,y,v,x)=>{let T=b.data,R=T==null?void 0:T.ASSETS;if(!Array.isArray(R)){let N=this.assignAssetListError(e,Le.ASSET_LIST_PARSING_ERROR,Error("Invalid interstitial asset list"),v.url,y,x);this.hls.trigger(Z.ERROR,N);return}e.assetListResponse=T,this.hls.trigger(Z.ASSET_LIST_LOADED,{event:e,assetListResponse:T,networkDetails:x})},onError:(b,y,v,x)=>{let T=this.assignAssetListError(e,Le.ASSET_LIST_LOAD_ERROR,Error(`Error loading X-ASSET-LIST: HTTP status ${b.code} ${b.text} (${y.url})`),y.url,x,v);this.hls.trigger(Z.ERROR,T)},onTimeout:(b,y,v)=>{let x=this.assignAssetListError(e,Le.ASSET_LIST_LOAD_TIMEOUT,Error(`Timeout loading X-ASSET-LIST (${y.url})`),y.url,b,v);this.hls.trigger(Z.ERROR,x)}};return l.load(c,d,g),this.hls.trigger(Z.ASSET_LIST_LOADING,{event:e}),l}assignAssetListError(e,n,s,i,r,a){return e.error=s,{type:Dt.NETWORK_ERROR,details:n,fatal:!1,interstitial:e,url:i,error:s,networkDetails:a,stats:r}}}function U3(e){var n;e==null||(n=e.play())==null||n.catch(()=>{})}function Vl(e,n){return`[${e}] Advancing timeline position to ${n}`}class Sv extends Yi{constructor(e,n){super("interstitials",e.logger);this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.bufferPastEdge=!1,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1},this.onSeeking=()=>{let s=this.currentTime;if(s===void 0||this.playbackDisabled||!this.schedule)return;let i=s-this.timelinePos;if(Math.abs(i)<0.0000000014172335600907028)return;let a=i<=-0.01;if(this.timelinePos===-1&&!this.effectivePlayingItem)this.checkStart();this.timelinePos=s,this.bufferedPos=s;let l=this.playingItem;if(!l){this.checkBuffer();return}if(a){if(this.schedule.resetErrorsInRange(s,s-i))this.updateSchedule(!0)}if(this.checkBuffer(),a&&s<l.start||s>=l.end){var c;let y=this.findItemIndex(l),v=this.schedule.findItemIndexAtTime(s);if(v===-1)v=y+(a?-1:1),this.log(`seeked ${a?"back ":""}to position not covered by schedule ${s} (resolving from ${y} to ${v})`);if(!this.isInterstitial(l)&&(c=this.media)!=null&&c.paused)this.shouldPlay=!1;if(!a){if(v>y){let x=this.schedule.findJumpRestrictedIndex(y+1,v);if(x>y){this.setSchedulePosition(x);return}}}this.setSchedulePosition(v);return}let f=this.playingAsset;if(!f){if(this.playingLastItem&&this.isInterstitial(l)){let y=l.event.assetList[0];if(y)this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(s,y)}return}let d=f.timelineStart,g=f.duration||0;if(a&&s<d||s>=d+g){var b;if((b=l.event)!=null&&b.appendInPlace)this.clearAssetPlayers(l.event,l),this.flushFrontBuffer(s);this.setScheduleToAssetAtTime(s,f)}},this.onTimeupdate=()=>{let s=this.currentTime;if(s===void 0||this.playbackDisabled)return;if(this.timelinePos===-1&&!this.effectivePlayingItem)this.checkStart();if(s>this.timelinePos){if(this.timelinePos=s,s>this.bufferedPos)this.checkBuffer()}else return;let i=this.playingItem;if(!i||this.playingLastItem)return;if(s>=i.end){this.timelinePos=i.end;let l=this.findItemIndex(i);this.setSchedulePosition(l+1)}let r=this.playingAsset;if(!r)return;let a=r.timelineStart+(r.duration||0);if(s>=a)this.setScheduleToAssetAtTime(s,r)},this.onScheduleUpdate=(s,i)=>{let r=this.schedule;if(!r)return;let a=this.playingItem,l=r.events||[],c=r.items||[],f=r.durations,d=s.map((x)=>x.identifier),g=!!(l.length||d.length);if(g||i)this.log(`INTERSTITIALS_UPDATED (${l.length}): ${l}
52
- Schedule: ${c.map((x)=>dr(x))} pos: ${this.timelinePos}`);if(d.length)this.log(`Removed events ${d}`);let b=null,y=null;if(a)if(b=this.updateItem(a,this.timelinePos),this.itemsMatch(a,b))this.playingItem=b;else this.waitingItem=null;this.waitingItem=this.updateItem(this.waitingItem);let v=this.bufferingItem;if(v){if(y=this.updateItem(v,this.bufferedPos),this.itemsMatch(v,y))this.bufferingItem=y;else if(v.event)this.bufferingItem=this.playingItem,this.clearInterstitial(v.event,null)}if(s.forEach((x)=>{x.assetList.forEach((T)=>{this.clearAssetPlayer(T.identifier,null)})}),this.playerQueue.forEach((x)=>{if(x.interstitial.appendInPlace){let T=x.assetItem.timelineStart,R=x.timelineOffset-T;if(R)try{x.timelineOffset=T}catch(N){if(Math.abs(R)>ol)this.warn(`${N} ("${x.assetId}" ${x.timelineOffset}->${T})`)}}}),g||i){if(this.hls.trigger(Z.INTERSTITIALS_UPDATED,{events:l.slice(0),schedule:c.slice(0),durations:f,removedIds:d}),this.isInterstitial(a)&&d.indexOf(a.event.identifier)>-1){this.warn(`Interstitial "${a.event.identifier}" removed while playing`),this.primaryFallback(a.event);return}if(a)this.trimInPlace(b,a);if(v&&y!==b)this.trimInPlace(y,v);this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=n,this.assetListLoader=new vv(e),this.schedule=new yv(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){let e=this.hls;if(e)e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Z.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(Z.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(Z.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(Z.MEDIA_ENDED,this.onMediaEnded,this),e.on(Z.ERROR,this.onError,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let e=this.hls;if(e)e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Z.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(Z.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(Z.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(Z.MEDIA_ENDED,this.onMediaEnded,this),e.off(Z.ERROR,this.onError,this),e.off(Z.DESTROYING,this.onDestroying,this)}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;(e=this.getBufferingPlayer())==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.getBufferingPlayer())==null||e.pauseBuffering()}destroy(){if(this.unregisterListeners(),this.stopLoad(),this.assetListLoader)this.assetListLoader.destroy();if(this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule)this.schedule.destroy();this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){let e=this.primaryMedia||this.media;if(e)this.removeMediaListeners(e)}removeMediaListeners(e){On(e,"play",this.onPlay),On(e,"pause",this.onPause),On(e,"seeking",this.onSeeking),On(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,n){let s=this.media=n.media;Nn(s,"seeking",this.onSeeking),Nn(s,"timeupdate",this.onTimeupdate),Nn(s,"play",this.onPlay),Nn(s,"pause",this.onPause)}onMediaAttached(e,n){let s=this.effectivePlayingItem,i=this.detachedData;if(this.detachedData=null,s===null)this.checkStart();else if(!i){this.clearScheduleState();let r=this.findItemIndex(s);this.setSchedulePosition(r)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,n){let s=!!n.transferMedia,i=this.media;if(this.media=null,s)return;if(i)this.removeMediaListeners(i);if(this.detachedData){let r=this.getBufferingPlayer();if(r)this.log(`Removing schedule state for detachedData and ${r}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,r.detachMedia();this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,n=()=>e.bufferingItem||e.waitingItem,s=(g)=>g?e.getAssetPlayer(g.identifier):g,i=(g,b,y,v,x)=>{if(g){let T=g[b].start,R=g.event;if(R){if(b==="playout"||R.timelineOccupancy!==u0.Point){let N=s(y);if((N==null?void 0:N.interstitial)===R)T+=N.assetItem.startOffset+N[x]}}else{let N=v==="bufferedPos"?a():e[v];T+=N-g.start}return T}return 0},r=(g,b)=>{var y;if(g!==0&&b!=="primary"&&(y=e.schedule)!=null&&y.length){var v;let x=e.schedule.findItemIndexAtTime(g),T=(v=e.schedule.items)==null?void 0:v[x];if(T){let R=T[b].start-T.start;return g+R}}return g},a=()=>{let g=e.bufferedPos;if(g===Number.MAX_VALUE)return l("primary");return Math.max(g,0)},l=(g)=>{var b,y;if((b=e.primaryDetails)!=null&&b.live)return e.primaryDetails.edge;return((y=e.schedule)==null?void 0:y.durations[g])||0},c=(g,b)=>{var y,v;let x=e.effectivePlayingItem;if(x!=null&&(y=x.event)!=null&&y.restrictions.skip||!e.schedule)return;e.log(`seek to ${g} "${b}"`);let T=e.effectivePlayingItem,R=e.schedule.findItemIndexAtTime(g,b),N=(v=e.schedule.items)==null?void 0:v[R],U=e.getBufferingPlayer(),X=U==null?void 0:U.interstitial,Y=X==null?void 0:X.appendInPlace,J=T&&e.itemsMatch(T,N);if(T&&(Y||J)){let ee=s(e.playingAsset),te=(ee==null?void 0:ee.media)||e.primaryMedia;if(te){let ne=b==="primary"?te.currentTime:i(T,b,e.playingAsset,"timelinePos","currentTime"),ie=g-ne,se=(Y?ne:te.currentTime)+ie;if(se>=0&&(!ee||Y||se<=ee.duration)){te.currentTime=se;return}}}if(N){let ee=g;if(b!=="primary"){let ne=N[b].start,ie=g-ne;ee=N.start+ie}let te=!e.isInterstitial(N);if((!e.isInterstitial(T)||T.event.appendInPlace)&&(te||N.event.appendInPlace)){let ne=e.media||(Y?U==null?void 0:U.media:null);if(ne)ne.currentTime=ee}else if(T){let ne=e.findItemIndex(T);if(R>ne){let se=e.schedule.findJumpRestrictedIndex(ne+1,R);if(se>ne){e.setSchedulePosition(se);return}}let ie=0;if(te)e.timelinePos=ee,e.checkBuffer();else{let se=N.event.assetList,ae=g-(N[b]||N).start;for(let be=se.length;be--;){let ye=se[be];if(ye.duration&&ae>=ye.startOffset&&ae<ye.startOffset+ye.duration){ie=be;break}}}e.setSchedulePosition(R,ie)}}},f=()=>{let g=e.effectivePlayingItem;if(e.isInterstitial(g))return g;let b=n();if(e.isInterstitial(b))return b;return null},d={get bufferedEnd(){let g=n(),b=e.bufferingItem;if(b&&b===g){var y;return i(b,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-b.playout.start||((y=e.bufferingAsset)==null?void 0:y.startOffset)||0}return 0},get currentTime(){let g=f(),b=e.effectivePlayingItem;if(b&&b===g)return i(b,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-b.playout.start;return 0},set currentTime(g){let b=f(),y=e.effectivePlayingItem;if(y&&y===b)c(g+y.playout.start,"playout")},get duration(){let g=f();if(g)return g.playout.end-g.playout.start;return 0},get assetPlayers(){var g;let b=(g=f())==null?void 0:g.event.assetList;if(b)return b.map((y)=>e.getAssetPlayer(y.identifier));return[]},get playingIndex(){var g;let b=(g=f())==null?void 0:g.event;if(b&&e.effectivePlayingAsset)return b.findAssetIndex(e.effectivePlayingAsset);return-1},get scheduleItem(){return f()}};return this.manager={get events(){var g;return((g=e.schedule)==null||(g=g.events)==null?void 0:g.slice(0))||[]},get schedule(){var g;return((g=e.schedule)==null||(g=g.items)==null?void 0:g.slice(0))||[]},get interstitialPlayer(){if(f())return d;return null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return n()},get bufferingIndex(){let g=n();return e.findItemIndex(g)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){let g=e.effectivePlayingItem;return e.findItemIndex(g)},primary:{get bufferedEnd(){return a()},get currentTime(){let g=e.timelinePos;return g>0?g:0},set currentTime(g){c(g,"primary")},get duration(){return l("primary")},get seekableStart(){return e.seekableStart}},integrated:{get bufferedEnd(){return i(n(),"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return i(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(g){c(g,"integrated")},get duration(){return l("integrated")},get seekableStart(){return r(e.seekableStart,"integrated")}},skip:()=>{let g=e.effectivePlayingItem,b=g==null?void 0:g.event;if(b&&!b.restrictions.skip){let y=e.findItemIndex(g);if(b.appendInPlace){let v=g.playout.start+g.event.duration;c(v+0.001,"playout")}else e.advanceAfterAssetEnded(b,y,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;let n=this.playingItem,s=(e=this.schedule)==null?void 0:e.items;if(!this.playbackStarted||!n||!s)return!1;return this.findItemIndex(n)===s.length-1}get playbackStarted(){return this.effectivePlayingItem!==null}get currentTime(){var e,n;if(this.mediaSelection===null)return;let s=this.waitingItem||this.playingItem;if(this.isInterstitial(s)&&!s.event.appendInPlace)return;let i=this.media;if(!i&&(e=this.bufferingItem)!=null&&(e=e.event)!=null&&e.appendInPlace)i=this.primaryMedia;let r=(n=i)==null?void 0:n.currentTime;if(r===void 0||!ct(r))return;return r}get primaryMedia(){var e;return this.media||((e=this.detachedData)==null?void 0:e.media)||null}isInterstitial(e){return!!(e!=null&&e.event)}retreiveMediaSource(e,n){let s=this.getAssetPlayer(e);if(s)this.transferMediaFromPlayer(s,n)}transferMediaFromPlayer(e,n){let s=e.interstitial.appendInPlace,i=e.media;if(s&&i===this.primaryMedia){if(this.bufferingAsset=null,!n||this.isInterstitial(n)&&!n.event.appendInPlace){if(n&&i){this.detachedData={media:i};return}}let r=e.transferMedia();this.log(`transfer MediaSource from ${e} ${cs(r)}`),this.detachedData=r}else if(n&&i)this.shouldPlay||(this.shouldPlay=!i.paused)}transferMediaTo(e,n){var s,i;if(e.media===n)return;let r=null,a=this.hls,l=e!==a,c=l&&e.interstitial.appendInPlace,f=(s=this.detachedData)==null?void 0:s.mediaSource,d;if(a.media){if(c)r=a.transferMedia(),this.detachedData=r;d="Primary"}else{let v=this.getBufferingPlayer();if(v)r=v.transferMedia(),this.detachedData=r,d=`${v}`;else if(f)d="detached MediaSource";else d="detached media"}if(!r){if(f)r=this.detachedData,this.log(`using detachedData: MediaSource ${cs(r)}`);else if(!this.detachedData||a.media===n){let v=this.playerQueue;if(v.length>1)v.forEach((x)=>{if(l&&x.interstitial.appendInPlace!==c){let T=x.interstitial;if(this.clearInterstitial(x.interstitial,null),T.appendInPlace=!1,T.appendInPlace)this.warn(`Could not change append strategy for queued assets ${T}`)}});this.hls.detachMedia(),this.detachedData={media:n}}}let g=r&&"mediaSource"in r&&((i=r.mediaSource)==null?void 0:i.readyState)!=="closed";if(this.log(`${g?"transfering MediaSource":"attaching media"} to ${l?e:"Primary"} from ${d} (media.currentTime: ${n.currentTime})`),!g&&!l){e.attachMedia(n);return}let b=g&&r?qt({},r):{media:n},y=this.schedule;if(y&&l){let v=e.assetId===y.assetIdAtEnd;b.overrides={duration:y.duration,endOfStream:v||e.appendInPlace===!1}}if(!g&&c){let v=e,x=v.assetItem.timelineStart;if(x){let T=v.hls,R=Math.max(this.timelinePos-x,Number.EPSILON);if(T.startPosition!==R){if(this.log(`Set ${v} startPosition: ${R}`),T.config.startPosition=R,T.loadingEnabled)T.startLoad(R)}}}e.attachMedia(b)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){let e=this.schedule,n=e==null?void 0:e.events,s=this.hls;if(!n||this.playbackDisabled||!this.media||!s)return;if(this.bufferedPos===-1)this.bufferedPos=0;let i=this.timelinePos,r=this.effectivePlayingItem;if(i===-1){if(!s.loadingEnabled){this.log("waiting for startLoad( <startPosition> )");return}let a=s.startPosition;if(this.timelinePos=a,n.length===0)this.setSchedulePosition(0);else if(n[0].cue.pre){this.log(Vl("checkStart (preroll)",a));let l=e.findEventIndex(n[0].identifier);this.setSchedulePosition(l)}else if(a>=0||!this.primaryLive){this.log(Vl("checkStart",a));let l=this.timelinePos=a>0?a:0,c=e.findItemIndexAtTime(l);this.setSchedulePosition(c)}else if(s.liveSyncPosition===0)this.setSchedulePosition(0);else this.log("[checkStart] waiting for live start")}else if(r&&!this.playingItem){this.log(Vl("checkStart (playing item)",r.start));let a=e.findItemIndex(r);this.setSchedulePosition(a)}}advanceAssetBuffering(e,n){let s=e.event,i=s.findAssetIndex(n),r=Gg(s,i);if(!s.isAssetPastPlayoutLimit(r))this.bufferedToEvent(e,r);else if(this.schedule){var a;let l=this.getNextItemIndex(e,!0),c=(a=this.schedule.items)==null?void 0:a[l];if(c)this.bufferedToItem(c)}}livePrerollResumption(e,n){if(e.cue.pre&&this.primaryLive&&!ct(e.resumeOffset)&&this.hls){let s=this.getLiveStartPos();if(n){let i=this.getBufferingPlayer(),r=i!=null&&i.interstitial.cue.pre?i.remaining:0;return s+r}return s}}getNextItemIndex(e,n){if(this.schedule){let s=this.livePrerollResumption(e.event,n);if(s!==void 0)return this.log(`find next item index @${s}`),this.schedule.findItemIndexAtTime(s)}return this.findItemIndex(e)+1}advanceAfterAssetEnded(e,n,s){let i=Gg(e,s);if(!e.isAssetPastPlayoutLimit(i)){if(e.appendInPlace){let r=e.assetList[i];if(r)this.advanceInPlace(r.timelineStart)}this.setSchedulePosition(n,i)}else if(this.schedule){let r=this.schedule.items;if(r){let a=r[n],l=a.event?this.getNextItemIndex(a):n+1,c=r.length;if(l>=c){this.setSchedulePosition(-1);return}let f=e.resumeTime;if(this.timelinePos<f){if(this.log(Vl("advanceAfterAssetEnded",f)),this.timelinePos=f,e.appendInPlace&&!r[l].event)this.hls.startLoad(f+0.01);this.checkBuffer(this.bufferedPos<f)}this.setSchedulePosition(l)}}}setScheduleToAssetAtTime(e,n){let s=this.schedule;if(!s)return;let i=n.parentIdentifier,r=s.getEvent(i);if(r){let a=s.findEventIndex(i),l=s.findAssetIndex(r,e);this.advanceAfterAssetEnded(r,a,l-1)}}setSchedulePosition(e,n){var s;let i=(s=this.schedule)==null?void 0:s.items;if(!i||this.playbackDisabled)return;let r=e>=0?i[e]:null;this.log(`setSchedulePosition ${e}, ${n} (${r?dr(r):r}) pos: ${this.timelinePos}`);let a=this.waitingItem||this.playingItem,l=this.playingLastItem;if(this.isInterstitial(a)){let g=a.event,b=this.playingAsset,y=b==null?void 0:b.identifier,v=y?this.getAssetPlayer(y):null;if(v&&y&&(!this.eventItemsMatch(a,r)||n!==void 0&&y!==g.assetList[n].identifier)){var c;let x=g.findAssetIndex(b);if(this.log(`INTERSTITIAL_ASSET_ENDED ${x+1}/${g.assetList.length} ${Yc(b)}`),this.endedAsset=b,this.playingAsset=null,this.hls.trigger(Z.INTERSTITIAL_ASSET_ENDED,{asset:b,assetListIndex:x,event:g,schedule:i.slice(0),scheduleIndex:e,player:v}),a!==this.playingItem){if(this.itemsMatch(a,this.playingItem)&&!this.playingAsset)this.advanceAfterAssetEnded(g,this.findItemIndex(this.playingItem),x);return}if(this.retreiveMediaSource(y,r),v.media&&!((c=this.detachedData)!=null&&c.mediaSource))v.detachMedia()}if(!this.eventItemsMatch(a,r)){if(this.endedItem=a,this.playingItem=this.waitingItem=null,this.log(`INTERSTITIAL_ENDED ${g} ${dr(a)}`),g.hasPlayed=!0,this.hls.trigger(Z.INTERSTITIAL_ENDED,{event:g,schedule:i.slice(0),scheduleIndex:e}),g.cue.once&&this.hls){var f;this.updateSchedule();let x=(f=this.schedule)==null?void 0:f.items;if(r&&x){let T=this.findItemIndex(r),R=this.livePrerollResumption(g);if(R!==void 0){let N=R,U=this.getNextItemIndex(a);if(!this.isInterstitial(i[U])){var d;let X=(d=this.primaryDetails)==null?void 0:d.fragments;if(g.snapOptions.in&&X){let Y=nf(null,X,R);if(Y)N=Math.min(Math.max(i[U].start,Yd(N,Y)),i[U].end)}}if(this.log(Vl("live join (preroll)",N)),this.timelinePos=N,U!==T&&(U||U===0)){this.advanceSchedule(U,x,void 0,a,l);return}}this.advanceSchedule(T,x,n,a,l)}return}}}this.advanceSchedule(e,i,n,a,l)}advanceSchedule(e,n,s,i,r){let a=this.schedule;if(!a)return;let l=n[e]||null,c=this.primaryMedia,f=this.playerQueue;if(f.length)f.forEach((d)=>{let g=d.interstitial,b=a.findEventIndex(g.identifier);if(b<e||b>e+1)this.clearInterstitial(g,l)});if(this.isInterstitial(l)){this.timelinePos=Math.min(Math.max(this.timelinePos,l.start),l.end);let d=l.event;if(s===void 0){s=d.cue.pre?0:a.findAssetIndex(d,this.timelinePos);let v=Gg(d,s-1);if(d.isAssetPastPlayoutLimit(v)||d.appendInPlace&&this.timelinePos===l.end){this.advanceAfterAssetEnded(d,e,s);return}s=v}let g=this.waitingItem;if(!this.assetsBuffered(l,c))this.setBufferingItem(l);let b=this.preloadAssets(d,s);if(!this.eventItemsMatch(l,g||i))this.waitingItem=l,this.log(`INTERSTITIAL_STARTED ${dr(l)} ${d.appendInPlace?"append in place":""}`),d.hasPlayed=!1,this.hls.trigger(Z.INTERSTITIAL_STARTED,{event:d,schedule:n.slice(0),scheduleIndex:e});if(!d.assetListLoaded){this.log(`Waiting for ASSET-LIST to complete loading ${d}`);return}if(d.assetListLoader)d.assetListLoader.destroy(),d.assetListLoader=void 0;if(!c){this.log(`Waiting for attachMedia to start Interstitial ${d}`);return}this.waitingItem=this.endedItem=null,this.playingItem=l;let y=d.assetList[s];if(!y){this.advanceAfterAssetEnded(d,e,s||0);return}if(!b)b=this.getAssetPlayer(y.identifier);if(b===null||b.destroyed){let v=d.assetList.length;this.warn(`asset ${s+1}/${v} player destroyed ${d}`),b=this.createAssetPlayer(d,y,s),b.loadSource()}if(!this.eventItemsMatch(l,this.bufferingItem)){if(d.appendInPlace&&this.isAssetBuffered(y))return}if(this.startAssetPlayer(b,s,n,e,c),this.shouldPlay)U3(b.media)}else if(l){if(this.resumePrimary(l,e,i),this.shouldPlay)U3(this.hls.media)}else if(r&&this.isInterstitial(i)){if(this.endedItem=null,this.playingItem=i,!i.event.appendInPlace)this.attachPrimary(a.durations.primary,null)}}get playbackDisabled(){return this.hls.config.enableInterstitialPlayback===!1}get primaryDetails(){var e;return(e=this.mediaSelection)==null?void 0:e.main.details}get primaryLive(){var e;return!!((e=this.primaryDetails)!=null&&e.live)}resumePrimary(e,n,s){var i,r;this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=null,this.bufferedToItem(e),this.endedItem=null,this.log(`resuming ${dr(e)}`);let a=this.timelinePos;if(!((i=this.detachedData)!=null&&i.mediaSource)){if(a<e.start||a>=e.end||a<this.seekableStart)a=this.getPrimaryResumption(e,n),this.log(Vl("resumePrimary",a)),this.timelinePos=a;this.attachPrimary(a,e)}else if(this.primaryLive)this.startLoadingPrimaryAt(a);if(!s)return;let l=(r=this.schedule)==null?void 0:r.items;if(!l)return;this.log(`INTERSTITIALS_PRIMARY_RESUMED ${dr(e)}`),this.hls.trigger(Z.INTERSTITIALS_PRIMARY_RESUMED,{schedule:l.slice(0),scheduleIndex:n}),this.checkBuffer()}get seekableStart(){var e;return this.primaryLive?((e=this.primaryDetails)==null?void 0:e.fragmentStart)||0:0}getPrimaryResumption(e,n,s){let i=e.start;if(this.primaryLive){if(n===0)return this.hls.startPosition;let r=this.endedItem||this.playingItem,a=r!=null&&r.event?this.livePrerollResumption(r.event,s):void 0;if(a!==void 0)return a;let l=this.primaryDetails;if(l){let{fragmentStart:c,edge:f}=l;if(i<c||i>f&&!s){let d=this.hls.liveSyncPosition;return this.log(`primary resumption out of bounds (${i} [${c}-${f}]) snapping to liveSync ${d}`),d||c}}}return this.log(`primary resumption itemStart: ${i}`),i}getLiveStartPos(){var e;let n=this.hls.startPosition,s=this.hls.liveSyncPosition||0,i=(((e=this.primaryDetails)==null?void 0:e.targetduration)||10)*3;if(n===-1||s&&s-n<i)return s||0;return n}isAssetBuffered(e){let n=this.getAssetPlayer(e.identifier);if(n!=null&&n.hls)return n.hls.bufferedToEnd;return Ot.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,n,s){if(n)this.setBufferingItem(n);else this.bufferingItem=this.playingItem;this.bufferingAsset=null;let i=this.primaryMedia;if(!i)return;let r=this.hls;if(r.media)this.checkBuffer();else if(this.transferMediaTo(r,i),s)this.startLoadingPrimaryAt(e,s);if(!s)this.log(Vl("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,s)}startLoadingPrimaryAt(e,n){let s=this.hls,{loadingEnabled:i,bufferingEnabled:r,startPosition:a}=s,l=s.hasEnoughToStart;if(this.log(`Start loading primary @${e} bufferedPos: ${this.bufferedPos} startPosition: ${a} skip seek: ${n} has enough ${l} loadingEnabled: ${i} bufferingEnabled: ${r}`),!n&&l||!i||Math.abs(a-e)>0.1){let c=this.primaryDetails;if(c!=null&&c.live&&e+0.5>=c.edge){let f=this.bufferingItem;this.log(`Resume primary loading when live passes ${e} buffering item: ${f?dr(f):null}`),s.pauseBuffering(),this.bufferPastEdge=!0;return}s.startLoad(e,n)}else if(!r)s.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),(e=this.schedule)==null||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(Z.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,n){if(n.level===-1||!this.schedule)return;let s=this.hls.levels[n.level];if(!s.details)return;let i=qt(qt({},this.mediaSelection||this.altSelection),{},{main:s});this.mediaSelection=i;let r=this.hls.startPosition;if(this.schedule.parseInterstitialDateRanges(i,this.hls.config.interstitialAppendInPlace,r===-1?0:r),!this.schedule.items)return;if(!this.effectivePlayingItem)this.checkStart();else if(this.bufferPastEdge){let l=this.primaryDetails,c=this.bufferedPos;if(l!=null&&l.live&&c+0.5<l.edge){this.bufferPastEdge=!1;let f=this.bufferingItem;if(this.log(`Live edge ${l.edge} passed buffer: ${c} buffering item: ${f?dr(f):null}`),(f==null?void 0:f.end)===1/0){let g=this.playingItem,b=this.isInterstitial(g)&&g.event.appendInPlace;this.hls.startLoad(Math.max(c,f.start),b)}else{let g=this.getBufferingPlayer();if(g){if(g.bufferedInPlaceToEnd(this.primaryMedia,g.currentTime)&&g.hls)g.hls.trigger(Z.BUFFERED_TO_END,void 0)}}}}}onAudioTrackUpdated(e,n){let s=this.hls.audioTracks[n.id],i=this.mediaSelection;if(!i){this.altSelection=qt(qt({},this.altSelection),{},{audio:s});return}let r=qt(qt({},i),{},{audio:s});this.mediaSelection=r}onSubtitleTrackUpdated(e,n){let s=this.hls.subtitleTracks[n.id],i=this.mediaSelection;if(!i){this.altSelection=qt(qt({},this.altSelection),{},{subtitles:s});return}let r=qt(qt({},i),{},{subtitles:s});this.mediaSelection=r}onAudioTrackSwitching(e,n){let s=O5(n);this.playerQueue.forEach(({hls:i})=>i&&(i.setAudioOption(n)||i.setAudioOption(s)))}onSubtitleTrackSwitch(e,n){let s=O5(n);this.playerQueue.forEach(({hls:i})=>i&&(i.setSubtitleOption(n)||n.id!==-1&&i.setSubtitleOption(s)))}onBufferCodecs(e,n){let s=n.tracks;if(s)this.requiredTracks=s}onBufferAppended(e,n){this.checkBuffer()}onBufferFlushed(e,n){let s=this.playingItem;if(s&&!this.itemsMatch(s,this.bufferingItem)&&!this.isInterstitial(s)){let i=this.timelinePos;this.bufferedPos=i,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;let n=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&n){for(let s=0;s<n.length;s++){let i=n[s];if(i.cue.post){let r=this.getEventItem(i.identifier);if(r&&this.eventItemsMatch(r,this.bufferingItem))this.bufferedToItem(r,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){let n=this.playingItem;if(!this.playingLastItem&&n){let s=this.findItemIndex(n);this.setSchedulePosition(s+1)}else this.shouldPlay=!1}updateItem(e,n){var s;let i=(s=this.schedule)==null?void 0:s.items;if(e&&i){let r=this.findItemIndex(e,n);return i[r]||null}return null}trimInPlace(e,n){if(this.isInterstitial(e)&&e.event.appendInPlace&&n.end-e.end>0.25){e.event.assetList.forEach((r,a)=>{if(e.event.isAssetPastPlayoutLimit(a))this.clearAssetPlayer(r.identifier,null)});let s=e.end+0.25,i=Ot.bufferInfo(this.primaryMedia,s,0);if(i.end>s||(i.nextStart||0)>s){this.log(`trim buffered interstitial ${dr(e)} (was ${dr(n)})`);let r=!0;this.attachPrimary(s,null,r),this.flushFrontBuffer(s)}}}itemsMatch(e,n){return!!n&&(e===n||e.event&&n.event&&this.eventItemsMatch(e,n)||!e.event&&!n.event&&this.findItemIndex(e)===this.findItemIndex(n))}eventItemsMatch(e,n){var s;return!!n&&(e===n||e.event.identifier===((s=n.event)==null?void 0:s.identifier))}findEventIndex(e){return this.schedule?this.schedule.findEventIndex(e):-1}getEventItem(e){if(this.schedule){var n;let s=(n=this.schedule.items)==null?void 0:n[this.findEventIndex(e)];if(this.isInterstitial(s)&&s.event.identifier===e)return s}}findItemIndex(e,n){return e&&this.schedule?this.schedule.findItemIndex(e,n):-1}updateSchedule(e=!1){var n,s;let i=this.mediaSelection;if(!i)return;let r=((n=this.hls)==null?void 0:n.liveSyncPosition)||0;(s=this.schedule)==null||s.updateSchedule(i,[],r,e)}checkBuffer(e){var n;let s=(n=this.schedule)==null?void 0:n.items;if(!s)return;let i=Ot.bufferInfo(this.primaryMedia,this.timelinePos,0);if(e)this.bufferedPos=this.timelinePos;e||(e=i.len<1),this.updateBufferedPos(i.end,s,e)}updateBufferedPos(e,n,s){let i=this.schedule,r=this.bufferingItem;if(this.bufferedPos>e||!i)return;if(n.length===1&&this.itemsMatch(n[0],r)){this.bufferedPos=e;return}let a=this.playingItem,l=this.findItemIndex(a),c=i.findItemIndexAtTime(e);if(this.bufferedPos<e){var f;let d=this.findItemIndex(r),g=Math.min(d+1,n.length-1),b=n[g];if(c===-1&&r&&e>=r.end||(f=b.event)!=null&&f.appendInPlace&&e+0.01>=b.start)c=g;if(this.isInterstitial(r)){let y=r.event;if(g-l>1&&y.appendInPlace===!1)return;if(y.assetList.length===0&&y.assetListLoader)return}if(this.bufferedPos=e,c>d&&c>l)this.bufferedToItem(b);else{let y=this.primaryDetails;if(this.primaryLive&&y&&e>y.edge-y.targetduration&&b.start<y.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(b))this.preloadAssets(b.event,0)}}else if(s&&a&&!this.itemsMatch(a,r)){if(c===l)this.bufferedToItem(a);else if(c===l+1)this.bufferedToItem(n[c])}}assetsBuffered(e,n){if(e.event.assetList.length===0)return!1;return!e.event.assetList.some((i)=>{let r=this.getAssetPlayer(i.identifier);return!(r!=null&&r.bufferedInPlaceToEnd(n))})}setBufferingItem(e){let n=this.bufferingItem,s=this.schedule;if(!this.itemsMatch(e,n)&&s){let{items:i,events:r}=s;if(!i||!r)return n;let a=this.isInterstitial(e),l=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let c=l?l.remaining:n?n.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${dr(e)}`+(n?` (${c.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(a){let f=s.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((d,g)=>{let b=this.getAssetPlayer(d.identifier);if(b){if(g===f)b.loadSource();b.resumeBuffering()}})}else this.hls.resumeBuffering(),this.playerQueue.forEach((f)=>f.pauseBuffering());this.hls.trigger(Z.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:r.slice(0),schedule:i.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else if(this.bufferingItem!==e)this.bufferingItem=e;return n}bufferedToItem(e,n=0){let s=this.setBufferingItem(e);if(this.playbackDisabled)return;if(this.isInterstitial(e))this.bufferedToEvent(e,n);else if(s!==null){this.bufferingAsset=null;let i=this.getPrimaryResumption(e,this.findItemIndex(e),!0),r=this.bufferedPos=Math.max(i,Math.min(this.bufferedPos,e.end),this.timelinePos,e.start),a=this.detachedData;if(a)if(a.mediaSource)this.attachPrimary(r,e,!0);else this.startLoadingPrimaryAt(r);else{let l=this.playingItem,c=this.isInterstitial(l)&&l.event.appendInPlace;this.startLoadingPrimaryAt(r,c)}}}bufferedToEvent(e,n){let s=e.event,i=s.assetList.length===0&&!s.assetListLoader,r=s.cue.once;if(i||!r){let a=this.preloadAssets(s,n);if(a!=null&&a.interstitial.appendInPlace){let l=this.primaryMedia;if(l)this.bufferAssetPlayer(a,l)}}}preloadAssets(e,n){let s=e.assetUrl,i=e.assetList.length,r=i===0&&!e.assetListLoader,a=e.cue.once;if(r){let c=e.timelineStart,f=this.playingItem,d=this.getBufferingPlayer();if(e.appendInPlace){var l;if(!this.isInterstitial(f)&&(f==null||(l=f.nextEvent)==null?void 0:l.identifier)===e.identifier)this.flushFrontBuffer(c+0.25)}let g,b=0;if((!d||d.interstitial.cue.pre)&&this.primaryLive){if(b=this.getLiveStartPos(),d)b+=d.remaining}if(b&&!(e.cue.pre||e.cue.post)){let v=b-c;if(v>0)g=Math.round(v*1000)/1000}if(this.log(`Load interstitial asset ${n+1}/${s?1:i} ${e}${b?` live-start: ${b} start-offset: ${g} (timeline-start: ${c})`:""}`),s)return this.createAsset(e,0,0,c,e.duration,s);let y=this.assetListLoader.loadAssetList(e,g);if(y)e.assetListLoader=y}else if(!a&&i){for(let f=n;f<i;f++){let d=e.assetList[f],g=this.getAssetPlayerQueueIndex(d.identifier);if((g===-1||this.playerQueue[g].destroyed)&&!d.error)this.createAssetPlayer(e,d,f)}let c=e.assetList[n];if(c){let f=this.getAssetPlayer(c.identifier);if(f)f.loadSource();return f}}return null}flushFrontBuffer(e){let n=this.requiredTracks;if(!n)return;let s=this.primaryDetails;if(s&&e>=s.edge)return;this.log(`Removing front buffer starting at ${e}`),Object.keys(n).forEach((r)=>{this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:r})})}getAssetPlayerQueueIndex(e){let n=this.playerQueue;for(let s=0;s<n.length;s++)if(e===n[s].assetId)return s;return-1}getAssetPlayer(e){let n=this.getAssetPlayerQueueIndex(e);return this.playerQueue[n]||null}getBufferingPlayer(){let{playerQueue:e,primaryMedia:n}=this;if(n){for(let s=0;s<e.length;s++)if(e[s].media===n)return e[s]}return null}createAsset(e,n,s,i,r,a){let l={parentIdentifier:e.identifier,identifier:M_(e,a,n),duration:r,startOffset:s,timelineStart:i,uri:a};return this.createAssetPlayer(e,l,n)}createAssetPlayer(e,n,s){let i=this.hls,r=i.userConfig,a=i.loadLevelObj||i.levels[i.currentLevel],l=E9(a,r.videoPreference),c=i.audioTracks[i.audioTrack],f=i.subtitleTracks[i.subtitleTrack],d=0;if(this.primaryLive||e.appendInPlace){let X=this.timelinePos-n.timelineStart;if(X>=0){let Y=n.duration;if(Y&&X<Y)d=X}}let g=n.identifier,b=qt(qt({},r),{},{maxMaxBufferLength:Math.min(15,i.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:i.sessionId,assetPlayerId:g,abrEwmaDefaultEstimate:i.bandwidthEstimate,interstitialsController:void 0,startPosition:d,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:l,audioPreference:c||r.audioPreference,subtitlePreference:f||r.subtitlePreference});if(e.appendInPlace){if(e.appendInPlaceStarted=!0,n.timelineStart)b.timelineOffset=n.timelineStart}let y=b.cmcd;if(y!=null&&y.sessionId&&y.contentId)b.cmcd=Hn({},y,{contentId:vh(n.uri)});if(this.getAssetPlayer(g))this.warn(`Duplicate date range identifier ${e} and asset ${g}`);let v=new wv(this.HlsPlayerClass,b,e,n);this.playerQueue.push(v),e.assetList[s]=n;let x=!0,T=(X)=>{if(X.live){let ee=Error(`Interstitials MUST be VOD assets ${e}`),te={fatal:!0,type:Dt.OTHER_ERROR,details:Le.INTERSTITIAL_ASSET_ITEM_ERROR,error:ee},ne=this.findEventIndex(e.identifier);this.handleAssetItemError(te,e,ne,s,ee.message);return}let Y=X.edge-X.fragmentStart,J=n.duration;if(x||J===null||Y>J)x=!1,this.log(`Interstitial asset "${g}" duration change ${J} > ${Y}`),n.duration=Y,this.updateSchedule()};v.on(Z.LEVEL_UPDATED,(X,{details:Y})=>T(Y)),v.on(Z.LEVEL_PTS_UPDATED,(X,{details:Y})=>T(Y)),v.on(Z.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let R=(X,Y)=>{let J=this.getAssetPlayer(g);if(J&&Y.tracks){J.off(Z.BUFFER_CODECS,R),J.tracks=Y.tracks;let ee=this.primaryMedia;if(this.bufferingAsset===J.assetItem&&ee&&!J.media)this.bufferAssetPlayer(J,ee)}};v.on(Z.BUFFER_CODECS,R);let N=()=>{let X=this.getAssetPlayer(g);if(this.log(`buffered to end of asset ${X}`),!X||!this.schedule)return;let Y=this.getEventItem(e.identifier);if(Y)this.advanceAssetBuffering(Y,X.assetItem)};v.on(Z.BUFFERED_TO_END,N);let U=(X)=>()=>{if(!this.getAssetPlayer(g)||!this.schedule)return;this.shouldPlay=!0;let J=this.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,J,X)};return v.once(Z.MEDIA_ENDED,U(s)),v.once(Z.PLAYOUT_LIMIT_REACHED,U(1/0)),v.on(Z.ERROR,(X,Y)=>{if(!this.schedule)return;let J=this.getAssetPlayer(g);if(Y.details===Le.BUFFER_STALLED_ERROR){if(J!=null&&J.appendInPlace){this.handleInPlaceStall(e);return}this.onTimeupdate(),this.checkBuffer(!0);return}else if(Y.details===Le.BUFFER_SEEK_OVER_HOLE)return;this.handleAssetItemError(Y,e,this.findEventIndex(e.identifier),s,`Asset player error ${Y.error} ${e}`)}),v.on(Z.DESTROYING,()=>{if(!this.getAssetPlayer(g)||!this.schedule)return;let Y=Error(`Asset player destroyed unexpectedly ${g}`),J={fatal:!0,type:Dt.OTHER_ERROR,details:Le.INTERSTITIAL_ASSET_ITEM_ERROR,error:Y};this.handleAssetItemError(J,e,this.findEventIndex(e.identifier),s,Y.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${Yc(n)}`),this.hls.trigger(Z.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:n,assetListIndex:s,event:e,player:v}),v}clearInterstitial(e,n){this.clearAssetPlayers(e,n),e.reset()}clearAssetPlayers(e,n){e.assetList.forEach((s)=>{this.clearAssetPlayer(s.identifier,n)})}resetAssetPlayer(e){let n=this.getAssetPlayerQueueIndex(e);if(n!==-1){this.log(`reset asset player "${e}" after error`);let s=this.playerQueue[n];this.transferMediaFromPlayer(s,null),s.resetDetails()}}clearAssetPlayer(e,n){let s=this.getAssetPlayerQueueIndex(e);if(s!==-1){let i=this.playerQueue[s];this.log(`clear ${i} toSegment: ${n?dr(n):n}`),this.transferMediaFromPlayer(i,n),this.playerQueue.splice(s,1),i.destroy()}}emptyPlayerQueue(){let e;while(e=this.playerQueue.pop())e.destroy();this.playerQueue=[]}startAssetPlayer(e,n,s,i,r){let{interstitial:a,assetItem:l,assetId:c}=e,f=a.assetList.length,d=this.playingAsset;if(this.endedAsset=null,this.playingAsset=l,(d==null?void 0:d.identifier)!==c){if(d)this.clearAssetPlayer(d.identifier,s[i]),delete d.error;this.log(`INTERSTITIAL_ASSET_STARTED ${n+1}/${f} ${Yc(l)}`),this.hls.trigger(Z.INTERSTITIAL_ASSET_STARTED,{asset:l,assetListIndex:n,event:a,schedule:s.slice(0),scheduleIndex:i,player:e})}this.bufferAssetPlayer(e,r)}bufferAssetPlayer(e,n){var s;if(!this.schedule)return;let{interstitial:i,assetItem:r}=e,a=this.getEventItem(i.identifier);if(!a)return;if(e.loadSource(),this.setBufferingItem(a),this.bufferingAsset=r,e.bufferedInPlaceToEnd(this.primaryMedia,e.currentTime)){this.advanceAssetBuffering(a,r);return}let l=this.getBufferingPlayer();if(l===e)return;let c=i.appendInPlace;if(c&&(l==null?void 0:l.interstitial.appendInPlace)===!1)return;let f=(l==null?void 0:l.tracks)||((s=this.detachedData)==null?void 0:s.tracks)||this.requiredTracks;if(c&&r!==this.playingAsset){if(!e.tracks){this.log(`Waiting for track info before buffering ${e}`);return}if(f&&!e9(f,e.tracks)){let d=Error(`Asset ${Yc(r)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(f)}')`),g={fatal:!0,type:Dt.OTHER_ERROR,details:Le.INTERSTITIAL_ASSET_ITEM_ERROR,error:d},b=i.findAssetIndex(r);this.handleAssetItemError(g,i,this.findEventIndex(i.identifier),b,d.message);return}}this.transferMediaTo(e,n)}handleInPlaceStall(e){let n=this.schedule,s=this.primaryMedia;if(!n||!s)return;let i=s.currentTime,r=n.findAssetIndex(e,i),a=e.assetList[r];if(a){let l=this.getAssetPlayer(a.identifier);if(l){let c=l.currentTime||i-a.timelineStart,f=l.duration-c;if(this.warn(`Stalled at ${c} of ${c+f} in ${l} ${e} (media.currentTime: ${i})`),c&&(f/s.playbackRate<0.5||l.bufferedInPlaceToEnd(s,l.currentTime))&&l.hls){let d=n.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,d,r)}}}}advanceInPlace(e){let n=this.primaryMedia;if(n&&n.currentTime<e){let s=`advance currentTime to ${e}, duration: ${n.duration}`;if(n.duration>e)this.log(s),n.currentTime=e;else this.log(`Cannot ${s}`)}}handleAssetItemError(e,n,s,i,r){if(e.details===Le.BUFFER_STALLED_ERROR)return;let a=n.assetList[i]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${a?Yc(a):a} ${e.error}`),!this.schedule)return;let l=(a==null?void 0:a.identifier)||"",c=this.getAssetPlayerQueueIndex(l),f=this.playerQueue[c]||null,d=this.schedule.items,g=Hn({},e,{fatal:!1,errorAction:bh(!0),asset:a,assetListIndex:i,event:n,schedule:d,scheduleIndex:s,player:f});if(this.hls.trigger(Z.INTERSTITIAL_ASSET_ERROR,g),!e.fatal)return;let b=this.playingAsset,y=this.bufferingAsset,v=Error(r);if(a)this.clearAssetPlayer(l,null),a.error=v;if(!n.assetList.some((x)=>!x.error))n.error=v;else for(let x=i;x<n.assetList.length;x++)this.resetAssetPlayer(n.assetList[x].identifier);if(this.updateSchedule(!0),n.error)this.primaryFallback(n);else if((b==null?void 0:b.identifier)===l)this.advanceAfterAssetEnded(n,s,i);else if((y==null?void 0:y.identifier)===l&&this.isInterstitial(this.bufferingItem))this.advanceAssetBuffering(this.bufferingItem,y)}primaryFallback(e){let n=e.timelineStart,s=this.effectivePlayingItem,i=this.playingItem,r=this.seekableStart,a=this.hls.startPosition,l=this.timelinePos;if(this.isInterstitial(s)){if(this.log(`Fallback to primary from event "${e.identifier}" start: ${n} pos: ${l} playing: ${dr(s)} startPosition: ${a} seekableStart: ${r} error: ${e.error}`),l===-1)l=a;l=Math.max(l,r);let f=this.updateItem(s,l);if(this.itemsMatch(s,f))this.clearInterstitial(e,null);if(e.appendInPlace)this.attachPrimary(n,null),this.flushFrontBuffer(n)}else if(l===-1){this.checkStart();return}if(!this.schedule)return;if(!this.isInterstitial(i))return;let c=this.schedule.findItemIndexAtTime(l);this.setSchedulePosition(c)}onAssetListLoaded(e,n){var s,i;let r=n.event,a=r.identifier,l=n.assetListResponse.ASSETS;if(!((s=this.schedule)!=null&&s.hasEvent(a)))return;let{timelineStart:c,duration:f}=r,d=0;l.forEach((v,x)=>{let T=parseFloat(v.DURATION);this.createAsset(r,x,d,c+d,T,v.URI),d+=T}),r.duration=d,this.log(`Loaded asset-list with duration: ${d} (was: ${f}) ${r}`);let g=this.waitingItem,b=(g==null?void 0:g.event.identifier)===a;this.updateSchedule();let y=(i=this.bufferingItem)==null?void 0:i.event;if(b){let v=this.findEventIndex(a),x=this.getEventItem(a);if(x){if(!this.playingItem&&this.timelinePos>x.end){if(this.schedule.findItemIndexAtTime(this.timelinePos)!==v){r.error=Error(`Interstitial ${l.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${r}`),this.log(r.error.message),this.updateSchedule(!0),this.primaryFallback(r);return}}this.setBufferingItem(x)}this.setSchedulePosition(v)}else if((y==null?void 0:y.identifier)===a){let v=r.assetList[0];if(v){let x=this.getAssetPlayer(v.identifier);if(y.appendInPlace){let T=this.primaryMedia;if(x&&T)this.bufferAssetPlayer(x,T)}else if(x)x.loadSource()}}}onError(e,n){if(!this.schedule)return;switch(n.details){case Le.ASSET_LIST_PARSING_ERROR:case Le.ASSET_LIST_LOAD_ERROR:case Le.ASSET_LIST_LOAD_TIMEOUT:{let s=n.interstitial;if(s)this.updateSchedule(!0),this.primaryFallback(s);break}case Le.BUFFER_STALLED_ERROR:{let s=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(s)&&s.event.appendInPlace){this.handleInPlaceStall(s.event);return}let i=this.primaryMedia;this.log(`Primary player stall @${this.timelinePos} currentTime: ${i==null?void 0:i.currentTime} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0);break}}}}class kv{constructor(e){this.hls=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{var n;let{media:s}=this,i=this.levelDetails;if(!s||!i||!this.hls)return;this.currentTime=s.currentTime;let r=this.hls.config,a=this.computeLatency();if(a===null)return;this._latency=a;let{lowLatencyMode:l,maxLiveSyncPlaybackRate:c}=r;if(!l||c===1||!i.live)return;let f=this.targetLatency;if(f===null)return;let d=a-f,g=Math.min(this.maxLatency,f+i.targetduration),b=d<g,y=l0(r)&&!!((n=this.hls.interstitialsManager)!=null&&(n=n.playingItem)!=null&&n.event);if(b&&d>0.05&&this.forwardBufferLength>1&&!y){let v=Math.min(2,Math.max(1,c)),x=Math.round(2/(1+Math.exp(-0.75*d-this.edgeStalled))*20)/20,T=Math.min(v,Math.max(1,x));this.changeMediaPlaybackRate(s,T)}else if(s.playbackRate!==1&&s.playbackRate!==0)this.changeMediaPlaybackRate(s,1)},this.hls=e,this.registerListeners()}get levelDetails(){var e;return((e=this.hls)==null?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){var e;let n=(e=this.hls)==null?void 0:e.config;if(!n)return 0;if(n.liveMaxLatencyDuration!==void 0)return n.liveMaxLatencyDuration;let s=this.levelDetails;return s?n.liveMaxLatencyDurationCount*s.targetduration:0}get targetLatency(){let e=this.levelDetails;if(e===null||!this.hls)return null;let n=this.hls.config,{holdBack:s,partHoldBack:i,targetduration:r}=e,{liveSyncDuration:a,liveSyncDurationCount:l,lowLatencyMode:c}=n,f=this.hls.userConfig,d=c?i||s:s;if(this._targetLatencyUpdated||f.liveSyncDuration||f.liveSyncDurationCount||d===0)d=a!==void 0?a:l*r;let g=r;return d+Math.min(this.stallCount*n.liveSyncOnStallIncrease,g)}set targetLatency(e){if(!this.hls)return;this.stallCount=0,this.hls.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){let e=this.estimateLiveEdge(),n=this.targetLatency;if(e===null||n===null||!this.hls)return null;let s=this.levelDetails;if(s===null)return null;let i=s.edge,r=e-n-this.edgeStalled,a=i-s.totalduration,l=i-(this.hls.config.lowLatencyMode&&s.partTarget||s.targetduration);return Math.min(Math.max(a,r),l)}get drift(){let e=this.levelDetails;if(e===null)return 1;return e.drift}get edgeStalled(){let e=this.levelDetails;if(e===null||!this.hls)return 0;let n=(this.hls.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-n,0)}get forwardBufferLength(){let{media:e}=this,n=this.levelDetails;if(!e||!n)return 0;let s=e.buffered.length;return(s?e.buffered.end(s-1):n.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){let{hls:e}=this;if(!e)return;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.ERROR,this.onError,this),e.on(Z.INTERSTITIAL_ASSET_STARTED,this.onAssetStarted,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.ERROR,this.onError,this),e.off(Z.INTERSTITIAL_ASSET_STARTED,this.onAssetStarted,this)}onMediaAttached(e,n){this.media=n.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){if(this.media)this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:n}){if(n.advanced)this.onTimeupdate();if(!n.live&&this.media)this.media.removeEventListener("timeupdate",this.onTimeupdate)}onAssetStarted(e,n){var s;let i=this.hls,r=this.media||n.event.appendInPlace&&(i==null||(s=i.interstitialsManager)==null?void 0:s.playerQueue.reduce((a,l)=>a||l.media,null));if(i&&r&&r.playbackRate>1&&r.playbackRate<=i.config.maxLiveSyncPlaybackRate)this.changeMediaPlaybackRate(r,1)}onError(e,n){var s;if(n.details!==Le.BUFFER_STALLED_ERROR)return;if(this.stallCount++,this.hls&&(s=this.levelDetails)!=null&&s.live)this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency")}changeMediaPlaybackRate(e,n){var s,i;if(e.playbackRate===n)return;(s=this.hls)==null||s.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(i=this.targetLatency)==null?void 0:i.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${n}`),e.playbackRate=n}estimateLiveEdge(){let e=this.levelDetails;if(e===null)return null;return e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();if(e===null)return null;return e-this.currentTime}}var z3=500;class xv extends y0{constructor(e,n,s){super(e,n,s,"subtitle-stream-controller",Ct.SUBTITLE);this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Z.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Z.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,n){this.stopLoad(),this.state=Ve.IDLE,this.setInterval(z3),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,n){this.tracksBuffered=[],super.onMediaDetaching(e,n)}onLevelLoaded(e,n){this.mainDetails=n.details}onSubtitleFragProcessed(e,n){let{frag:s,part:i,success:r}=n;if(!r)return;let a=this.tracksBuffered[this.currentTrackId];if(!a)return;let l,c=(i||s).start;for(let d=0;d<a.length;d++)if(c>=a[d].start&&c<=a[d].end){l=a[d];break}let f=c+(i||s).duration;if(l)l.end=f;else l={start:c,end:f},a.push(l);if(!i||f>=s.end){let d=this.fragmentTracker.fragBuffered(s);if(i&&d)d.range.subs={time:[{startPTS:s.start,endPTS:f}],partial:!0};if(Fs(s)&&!this.fragContextChanged(s))this.fragPrevious=s;if(this.fragBufferedComplete(s,i),this.media)this.tickImmediate()}}onBufferFlushing(e,n){let{startOffset:s,endOffset:i}=n;if(s===0&&i!==Number.POSITIVE_INFINITY){let r=i-1;if(r<=0)return;n.endOffsetSubtitles=Math.max(0,r),this.tracksBuffered.forEach((a)=>{if(!a)return;for(let l=0;l<a.length;){if(a[l].end<=r){a.shift();continue}else if(a[l].start<r)a[l].start=r;else break;l++}}),this.fragmentTracker.removeFragmentsInRange(s,r,Ct.SUBTITLE)}}onError(e,n){let s=n.frag;if((s==null?void 0:s.type)===Ct.SUBTITLE){if(n.details===Le.FRAG_GAP)this.fragmentTracker.addAsGap(s);if(this.fragCurrent)this.fragCurrent.abortRequests();if(this.state!==Ve.STOPPED)this.state=Ve.IDLE}}onSubtitleTracksUpdated(e,{subtitleTracks:n}){if(this.levels&&A6(this.levels,n)){this.levels=n.map((s)=>new tf(s));return}this.tracksBuffered=[],this.levels=n.map((s)=>{let i=new tf(s);return this.tracksBuffered[i.id]=[],i}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,Ct.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,n){var s;if(this.currentTrackId=n.id,this.abortCurrentFrag(),!((s=this.levels)!=null&&s.length)||this.currentTrackId===-1){this.clearInterval();return}let i=this.levels[this.currentTrackId];if(!(i!=null&&i.details)){this.mediaBuffer=null;return}if(this.mediaBuffer=this.mediaBufferTimeRanges,this.state!==Ve.STOPPED)this.setInterval(z3)}onSubtitleTrackLoaded(e,n){var s;let{currentTrackId:i,levels:r}=this,{details:a,id:l}=n;if(!r){this.warn(`Subtitle tracks were reset while loading level ${l}`);return}let c=r[l];if(l>=r.length||!c)return;this.log(`Subtitle track ${l} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let f=this.mainDetails,d=0;if(a.live||(s=c.details)!=null&&s.live){if(a.deltaUpdateFailed)return;if(!f){this.startFragRequested=!1;return}if(c.details){var g;d=this.alignPlaylists(a,c.details,(g=this.levelLastLoaded)==null?void 0:g.details)}if(!a.alignedSliding)a0(f,a,this),d=a.fragmentStart}if(c.details=a,this.levelLastLoaded=c,f&&!this.startFragRequested)this.setStartPosition(f,d);if(l!==i)return;this.hls.trigger(Z.SUBTITLE_TRACK_UPDATED,{details:a,id:l,groupId:n.groupId}),this.tickImmediate()}_handleFragmentLoadProgress(e){let{frag:n,part:s,payload:i}=e;if(!s||!(i!=null&&i.byteLength)||!this.shouldDecrypt(n))return;this.decryptPayload(i,n,s)}_handleFragmentLoadComplete(e){let{frag:n,payload:s}=e;if(this.fragContextChanged(n)||!(s!=null&&s.byteLength)||!this.shouldDecrypt(n))return;this.decryptPayload(s,n,null)}shouldDecrypt(e){let n=e.decryptdata;return!!(n!=null&&n.key&&n.iv&&Qc(n.method))}decryptPayload(e,n,s){let i=n.decryptdata,r=performance.now();this.decrypter.decrypt(new Uint8Array(e),i.key.buffer,i.iv.buffer,M1(i.method)).then((a)=>{if(this.fragContextChanged(n))return;this.hls.trigger(Z.FRAG_DECRYPTED,{frag:n,part:s,payload:a,stats:{tstart:r,tdecrypt:performance.now()}})}).catch((a)=>{if(this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.FRAG_DECRYPT_ERROR,fatal:!1,error:a,reason:a.message,frag:n,part:s}),!s)this.warn(`${a.name}: ${a.message}`),this.state=Ve.IDLE})}doTick(){if(this.state===Ve.IDLE&&this.levels){var e;if(!this.media&&!this.primaryPrefetch&&(this.startFragRequested||!this.config.startFragPrefetch))return;let{currentTrackId:s,levels:i}=this,r=i[s],a=r==null?void 0:r.details;if(!a||this.waitForLive(r)||this.waitForCdnTuneIn(a)){this.startFragRequested=!1;return}let{config:l}=this,c=this.playhead,f=Ot.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],c,l.maxBufferHole),{end:d,len:g}=f,b=Math.max(this.hls.maxBufferLength+a.levelTargetDuration,((e=this.hls.mainForwardBufferInfo)==null?void 0:e.len)||0);if(g>b||g&&!this.buffering)return;let y=this.getNextFragment(d,a);if(!y)return;if(Fs(y)){var n;let v=y.sn-a.startSN,x=a.fragments[v-1];if(y.cc===(x==null?void 0:x.cc)&&!((n=a.partList)!=null&&n.length)&&this.fragmentTracker.getState(x)===Ts.NOT_LOADED)y=x}this.loadFragment(y,r,d)}}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(i===Ts.NOT_LOADED||i===Ts.PARTIAL)super.loadFragment(e,n,s)}get mediaBufferTimeRanges(){return new Av(this.tracksBuffered[this.currentTrackId]||[])}}class Av{constructor(e){this.buffered=void 0;let n=(s,i,r)=>{if(i=i>>>0,i>r-1)throw new DOMException(`Failed to execute '${s}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${r})`);return e[i][s]};this.buffered={get length(){return e.length},end(s){return n("end",s,e.length)},start(s){return n("start",s,e.length)}}}}var L_={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},Tv=(e)=>String.fromCharCode(L_[e]||e),aa=15,ra=42,O_={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},P_={17:2,18:4,21:6,22:8,23:10,19:13,20:15},N_={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},B_={25:2,26:4,29:6,30:8,31:10,27:13,28:15},H_=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class Ev{constructor(){this.time=null,this.verboseLevel=0}log(e,n){if(this.verboseLevel>=e){let s=typeof n==="function"?n():n;In.log(`${this.time} [${e}] ${s}`)}}}var $l=function(n){let s=[];for(let i=0;i<n.length;i++)s.push(n[i].toString(16));return s},w1=Object.freeze({foreground:"white",underline:!1,italics:!1,background:"black",flash:!1});class nb{constructor(){this.styles=w1}get foreground(){return this.styles.foreground}set foreground(e){let n=this.styles;this.styles={foreground:e,underline:n.underline,italics:n.italics,background:n.background,flash:n.flash}}get underline(){return this.styles.underline}set underline(e){let n=this.styles;this.styles={foreground:n.foreground,underline:e,italics:n.italics,background:n.background,flash:n.flash}}get italics(){return this.styles.italics}set italics(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:e,background:n.background,flash:n.flash}}get background(){return this.styles.background}set background(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:n.italics,background:e,flash:n.flash}}get flash(){return this.styles.flash}set flash(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:n.italics,background:n.background,flash:e}}reset(){this.styles=w1}setStyles(e){let n=this.styles,s=Object.prototype.hasOwnProperty;this.styles={foreground:s.call(e,"foreground")?e.foreground:n.foreground,underline:s.call(e,"underline")?e.underline:n.underline,italics:s.call(e,"italics")?e.italics:n.italics,background:s.call(e,"background")?e.background:n.background,flash:s.call(e,"flash")?e.flash:n.flash}}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class Cv{constructor(){this.uchar=" ",this.penState=new nb}reset(){this.uchar=" ",this.penState.reset()}setChar(e,n){this.uchar=e,this.penState.styles=n.styles}setPenState(e){this.penState.styles=e.styles}copy(e){this.uchar=e.uchar,this.penState.styles=e.penState.styles}}class jv{constructor(e){this.chars=[],this.pos=0,this.currPenState=new nb,this.cueStartTime=null,this.logger=void 0;for(let n=0;n<ra;n++)this.chars.push(new Cv);this.logger=e}equals(e){let n=this.chars,s=e.chars;for(let i=0;i<ra;i++){let r=n[i],a=s[i];if(r.uchar!==a.uchar)return!1;let l=r.penState.styles,c=a.penState.styles;if(l!==c&&(l.foreground!==c.foreground||l.underline!==c.underline||l.italics!==c.italics||l.background!==c.background||l.flash!==c.flash))return!1}return!0}copy(e){for(let n=0;n<ra;n++)this.chars[n].copy(e.chars[n])}isEmpty(){let e=this.chars;for(let n=0;n<ra;n++){let s=e[n];if(s.uchar!==" ")return!1;let i=s.penState.styles;if(i!==w1&&(i.foreground!=="white"||i.underline||i.italics||i.background!=="black"||i.flash))return!1}return!0}setCursor(e){if(this.pos!==e)this.pos=e;if(this.pos<0)this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0;else if(this.pos>=ra)this.logger.log(3,"Too large cursor position "+this.pos),this.pos=ra-1}moveCursor(e){let n=Math.min(this.pos+e,ra);if(e>1)for(let s=this.pos+1;s<n;s++)this.chars[s].setPenState(this.currPenState);this.setCursor(n)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){if(e>=144)this.backSpace();let n=Tv(e);if(this.pos>=ra){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+n+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(n,this.currPenState),this.moveCursor(1)}clearFromPos(e){let n;for(n=e;n<ra;n++)this.chars[n].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],n=!0;for(let s=0;s<ra;s++){let i=this.chars[s].uchar;if(i!==" ")n=!1;e.push(i)}if(n)return"";else return e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class Qd{constructor(e){this.rows=[],this.currRow=aa-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let n=0;n<aa;n++)this.rows.push(new jv(e));this.logger=e}reset(){for(let e=0;e<aa;e++)this.rows[e].clear();this.currRow=aa-1}equals(e){let n=!0;for(let s=0;s<aa;s++)if(!this.rows[s].equals(e.rows[s])){n=!1;break}return n}copy(e){for(let n=0;n<aa;n++){let s=this.rows[n].chars,i=e.rows[n].chars;for(let r=0;r<ra;r++){let a=s[r],l=i[r];a.uchar=l.uchar,a.penState.styles=l.penState.styles}}}isEmpty(){let e=!0;for(let n=0;n<aa;n++)if(!this.rows[n].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+cs(e));let n=e.row-1;if(this.nrRollUpRows&&n<this.nrRollUpRows-1)n=this.nrRollUpRows-1;if(this.nrRollUpRows&&this.currRow!==n){for(let l=0;l<aa;l++)this.rows[l].clear();let r=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let l=a.rows[r].cueStartTime,c=this.logger.time;if(l!==null&&c!==null&&l<c)for(let f=0;f<this.nrRollUpRows;f++)this.rows[n-this.nrRollUpRows+f+1].copy(a.rows[r+f])}}this.currRow=n;let s=this.rows[this.currRow];if(e.indent!==null){let r=e.indent,a=Math.max(r-1,0);s.setCursor(e.indent),e.color=s.chars[a].penState.foreground}let i={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(i)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+cs(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,n=this.rows.splice(e,1)[0];n.clear(),this.rows.splice(this.currRow,0,n),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let n=[],s="",i=-1;for(let r=0;r<aa;r++){let a=this.rows[r].getTextString();if(a)if(i=r+1,e)n.push("Row "+i+": '"+a+"'");else n.push(a.trim())}if(n.length>0)if(e)s="["+n.join(" | ")+"]";else s=n.join(`
53
- `);return s}getTextAndFormat(){return this.rows}}class _v{constructor(e,n,s){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=n,this.mode=null,this.verbose=0,this.displayedMemory=new Qd(s),this.nonDisplayedMemory=new Qd(s),this.lastOutputScreen=new Qd(s),this.currRollUpRow=this.displayedMemory.rows[aa-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=s}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[aa-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){if(e===this.mode)return;if(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON")this.writeScreen=this.nonDisplayedMemory;else this.writeScreen=this.displayedMemory,this.writeScreen.reset();if(this.mode!=="MODE_ROLL-UP")this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null;this.mode=e}insertChars(e){for(let s=0;s<e.length;s++)this.writeScreen.insertChar(e[s]);let n=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";if(this.logger.log(2,()=>n+": "+this.writeScreen.getDisplayText(!0)),this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate()}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){if(this.logger.log(2,"BS - BackSpace"),this.mode==="MODE_TEXT")return;if(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory)this.outputDataUpdate()}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let n={flash:!1};if(n.underline=e%2===1,n.italics=e>=46,!n.italics){let s=Math.floor(e/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];n.foreground=i[s]}else n.foreground="white";this.logger.log(2,"MIDROW: "+cs(n)),this.writeScreen.setPen(n)}outputDataUpdate(e=!1){let n=this.logger.time;if(n===null)return;if(this.outputFilter){if(this.cueStartTime===null&&!this.displayedMemory.isEmpty())this.cueStartTime=n;else if(!this.displayedMemory.equals(this.lastOutputScreen)){if(this.outputFilter.newCue(this.cueStartTime,n,this.lastOutputScreen),e&&this.outputFilter.dispatchCue)this.outputFilter.dispatchCue();this.cueStartTime=this.displayedMemory.isEmpty()?null:n}this.lastOutputScreen.copy(this.displayedMemory)}}cueSplitAtTime(e){if(this.outputFilter){if(!this.displayedMemory.isEmpty()){if(this.outputFilter.newCue)this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory);this.cueStartTime=e}}}}class y1{constructor(e,n,s){this.channels=[null,null,null],this.currentChannel=0,this.cmdHistory=z_(),this.logger=void 0,this.field=void 0,this.outputFilters=void 0,this.logger=new Ev,this.field=e,this.outputFilters=[null,n,s]}getHandler(e){return this.outputFilters[e]}setHandler(e,n){var s;this.outputFilters[e]=n,(s=this.channels[e])==null||s.setHandler(n)}getChannel(e){let n=this.channels[e];if(!n)n=this.channels[e]=new _v(this.field+e-1,this.outputFilters[e],this.logger);return n}addData(e,n){this.logger.time=e;for(let s=0;s<n.length;s+=2){let i=n[s]&127,r=n[s+1]&127,a=!1,l=null;if(i===0&&r===0)continue;else this.logger.log(3,()=>"["+$l([n[s],n[s+1]])+"] -> ("+$l([i,r])+")");let c=this.cmdHistory;if(i>=16&&i<=31){if(U_(i,r,c)){zd(null,null,c),this.logger.log(3,()=>"Repeated command ("+$l([i,r])+") is dropped");continue}if(zd(i,r,this.cmdHistory),a=this.parseCmd(i,r),!a)a=this.parseMidrow(i,r);if(!a)a=this.parsePAC(i,r);if(!a)a=this.parseBackgroundAttributes(i,r)}else zd(null,null,c);if(!a){if(l=this.parseChars(i,r),l){let d=this.currentChannel;if(d&&d>0)this.getChannel(d).insertChars(l);else this.logger.log(2,"No channel found yet. TEXT-MODE?")}}if(!a&&!l)this.logger.log(2,()=>"Couldn't parse cleaned data "+$l([i,r])+" orig: "+$l([n[s],n[s+1]]))}}parseCmd(e,n){let s=(e===20||e===28||e===21||e===29)&&n>=32&&n<=47,i=(e===23||e===31)&&n>=33&&n<=35;if(!(s||i))return!1;let r=e===20||e===21||e===23?1:2,a=this.getChannel(r);if(e===20||e===21||e===28||e===29){if(n===32)a.ccRCL();else if(n===33)a.ccBS();else if(n===34)a.ccAOF();else if(n===35)a.ccAON();else if(n===36)a.ccDER();else if(n===37)a.ccRU(2);else if(n===38)a.ccRU(3);else if(n===39)a.ccRU(4);else if(n===40)a.ccFON();else if(n===41)a.ccRDC();else if(n===42)a.ccTR();else if(n===43)a.ccRTD();else if(n===44)a.ccEDM();else if(n===45)a.ccCR();else if(n===46)a.ccENM();else if(n===47)a.ccEOC()}else a.ccTO(n-32);return this.currentChannel=r,!0}parseMidrow(e,n){let s=0;if((e===17||e===25)&&n>=32&&n<=47){if(e===17)s=1;else s=2;if(s!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let i=this.channels[s];if(!i)return!1;return i.ccMIDROW(n),this.logger.log(3,()=>"MIDROW ("+$l([e,n])+")"),!0}return!1}parsePAC(e,n){let s,i=(e>=17&&e<=23||e>=25&&e<=31)&&n>=64&&n<=127,r=(e===16||e===24)&&n>=64&&n<=95;if(!(i||r))return!1;let a=e<=23?1:2;if(n>=64&&n<=95)s=a===1?O_[e]:N_[e];else s=a===1?P_[e]:B_[e];return this.getChannel(a).setPAC(this.interpretPAC(s,n)),this.currentChannel=a,!0}interpretPAC(e,n){let s,i={color:null,italics:!1,indent:null,underline:!1,row:e};if(n>95)s=n-96;else s=n-64;if(i.underline=(s&1)===1,s<=13)i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(s/2)];else if(s<=15)i.italics=!0,i.color="white";else i.indent=Math.floor((s-16)/2)*4;return i}parseChars(e,n){let s,i=null,r=null;if(e>=25)s=2,r=e-8;else s=1,r=e;if(r>=17&&r<=19){let a;if(r===17)a=n+80;else if(r===18)a=n+112;else a=n+144;this.logger.log(2,()=>"Special char '"+Tv(a)+"' in channel "+s),i=[a]}else if(e>=32&&e<=127)i=n===0?[e]:[e,n];if(i)this.logger.log(3,()=>"Char codes = "+$l(i).join(","));return i}parseBackgroundAttributes(e,n){let s=(e===16||e===24)&&n>=32&&n<=47,i=(e===23||e===31)&&n>=45&&n<=47;if(!(s||i))return!1;let r,a={};if(e===16||e===24){if(r=Math.floor((n-32)/2),a.background=H_[r],n%2===1)a.background=a.background+"_semi"}else if(n===45)a.background="transparent";else if(a.foreground="black",n===47)a.underline=!0;let l=e<=23?1:2;return this.getChannel(l).setBkgData(a),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let n=this.channels[e];if(n)n.reset()}zd(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let n=0;n<this.channels.length;n++){let s=this.channels[n];if(s)s.cueSplitAtTime(e)}}}function zd(e,n,s){s.a=e,s.b=n}function U_(e,n,s){return s.a===e&&s.b===n}function z_(){return{a:null,b:null}}class ph{constructor(e,n){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=n}dispatchCue(){if(this.startTime===null)return;this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null}newCue(e,n,s){if(this.startTime===null||this.startTime>e)this.startTime=e;this.endTime=n,this.screen=s,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class Iv{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.cueCache={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=G3(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.cueCache={},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(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this),e.on(Z.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(Z.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this),e.off(Z.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(Z.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){let e=new ph(this,"textTrack1"),n=new ph(this,"textTrack2"),s=new ph(this,"textTrack3"),i=new ph(this,"textTrack4");this.cea608Parser1=new y1(1,e,n),this.cea608Parser2=new y1(3,s,i)}addCues(e,n,s,i,r){let a=!1;for(let c=r.length;c--;){let f=r[c],d=G_(f[0],f[1],n,s);if(d>=0){if(f[0]=Math.min(f[0],n),f[1]=Math.max(f[1],s),a=!0,d/(s-n)>0.5)return}}if(!a)r.push([n,s]);if(this.config.renderTextTracksNatively){let c=this.cueCache[e];if(c){let f=this.Cues.newCue(null,n,s,i);if(f.length)c.push.apply(c,f)}else{let f=this.captionsTracks[e].track;this.Cues.newCue(f,n,s,i)}}else{var l;let c=this.Cues.newCue(null,n,s,i),f=(l=this.captionsProperties[e])==null?void 0:l.media;this.hls.trigger(Z.CUES_PARSED,{type:"captions",cues:c,track:e,closedCaptions:f})}}onInitPtsFound(e,{id:n,timestampOffsets:s}){let{unparsedVttFrags:i}=this;if(n===Ct.MAIN)this.initPTS=s;if(i.length)this.unparsedVttFrags=[],i.forEach((r)=>{if(this.initPTS[r.frag.cc])this.onFragLoaded(Z.FRAG_LOADED,r);else this.hls.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r.frag,part:null,error:Error("Subtitle discontinuity domain does not match main")})})}createCaptionsTrack(e){if(this.config.renderTextTracksNatively)this.createNativeTrack(e);else this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:n,captionsTracks:s,cueCache:i,media:r}=this,{label:a,languageCode:l}=n[e];if(r)i[e]=[],s[e]=Z1(r,"captions",a,l,"hidden")}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let n=this.captionsProperties[e];if(!n)return;let s=n.label,i={_id:e,label:s,kind:"captions",default:n.media?!!n.media.default:!1,closedCaptions:n.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(Z.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}onMediaAttaching(e,n){this.media=n.media}onMediaDetaching(e,n){let s=!!n.transferMedia;if(this.media=null,s)return;if(this.config.renderTextTracksNatively){let{captionsTracks:i,cueCache:r}=this;for(let a in i)i[a].remove(),delete r[a]}this.cueCache={},this.captionsTracks={},this.nonNativeCaptionsTracks={}}onManifestLoading(){if(this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=G3(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2)this.cea608Parser1.reset(),this.cea608Parser2.reset()}onSubtitleTracksUpdated(e,n){let s=n.subtitleTracks||[];if(s.length&&!this.config.renderTextTracksNatively&&!A6(this.tracks,s)){let i=s.map((r)=>({label:r.name,kind:r.type.toLowerCase(),default:r.default,subtitleTrack:r}));this.hls.trigger(Z.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:i})}this.tracks=s}onManifestLoaded(e,n){if(this.config.enableCEA708Captions&&n.captions)n.captions.forEach((s)=>{let i=/(?:CC|SERVICE)([1-4])/.exec(s.instreamId);if(!i)return;let r=`textTrack${i[1]}`,a=this.captionsProperties[r];if(!a)return;if(a.label=s.name,s.lang)a.languageCode=s.lang;a.media=s})}closedCaptionsForLevel(e){let n=this.hls.levels[e.level];return n==null?void 0:n.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,n){if(this.enabled&&n.frag.type===Ct.MAIN){var s,i;let{cea608Parser1:r,cea608Parser2:a,lastSn:l}=this,{cc:c,sn:f}=n.frag,d=(s=(i=n.part)==null?void 0:i.index)!=null?s:-1;if(r&&a){if(f!==l+1||f===l&&d!==this.lastPartIndex+1||c!==this.lastCc)r.reset(),a.reset()}this.lastCc=c,this.lastSn=f,this.lastPartIndex=d}}onFragLoaded(e,n){let{frag:s,payload:i}=n;if(s.level<this.tracks.length&&s.type===Ct.SUBTITLE){var r;if(i.byteLength||(r=s.initSegment)!=null&&(r=r.data)!=null&&r.byteLength){let a=s.decryptdata,l="stats"in n;if(a==null||!a.encrypted||l){let c=this.tracks[s.level],f=this.vttCCs;if(!f[s.cc])f[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc;if((c==null?void 0:c.textCodec)===m1)this._parseIMSC1(n);else this._parseVTTs(n)}}else{let a="part"in n?n.part:null;this.hls.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,part:a,error:Error("Empty subtitle payload")})}}}_parseIMSC1(e){let{frag:n,payload:s}=e,i="part"in e?e.part:null,r=this.hls;M3(s,this.initPTS[n.cc],(a)=>{this._appendCues(a,n.level),r.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:n,part:i})},(a)=>{r.logger.log(`Cannot parse IMSC1 (sn: ${n.sn} @${n.start}): ${a}`),r.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,part:i,error:a})})}_parseVTTs(e){var n;let{frag:s,payload:i}=e,r="part"in e?e.part:null,{initPTS:a,unparsedVttFrags:l}=this,c=a.length-1;if(!a[s.cc]&&c===-1){l.push(e);return}let f=this.hls,d=(n=s.initSegment)==null?void 0:n.data,g=d?qr(d,new Uint8Array(i)).buffer:i;l_(g,this.initPTS[s.cc],this.vttCCs,s.cc,(r&&!d?r:s).start,(b)=>{this._appendCues(b,s.level),f.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s,part:r})},(b)=>{let y=b.message.startsWith("Missing initPTS");if(f.logger.log(`${y?"Deferred parsing of":"Cannot parse"} VTT cue (sn: ${s.sn} @${s.start}): ${b}`),y){l.push(e);return}else if(this.config.enableIMSC1)this._fallbackToIMSC1(e);f.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,part:r,error:b})})}_fallbackToIMSC1(e){let{frag:n,payload:s}=e,i=this.tracks[n.level];if(!i.textCodec)M3(s,this.initPTS[n.cc],()=>{i.textCodec=m1,this._parseIMSC1(e)},()=>{i.textCodec="wvtt"})}_appendCues(e,n){let s=this.hls;if(this.config.renderTextTracksNatively){var i;let r=(i=this.tracks[n].trackNode)==null?void 0:i.track;if(!r||r.mode==="disabled")return;e.forEach((a)=>p1(r,a))}else{let r=this.tracks[n];if(!r)return;let a=r.default?"default":"subtitles"+n;s.trigger(Z.CUES_PARSED,{type:"subtitles",cues:e,track:a,subtitleTrack:r})}}onFragDecrypted(e,n){let{frag:s}=n;if(s.type===Ct.SUBTITLE)this.onFragLoaded(Z.FRAG_LOADED,n)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,n){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:s,samples:i}=n;if(s.type===Ct.MAIN&&this.closedCaptionsForLevel(s)==="NONE")return;for(let r=0;r<i.length;r++){let a=i[r].bytes;if(a){if(!this.cea608Parser1)this.initCea608Parsers();let l=this.extractCea608Data(a);this.cea608Parser1.addData(i[r].pts,l[0]),this.cea608Parser2.addData(i[r].pts,l[1])}}}onBufferAppended(e,n){if(this.config.renderTextTracksNatively){var s;let{type:i,timeRanges:r}=n;if(i==="video"&&(s=r[i])!=null&&s.length){let{captionsTracks:a,cueCache:l}=this;Object.keys(l).forEach((c)=>{var f;let d=(f=a[c])==null?void 0:f.track;if(d){let g=l[c];for(let b=0;b<g.length;b++)p1(d,g[b])}delete l[c]})}}}onBufferFlushing(e,n){let{startOffset:s,endOffset:i,endOffsetSubtitles:r,type:a}=n,{media:l}=this;if(!l||l.currentTime<i)return;if(!a||a==="video"){let{captionsTracks:c,cueCache:f}=this;Object.keys(c).forEach((d)=>g1(c[d].track,s,i)),Object.keys(f).forEach((d)=>{let g=f[d];for(let b=g.length;b--;){let y=g[b];if(y.startTime>=s&&y.endTime<=i)g.splice(b,1)}})}if(this.config.renderTextTracksNatively){if(s===0&&r!==void 0)this.tracks.forEach((c)=>{var f;let d=(f=c.trackNode)==null?void 0:f.track;if(d)g1(d,s,r)})}}extractCea608Data(e){let n=[[],[]],s=e[0]&31,i=2;for(let r=0;r<s;r++){let a=e[i++],l=127&e[i++],c=127&e[i++];if(l===0&&c===0)continue;if((4&a)!==0){let d=3&a;if(d===0||d===1)n[d].push(l),n[d].push(c)}}return n}}function G_(e,n,s,i){return Math.min(n,i)-Math.max(e,s)}function G3(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var V_=/\s/,$_={newCue(e,n,s,i){let r=[],a,l,c,f,d,g=self.VTTCue||self.TextTrackCue;for(let y=0;y<i.rows.length;y++)if(a=i.rows[y],c=!0,f=0,d="",!a.isEmpty()){var b;for(let T=0;T<a.chars.length;T++)if(V_.test(a.chars[T].uchar)&&c)f++;else d+=a.chars[T].uchar,c=!1;if(a.cueStartTime=n,n===s)s+=0.0001;if(f>=16)f--;else f++;let v=iv(d.trim()),x=J1(n,s,v);if(!(e!=null&&(b=e.cues)!=null&&b.getCueById(x)))l=new g(n,s,v),l.id=x,l.line=y+1,l.align="left",l.position=10+Math.min(80,Math.floor(f*8/32)*10),r.push(l)}if(e&&r.length)r.sort((y,v)=>{if(y.line==="auto"||v.line==="auto")return 0;if(y.line>8&&v.line>8)return v.line-y.line;return y.line-v.line}),r.forEach((y)=>p1(e,y));return r}};class sb{constructor(){this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=0,this.config=null,this.callbacks=null,this.context=null,this.stats=new d0}destroy(){this.callbacks=this.context=this.config=null,this.abortInternal(),this.stats=null}load(e,n,s){let i=this.stats;if(i.loading.start)throw Error("Loader can only be used once.");i.loading.start=self.performance.now(),this.context=e,this.config=n,this.callbacks=s,this.loadInternal()}abort(){var e;if(this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort)this.callbacks.onAbort(this.stats,this.context,this.getNetworkDetails())}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,n=this.stats.retry;if(Sh(e,n,!0))this.retry(e);else{var s;In.warn(`timeout while loading ${(s=this.context)==null?void 0:s.url}`);let i=this.callbacks;if(i)this.abortInternal(),i.onTimeout(this.stats,this.context,this.getNetworkDetails())}}retry(e){let{context:n,stats:s}=this;this.retryDelay=A1(e,s.retry),s.retry++,In.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${n==null?void 0:n.url}, retrying ${s.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.resetInternalLoader(),self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(()=>this.loadInternal(),this.retryDelay)}}function X_(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}var W_=/(\d+)-(\d+)\/(\d+)/;class v1 extends sb{constructor(e){super();this.fetchSetup=void 0,this.request=null,this.response=null,this.controller=null,this.fetchSetup=e.fetchSetup||J_}destroy(){this.request=null,super.destroy(),this.response=null,this.controller=null,this.fetchSetup=null}abortInternal(){if(self.clearTimeout(this.retryTimeout),this.controller&&!this.stats.loading.end)this.stats.aborted=!0,this.controller.abort()}getNetworkDetails(){return this.response}resetInternalLoader(){this.response=null}loadInternal(){let{config:e,context:n,stats:s}=this;if(!e||!n)return;s.loading.first=0,s.loaded=0,s.aborted=!1,this.controller=new self.AbortController;let i=K_(n,this.controller.signal),r=n.responseType==="arraybuffer",a=r?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:c}=e.loadPolicy;this.request=this.fetchSetup(n,i),self.clearTimeout(this.requestTimeout),e.timeout=l&&ct(l)?l:c,this.requestTimeout=self.setTimeout(()=>{this.loadtimeout()},e.timeout),(_h(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then((d)=>{var g;this.response=d;let b=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),e.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.loadtimeout()},c-(b-s.loading.start)),!d.ok){let{status:v,statusText:x}=d;throw new Rv(x||"fetch, bad network response",v,d)}s.loading.first=b,s.total=Q_(d.headers)||s.total;let y=(g=this.callbacks)==null?void 0:g.onProgress;if(y&&ct(e.highWaterMark))return this.loadProgressively(d,s,n,e.highWaterMark,y);if(r)return d.arrayBuffer();if(n.responseType==="json")return d.json();return d.text()}).then((d)=>{var g,b;let y=this.response;if(!y)throw Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let v=d[a];if(v)s.loaded=s.total=v;let x={url:y.url,data:d,code:y.status},T=(g=this.callbacks)==null?void 0:g.onProgress;if(T&&!ct(e.highWaterMark))T(s,n,d,y);(b=this.callbacks)==null||b.onSuccess(x,s,n,y)}).catch((d)=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let g=!d?0:d.code||0,b=!d?null:d.message,y=e.loadPolicy.errorRetry,v=s.retry,x={url:n.url,data:void 0,code:g};if(Sh(y,v,!1,x))this.retry(y);else{var T;In.error(`${g} while loading ${n.url}`),(T=this.callbacks)==null||T.onError({code:g,text:b},n,d?d.details:null,s)}})}getCacheAge(){let e=null;if(this.response){let n=this.response.headers.get("age");e=n?parseFloat(n):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,n,s,i=0,r){let a=new L1,l=e.body.getReader(),c=()=>l.read().then((f)=>{if(f.done){if(a.dataLength)r(n,s,a.flush().buffer,e);return Promise.resolve(new ArrayBuffer(0))}let d=f.value,g=d.length;if(n.loaded+=g,g<i||a.dataLength){if(a.push(d),a.dataLength>=i)r(n,s,a.flush().buffer,e)}else r(n,s,d.buffer,e);return c()}).catch(()=>Promise.reject());return c()}}function K_(e,n){let s={method:"GET",mode:"cors",credentials:"same-origin",signal:n,headers:new self.Headers(Hn({},e.headers))};if(e.rangeEnd)s.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1));return s}function Y_(e){let n=W_.exec(e);if(n)return parseInt(n[2])-parseInt(n[1])+1}function Q_(e){let n=e.get("Content-Range");if(n){let i=Y_(n);if(ct(i))return i}let s=e.get("Content-Length");if(s)return parseInt(s)}function J_(e,n){return new self.Request(e.url,n)}class Rv extends Error{constructor(e,n,s){super(e);this.code=void 0,this.details=void 0,this.code=n,this.details=s}}var Z_=(e,n,s)=>Math.max(n,Math.min(e,s)),eI=/^age:\s*[\d.]+\s*$/im;class ib extends sb{constructor(e){super();this.xhrSetup=void 0,this.loader=null,this.xhrSetup=e.xhrSetup||null}destroy(){super.destroy(),this.loader=null,this.xhrSetup=null}abortInternal(){let e=this.loader;if(self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e){if(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4)this.stats.aborted=!0,e.abort()}}getNetworkDetails(){return this.loader}resetInternalLoader(){this.loader=null}loadInternal(){let{config:e,context:n}=this;if(!e||!n)return;let s=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;let r=this.xhrSetup;if(r)Promise.resolve().then(()=>{if(this.loader!==s||this.stats.aborted)return;return r.call(this,s,n.url,n)}).catch((a)=>{if(this.loader!==s||this.stats.aborted)return;return s.open("GET",n.url,!0),r.call(this,s,n.url,n)}).then(()=>{if(this.loader!==s||this.stats.aborted)return;this.openAndSendXhr(s,n,e)}).catch((a)=>{var l;(l=this.callbacks)==null||l.onError({code:s.status,text:a.message},n,s,i);return});else this.openAndSendXhr(s,n,e)}openAndSendXhr(e,n,s){if(!e.readyState)e.open("GET",n.url,!0);let i=n.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:a}=s.loadPolicy;if(i)for(let l in i)e.setRequestHeader(l,i[l]);if(n.rangeEnd)e.setRequestHeader("Range",`bytes=${n.rangeStart}-${n.rangeEnd-1}`);e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=n.responseType,self.clearTimeout(this.requestTimeout),s.timeout=r&&ct(r)?r:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout),e.send()}readystatechange(){let{context:e,loader:n,stats:s}=this;if(!e||!n)return;let i=n.readyState,r=this.config;if(s.aborted)return;if(i>=2){if(s.loading.first===0){if(s.loading.first=Math.max(self.performance.now(),s.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs)self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(s.loading.first-s.loading.start))}if(i===4){self.clearTimeout(this.requestTimeout),n.onreadystatechange=null,n.onprogress=null;let f=n.status,d=n.responseType==="text"?n.responseText:null;if(f>=200&&f<300){let v=d!=null?d:n.response;if(v!=null){var a,l;s.loading.end=Math.max(self.performance.now(),s.loading.first);let x=n.responseType==="arraybuffer"?v.byteLength:v.length;s.loaded=s.total=x,s.bwEstimate=s.total*8000/(s.loading.end-s.loading.first);let T=(a=this.callbacks)==null?void 0:a.onProgress;if(T)T(s,e,v,n);let R={url:n.responseURL,data:v,code:f};if(e.rangeEnd&&x!==e.rangeEnd-e.rangeStart)In.warn(`Payload length ${x} does not match requested Range: bytes=${e.rangeStart}-${e.rangeEnd-1}`);(l=this.callbacks)==null||l.onSuccess(R,s,e,n);return}}let g=r.loadPolicy.errorRetry,b=s.retry,y={url:e.url,data:void 0,code:f};if(Sh(g,b,!1,y))this.retry(g);else{var c;In.error(`${f} while loading ${e.url}`),(c=this.callbacks)==null||c.onError({code:f,text:n.statusText},e,n,s)}}}}loadprogress(e){let n=this.stats;if(n.loaded=e.loaded,e.lengthComputable)n.total=e.total}getCacheAge(){let e=null;if(this.loader&&eI.test(this.loader.getAllResponseHeaders())){let n=this.loader.getResponseHeader("age");e=n?parseFloat(n):null}return e}getResponseHeader(e){if(this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders()))return this.loader.getResponseHeader(e);return null}}var tI={maxTimeToFirstByteMs:8000,maxLoadTimeMs:20000,timeoutRetry:null,errorRetry:null},sI=qt(qt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!1,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,loopBackBufferFlush:void 0,startOnSegmentBoundary:!1,nextAudioTrackBufferFlushForwardOffset:0.25,maxBufferSize:60000000,maxFragLookUpTolerance:0.25,maxBufferHole:0.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:0.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,skipBufferHolePadding:0.1,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveMaxUnchangedPlaylistRefresh: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:5000,fpsDroppedMonitoringThreshold:0.2,appendErrorMaxRetry:3,appendTimeout:1/0,ignorePlaylistParsingErrors:!1,loader:ib,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,handleMpegTsVideoIntegrityErrors:"process",abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:500000,abrEwmaDefaultEstimateMax:5000000,abrBandWidthFactor:0.95,abrBandWidthUpFactor:0.7,abrMaxWithRealBitrate:!1,abrSwitchInterval:0,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:U9,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,emsgKLVSchemaUri:void 0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,iframeCacheLimit:2097152,useMediaCapabilities:!0,preserveManualLevelOnError:!1,errorPenaltyExpireMs:0,certLoadPolicy:{default:tI},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8000,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:20000,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1000,maxRetryDelayMs:20000,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:8000}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1000,maxRetryDelayMs:8000}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:120000,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1000,maxRetryDelayMs:8000}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:8000}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:30000,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1000,maxRetryDelayMs:8000}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1000,manifestLoadingMaxRetryTimeout:64000,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1000,levelLoadingMaxRetryTimeout:64000,fragLoadingTimeOut:20000,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1000,fragLoadingMaxRetryTimeout:64000,streamController:eb,abrController:C9,bufferController:_6,capLevelController:G1,errorController:R9,fpsController:Z6,id3TrackController:hv,gapController:fv,latencyController:kv},iI()),{},{subtitleStreamController:xv,subtitleTrackController:cv,timelineController:Iv,audioStreamController:x6,audioTrackController:T6,emeController:Zc,cmcdController:K6,contentSteeringController:Y6,iframeController:pv,interstitialsController:Sv});function iI(){return{cueHandler:$_,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 rI(e,n,s){if((n.liveSyncDurationCount||n.liveMaxLatencyDurationCount)&&(n.liveSyncDuration||n.liveMaxLatencyDuration))throw Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(n.liveMaxLatencyDurationCount!==void 0&&(n.liveSyncDurationCount===void 0||n.liveMaxLatencyDurationCount<=n.liveSyncDurationCount))throw Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(n.liveMaxLatencyDuration!==void 0&&(n.liveSyncDuration===void 0||n.liveMaxLatencyDuration<=n.liveSyncDuration))throw Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');if(n.liveMaxUnchangedPlaylistRefresh!==void 0){let l=n.liveMaxUnchangedPlaylistRefresh,c=Z_(l,2,1/0);if(c!==l)s.warn(`hls.js config: "liveMaxUnchangedPlaylistRefresh" clamped from ${l} to ${c}.`);n.liveMaxUnchangedPlaylistRefresh=c}let i=S1(e),r=["manifest","level","frag"],a=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach((l)=>{let c=`${l==="level"?"playlist":l}LoadPolicy`,f=n[c]===void 0,d=[];if(a.forEach((g)=>{let b=`${l}Loading${g}`,y=n[b];if(y!==void 0&&f){d.push(b);let v=i[c].default;switch(n[c]={default:v},g){case"TimeOut":v.maxLoadTimeMs=y,v.maxTimeToFirstByteMs=y;break;case"MaxRetry":v.errorRetry.maxNumRetry=y,v.timeoutRetry.maxNumRetry=y;break;case"RetryDelay":v.errorRetry.retryDelayMs=y,v.timeoutRetry.retryDelayMs=y;break;case"MaxRetryTimeout":v.errorRetry.maxRetryDelayMs=y,v.timeoutRetry.maxRetryDelayMs=y;break}}}),d.length)s.warn(`hls.js config: "${d.join('", "')}" setting(s) are deprecated, use "${c}": ${cs(n[c])}`)}),qt(qt({},i),n)}function S1(e){if(e&&typeof e==="object"){if(Array.isArray(e))return e.map(S1);return Object.keys(e).reduce((n,s)=>(n[s]=S1(e[s]),n),{})}return e}function aI(e,n){let s=e.loader;if(s!==v1&&s!==ib)n.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1;else if(X_())e.loader=v1,e.progressive=!0,e.enableSoftwareAES=!0,n.log("[config]: Progressive streaming enabled, using FetchLoader")}class Dv extends S0{constructor(e,n){super(e,"level-controller");this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.lastABRSwitchTime=-1,this._iframeVariants=[],this.onParsedComplete=void 0,this.steering=n,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach((n)=>{n.loadError=0,n.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1,this._iframeVariants=[]}onManifestLoading(e,n){this.resetLevels()}onManifestLoaded(e,n){let s=this.hls.config.preferManagedMediaSource,i=[],r={},a={},l=!1,c=!1,f=!1,d=!1;n.levels.forEach((g)=>{let b=g.attrs,y=V3(g,s),{audioCodec:v,videoCodec:x,imageCodec:T,width:R,height:N}=g;if(!y){this.log(`Some or all CODECS not supported "${b.CODECS}"`);return}l||(l=!!(R&&N)),c||(c=!!x),f||(f=!!v),d||(d=!!T);let{CODECS:U,"FRAME-RATE":X,"HDCP-LEVEL":Y,"PATHWAY-ID":J,RESOLUTION:ee,"VIDEO-RANGE":te}=b,ie=`${`${J||"."}-`}${g.bitrate}-${ee}-${X}-${U}-${te}-${Y}`;if(!r[ie]){let se=this.createLevel(g);r[ie]=se,a[ie]=1,i.push(se)}else if(r[ie].uri!==g.url&&!g.attrs["PATHWAY-ID"]){let se=a[ie]+=1;g.attrs["PATHWAY-ID"]=Array(se+1).join(".");let ae=this.createLevel(g);r[ie]=ae,i.push(ae)}else if(!g.iframes)r[ie].addGroupId("audio",b.AUDIO),r[ie].addGroupId("text",b.SUBTITLES)}),this.filterAndSortMediaOptions(i,n,l,c,f,d)}createLevel(e){let n=new tf(e),s=e.supplemental;if(s!=null&&s.videoCodec&&!Mv(s.videoCodec,this.hls.config.preferManagedMediaSource)){let i=Error(`SUPPLEMENTAL-CODECS not supported "${s.videoCodec}"`);this.log(i.message),n.supportedResult=S9(i,[])}return n}filterAndSortMediaOptions(e,n,s,i,r,a){var l;let c=[],f=[],d=e,g=((l=n.stats)==null?void 0:l.parsing)||{},b=this.hls.config.preferManagedMediaSource;if((s||i)&&r)d=d.filter(({videoCodec:Y,videoRange:J,width:ee,height:te})=>(!!Y||!!(ee&&te))&&wE(J));if(i&&a)d=d.filter((Y)=>!Y.imageCodec);if(d.length===0){Promise.resolve().then(()=>{if(this.hls){let Y="no level with compatible codecs found in manifest",J=Y;if(n.levels.length)J=`one or more CODECS in variant not supported: ${cs(n.levels.map((te)=>te.attrs.CODECS).filter((te,ne,ie)=>ie.indexOf(te)===ne))}`,this.warn(J),Y+=` (${J})`;let ee=Error(Y);this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Le.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:n.url,error:ee,reason:J})}}),g.end=performance.now();return}if(n.audioTracks)c=n.audioTracks.filter((Y)=>!Y.audioCodec||qv(Y.audioCodec,b)),$3(c);if(n.subtitles)f=n.subtitles,$3(f);let y=d.slice(0);d.sort((Y,J)=>{if(Y.attrs["HDCP-LEVEL"]!==J.attrs["HDCP-LEVEL"])return(Y.attrs["HDCP-LEVEL"]||"")>(J.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&Y.height!==J.height)return Y.height-J.height;if(Y.frameRate!==J.frameRate)return Y.frameRate-J.frameRate;if(Y.videoRange!==J.videoRange)return t0.indexOf(Y.videoRange)-t0.indexOf(J.videoRange);if(Y.videoCodec!==J.videoCodec){let ee=D5(Y.videoCodec),te=D5(J.videoCodec);if(ee!==te)return te-ee}if(Y.uri===J.uri&&Y.codecSet!==J.codecSet){let ee=Zd(Y.codecSet),te=Zd(J.codecSet);if(ee!==te)return te-ee}if(Y.averageBitrate!==J.averageBitrate)return Y.averageBitrate-J.averageBitrate;return 0});let v=y[0];if(this.steering){if(d=this.steering.filterParsedLevels(d),d.length!==y.length){for(let Y=0;Y<y.length;Y++)if(y[Y].pathwayId===d[0].pathwayId){v=y[Y];break}}}this._levels=d;for(let Y=0;Y<d.length;Y++)if(d[Y]===v){var x;this._firstLevel=Y;let J=v.bitrate,ee=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${d.length} level(s) found, first bitrate: ${J}`),((x=this.hls.userConfig)==null?void 0:x.abrEwmaDefaultEstimate)===void 0){let te=Math.min(J,this.hls.config.abrEwmaDefaultEstimateMax);if(te>ee&&ee===this.hls.abrEwmaDefaultEstimate)this.hls.bandwidthEstimate=te}break}let T=n.iframeVariants.filter((Y)=>V3(Y,b));this._iframeVariants=T;let R=r&&!i,N=this.hls.config,U=!!(N.audioStreamController&&N.audioTrackController),X={levels:d,audioTracks:c,subtitleTracks:f,iframeVariants:T,sessionData:n.sessionData,sessionKeys:n.sessionKeys,firstLevel:this._firstLevel,stats:n.stats,audio:r,video:i,altAudio:U&&!R&&c.some((Y)=>!!Y.url)};g.end=performance.now(),this.hls.trigger(Z.MANIFEST_PARSED,X)}get iframeVariants(){if(this._iframeVariants.length===0)return null;return this._iframeVariants}get levels(){if(this._levels.length===0)return null;return this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){let n=this._levels;if(n.length===0)return;if(e<0||e>=n.length){let d=Error("invalid level idx"),g=e<0;if(this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.LEVEL_SWITCH_ERROR,level:e,fatal:g,error:d,reason:d.message}),g)return;e=Math.min(e,n.length-1)}let s=this.currentLevelIndex,i=this.currentLevel,r=i?i.attrs["PATHWAY-ID"]:void 0,a=n[e],l=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,s===e&&i&&r===l)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${l?" with Pathway "+l:""} from level ${s}${r?" with Pathway "+r:""}`);let c={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(Z.LEVEL_SWITCHING,c);let f=a.details;if(!f||f.live){let d=this.switchParams(a.uri,i==null?void 0:i.details,f);this.loadPlaylist(d)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){if(this.manualLevelIndex=e,this._startLevel===void 0)this._startLevel=e;if(e!==-1)this.level=e}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;if(e!==void 0)return e;return this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){if(this.steering)return this.steering.pathways();return[]}get pathwayPriority(){if(this.steering)return this.steering.pathwayPriority;return null}set pathwayPriority(e){if(this.steering){let n=this.steering.pathways(),s=e.filter((i)=>n.indexOf(i)!==-1);if(e.length<1){this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${n}`);return}this.steering.pathwayPriority=s}}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===fn.LEVEL&&n.context.level===this.level)this.checkRetry(n)}onFragBuffered(e,{frag:n}){if(n.type===Ct.MAIN){let s=n.elementaryStreams;if(!Object.keys(s).some((r)=>!!s[r]))return;let i=this._levels[n.level];if(i!=null&&i.loadError)this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0}}onLevelLoaded(e,n){var s;let{level:i,details:r}=n,a=n.levelInfo;if(!a){var l;if(this.warn(`Invalid level index ${i}`),(l=n.deliveryDirectives)!=null&&l.skip)r.deltaUpdateFailed=!0;return}if(a===this.currentLevel||n.withoutMultiVariant){if(a.fragmentError===0)a.loadError=0;let c=a.details;if(c===n.details&&c.advanced)c=void 0;this.playlistLoaded(i,n,c)}else if((s=n.deliveryDirectives)!=null&&s.skip)r.deltaUpdateFailed=!0}loadPlaylist(e){if(super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel))this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let s=this.getUrlWithDirectives(e.uri,n),i=this.currentLevelIndex,r=e.attrs["PATHWAY-ID"],a=e.details,l=a==null?void 0:a.age;this.log(`Loading level index ${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${r?" Pathway "+r:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${s}`),this.hls.trigger(Z.LEVEL_LOADING,{url:s,level:i,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:n||null})}get nextLoadLevel(){if(this.manualLevelIndex!==-1)return this.manualLevelIndex;else return this.hls.nextAutoLevel}set nextLoadLevel(e){let n=this.currentLevelIndex;if(this.manualLevelIndex===-1&&e!==n&&e!==-1){let i=this.hls.config.abrSwitchInterval;if(i>0){let r=performance.now(),a=r-this.lastABRSwitchTime,l=i*1000;if(this.lastABRSwitchTime>-1&&a<l){this.warn(`Preventing ABR level switch: ${n} -> ${e} (${Math.round(a)}ms < ${l}ms / ${i}s)`);return}this.lastABRSwitchTime=r,this.log(`Allowing ABR level switch: ${n} -> ${e} (${Math.round(a)}ms >= ${l}ms / ${i}s)`)}}if(this.level=e,this.manualLevelIndex===-1)this.hls.nextAutoLevel=e}removeLevel(e){var n;if(this._levels.length===1)return;let s=this._levels.filter((r,a)=>{if(a!==e)return!0;if(this.steering)this.steering.removeLevel(r);if(r===this.currentLevel){if(this.currentLevel=null,this.currentLevelIndex=-1,r.details)r.details.fragments.forEach((l)=>l.level=-1)}return!1});if(K9(s),this._levels=s,this.currentLevelIndex>-1&&(n=this.currentLevel)!=null&&n.details)this.currentLevelIndex=this.currentLevel.details.fragments[0].level;if(this.manualLevelIndex>-1)this.manualLevelIndex=this.currentLevelIndex;let i=s.length-1;if(this._firstLevel=Math.min(this._firstLevel,i),this._startLevel)this._startLevel=Math.min(this._startLevel,i);this.hls.trigger(Z.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(e,{levels:n}){this._levels=n}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:n,maxHdcpLevel:s}=this.hls;if(this._maxAutoLevel!==n)this._maxAutoLevel=n,this.hls.trigger(Z.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:n,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:s})}}function qv(e,n){return Th(e,"audio",n)}function Mv(e,n){return Th(e,"video",n)}function V3(e,n){let{audioCodec:s,videoCodec:i}=e;if(s)e.audioCodec=s=e0(s,n)||void 0;if(i)i=e.videoCodec=lE(i);let{unknownCodecs:r}=e;if((r==null?void 0:r.length)||0||s&&!qv(s,n)||i&&!Mv(i,n))return!1;return!0}function $3(e){let n={};e.forEach((s)=>{let i=s.groupId||"";s.id=n[i]=n[i]||0,n[i]++})}class Ov extends Yi{constructor(e,n){super("key-loader",n);this.config=void 0,this.keyLoaderInfo={},this.emeController=null,this.config=e}abort(e){for(let s in this.keyLoaderInfo){let i=this.keyLoaderInfo[s].loader;if(i){var n;if(e&&e!==((n=i.context)==null?void 0:n.frag.type))return;i.abort()}}}destroy(){for(let e in this.keyLoaderInfo){let n=this.keyLoaderInfo[e].loader;if(n)n.destroy()}this.emeController=null,this.keyLoaderInfo={}}loadClear(e,n,s){if(this.emeController)return this.emeController.loadClear(e,n,s);return null}load(e,n){if(!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled)return this.emeController.selectKeySystemFormat(e).then((s)=>this.loadInternal(e,n,s));return this.loadInternal(e,n)}loadInternal(e,n,s){if(s)e.setKeyFormat(s);let i=e.decryptdata;if(!i){let a=Error(s?`Expected frag.decryptdata to be defined after setting format ${s}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(sl(e,Le.KEY_LOAD_ERROR,a))}let r=e;switch(i.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":if(i.keyFormat==="identity")return this.loadKeyHTTP(r);return n?n.then(()=>this.loadKeyEME(r)):this.loadKeyEME(r);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(r);default:return Promise.reject(sl(e,Le.KEY_LOAD_ERROR,Error(`Key supplied with unsupported METHOD: "${i.method}"`)))}}loadKeyEME(e){if(this.emeController&&this.config.emeEnabled){var n;if(!e.decryptdata.keyId&&(n=e.initSegment)!=null&&n.data){let s=UT(e.initSegment.data);if(s.length){let i=s[0],r=e.decryptdata.uri;if(i.some((a)=>a!==0))this.log(`Using keyId found in init segment ${ni(i)} keyUri: ${r}`),So.setKeyIdForUri(r,i);else{let a=So.addKeyIdForUri(r);this.log(`Patching empty keyId with ${ni(a)} keyUri: ${r}`),i=a}e.decryptdata.keyId=i}}return this.emeController.loadKey(e).then(()=>({frag:e,keyInfo:{decryptdata:e.decryptdata}}))}return Promise.reject(sl(e,Le.KEY_LOAD_ERROR,Error(`emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`)))}loadKeyHTTP(e){let n=e.decryptdata,s=n.uri;if(!s)return Promise.reject(sl(e,Le.KEY_LOAD_ERROR,Error(`Invalid key URI: "${s}"`)));let i=this.keyLoaderInfo[s];if(i){if(i.decryptdata.key)return n.key=i.decryptdata.key,i.keyLoadPromise=null,Promise.resolve({frag:e,keyInfo:i});if(i.keyLoadPromise)return i.keyLoadPromise.then((f)=>(n.key=i.decryptdata.key,qt(qt({},f),{},{frag:e})))}this.log(`Loading${n.keyId?" keyId: "+ni(n.keyId):""} URI: ${n.uri} from ${e.type} ${e.level}`);let r=this.config,l=new r.loader(r);e.keyLoader=l;let c=this.keyLoaderInfo[s]={decryptdata:n,keyLoadPromise:null,loader:l};return c.keyLoadPromise=new Promise((f,d)=>{let g={type:fn.KEY,keyInfo:c,frag:e,responseType:"arraybuffer",url:s},b=r.keyLoadPolicy.default,y={loadPolicy:b,timeout:b.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},v={onSuccess:(x,T,R,N)=>{let{frag:U,keyInfo:X,url:Y}=R;if(!U.decryptdata||X!==this.keyLoaderInfo[Y])return d(sl(U,Le.KEY_LOAD_ERROR,Error("after key load, decryptdata unset or changed"),N));X.decryptdata.key=U.decryptdata.key=new Uint8Array(x.data),U.keyLoader=X.loader=X.keyLoadPromise=null,f({frag:U,keyInfo:X})},onError:(x,T,R,N)=>{this.resetLoader(T),d(sl(e,Le.KEY_LOAD_ERROR,Error(`HTTP Error ${x.code} loading key ${x.text}`),R,qt({url:s,data:void 0},x)))},onTimeout:(x,T,R)=>{this.resetLoader(T),d(sl(e,Le.KEY_LOAD_TIMEOUT,Error("key loading timed out"),R))},onAbort:(x,T,R)=>{this.resetLoader(T),d(sl(e,Le.INTERNAL_ABORTED,Error("key loading aborted"),R))}};l.load(g,y,v)})}resetLoader(e){let{frag:n,keyInfo:s,url:i}=e,r=s.loader;if(n.keyLoader===r)n.keyLoader=s.loader=s.keyLoadPromise=null;if(delete this.keyLoaderInfo[i],r)r.destroy()}}function sl(e,n=Le.KEY_LOAD_ERROR,s,i,r){return new oa({type:Dt.NETWORK_ERROR,details:n,fatal:!1,frag:e,response:r,error:s,networkDetails:i||null})}function X3(e){let{type:n}=e;switch(n){case fn.AUDIO_TRACK:return Ct.AUDIO;case fn.SUBTITLE_TRACK:return Ct.SUBTITLE;default:return Ct.MAIN}}function $g(e,n){let s=e.url;if(s===void 0||s.indexOf("data:")===0)s=n.url;return s}class Pv{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(Z.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(Z.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){let n=this.hls.config,{pLoader:s,loader:i}=n,a=new(s||i)(n);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){if(this.loaders[e])delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let n=this.loaders[e];if(n)n.destroy();this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,n){let{url:s}=n;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:fn.MANIFEST,url:s,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,n){let{id:s,level:i,pathwayId:r,url:a,deliveryDirectives:l,levelInfo:c}=n;this.load({id:s,level:i,pathwayId:r,responseType:"text",type:fn.LEVEL,url:a,deliveryDirectives:l,levelOrTrack:c})}onAudioTrackLoading(e,n){let{id:s,groupId:i,url:r,deliveryDirectives:a,track:l}=n;this.load({id:s,groupId:i,level:null,responseType:"text",type:fn.AUDIO_TRACK,url:r,deliveryDirectives:a,levelOrTrack:l})}onSubtitleTrackLoading(e,n){let{id:s,groupId:i,url:r,deliveryDirectives:a,track:l}=n;this.load({id:s,groupId:i,level:null,responseType:"text",type:fn.SUBTITLE_TRACK,url:r,deliveryDirectives:a,levelOrTrack:l})}onLevelsUpdated(e,n){let s=this.loaders[fn.LEVEL];if(s){let i=s.context;if(i&&!n.levels.some((r)=>r===i.levelOrTrack))s.abort(),delete this.loaders[fn.LEVEL]}}load(e){var n;let s=this.hls.config,i=this.getInternalLoader(e);if(i){let f=this.hls.logger,d=i.context;if((d==null?void 0:d.levelOrTrack)===e.levelOrTrack&&(d.url===e.url||d.deliveryDirectives&&!e.deliveryDirectives)){if(d.url===e.url)f.log(`[playlist-loader]: ignore ${e.url} ongoing request`);else f.log(`[playlist-loader]: ignore ${e.url} in favor of ${d.url}`);return}f.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),i.abort()}let r;if(e.type===fn.MANIFEST)r=s.manifestLoadPolicy.default;else r=Hn({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null});if(i=this.createInternalLoader(e),ct((n=e.deliveryDirectives)==null?void 0:n.part)){let f;if(e.type===fn.LEVEL&&e.level!==null)f=this.hls.levels[e.level].details;else if(e.type===fn.AUDIO_TRACK&&e.id!==null)f=this.hls.audioTracks[e.id].details;else if(e.type===fn.SUBTITLE_TRACK&&e.id!==null)f=this.hls.subtitleTracks[e.id].details;if(f){let d=f.partTarget,g=f.targetduration;if(d&&g){let b=Math.max(d*3,g*0.8)*1000;r=Hn({},r,{maxTimeToFirstByteMs:Math.min(b,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(b,r.maxTimeToFirstByteMs)})}}}let a=r.errorRetry||r.timeoutRetry||{},l={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},c={onSuccess:(f,d,g,b)=>{let y=this.getInternalLoader(g);this.resetInternalLoader(g.type);let v=f.data;if(d.parsing.start=performance.now(),Ma.isMediaPlaylist(v)||g.type!==fn.MANIFEST)this.handleTrackOrLevelPlaylist(f,d,g,b||null,y);else this.handleMasterPlaylist(f,d,g,b)},onError:(f,d,g,b)=>{this.handleNetworkError(d,g,!1,f,b)},onTimeout:(f,d,g)=>{this.handleNetworkError(d,g,!0,void 0,f)}};i.load(e,l,c)}checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:n},forceStartLoad:s}=this.hls;if(e||s)this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${n}`),this.hls.startLoad(n)}handleMasterPlaylist(e,n,s,i){let r=this.hls,a=e.data,l=$g(e,s),c=Ma.parseMasterPlaylist(a,l);if(c.playlistParsingError){n.parsing.end=performance.now(),this.handleManifestParsingError(e,s,c.playlistParsingError,i,n);return}let{contentSteering:f,levels:d,iframeVariants:g,sessionData:b,sessionKeys:y,startTimeOffset:v,variableList:x}=c;this.variableList=x,d.forEach((U)=>{let{unknownCodecs:X}=U;if(X){let{preferManagedMediaSource:Y}=this.hls.config,{audioCodec:J,videoCodec:ee}=U;for(let te=X.length;te--;){let ne=X[te];if(Th(ne,"audio",Y))U.audioCodec=J=J?`${J},${ne}`:ne,ef.audio[J.substring(0,4)]=2,X.splice(te,1);else if(Th(ne,"video",Y))U.videoCodec=ee=ee?`${ee},${ne}`:ne,ef.video[ee.substring(0,4)]=2,X.splice(te,1)}}});let{AUDIO:T=[],SUBTITLES:R,"CLOSED-CAPTIONS":N}=Ma.parseMasterPlaylistMedia(a,l,c);if(T.length){if(!T.some((X)=>!X.url)&&d[0].audioCodec&&!d[0].attrs.AUDIO)this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),T.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new ks({}),bitrate:0,url:""})}r.trigger(Z.MANIFEST_LOADED,{levels:d,audioTracks:T,subtitles:R,iframeVariants:g,captions:N,contentSteering:f,url:l,stats:n,networkDetails:i,sessionData:b,sessionKeys:y,startTimeOffset:v,variableList:x})}handleTrackOrLevelPlaylist(e,n,s,i,r){let a=this.hls,{id:l,level:c,type:f}=s,d=$g(e,s),g=ct(c)?c:ct(l)?l:0,b=X3(s),y=Ma.parseLevelPlaylist(e.data,d,g,b,0,this.variableList);if(f===fn.MANIFEST){let v={attrs:new ks({}),bitrate:0,details:y,name:"",url:d};y.requestScheduled=n.loading.start+$9(y,0),a.trigger(Z.MANIFEST_LOADED,{levels:[v],audioTracks:[],iframeVariants:[],url:d,stats:n,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}n.parsing.end=performance.now(),s.levelDetails=y,this.handlePlaylistLoaded(y,e,n,s,i,r)}handleManifestParsingError(e,n,s,i,r){this.hls.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Le.MANIFEST_PARSING_ERROR,fatal:n.type===fn.MANIFEST,url:e.url,err:s,error:s,reason:s.message,response:e,context:n,networkDetails:i,stats:r})}handleNetworkError(e,n,s=!1,i,r){let a=`A network ${s?"timeout":"error"+(i?" (status "+i.code+")":"")} occurred while loading ${e.type}`;if(e.type===fn.LEVEL)a+=`: ${e.level} id: ${e.id}`;else if(e.type===fn.AUDIO_TRACK||e.type===fn.SUBTITLE_TRACK)a+=` id: ${e.id} group-id: "${e.groupId}"`;let l=Error(a);this.hls.logger.warn(`[playlist-loader]: ${a}`);let c=Le.UNKNOWN,f=!1,d=this.getInternalLoader(e);switch(e.type){case fn.MANIFEST:c=s?Le.MANIFEST_LOAD_TIMEOUT:Le.MANIFEST_LOAD_ERROR,f=!0;break;case fn.LEVEL:c=s?Le.LEVEL_LOAD_TIMEOUT:Le.LEVEL_LOAD_ERROR,f=!1;break;case fn.AUDIO_TRACK:c=s?Le.AUDIO_TRACK_LOAD_TIMEOUT:Le.AUDIO_TRACK_LOAD_ERROR,f=!1;break;case fn.SUBTITLE_TRACK:c=s?Le.SUBTITLE_TRACK_LOAD_TIMEOUT:Le.SUBTITLE_LOAD_ERROR,f=!1;break}if(d)this.resetInternalLoader(e.type);let g={type:Dt.NETWORK_ERROR,details:c,fatal:f,url:e.url,loader:d,context:e,error:l,networkDetails:n,stats:r};if(i){let b=e.url;if(n&&"url"in n)b=n.url;g.response=qt({url:b,data:void 0},i)}this.hls.trigger(Z.ERROR,g)}handlePlaylistLoaded(e,n,s,i,r,a){let l=this.hls,{type:c,level:f,levelOrTrack:d,id:g,groupId:b,deliveryDirectives:y}=i,v=$g(n,i),x=X3(i),T=typeof i.level==="number"&&x===Ct.MAIN?f:void 0;if(d&&"iframes"in d&&d.iframes&&!e.iframesOnly)e.playlistParsingError=Error("EXT-X-I-FRAME-STREAM-INF media playlist MUST contain an EXT-X-I-FRAMES-ONLY tag"),e.iframesOnly=!0;let R=e.playlistParsingError;if(R){if(this.hls.logger.warn(`${R} ${e.url}`),!l.config.ignorePlaylistParsingErrors){l.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Le.LEVEL_PARSING_ERROR,fatal:!1,url:v,error:R,reason:R.message,response:n,context:i,level:T,parent:x,networkDetails:r,stats:s});return}e.playlistParsingError=null}if(!e.fragments.length){let N=e.playlistParsingError=Error("No Segments found in Playlist");l.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Le.LEVEL_EMPTY_ERROR,fatal:!1,url:v,error:N,reason:N.message,response:n,context:i,level:T,parent:x,networkDetails:r,stats:s});return}if(e.live&&a){if(a.getCacheAge)e.ageHeader=a.getCacheAge()||0;if(!a.getCacheAge||isNaN(e.ageHeader))e.ageHeader=0}switch(c){case fn.MANIFEST:case fn.LEVEL:if(T){if(!d)T=0;else if(d!==l.levels[T]){let N=l.levels.indexOf(d);if(N>-1)T=N}}l.trigger(Z.LEVEL_LOADED,{details:e,levelInfo:d||l.levels[0],level:T||0,id:g||0,stats:s,networkDetails:r,deliveryDirectives:y,withoutMultiVariant:c===fn.MANIFEST,context:i});break;case fn.AUDIO_TRACK:l.trigger(Z.AUDIO_TRACK_LOADED,{details:e,track:d,id:g||0,groupId:b||"",stats:s,networkDetails:r,deliveryDirectives:y,context:i});break;case fn.SUBTITLE_TRACK:l.trigger(Z.SUBTITLE_TRACK_LOADED,{details:e,track:d,id:g||0,groupId:b||"",stats:s,networkDetails:r,deliveryDirectives:y,context:i});break}}}class Zn{static get version(){return jh}static isMSESupported(){return dv()}static isSupported(){return v_()}static getMediaSource(){return ll()}static get Events(){return Z}static get MetadataSchema(){return Oi}static get ErrorTypes(){return Dt}static get ErrorDetails(){return Le}static get DefaultConfig(){if(!Zn.defaultConfig)return sI;return Zn.defaultConfig}static set DefaultConfig(e){Zn.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this._url=null,this.streamController=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new O1,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.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.iframeController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;let n=this.logger=pT(e.debug||!1,"Hls instance",e.loggerId||e.assetPlayerId),s=this.config=rI(Zn.DefaultConfig,e,n);if(this.userConfig=e,s.progressive)aI(s,n);let{streamController:i,abrController:r,bufferController:a,capLevelController:l,errorController:c,fpsController:f,id3TrackController:d,iframeController:g,gapController:b}=s,y=new c(this),v=this.abrController=new r(this),x=new q9(this),T=s.interstitialsController,R=T?this.interstitialsController=new T(this,Zn):null,N=a?this.bufferController=new a(this,x):null,U=l?this.capLevelController=new l(this):null,X=f?new f(this):null,Y=s.cmcdController,J=Y?this.cmcdController=new Y(this):null,ee=new Pv(this),te=s.contentSteeringController,ne=te?new te(this):null,ie=this.levelController=new Dv(this,ne),se=d?new d(this):void 0,ae=new Ov(this.config,this.logger),be=this.streamController=new i(this,x,ae),ye=this.gapController=b?new b(this,x):void 0;if(U)U.setStreamController(be);let ue=[ee,ie,be];if(R)ue.splice(1,0,R);if(ne)ue.splice(1,0,ne);this.networkControllers=ue;let he=[v];if(N)he.push(N);if(ye)he.push(ye);if(U)he.push(U);if(X)X.setStreamController(be),he.push(X);if(se)he.push(se);he.push(x),this.audioTrackController=this.createController(s.audioTrackController,ue);let oe=s.audioStreamController;if(oe)ue.push(this.audioStreamController=new oe(this,x,ae));this.subtitleTrackController=this.createController(s.subtitleTrackController,ue);let Se=s.subtitleStreamController;if(Se)ue.push(this.subtititleStreamController=new Se(this,x,ae));if(this.createController(s.timelineController,he),ae.emeController=this.emeController=this.createController(s.emeController,he),J)he.push(J);this.latencyController=this.createController(s.latencyController,he),this.coreComponents=he,this.iframeController=g?new g(this,Zn):void 0,ue.push(y);let we=y.onErrorOut;if(typeof we==="function")this.on(Z.ERROR,we,y);this.on(Z.MANIFEST_LOADED,ee.onManifestLoaded,ee)}createController(e,n){if(e){let s=new e(this);if(n)n.push(s);return s}return null}on(e,n,s=this){this._emitter.on(e,n,s)}once(e,n,s=this){this._emitter.once(e,n,s)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,n,s=this,i){this._emitter.off(e,n,s,i)}listeners(e){return this._emitter.listeners(e)}emit(e,n,s){return this._emitter.emit(e,n,s)}trigger(e,n){if(this.config.debug)return this.emit(e,e,n);else try{return this.emit(e,e,n)}catch(s){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+s.message+'". Here is a stacktrace:',s),!this.triggeringException){this.triggeringException=!0;let i=e===Z.ERROR;this.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.INTERNAL_EXCEPTION,fatal:i,event:e,error:s}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(Z.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach((n)=>n.destroy()),this.networkControllers.length=0,this.coreComponents.forEach((n)=>n.destroy()),this.coreComponents.length=0,this.iframeController=void 0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){let r=Error(`attachMedia failed: invalid argument (${e})`);this.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Le.ATTACH_MEDIA_ERROR,fatal:!0,error:r});return}if(this.logger.log("attachMedia"),this._media)this.logger.warn("media must be detached before attaching"),this.detachMedia();let n="media"in e,s=n?e.media:e,i=n?e:{media:s};this._media=s,this.trigger(Z.MEDIA_ATTACHING,i)}detachMedia(){this.logger.log("detachMedia");let e={};this.trigger(Z.MEDIA_DETACHING,e),this._media=null,this.trigger(Z.MEDIA_DETACHED,e)}transferMedia(){var e;this._media=null;let n=((e=this.bufferController)==null?void 0:e.transferMedia())||null,s={transferMedia:n};return this.trigger(Z.MEDIA_DETACHING,s),this.trigger(Z.MEDIA_DETACHED,s),n}loadSource(e){var n;this.stopLoad();let s=this.media,i=this._url,r=this._url=k1.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});if(this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${r}`),s&&i&&(i!==r||(n=this.bufferController)!=null&&n.hasSourceTypes()))this.detachMedia(),this.attachMedia(s);this.trigger(Z.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,n){this.logger.log(`startLoad(${e+(n?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let s=0;s<this.networkControllers.length;s++)if(this.networkControllers[s].startLoad(e,n),!this.started||!this.networkControllers)break}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length;e++)if(this.networkControllers[e].stopLoad(),this.started||!this.networkControllers)break}get loadingEnabled(){return this.started&&this.streamController.state!==Ve.STOPPED}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){if(!this.bufferingEnabled)this.logger.log("resume buffering"),this.networkControllers.forEach((e)=>{if(e.resumeBuffering)e.resumeBuffering()})}pauseBuffering(){if(this.bufferingEnabled)this.logger.log("pause buffering"),this.networkControllers.forEach((e)=>{if(e.pauseBuffering)e.pauseBuffering()})}get inFlightFragments(){let e={[Ct.MAIN]:this.streamController.inFlightFrag};if(this.audioStreamController)e[Ct.AUDIO]=this.audioStreamController.inFlightFrag;if(this.subtititleStreamController)e[Ct.SUBTITLE]=this.subtititleStreamController.inFlightFrag;return e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");let e=this._media,n=this.started,s=e==null?void 0:e.currentTime;if(this.detachMedia(),e){if(this.attachMedia(e),n){if(s)this.startLoad(s);else if(!this.config.autoStartLoad)this.startLoad()}}}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;if(!e)e=this._sessionId=n9();return e}get levels(){let e=this.levelController.levels;return e?e:[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;if(e===-1&&this.abrController.forcedAutoLevel>-1)return this.abrController.forcedAutoLevel;return e}set startLevel(e){if(this.logger.log(`set startLevel:${e}`),e!==-1)e=Math.max(e,this.minAutoLevel);this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let n=this.capLevelController,s=!!e;if(n&&s!==this.config.capLevelToPlayerSize){if(s)n.startCapping();else n.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch();this.config.capLevelToPlayerSize=s}}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.getEstimate()}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.defaultEstimate}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.getEstimateTTFB()}set autoLevelCapping(e){if(this._autoLevelCapping!==e)this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated()}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){if(bE(e)&&this._maxHdcpLevel!==e)this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated()}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:n}}=this;if(!e)return 0;let s=e.length;for(let i=0;i<s;i++)if(e[i].maxBitrate>=n)return i;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:n,maxHdcpLevel:s}=this,i;if(n===-1&&e!=null&&e.length)i=e.length-1;else i=n;if(s)for(let r=i;r--;){let a=e[r].attrs["HDCP-LEVEL"];if(a&&a<=s)return r}return i}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get audioForwardBufferInfo(){var e;return((e=this.audioStreamController)==null?void 0:e.getFwdBufferInfo())||null}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var n;return((n=this.audioTrackController)==null?void 0:n.setAudioOption(e))||null}setSubtitleOption(e){var n;return((n=this.subtitleTrackController)==null?void 0:n.setSubtitleOption(e))||null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let n=this.audioTrackController;if(n)n.audioTrack=e}get nextAudioTrack(){var e,n;return(e=(n=this.audioStreamController)==null?void 0:n.nextAudioTrack)!=null?e:-1}set nextAudioTrack(e){let{audioTrackController:n}=this;if(n)n.nextAudioTrack=e}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let n=this.subtitleTrackController;if(n)n.subtitleTrack=e}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let n=this.subtitleTrackController;if(n)n.subtitleDisplay=e}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){var e,n;return(e=(n=this.latencyController)==null?void 0:n.liveSyncPosition)!=null?e:null}get latency(){var e;return((e=this.latencyController)==null?void 0:e.latency)||0}get maxLatency(){var e;return((e=this.latencyController)==null?void 0:e.maxLatency)||0}get targetLatency(){var e;return((e=this.latencyController)==null?void 0:e.targetLatency)||null}set targetLatency(e){if(!this.latencyController)return;this.latencyController.targetLatency=e}get drift(){var e;return((e=this.latencyController)==null?void 0:e.drift)||null}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!((e=this.bufferController)!=null&&e.bufferedToEnd)}get interstitialsManager(){if(this.interstitialsController)return this.interstitialsController.interstitialsManager;return null}get iframeVariants(){let e=this.levelController.iframeVariants;return e?e:[]}createIFramePlayer(e){if(this._url&&this.iframeController)return this.iframeController.createIFramePlayer(e);return null}createImageIFramePlayer(e){if(this._url&&this.iframeController)return this.iframeController.createImageIFramePlayer(e);return null}getMediaDecodingInfo(e,n=this.allAudioTracks){let s=T9(n);return k9(e,s,navigator.mediaCapabilities)}}Zn.defaultConfig=void 0;S();var oI=1000;function x0(e,n,s,i){let[r,a]=u(0),l=_(!1),c=_(!1),f=_(null),d=_(r);d.current=r,m(()=>{a(0);let b=e.current;if(!b)return;let y=()=>{c.current=!0},v=()=>{c.current=!1};return b.addEventListener("play",y),b.addEventListener("pause",v),c.current=!b.paused,()=>{b.removeEventListener("play",y),b.removeEventListener("pause",v)}},[e.current]),m(()=>{let b=e.current;if(!b)return;let y=null,v=null,x=!0,T=Date.now(),R=!1,N=-1,U=()=>{T=Date.now(),R=!1,N=-1},X=()=>{if(!x)return;if(b.paused||b.ended)return;let te=b,ne=!!te.requestVideoFrameCallback,ie=yu(n),se=Date.now()-T,ae=R&&se>ie,be=!R&&se>oI;if(i||!ne||ae||be){let ue=Math.floor(b.currentTime*n+0.45),he=Math.max(0,Math.min(ue,s-1));a(he)}if(v=requestAnimationFrame(X),te.requestVideoFrameCallback&&y===null)y=te.requestVideoFrameCallback((ue,he)=>{y=null,T=Date.now(),R=!0,N=he.mediaTime;let oe=Math.floor(he.mediaTime*n+0.45),Se=Math.max(0,Math.min(oe,s-1));a(Se)})},Y=()=>{U(),X()},J=()=>{if(y!==null){let be=b;if(be.cancelVideoFrameCallback)try{be.cancelVideoFrameCallback(y)}catch{}y=null}if(v!==null)cancelAnimationFrame(v),v=null;let te=yu(n),ie=R&&N>=0&&Date.now()-T<=te?N:b.currentTime,se=Math.floor(ie*n+0.45),ae=Math.max(0,Math.min(se,s-1));if(a(ae),!b.ended){let be=Di(ae,n);b.currentTime=be}},ee=()=>{a(s-1)};if(b.addEventListener("play",Y),b.addEventListener("pause",J),b.addEventListener("ended",ee),!b.paused)U(),X();return()=>{if(x=!1,b.removeEventListener("play",Y),b.removeEventListener("pause",J),b.removeEventListener("ended",ee),y!==null){let te=b;if(te.cancelVideoFrameCallback)try{te.cancelVideoFrameCallback(y)}catch{}}if(v!==null)cancelAnimationFrame(v)}},[e.current,n,s]);let g=P(async(b)=>{let y=e.current;if(!y)return;let v=Math.round(b),x=Math.max(0,Math.min(v,s-1));if(l.current){f.current=x,a(x);return}l.current=!0,a(x);let T=async(R)=>{let N=Di(R,n),U=!y.paused;if(y.currentTime=N,await new Promise((ee)=>{let te=null,ne=()=>{if(te)clearTimeout(te);y.removeEventListener("seeked",ne),ee()};y.addEventListener("seeked",ne),te=setTimeout(()=>{y.removeEventListener("seeked",ne),ee()},500)}),!U&&!c.current)y.pause();let X=Math.floor(y.currentTime*n+0.45),Y=Math.max(0,Math.min(X,s-1));a(Y);let J=y;if(J.requestVideoFrameCallback)J.requestVideoFrameCallback((ee,te)=>{let ne=Math.floor(te.mediaTime*n+0.45),ie=Math.max(0,Math.min(ne,s-1));a(ie)});if(f.current!==null){let ee=f.current;f.current=null,await T(ee)}else l.current=!1};await T(x)},[e,n,s]);return m(()=>{let b=(y)=>{let v=y.target;if(v instanceof HTMLInputElement||v instanceof HTMLTextAreaElement||v.isContentEditable)return;if(y.key==="ArrowRight"){y.preventDefault();let x=y.shiftKey?10:1;g(d.current+x)}else if(y.key==="ArrowLeft"){y.preventDefault();let x=y.shiftKey?10:1;g(d.current-x)}};return window.addEventListener("keydown",b),()=>{window.removeEventListener("keydown",b)}},[g]),m(()=>{let b=e.current;if(!b)return;let y=()=>{if(!l.current){let v=Math.floor(b.currentTime*n+0.45),x=Math.max(0,Math.min(v,s-1));a(x);let T=Di(x,n),R=1/n;if(Math.abs(b.currentTime-T)>R/4)b.currentTime=T}};return b.addEventListener("seeked",y),()=>{b.removeEventListener("seeked",y)}},[e.current,n,s]),{currentFrame:r,setCurrentFrame:a,seekToFrame:g,isSeeking:l}}S();var lI=(e)=>{if(isNaN(e))return"00:00";let n=new Date(e*1000),s=n.getUTCHours(),i=n.getUTCMinutes(),r=n.getUTCSeconds().toString().padStart(2,"0");if(s)return`${s}:${i.toString().padStart(2,"0")}:${r}`;return`${i}:${r}`},cI=({totalFrames:e,currentFrame:n,fps:s,previewUrl:i,onSeek:r,buffered:a=0,metadata:l})=>{let c=_(null),f=_(null),[d,g]=u(null),[b,y]=u(!1),[v,x]=u(!1),T=_(r);m(()=>{T.current=r},[r]),m(()=>{if(f.current&&i)f.current.load()},[i]);let R=P((se)=>{if(!c.current)return 0;let ae=c.current.getBoundingClientRect();return Math.max(0,Math.min(se-ae.left,ae.width))/ae.width},[]),N=P((se)=>{if(v)return;if(!c.current)return;let ae=c.current.getBoundingClientRect(),ye=Math.max(0,Math.min(se.clientX-ae.left,ae.width))/ae.width;if(g(ye),y(!0),f.current&&e){let ue=ye*e,he=1/s,oe=ue*he+he/2,Se=f.current;if(Number.isFinite(oe))Se.currentTime=oe}},[e,s,v]),U=()=>{if(!v)y(!1),g(null)},X=(se)=>{if(se.button!==0)return;se.preventDefault(),x(!0);let ae=R(se.clientX);g(ae),y(!0),T.current(ae*e)},Y=(se)=>{x(!0);let ae=R(se.touches[0].clientX);g(ae),y(!0),T.current(ae*e)};m(()=>{if(!v)return;let se=(ue)=>{let he=R(ue.clientX);if(g(he),y(!0),f.current&&e){let oe=he*e,Se=1/s,we=oe*Se+Se/2,qe=f.current;if(Number.isFinite(we))qe.currentTime=we}T.current(he*e)},ae=(ue)=>{x(!1);let he=!1;if(c.current){let Se=c.current.getBoundingClientRect();he=ue.clientX>=Se.left&&ue.clientX<=Se.right&&ue.clientY>=Se.top&&ue.clientY<=Se.bottom}if(!he)y(!1),g(null);let oe=R(ue.clientX);T.current(oe*e)},be=(ue)=>{if(ue.touches.length===0)return;let he=R(ue.touches[0].clientX);if(g(he),y(!0),f.current&&e){let oe=he*e,Se=1/s,we=oe*Se+Se/2,qe=f.current;if(Number.isFinite(we))qe.currentTime=we}T.current(he*e)},ye=(ue)=>{x(!1);let he=ue.changedTouches.length>0?ue.changedTouches[0].clientX:null,oe=ue.changedTouches.length>0?ue.changedTouches[0].clientY:null,Se=!1;if(he!==null&&oe!==null&&c.current){let we=c.current.getBoundingClientRect();Se=he>=we.left&&he<=we.right&&oe>=we.top&&oe<=we.bottom}if(!Se)y(!1),g(null);if(he!==null){let we=R(he);T.current(we*e)}};return window.addEventListener("mousemove",se),window.addEventListener("mouseup",ae),window.addEventListener("touchmove",be,{passive:!0}),window.addEventListener("touchend",ye),()=>{window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",ae),window.removeEventListener("touchmove",be),window.removeEventListener("touchend",ye)}},[v,e,s,R]);let J=v&&d!==null?d*100:e>0?n/e*100:0,ee=d!==null?d*100:0,te=()=>{if(d===null)return{};return{left:`${ee}%`,transform:`translateX(-${ee}%)`}},ne=180,ie={width:`${ne}px`,height:"auto"};if(l&&l.originalWidth&&l.originalHeight){let{originalWidth:se,originalHeight:ae}=l;if(se>=ae){let be=ne*ae/se;ie={width:`${ne}px`,height:`${be}px`}}else ie={width:`${ne*se/ae}px`,height:`${ne}px`}}return o("div",{ref:c,className:"group relative h-1.5 w-full cursor-pointer touch-none rounded-full bg-muted transition-colors duration-200",onMouseMove:N,onMouseLeave:U,onMouseDown:X,onTouchStart:Y,"data-testid":"seekbar",children:[t("video",{ref:f,src:i,className:"hidden",preload:"auto",muted:!0,playsInline:!0}),b&&e>0&&t("div",{className:"pointer-events-none absolute bottom-full z-50 mb-3 flex w-max flex-col",style:te(),children:o("div",{className:"relative overflow-hidden rounded-lg border-2 border-border bg-popover shadow-2xl",children:[t("video",{src:i,className:"bg-black object-cover",style:ie,muted:!0,ref:(se)=>{if(se&&f.current)se.currentTime=f.current.currentTime}}),t("div",{className:"absolute bottom-0 w-full bg-popover/80 py-0.5 text-center text-xs font-medium text-popover-foreground",children:lI(d*e/s)})]})}),t("div",{className:"absolute top-0 left-0 h-full rounded-full bg-muted-foreground/30 transition-all duration-200",style:{width:`${a}%`}}),b&&t("div",{className:"absolute top-0 left-0 h-full rounded-full bg-primary/30",style:{width:`${ee}%`}}),t("div",{className:"relative absolute top-0 left-0 h-full rounded-full bg-primary",style:{width:`${J}%`},"data-testid":"seekbar-fill",children:t("div",{className:E("absolute top-1/2 right-0 h-3.5 w-3.5 -translate-y-1/2 translate-x-1/2 rounded-full border border-border bg-primary shadow-md transition-transform duration-100",b||v?"scale-100":"scale-0 group-hover:scale-100")})})]})},A0=cI;var hu=({state:e,zoom:n,isControlsVisible:s,buffered:i,data:r,resolutions:a,togglePlay:l,toggleLoop:c,toggleMute:f,handleVolumeChange:d,changePlaybackRate:g,changeResolution:b,handleDownload:y,toggleFullScreen:v,onZoomChange:x,onZoomReset:T,frameRate:R,totalFrames:N,currentFrame:U,seekToFrame:X,floatOverlayInFullScreen:Y=!0,onMouseEnter:J,onMouseLeave:ee,allowDownload:te=!0,isLoading:ne})=>{let ie=ne??e.isLoading??!1,{videoTimeDisplayMode:se,setVideoTimeDisplayMode:ae}=$t();if(!r.media?.metadata)return null;let be=e.isFullScreen&&Y,ye=r.proxyType==="audio",ue=r.media?.metadata?.startTimecode,he=Math.max(0,N-1),oe=se==="frames"?`${U} / ${he} fr`:se==="standard"?`${vn(U,R,"standard")} / ${Is(N/R)}`:`${vn(U,R,se,ue)} / ${vn(he,R,se,ue)}`;return t("div",{className:E("transition-all duration-300 ease-in-out z-20 text-foreground",be?"absolute bottom-0 left-0 right-0 px-4 py-4 bg-card/90 backdrop-blur-md border-t border-border":"relative w-full bg-card border-t border-border px-4 py-3 z-10 transition-colors duration-200",s?"opacity-100 translate-y-0":"opacity-0 translate-y-4 pointer-events-none"),onMouseEnter:J,onMouseLeave:ee,children:o("div",{className:E("transition-opacity duration-200",ie&&"pointer-events-none opacity-60 select-none"),children:[t("div",{className:"mb-4 px-1",children:t(A0,{totalFrames:N,currentFrame:U,fps:R,buffered:i,previewUrl:r.media.videoPreview?.url,onSeek:X,metadata:{...r.media.metadata,frameRate:R}})}),o("div",{className:"flex items-center justify-between text-foreground",children:[o("div",{className:"flex items-center gap-4",children:[t("button",{onClick:l,className:"hover:text-primary transition-colors","data-testid":"play-toggle","data-playing":e.isPlaying,"aria-label":e.isPlaying?"Pause":"Play",children:e.isPlaying?t($c,{className:"w-6 h-6 fill-current"}):t(Ta,{className:"w-6 h-6 fill-current"})}),t("button",{onClick:c,className:E("transition-colors",e.isLooping?"text-primary":"text-muted-foreground"),title:"Loop",children:t(xd,{className:"w-5 h-5"})}),o("div",{className:"flex items-center gap-3 group/vol",children:[t("button",{onClick:f,className:"hover:text-primary",children:e.isMuted||e.volume===0?t(Cd,{className:"w-6 h-6"}):t(Ed,{className:"w-6 h-6"})}),t("div",{className:"w-0 overflow-hidden group-hover/vol:w-24 transition-all duration-300 ease-in-out",children:t("div",{className:"w-24 px-1",children:t(jo,{value:e.isMuted?[0]:[e.volume],onValueChange:(Se)=>d(Se[0]),max:1,step:0.05})})})]}),o("div",{className:"flex items-center gap-1 text-sm font-medium tabular-nums select-none min-w-[100px]",children:[t("span",{className:"text-muted-foreground font-mono","data-testid":"time-readout",children:oe}),o(ge,{modal:!1,children:[t(Ae,{asChild:!0,children:t("button",{className:"h-6 w-6 inline-flex items-center justify-center rounded-md hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer focus:outline-none",children:t(ve,{className:"h-3.5 w-3.5"})})}),o(_e,{align:"start",className:"w-40 z-30",children:[t(Wr,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:"Format"}),o(K,{onClick:()=>ae("standard"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Standard Time"}),se==="standard"&&t(Re,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>ae("frames"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Frames"}),se==="frames"&&t(Re,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>ae("timecode"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Timecode"}),se==="timecode"&&t(Re,{className:"h-3.5 w-3.5 text-primary"})]})]})]})]})]}),o("div",{className:"relative flex items-center gap-3",children:[!ye&&o("div",{className:"flex items-center gap-1",children:[o("div",{className:"flex items-center gap-1 rounded-md bg-muted p-0.5",children:[t("button",{onClick:()=>x(n*0.8),className:"p-1 hover:text-primary rounded",title:em(),children:t(To,{size:14})}),o("span",{className:"text-xs w-8 text-center tabular-nums",children:[Math.round(n*100),"%"]}),t("button",{onClick:()=>x(n*1.2),className:"p-1 hover:text-primary rounded",title:Xp(),children:t(fe,{size:14})})]}),t("button",{onClick:T,className:"text-xs font-medium px-2 py-1 rounded bg-muted hover:text-primary transition-colors",children:Wf()})]}),o(ge,{children:[t(Ae,{asChild:!0,children:o("button",{className:"w-8 text-sm font-bold hover:text-primary",children:[e.playbackRate,"x"]})}),t(_e,{children:[0.5,1,1.5,2].map((Se)=>o(K,{onClick:()=>g(Se),className:E("rounded py-1 px-2 text-left text-xs",e.playbackRate===Se?"bg-primary text-primary-foreground focus:bg-primary focus:text-primary-foreground":"text-foreground"),children:[Se,"x"]},Se))})]}),!ye&&a.length>0&&o(ge,{children:[t(Ae,{asChild:!0,children:o("button",{className:"flex items-center gap-1.5 rounded border border-border px-2 py-0.5 text-sm font-semibold hover:bg-muted transition-colors",children:[t(Ri,{className:"h-3.5 w-3.5"}),o("span",{className:"flex items-center gap-1",children:[t("span",{children:e.currentResolution==="Auto"?e.activeAutoResolution?`${Pl()} (${e.activeAutoResolution})`:Pl():e.currentResolution==="Original"?La():e.currentResolution}),e.isCurrentHdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Vc()})]})]})}),o(_e,{children:[t(Wr,{children:jg()}),r.media?.isHls&&t(K,{onClick:()=>b({resolution:"Auto",width:r.media?.metadata?.originalWidth??0,height:r.media?.metadata?.originalHeight??0}),className:E("flex w-full items-center justify-between cursor-pointer",e.currentResolution==="Auto"?"text-primary font-medium":"text-foreground"),children:t("span",{children:Pl()})}),a.map((Se)=>{let we=`${Se.resolution}-${Se.hdr?"hdr":"sdr"}`,qe=e.currentResolution===Se.resolution&&Boolean(e.isCurrentHdr)===Boolean(Se.hdr),De=Boolean(r.media?.isHls)&&e.isHlsManualSupported===!1;return o(K,{disabled:De,onClick:()=>!De&&b(Se),className:E("flex w-full items-center justify-between",qe?"text-primary font-medium":"text-foreground",De?"opacity-50 cursor-not-allowed":"cursor-pointer"),children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:Se.resolution==="Original"?La():Se.resolution}),Se.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Vc()})]}),o("span",{className:"pl-5 text-xs text-muted-foreground",children:[Se.width,"x",Se.height]})]},we)})]})]}),te&&(ye?t("button",{onClick:()=>y(r.media?.original?.key||""),className:"transition-colors hover:text-primary",title:gr(),disabled:!r.media?.original?.key,children:t(ht,{className:"h-5 w-5"})}):o(ge,{children:[t(Ae,{asChild:!0,children:t("button",{className:"transition-colors hover:text-primary",title:gr(),children:t(ht,{className:"h-5 w-5"})})}),o(_e,{children:[t(Wr,{children:gr()}),(r.media?.videoTranscodes&&r.media.videoTranscodes.length>0?r.media.videoTranscodes:a).map((Se)=>{let we=vs(Se),qe=Se.key||`${we}-${Se.hdr?"hdr":"sdr"}`;return o(K,{onClick:()=>y(Se.key??""),className:"flex w-full items-center justify-between px-3 py-2 text-left text-sm text-foreground cursor-pointer",children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:we}),Se.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Vc()})]}),t("span",{className:"text-xs text-muted-foreground",children:"MP4"})]},qe)}),r.media?.original?.key&&o(L,{children:[t(Vt,{}),o(K,{onClick:()=>y(r.media?.original?.key??""),className:"flex w-full items-center justify-between px-3 py-2 text-left text-sm text-foreground",children:[t("span",{children:La()}),t("span",{className:"text-xs text-muted-foreground",children:r.name?.split(".").pop()?.toUpperCase()||"RAW"})]})]})]})]})),t("button",{onClick:v,className:"transition-colors hover:text-primary",title:wd(),children:e.isFullScreen?t(xs,{className:"h-6 w-6"}):t(ws,{className:"h-6 w-6"})})]})]})]})})};var Nv=({state:e,isControlsVisible:n,buffered:s,data:i,resolutions:r,togglePlay:a,toggleLoop:l,toggleMute:c,changePlaybackRate:f,changeResolution:d,toggleFullScreen:g,frameRate:b,totalFrames:y,currentFrame:v,seekToFrame:x,floatOverlayInFullScreen:T=!0,onMouseEnter:R,onMouseLeave:N,isLoading:U})=>{let X=U??e.isLoading??!1,{videoTimeDisplayMode:Y,setVideoTimeDisplayMode:J}=$t();if(!i.media?.metadata)return null;let ee=e.isFullScreen&&T,te=i.proxyType==="audio",ne=i.media?.metadata?.startTimecode,ie=Math.max(0,y-1),se=Y==="frames"?`${v} / ${ie} fr`:Y==="standard"?`${vn(v,b,"standard")} / ${Is(y/b)}`:`${vn(v,b,Y,ne)} / ${vn(ie,b,Y,ne)}`;return t("div",{className:E("transition-all duration-300 ease-in-out z-20 text-foreground",ee?"absolute bottom-0 left-0 right-0 px-3 py-3 bg-card/90 backdrop-blur-md border-t border-border":"relative w-full bg-card border-t border-border px-3 py-2.5 z-10 transition-colors duration-200",n?"opacity-100 translate-y-0":"opacity-0 translate-y-4 pointer-events-none"),onMouseEnter:R,onMouseLeave:N,children:o("div",{className:E("transition-opacity duration-200",X&&"pointer-events-none opacity-60 select-none"),children:[t("div",{className:"mb-2 px-0.5",children:t(A0,{totalFrames:y,currentFrame:v,fps:b,buffered:s,previewUrl:i.media.videoPreview?.url,onSeek:x,metadata:{...i.media.metadata,frameRate:b}})}),o("div",{className:"flex items-center justify-between text-foreground gap-1 select-none",children:[o("div",{className:"flex items-center gap-2 min-w-0",children:[t("button",{onClick:a,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0","data-testid":"play-toggle","data-playing":e.isPlaying,"aria-label":e.isPlaying?"Pause":"Play",children:e.isPlaying?t($c,{className:"w-5 h-5 fill-current"}):t(Ta,{className:"w-5 h-5 fill-current"})}),t("button",{onClick:c,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0","aria-label":e.isMuted?"Unmute":"Mute",children:e.isMuted||e.volume===0?t(Cd,{className:"w-5 h-5"}):t(Ed,{className:"w-5 h-5"})}),o("div",{className:"flex items-center gap-0.5 text-xs font-medium tabular-nums min-w-0",children:[t("span",{className:"text-muted-foreground font-mono truncate text-[11px] sm:text-xs","data-testid":"time-readout",children:se}),o(ge,{modal:!1,children:[t(Ae,{asChild:!0,children:t("button",{className:"h-5 w-5 inline-flex items-center justify-center rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer focus:outline-none shrink-0","aria-label":j_(),children:t(ve,{className:"h-3 w-3"})})}),o(_e,{align:"start",className:"w-40 z-30",children:[t(Wr,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:Fv()}),o(K,{onClick:()=>J("standard"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:dT()}),Y==="standard"&&t(Re,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>J("frames"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:Lv()}),Y==="frames"&&t(Re,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>J("timecode"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:e1()}),Y==="timecode"&&t(Re,{className:"h-3.5 w-3.5 text-primary"})]})]})]})]})]}),o("div",{className:"flex items-center gap-1 shrink-0",children:[o(ge,{modal:!1,children:[t(Ae,{asChild:!0,children:o("button",{className:"flex items-center gap-1 rounded border border-border px-1.5 py-1 text-xs font-semibold hover:bg-muted transition-colors cursor-pointer",title:Lp(),"aria-label":Lp(),children:[t(Ri,{className:"h-3.5 w-3.5"}),o("span",{className:"flex items-center gap-1 text-[11px]",children:[t("span",{children:!te&&e.currentResolution?e.currentResolution==="Auto"?e.activeAutoResolution?`${Pl()} (${e.activeAutoResolution})`:Pl():e.currentResolution==="Original"?La():e.currentResolution:`${e.playbackRate}x`}),!te&&e.isCurrentHdr&&t("span",{className:"px-1 py-0.2 rounded text-[9px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Vc()})]})]})}),o(_e,{align:"end",className:"w-48 z-30",children:[!te&&r.length>0&&o(L,{children:[t(Wr,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:jg()}),i.media?.isHls&&t(K,{onClick:()=>d({resolution:"Auto",width:i.media?.metadata?.originalWidth??0,height:i.media?.metadata?.originalHeight??0}),className:E("flex w-full items-center justify-between text-xs cursor-pointer",e.currentResolution==="Auto"?"text-primary font-medium":"text-foreground"),children:t("span",{children:Pl()})}),r.map((ae)=>{let be=`${ae.resolution}-${ae.hdr?"hdr":"sdr"}`,ye=e.currentResolution===ae.resolution&&Boolean(e.isCurrentHdr)===Boolean(ae.hdr),ue=Boolean(i.media?.isHls)&&e.isHlsManualSupported===!1;return o(K,{disabled:ue,onClick:()=>!ue&&d(ae),className:E("flex w-full items-center justify-between text-xs",ye?"text-primary font-medium":"text-foreground",ue?"opacity-50 cursor-not-allowed":"cursor-pointer"),children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:ae.resolution==="Original"?La():ae.resolution}),ae.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[9px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Vc()})]}),o("span",{className:"text-[10px] text-muted-foreground",children:[ae.width,"x",ae.height]})]},be)}),t(Vt,{})]}),t(Wr,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:vE()}),[0.5,1,1.5,2].map((ae)=>o(K,{onClick:()=>f(ae),className:E("flex items-center justify-between text-xs cursor-pointer",e.playbackRate===ae?"text-primary font-medium":"text-foreground"),children:[o("span",{children:[ae,"x"]}),e.playbackRate===ae&&t(Re,{className:"h-3.5 w-3.5 text-primary"})]},ae)),t(Vt,{}),o(K,{onClick:l,className:"flex items-center justify-between text-xs cursor-pointer",children:[o("span",{className:"flex items-center gap-1.5",children:[t(xd,{className:"h-3.5 w-3.5"}),t("span",{children:Vw()})]}),e.isLooping&&t(Re,{className:"h-3.5 w-3.5 text-primary"})]})]})]}),t("button",{onClick:g,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0",title:wd(),"aria-label":wd(),children:e.isFullScreen?t(xs,{className:"h-5 w-5"}):t(ws,{className:"h-5 w-5"})})]})]})]})})};S();var hI=Math.PI/180;function uI(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}var fl=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},nt={_global:fl,version:"10.3.2",isBrowser:uI(),isUnminified:/param/.test(function(e){}.toString()),dblClickWindow:400,getAngle(e){return nt.angleDeg?e*hI:e},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,_renderBackend:"web",legacyTextRendering:!1,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return nt.DD.isDragging},isTransforming(){var e,n;return(n=(e=nt.Transformer)===null||e===void 0?void 0:e.isTransforming())!==null&&n!==void 0?n:!1},isDragReady(){return!!nt.DD.node},releaseCanvasOnDestroy:!0,document:fl.document,_injectGlobal(e){if(typeof fl.Konva<"u")console.error("Several Konva instances detected. It is not recommended to use multiple Konva instances in the same environment.");fl.Konva=e}},tn=(e)=>{nt[e.prototype.getClassName()]=e};nt._injectGlobal(nt);var dI=`Konva.js unsupported environment.
54
-
55
- Looks like you are trying to use Konva.js in Node.js environment. because "document" object is undefined.
56
-
57
- To use Konva.js in Node.js environment, you need to use the "canvas-backend" or "skia-backend" module.
58
-
59
- bash: npm install canvas
60
- js: import "konva/canvas-backend";
61
-
62
- or
63
-
64
- bash: npm install skia-canvas
65
- js: import "konva/skia-backend";
66
- `,Bv=()=>{if(typeof document>"u")throw Error(dI)};class ki{constructor(e=[1,0,0,1,0,0]){this.dirty=!1,this.m=e&&e.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new ki(this.m)}copyInto(e){e.m[0]=this.m[0],e.m[1]=this.m[1],e.m[2]=this.m[2],e.m[3]=this.m[3],e.m[4]=this.m[4],e.m[5]=this.m[5]}point(e){let n=this.m;return{x:n[0]*e.x+n[2]*e.y+n[4],y:n[1]*e.x+n[3]*e.y+n[5]}}translate(e,n){return this.m[4]+=this.m[0]*e+this.m[2]*n,this.m[5]+=this.m[1]*e+this.m[3]*n,this}scale(e,n){return this.m[0]*=e,this.m[1]*=e,this.m[2]*=n,this.m[3]*=n,this}rotate(e){let n=Math.cos(e),s=Math.sin(e),i=this.m[0]*n+this.m[2]*s,r=this.m[1]*n+this.m[3]*s,a=this.m[0]*-s+this.m[2]*n,l=this.m[1]*-s+this.m[3]*n;return this.m[0]=i,this.m[1]=r,this.m[2]=a,this.m[3]=l,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(e,n){let s=this.m[0]+this.m[2]*n,i=this.m[1]+this.m[3]*n,r=this.m[2]+this.m[0]*e,a=this.m[3]+this.m[1]*e;return this.m[0]=s,this.m[1]=i,this.m[2]=r,this.m[3]=a,this}multiply(e){let n=this.m[0]*e.m[0]+this.m[2]*e.m[1],s=this.m[1]*e.m[0]+this.m[3]*e.m[1],i=this.m[0]*e.m[2]+this.m[2]*e.m[3],r=this.m[1]*e.m[2]+this.m[3]*e.m[3],a=this.m[0]*e.m[4]+this.m[2]*e.m[5]+this.m[4],l=this.m[1]*e.m[4]+this.m[3]*e.m[5]+this.m[5];return this.m[0]=n,this.m[1]=s,this.m[2]=i,this.m[3]=r,this.m[4]=a,this.m[5]=l,this}invert(){let e=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),n=this.m[3]*e,s=-this.m[1]*e,i=-this.m[2]*e,r=this.m[0]*e,a=e*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),l=e*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=n,this.m[1]=s,this.m[2]=i,this.m[3]=r,this.m[4]=a,this.m[5]=l,this}getMatrix(){return this.m}decompose(){let e=this.m[0],n=this.m[1],s=this.m[2],i=this.m[3],r=this.m[4],a=this.m[5],l=e*i-n*s,c={x:r,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!=0||n!=0){let f=Math.sqrt(e*e+n*n);c.rotation=n>0?Math.acos(e/f):-Math.acos(e/f),c.scaleX=f,c.scaleY=l/f,c.skewX=(e*s+n*i)/l,c.skewY=0}else if(s!=0||i!=0){let f=Math.sqrt(s*s+i*i);c.rotation=Math.PI/2-(i>0?Math.acos(-s/f):-Math.acos(s/f)),c.scaleX=l/f,c.scaleY=f,c.skewX=0,c.skewY=(e*s+n*i)/l}return c.rotation=Ee._getRotation(c.rotation),c}}var mI="[object Array]",pI="[object Number]",gI="[object String]",bI="[object Boolean]",wI=Math.PI/180,Vv=180/Math.PI,T0="#",yI="",vI="0",SI="Konva warning: ",Hv="Konva error: ",kI={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],transparent:[255,255,255,0],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]},qh=null,xI=typeof window<"u"?window:{},rb=new WeakMap,AI=(e,n)=>{if(typeof e.requestAnimationFrame==="function")e.requestAnimationFrame(n);else if(typeof requestAnimationFrame<"u")requestAnimationFrame(n);else setTimeout(n,16)},Uv=new Map,zv=(e)=>{let n=e.trim();return n.indexOf(",")===-1?n.split(/\s*\/\s*|\s+/):n.split(/\s*,\s*/)},$v="[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?",TI=new RegExp(`^(${$v})(%?)$`,"i"),Jl=(e,n)=>{let s=TI.exec(e);if(!s)return NaN;return s[2]?Number(s[1])/100*n:Number(s[1])},E0=/^#[0-9a-f]+$/i,Gv=(e)=>Math.min(Math.max(e,0),1),EI=new RegExp(`^(${$v})(deg|grad|rad|turn)?$`,"i"),CI={deg:1,grad:0.9,rad:Vv,turn:360},Ee={_isElement(e){return!!(e&&e.nodeType==1)},_isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},_isPlainObject(e){return!!e&&e.constructor===Object},_isArray(e){return Object.prototype.toString.call(e)===mI},_isNumber(e){return Object.prototype.toString.call(e)===pI&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===gI},_isBoolean(e){return Object.prototype.toString.call(e)===bI},isObject(e){return e instanceof Object},isValidSelector(e){if(typeof e!=="string")return!1;let n=e[0];return n==="#"||n==="."||n===n.toUpperCase()},_sign(e){if(e===0)return 1;if(e>0)return 1;else return-1},requestAnimFrame(e,n){let s=n&&!n.closed&&n||xI,i=rb.get(s);if(!i)i=[],rb.set(s,i),AI(s,function(){rb.delete(s),i.forEach(function(r){r()})});i.push(e)},createCanvasElement(){Bv();let e=document.createElement("canvas");try{e.style=e.style||{}}catch(n){}return e},createImageElement(){return Bv(),document.createElement("img")},_isInDocument(e){return!!e.isConnected},_urlToImage(e,n){let s=Ee.createImageElement();s.onload=function(){n(s)},s.src=e},_rgbToHex(e,n,s){return(16777216+(e<<16)+(n<<8)+s).toString(16).slice(1)},_hexToRgb(e){e=e.replace(T0,yI);let n=parseInt(e,16);return{r:n>>16&255,g:n>>8&255,b:n&255}},getRandomColor(){let e=(Math.random()*16777215<<0).toString(16);while(e.length<6)e=vI+e;return T0+e},isCanvasFarblingActive(){if(qh!==null)return qh;if(typeof document>"u")return qh=!1,!1;let e=this.createCanvasElement();e.width=10,e.height=10;let n=e.getContext("2d",{willReadFrequently:!0});n.clearRect(0,0,10,10),n.fillStyle="#282828",n.fillRect(0,0,10,10);let s=n.getImageData(0,0,10,10).data,i=!1;for(let r=0;r<100;r++)if(s[r*4]!==40||s[r*4+1]!==40||s[r*4+2]!==40||s[r*4+3]!==255){i=!0;break}return qh=i,this.releaseCanvas(e),qh},getHitColor(){let e=this.getRandomColor();return this.isCanvasFarblingActive()?this.getSnappedHexColor(e):e},getHitColorKey(e,n,s){if(this.isCanvasFarblingActive())e=Math.round(e/5)*5,n=Math.round(n/5)*5,s=Math.round(s/5)*5;return T0+this._rgbToHex(e,n,s)},getSnappedHexColor(e){let n=this._hexToRgb(e);return T0+this._rgbToHex(Math.round(n.r/5)*5,Math.round(n.g/5)*5,Math.round(n.b/5)*5)},getRGB(e){var n;let{r:s=0,g:i=0,b:r=0}=(n=Ee.colorToRGBA(e))!==null&&n!==void 0?n:{};return{r:s,g:i,b:r}},colorToRGBA(e){e=(e||"").trim()||"black";let n=Ee._namedColorToRBA(e)||Ee._hex3ColorToRGBA(e)||Ee._hex4ColorToRGBA(e)||Ee._hex6ColorToRGBA(e)||Ee._hex8ColorToRGBA(e)||Ee._rgbColorToRGBA(e)||Ee._hslColorToRGBA(e);if(n&&[n.r,n.g,n.b,n.a].every(Ee._isNumber))return n},_namedColorToRBA(e){let n=kI[e.toLowerCase()];if(!n)return null;return{r:n[0],g:n[1],b:n[2],a:n.length>3?n[3]:1}},_rgbColorToRGBA(e){let n=/^rgba?\(([^)]*)\)$/i.exec(e);if(!n)return;let s=zv(n[1]);if(s.length<3||s.length>4)return;return{r:Jl(s[0],255),g:Jl(s[1],255),b:Jl(s[2],255),a:s.length>3?Jl(s[3],1):1}},_hex8ColorToRGBA(e){if(e.length===9&&E0.test(e))return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:parseInt(e.slice(7,9),16)/255}},_hex6ColorToRGBA(e){if(e.length===7&&E0.test(e))return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:1}},_hex4ColorToRGBA(e){if(e.length===5&&E0.test(e))return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:parseInt(e[4]+e[4],16)/255}},_hex3ColorToRGBA(e){if(e.length===4&&E0.test(e))return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:1}},_hslColorToRGBA(e){let n=/^hsla?\(([^)]*)\)$/i.exec(e);if(!n)return;let s=zv(n[1]);if(s.length<3||s.length>4)return;let i=EI.exec(s[0]);if(!i)return;let r=i[2],a=Number(i[1])*(r?CI[r.toLowerCase()]:1);if(!isFinite(a))return;let l=(a%360+360)%360/360,c=Gv(Jl(s[1],100)/100),f=Gv(Jl(s[2],100)/100),d=s.length>3?Jl(s[3],1):1,g=f<0.5?f*(1+c):f+c-f*c,b=2*f-g,y=[0,0,0];for(let v=0;v<3;v++){let x=l+0.3333333333333333*-(v-1);if(x<0)x++;if(x>1)x--;let T;if(6*x<1)T=b+(g-b)*6*x;else if(2*x<1)T=g;else if(3*x<2)T=b+(g-b)*(0.6666666666666666-x)*6;else T=b;y[v]=T*255}return{r:Math.round(y[0]),g:Math.round(y[1]),b:Math.round(y[2]),a:d}},haveIntersection(e,n){return!(n.x>e.x+e.width||n.x+n.width<e.x||n.y>e.y+e.height||n.y+n.height<e.y)},cloneObject(e){let n={};for(let s in e)if(this._isPlainObject(e[s]))n[s]=this.cloneObject(e[s]);else if(this._isArray(e[s]))n[s]=this.cloneArray(e[s]);else n[s]=e[s];return n},cloneArray(e){return e.slice(0)},degToRad(e){return e*wI},radToDeg(e){return e*Vv},_degToRad(e){return Ee.warn("Util._degToRad is removed. Please use public Util.degToRad instead."),Ee.degToRad(e)},_radToDeg(e){return Ee.warn("Util._radToDeg is removed. Please use public Util.radToDeg instead."),Ee.radToDeg(e)},_getRotation(e){return nt.angleDeg?Ee.radToDeg(e):e},_capitalize(e){let n=Uv.get(e);if(n!==void 0)return n;let s=e.charAt(0).toUpperCase()+e.slice(1);return Uv.set(e,s),s},throw(e){throw Error(Hv+e)},error(e){console.error(Hv+e)},warn(e){if(!nt.showWarnings)return;console.warn(SI+e)},each(e,n){for(let s in e)n(s,e[s])},_inRange(e,n,s){return n<=e&&e<s},_getProjectionToSegment(e,n,s,i,r,a){let l,c,f,d=(e-s)*(e-s)+(n-i)*(n-i);if(d==0)l=e,c=n,f=(r-s)*(r-s)+(a-i)*(a-i);else{let g=((r-e)*(s-e)+(a-n)*(i-n))/d;if(g<0)l=e,c=n,f=(e-r)*(e-r)+(n-a)*(n-a);else if(g>1)l=s,c=i,f=(s-r)*(s-r)+(i-a)*(i-a);else l=e+g*(s-e),c=n+g*(i-n),f=(l-r)*(l-r)+(c-a)*(c-a)}return[l,c,f]},_getProjectionToLine(e,n,s){let i=Ee.cloneObject(e),r=Number.MAX_VALUE;return n.forEach(function(a,l){if(!s&&l===n.length-1)return;let c=n[(l+1)%n.length],f=Ee._getProjectionToSegment(a.x,a.y,c.x,c.y,e.x,e.y),d=f[0],g=f[1],b=f[2];if(b<r)i.x=d,i.y=g,r=b}),i},_prepareArrayForTween(e,n,s){let i=[],r=[];if(e.length>n.length){let l=n;n=e,e=l}for(let l=0;l<e.length;l+=2)i.push({x:e[l],y:e[l+1]});for(let l=0;l<n.length;l+=2)r.push({x:n[l],y:n[l+1]});let a=[];return r.forEach(function(l){let c=Ee._getProjectionToLine(l,i,s);a.push(c.x),a.push(c.y)}),a},_prepareToStringify(e){let n;e.visitedByCircularReferenceRemoval=!0;for(let s in e){if(!(e.hasOwnProperty(s)&&e[s]&&typeof e[s]=="object"))continue;if(n=Object.getOwnPropertyDescriptor(e,s),e[s].visitedByCircularReferenceRemoval||Ee._isElement(e[s]))if(n.configurable)delete e[s];else return null;else if(Ee._prepareToStringify(e[s])===null)if(n.configurable)delete e[s];else return null}return delete e.visitedByCircularReferenceRemoval,e},_assign(e,n){for(let s in n)e[s]=n[s];return e},_getFirstPointerId(e){if(!e.touches)return e.pointerId||999;else return e.changedTouches[0].identifier},releaseCanvas(...e){if(!nt.releaseCanvasOnDestroy)return;e.forEach((n)=>{n.width=0,n.height=0})},drawRoundedRectPath(e,n,s,i){let r=n<0?n:0,a=s<0?s:0;n=Math.abs(n),s=Math.abs(s);let l=0,c=0,f=0,d=0;if(typeof i==="number")l=c=f=d=Math.min(i,n/2,s/2);else l=Math.min(i[0]||0,n/2,s/2),c=Math.min(i[1]||0,n/2,s/2),d=Math.min(i[2]||0,n/2,s/2),f=Math.min(i[3]||0,n/2,s/2);e.moveTo(r+l,a),e.lineTo(r+n-c,a),e.arc(r+n-c,a+c,c,Math.PI*3/2,0,!1),e.lineTo(r+n,a+s-d),e.arc(r+n-d,a+s-d,d,0,Math.PI/2,!1),e.lineTo(r+f,a+s),e.arc(r+f,a+s-f,f,Math.PI/2,Math.PI,!1),e.lineTo(r,a+l),e.arc(r+l,a+l,l,Math.PI,Math.PI*3/2,!1)},drawRoundedPolygonPath(e,n,s,i,r){i=Math.abs(i);for(let a=0;a<s;a++){let l=n[(a-1+s)%s],c=n[a],f=n[(a+1)%s],d={x:c.x-l.x,y:c.y-l.y},g={x:f.x-c.x,y:f.y-c.y},b=Math.hypot(d.x,d.y),y=Math.hypot(g.x,g.y),v;if(typeof r==="number")v=r;else v=a<r.length?r[a]:0;v=i*Math.cos(Math.PI/s)*Math.min(1,v/i*2);let T={x:d.x/b,y:d.y/b},R={x:g.x/y,y:g.y/y},N={x:c.x-T.x*v,y:c.y-T.y*v},U={x:c.x+R.x*v,y:c.y+R.y*v};if(a===0)e.moveTo(N.x,N.y);else e.lineTo(N.x,N.y);e.arcTo(c.x,c.y,U.x,U.y,v)}}};function jI(e){let n=[],s=e.length,i=Ee;for(let r=0;r<s;r++){let a=e[r];if(i._isNumber(a))a=Math.round(a*1000)/1000;else if(!i._isString(a))a=a+"";n.push(a)}return n}var Xv=",",_I="(",II=")",RI="([",DI="])",qI=";",MI="()",FI="=",Wv=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createLinearGradient","createPattern","createRadialGradient","drawImage","ellipse","fill","fillText","getImageData","createImageData","lineTo","moveTo","putImageData","quadraticCurveTo","rect","roundRect","restore","rotate","save","scale","setLineDash","setTransform","stroke","strokeText","transform","translate"],LI=["fillStyle","strokeStyle","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","letterSpacing","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","direction","font","textAlign","textBaseline","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","filter"],OI=100,C0=null;function ab(){if(C0!==null)return C0;try{let n=Ee.createCanvasElement().getContext("2d");if(!n)return C0=!1,!1;return!!n&&"filter"in n}catch(e){return C0=!1,!1}}class of{constructor(e){if(this.canvas=e,nt.enableTrace)this.traceArr=[],this._enableTrace()}fillShape(e){if(e.fillEnabled())this._fill(e)}_fill(e){}strokeShape(e){if(e.hasStroke())this._stroke(e)}_stroke(e){}fillStrokeShape(e){if(e.attrs.fillAfterStrokeEnabled)this.strokeShape(e),this.fillShape(e);else this.fillShape(e),this.strokeShape(e)}getTrace(e,n){let s=this.traceArr,i=s.length,r="",a,l,c,f;for(a=0;a<i;a++){if(l=s[a],c=l.method,c)if(f=l.args,r+=c,e)r+=MI;else if(Ee._isArray(f[0]))r+=RI+f.join(Xv)+DI;else{if(n)f=f.map((d)=>typeof d==="number"?Math.floor(d):d);r+=_I+f.join(Xv)+II}else if(r+=l.property,!e)r+=FI+l.val;r+=qI}return r}clearTrace(){this.traceArr=[]}_trace(e){let n=this.traceArr,s;if(n.push(e),s=n.length,s>=OI)n.shift()}reset(){let e=this.getCanvas().getPixelRatio();this.setTransform(1*e,0,0,1*e,0,0)}getCanvas(){return this.canvas}clear(e){let n=this.getCanvas();if(e)this.clearRect(e.x||0,e.y||0,e.width||0,e.height||0);else this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(e){let n=e.attrs.lineCap;if(n)this.setAttr("lineCap",n)}_applyOpacity(e){let n=e.getAbsoluteOpacity();if(n!==1)this.setAttr("globalAlpha",n)}_applyLineJoin(e){let n=e.attrs.lineJoin;if(n)this.setAttr("lineJoin",n)}_applyMiterLimit(e){let n=e.attrs.miterLimit;if(n!=null)this.setAttr("miterLimit",n)}setAttr(e,n){this._context[e]=n}arc(e,n,s,i,r,a){this._context.arc(e,n,s,i,r,a)}arcTo(e,n,s,i,r){this._context.arcTo(e,n,s,i,r)}beginPath(){this._context.beginPath()}bezierCurveTo(e,n,s,i,r,a){this._context.bezierCurveTo(e,n,s,i,r,a)}clearRect(e,n,s,i){this._context.clearRect(e,n,s,i)}clip(...e){this._context.clip.apply(this._context,e)}closePath(){this._context.closePath()}createImageData(e,n){let s=arguments;if(s.length===2)return this._context.createImageData(e,n);else if(s.length===1)return this._context.createImageData(e)}createLinearGradient(e,n,s,i){return this._context.createLinearGradient(e,n,s,i)}createPattern(e,n){return this._context.createPattern(e,n)}createRadialGradient(e,n,s,i,r,a){return this._context.createRadialGradient(e,n,s,i,r,a)}drawImage(e,n,s,i,r,a,l,c,f){let d=arguments,g=this._context;if(d.length===3)g.drawImage(e,n,s);else if(d.length===5)g.drawImage(e,n,s,i,r);else if(d.length===9)g.drawImage(e,n,s,i,r,a,l,c,f)}ellipse(e,n,s,i,r,a,l,c){this._context.ellipse(e,n,s,i,r,a,l,c)}isPointInPath(e,n,s,i){if(s)return this._context.isPointInPath(s,e,n,i);return this._context.isPointInPath(e,n,i)}fill(...e){this._context.fill.apply(this._context,e)}fillRect(e,n,s,i){this._context.fillRect(e,n,s,i)}strokeRect(e,n,s,i){this._context.strokeRect(e,n,s,i)}fillText(e,n,s,i){if(i)this._context.fillText(e,n,s,i);else this._context.fillText(e,n,s)}measureText(e){return this._context.measureText(e)}getImageData(e,n,s,i){return this._context.getImageData(e,n,s,i)}lineTo(e,n){this._context.lineTo(e,n)}moveTo(e,n){this._context.moveTo(e,n)}rect(e,n,s,i){this._context.rect(e,n,s,i)}roundRect(e,n,s,i,r){this._context.roundRect(e,n,s,i,r)}putImageData(e,n,s){this._context.putImageData(e,n,s)}quadraticCurveTo(e,n,s,i){this._context.quadraticCurveTo(e,n,s,i)}restore(){this._context.restore()}rotate(e){this._context.rotate(e)}save(){this._context.save()}scale(e,n){this._context.scale(e,n)}setLineDash(e){if(this._context.setLineDash)this._context.setLineDash(e);else if("mozDash"in this._context)this._context.mozDash=e;else if("webkitLineDash"in this._context)this._context.webkitLineDash=e}getLineDash(){return this._context.getLineDash()}setTransform(e,n,s,i,r,a){this._context.setTransform(e,n,s,i,r,a)}stroke(e){if(e)this._context.stroke(e);else this._context.stroke()}strokeText(e,n,s,i){this._context.strokeText(e,n,s,i)}transform(e,n,s,i,r,a){this._context.transform(e,n,s,i,r,a)}translate(e,n){this._context.translate(e,n)}_enableTrace(){let e=this,n=Wv.length,s=this.setAttr,i,r,a=function(l){let c=e[l],f;e[l]=function(){return r=jI(Array.prototype.slice.call(arguments,0)),f=c.apply(e,arguments),e._trace({method:l,args:r}),f}};for(i=0;i<n;i++)a(Wv[i]);e.setAttr=function(){s.apply(e,arguments);let l=arguments[0],c=arguments[1];if(l==="shadowOffsetX"||l==="shadowOffsetY"||l==="shadowBlur")c=c/this.canvas.getPixelRatio();e._trace({property:l,val:c})}}_applyGlobalCompositeOperation(e){let n=e.attrs.globalCompositeOperation;if(!(!n||n==="source-over"))this.setAttr("globalCompositeOperation",n)}}LI.forEach(function(e){Object.defineProperty(of.prototype,e,{get(){return this._context[e]},set(n){this._context[e]=n}})});class ob extends of{constructor(e,{willReadFrequently:n=!1}={}){super(e);this._context=e._canvas.getContext("2d",{willReadFrequently:n})}_fillColor(e){let n=e.fill();this.setAttr("fillStyle",n),e._fillFunc(this)}_fillPattern(e){let n=this._context;if("patternQuality"in n)n.patternQuality=n.imageSmoothingEnabled?"good":"nearest";this.setAttr("fillStyle",e._getFillPattern()),e._fillFunc(this)}_fillLinearGradient(e){let n=e._getLinearGradient();if(n)this.setAttr("fillStyle",n),e._fillFunc(this)}_fillRadialGradient(e){let n=e._getRadialGradient();if(n)this.setAttr("fillStyle",n),e._fillFunc(this)}_fill(e){let n=e.fill(),s=e.getFillPriority();if(n&&s==="color"){this._fillColor(e);return}let i=e.getFillPatternImage();if(i&&s==="pattern"){this._fillPattern(e);return}let r=e.getFillLinearGradientColorStops();if(r&&s==="linear-gradient"){this._fillLinearGradient(e);return}let a=e.getFillRadialGradientColorStops();if(a&&s==="radial-gradient"){this._fillRadialGradient(e);return}if(n)this._fillColor(e);else if(i)this._fillPattern(e);else if(r)this._fillLinearGradient(e);else if(a)this._fillRadialGradient(e)}_strokeLinearGradient(e){let n=e.getStrokeLinearGradientStartPoint(),s=e.getStrokeLinearGradientEndPoint(),i=e.getStrokeLinearGradientColorStops(),r=this.createLinearGradient(n.x,n.y,s.x,s.y);if(i){for(let a=0;a<i.length;a+=2)r.addColorStop(i[a],i[a+1]);this.setAttr("strokeStyle",r)}}_stroke(e){let n=e.dash(),s=e.getStrokeScaleEnabled();if(e.hasStroke()){if(!s){this.save();let r=this.getCanvas().getPixelRatio();this.setTransform(r,0,0,r,0,0)}if(this._applyLineCap(e),n&&e.dashEnabled())this.setLineDash(n),this.setAttr("lineDashOffset",e.dashOffset());if(this.setAttr("lineWidth",e.strokeWidth()),!e.getShadowForStrokeEnabled())this.setAttr("shadowColor","rgba(0,0,0,0)");if(e.getStrokeLinearGradientColorStops())this._strokeLinearGradient(e);else this.setAttr("strokeStyle",e.stroke());if(e._strokeFunc(this),!s)this.restore()}}_applyShadow(e){var n,s,i;let r=(n=e.getShadowRGBA())!==null&&n!==void 0?n:"black",a=(s=e.getShadowBlur())!==null&&s!==void 0?s:5,l=(i=e.getShadowOffset())!==null&&i!==void 0?i:{x:0,y:0},c=e.getAbsoluteScale(),f=this.canvas.getPixelRatio(),d=c.x*f,g=c.y*f;this.setAttr("shadowColor",r),this.setAttr("shadowBlur",a*Math.min(Math.abs(d),Math.abs(g))),this.setAttr("shadowOffsetX",l.x*d),this.setAttr("shadowOffsetY",l.y*g)}}class lb extends of{constructor(e){super(e);this._context=e._canvas.getContext("2d",{willReadFrequently:!0})}_fill(e){this.save(),this.setAttr("fillStyle",e.colorKey),e._fillFuncHit(this),this.restore()}strokeShape(e){if(e.hasHitStroke())this._stroke(e)}_stroke(e){if(e.hasHitStroke()){let n=e.getStrokeScaleEnabled();if(!n){this.save();let r=this.getCanvas().getPixelRatio();this.setTransform(r,0,0,r,0,0)}this._applyLineCap(e);let s=e.hitStrokeWidth(),i=s==="auto"?e.strokeWidth():s;if(this.setAttr("lineWidth",i),this.setAttr("strokeStyle",e.colorKey),e._strokeFuncHit(this),!n)this.restore()}}}var j0;function PI(){if(j0)return j0;let e=Ee.createCanvasElement(),n=e.getContext("2d");return j0=function(){let s=nt._global.devicePixelRatio||1,i=n.webkitBackingStorePixelRatio||n.mozBackingStorePixelRatio||n.msBackingStorePixelRatio||n.oBackingStorePixelRatio||n.backingStorePixelRatio||1;return s/i}(),Ee.releaseCanvas(e),j0}class Mh{constructor(e){this.pixelRatio=1,this.width=0,this.height=0,this.isCache=!1;let s=(e||{}).pixelRatio||nt.pixelRatio||PI();this.pixelRatio=s,this._canvas=Ee.createCanvasElement(),this._canvas.style.padding="0",this._canvas.style.margin="0",this._canvas.style.border="0",this._canvas.style.background="transparent",this._canvas.style.position="absolute",this._canvas.style.top="0",this._canvas.style.left="0"}getContext(){return this.context}getPixelRatio(){return this.pixelRatio}setPixelRatio(e){let n=this.pixelRatio;this.pixelRatio=e,this.setSize(this.getWidth()/n,this.getHeight()/n)}setWidth(e){this.width=this._canvas.width=e*this.pixelRatio,this._canvas.style.width=e+"px";let n=this.pixelRatio;this.getContext()._context.scale(n,n)}setHeight(e){this.height=this._canvas.height=e*this.pixelRatio,this._canvas.style.height=e+"px";let n=this.pixelRatio;this.getContext()._context.scale(n,n)}getWidth(){return this.width}getHeight(){return this.height}setSize(e,n){this.setWidth(e||0),this.setHeight(n||0)}setSizeIfChanged(e,n){if(this.width!==e*this.pixelRatio||this.height!==n*this.pixelRatio)this.setSize(e,n)}toDataURL(e,n){try{return this._canvas.toDataURL(e,n)}catch(s){try{return this._canvas.toDataURL()}catch(i){return Ee.error("Unable to get data URL. "+i.message+" For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html."),""}}}}class Mr extends Mh{constructor(e={width:0,height:0,willReadFrequently:!1}){super(e);this.context=new ob(this,{willReadFrequently:e.willReadFrequently}),this.setSize(e.width,e.height)}}class ec extends Mh{constructor(e={width:0,height:0}){super(e);this.hitCanvas=!0,this.context=new lb(this),this.setSize(e.width,e.height)}}var Cn={get isDragging(){let e=!1;return Cn._dragElements.forEach((n)=>{if(n.dragStatus==="dragging")e=!0}),e},justDragged:!1,get node(){let e;return Cn._dragElements.forEach((n)=>{e=n.node}),e},_dragElements:new Map,_listenToWindow(e){let n=(i)=>Cn._endDragBefore(i,e),s=(i)=>Cn._drag(i,e);e.addEventListener("mouseup",n,!0),e.addEventListener("touchend",n,!0),e.addEventListener("touchcancel",n,!0),e.addEventListener("mousemove",s),e.addEventListener("touchmove",s),e.addEventListener("mouseup",Cn._endDragAfter,!1),e.addEventListener("touchend",Cn._endDragAfter,!1),e.addEventListener("touchcancel",Cn._endDragAfter,!1)},_drag(e,n){let s=[];Cn._dragElements.forEach((i,r)=>{let{node:a}=i,l=a.getStage();if(n&&l._getOwnerWindow()!==n)return;if(l.setPointersPositions(e),i.pointerId===void 0)i.pointerId=Ee._getFirstPointerId(e);let c=l._changedPointerPositions.find((f)=>f.id===i.pointerId);if(!c)return;if(i.dragStatus!=="dragging"){let f=a.dragDistance();if(Math.max(Math.abs(c.x-i.startPointerPos.x),Math.abs(c.y-i.startPointerPos.y))<f)return;if(a.startDrag({evt:e}),!a.isDragging())return}a._setDragPosition(e,i),s.push(a)}),s.forEach((i)=>{if(!i.getStage())return;i.fire("dragmove",{type:"dragmove",target:i,evt:e},!0)})},_endDragBefore(e,n){let s=[];Cn._dragElements.forEach((i)=>{let{node:r}=i,a=r.getStage();if(e&&(!n||a._getOwnerWindow()===n))a.setPointersPositions(e);if(!a._changedPointerPositions.find((f)=>f.id===i.pointerId))return;if(i.dragStatus==="dragging"||i.dragStatus==="stopped")Cn.justDragged=!0,nt._mouseListenClick=!1,nt._touchListenClick=!1,nt._pointerListenClick=!1,i.dragStatus="stopped";let c=i.node.getLayer()||i.node instanceof nt.Stage&&i.node;if(c&&s.indexOf(c)===-1)s.push(c)}),s.forEach((i)=>{i.draw()})},_endDragAfter(e){Cn._dragElements.forEach((n,s)=>{if(n.dragStatus==="stopped")n.node.fire("dragend",{type:"dragend",target:n.node,evt:e},!0);if(n.dragStatus!=="dragging")Cn._dragElements.delete(s)})}};function hl(e){if(Ee._isString(e))return'"'+e+'"';if(Object.prototype.toString.call(e)==="[object Number]")return e;if(Ee._isBoolean(e))return e;return Object.prototype.toString.call(e)}function _0(e){if(e>255)return 255;else if(e<0)return 0;return Math.round(e)}function Ke(){if(nt.isUnminified)return function(e,n){if(!Ee._isNumber(e))Ee.warn(hl(e)+' is a not valid value for "'+n+'" attribute. The value should be a number.');return e}}function ul(e){if(nt.isUnminified)return function(n,s){let i=Ee._isNumber(n),r=Ee._isArray(n)&&n.length==e;if(!i&&!r)Ee.warn(hl(n)+' is a not valid value for "'+s+'" attribute. The value should be a number or Array<number>('+e+")");return n}}function Fh(){if(nt.isUnminified)return function(e,n){if(!(Ee._isNumber(e)||e==="auto"))Ee.warn(hl(e)+' is a not valid value for "'+n+'" attribute. The value should be a number or "auto".');return e}}function Pa(){if(nt.isUnminified)return function(e,n){if(!Ee._isString(e))Ee.warn(hl(e)+' is a not valid value for "'+n+'" attribute. The value should be a string.');return e}}function cb(){if(nt.isUnminified)return function(e,n){let s=Ee._isString(e),i=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;if(!(s||i))Ee.warn(hl(e)+' is a not valid value for "'+n+'" attribute. The value should be a string or a native gradient.');return e}}function Kv(){if(nt.isUnminified)return function(e,n){let s=Int8Array?Object.getPrototypeOf(Int8Array):null;if(s&&e instanceof s)return e;if(!Ee._isArray(e))Ee.warn(hl(e)+' is a not valid value for "'+n+'" attribute. The value should be a array of numbers.');else e.forEach(function(i){if(!Ee._isNumber(i))Ee.warn('"'+n+'" attribute has non numeric element '+i+". Make sure that all elements are numbers.")});return e}}function xi(){if(nt.isUnminified)return function(e,n){if(!(e===!0||e===!1))Ee.warn(hl(e)+' is a not valid value for "'+n+'" attribute. The value should be a boolean.');return e}}function Yv(e){if(nt.isUnminified)return function(n,s){if(n===void 0||n===null)return n;if(!Ee.isObject(n))Ee.warn(hl(n)+' is a not valid value for "'+s+'" attribute. The value should be an object with properties '+e);return n}}var Lh="get",Oh="set",pe={addGetterSetter(e,n,s,i,r){pe.addGetter(e,n,s),pe.addSetter(e,n,i,r),pe.addOverloadedGetterSetter(e,n)},addGetter(e,n,s){let i=Lh+Ee._capitalize(n);e.prototype[i]=e.prototype[i]||function(){let r=this.attrs[n];return r===void 0?s:r}},addSetter(e,n,s,i){let r=Oh+Ee._capitalize(n);if(!e.prototype[r])pe.overWriteSetter(e,n,s,i)},overWriteSetter(e,n,s,i){let r=Oh+Ee._capitalize(n);e.prototype[r]=function(a){if(s&&a!==void 0&&a!==null)a=s.call(this,a,n);if(this._setAttr(n,a),i)i.call(this);return this}},addComponentsGetterSetter(e,n,s,i,r){let a=s.length,l=Ee._capitalize,c=Lh+l(n),f=Oh+l(n);e.prototype[c]=function(){let g={};for(let b=0;b<a;b++){let y=s[b];g[y]=this.getAttr(n+l(y))}return g};let d=Yv(s);e.prototype[f]=function(g){let b=this.attrs[n];if(i)g=i.call(this,g,n);if(d)d.call(this,g,n);for(let y in g){if(!g.hasOwnProperty(y))continue;this._setAttr(n+l(y),g[y])}if(!g)s.forEach((y)=>{this._setAttr(n+l(y),void 0)});if(this._fireChangeEvent(n,b,g),r)r.call(this);return this},pe.addOverloadedGetterSetter(e,n)},addOverloadedGetterSetter(e,n){let s=Ee._capitalize(n),i=Oh+s,r=Lh+s;e.prototype[n]=function(){if(arguments.length)return this[i](arguments[0]),this;return this[r]()}},addDeprecatedGetterSetter(e,n,s,i){Ee.error("Adding deprecated "+n);let r=Lh+Ee._capitalize(n),a=n+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[r]=function(){Ee.error(a);let l=this.attrs[n];return l===void 0?s:l},pe.addSetter(e,n,i,function(){Ee.error(a)}),pe.addOverloadedGetterSetter(e,n)},backCompat(e,n){Ee.each(n,function(s,i){let r=e.prototype[i],a=Lh+Ee._capitalize(s),l=Oh+Ee._capitalize(s);function c(){r.apply(this,arguments),Ee.error('"'+s+'" method is deprecated and will be removed soon. Use ""'+i+'" instead.')}e.prototype[s]=c,e.prototype[a]=c,e.prototype[l]=c})},afterSetFilter(){this._filterUpToDate=!1}};function NI(e){let n=/(\w+)\(([^)]+)\)/g,s;while((s=n.exec(e))!==null){let[,i,r]=s;switch(i){case"blur":{let a=parseFloat(r.replace("px",""));return function(l){this.blurRadius(a*0.5);let c=nt.Filters;if(c&&c.Blur)c.Blur.call(this,l)}}case"brightness":{let a=r.includes("%")?parseFloat(r)/100:parseFloat(r);return function(l){this.brightness(a);let c=nt.Filters;if(c&&c.Brightness)c.Brightness.call(this,l)}}case"contrast":{let a=parseFloat(r);return function(l){let c=100*(Math.sqrt(a)-1);this.contrast(c);let f=nt.Filters;if(f&&f.Contrast)f.Contrast.call(this,l)}}case"grayscale":return function(a){let l=nt.Filters;if(l&&l.Grayscale)l.Grayscale.call(this,a)};case"sepia":return function(a){let l=nt.Filters;if(l&&l.Sepia)l.Sepia.call(this,a)};case"invert":return function(a){let l=nt.Filters;if(l&&l.Invert)l.Invert.call(this,a)};default:Ee.warn(`CSS filter "${i}" is not supported in fallback mode. Consider using function filters for better compatibility.`);break}}return()=>{}}var I0="absoluteOpacity",Qv="allEventListeners",xo="absoluteTransform",Jv="absoluteScale",tc="canvas",BI="Change",HI="children",UI="konva",fb="listening",zI="mouseenter",GI="mouseleave",VI="pointerenter",$I="pointerleave",XI="touchenter",WI="touchleave";var Zv="set",e4="Shape",R0=" ",t4="stage",dl="transform",KI="Stage",ub="visible",YI=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(R0),QI=1;class Ye{constructor(e){this._id=QI++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(e),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(e){if((e===dl||e===xo)&&this._cache.get(e))this._cache.get(e).dirty=!0;else if(e)this._cache.delete(e);else this._cache.clear()}_getCache(e,n){let s=this._cache.get(e);if(s===void 0||(e===dl||e===xo)&&s.dirty===!0)s=n.call(this),this._cache.set(e,s);return s}_calculate(e,n,s){if(!this._attachedDepsListeners.get(e)){let i=n.map((r)=>r+"Change.konva").join(R0);this.on(i,()=>{this._clearCache(e)}),this._attachedDepsListeners.set(e,!0)}return this._getCache(e,s)}_getCanvasCache(){return this._cache.get(tc)}_clearSelfAndDescendantCache(e){if(this._clearCache(e),e===xo)this.fire("absoluteTransformChange")}static _runAfterAbsTransformCascade(e){if(Ye._absTransformCascadeDepth>0)Ye._pendingAfterCascade.push(e);else e()}clearCache(){if(this._cache.has(tc)){let{scene:e,filter:n,hit:s}=this._cache.get(tc);Ee.releaseCanvas(e._canvas,n._canvas,...s?[s._canvas]:[]),this._cache.delete(tc)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(e){let n=e||{},s={};if(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)s=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()||void 0});let i=Math.ceil(n.width||s.width),r=Math.ceil(n.height||s.height),a=n.pixelRatio,l=n.x===void 0?Math.floor(s.x):n.x,c=n.y===void 0?Math.floor(s.y):n.y,f=n.offset||0,d=n.drawBorder||!1,g=n.hitCanvasPixelRatio||1;if(!i||!r){Ee.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}let b=Math.abs(Math.round(s.x)-l)>0.5?1:0,y=Math.abs(Math.round(s.y)-c)>0.5?1:0;i+=f*2+b,r+=f*2+y,l-=f,c-=f;let v=new Mr({pixelRatio:a,width:i,height:r}),x=new Mr({pixelRatio:a,width:0,height:0,willReadFrequently:!0}),T=v.getContext(),R=new Mr({width:v.width/v.pixelRatio+Math.abs(l),height:v.height/v.pixelRatio+Math.abs(c),pixelRatio:v.pixelRatio}),N=R.getContext();if(v.isCache=!0,this._cache.delete(tc),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1)v.getContext()._context.imageSmoothingEnabled=!1,x.getContext()._context.imageSmoothingEnabled=!1;if(T.save(),N.save(),T.translate(-l,-c),N.translate(-l,-c),R.x=l,R.y=c,this._isUnderCache=!0,this._clearSelfAndDescendantCache(I0),this._clearSelfAndDescendantCache(Jv),this.drawScene(v,this,R),this._isUnderCache=!1,T.restore(),d)T.save(),T.beginPath(),T.rect(0,0,i,r),T.closePath(),T.setAttr("strokeStyle","red"),T.setAttr("lineWidth",5),T.stroke(),T.restore();return Ee.releaseCanvas(R._canvas),this._cache.set(tc,{scene:v,filter:x,hit:null,hitConfig:{pixelRatio:g,width:i,height:r},x:l,y:c}),this._requestDraw(),this}_getCachedHitCanvas(e){if(e===this)return null;let n=this._getCanvasCache();if(!n)return null;if(n.hit)return n.hit;let s=new ec(n.hitConfig);s.isCache=!0;let i=s.getContext();return i.save(),i.translate(-n.x,-n.y),this.drawHit(s,this),i.restore(),n.hit=s,s}isCached(){return this._cache.has(tc)}getClientRect(e){throw Error('abstract "getClientRect" method call')}_transformedRect(e,n){let s=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}],i=1/0,r=1/0,a=-1/0,l=-1/0,c=this.getAbsoluteTransform(n);return s.forEach(function(f){let d=c.point(f);if(i===void 0)i=a=d.x,r=l=d.y;i=Math.min(i,d.x),r=Math.min(r,d.y),a=Math.max(a,d.x),l=Math.max(l,d.y)}),{x:i,y:r,width:a-i,height:l-r}}_drawCachedSceneCanvas(e){e.save(),e._applyOpacity(this),e._applyGlobalCompositeOperation(this);let n=this._getCanvasCache();e.translate(n.x,n.y);let s=this._getCachedSceneCanvas(),i=s.pixelRatio;e.drawImage(s._canvas,0,0,s.width/i,s.height/i),e.restore()}_drawCachedHitCanvas(e,n){let s=this._getCanvasCache();e.save(),e.translate(s.x,s.y),e.drawImage(n._canvas,0,0,n.width/n.pixelRatio,n.height/n.pixelRatio),e.restore()}_getCachedSceneCanvas(){let e=this.filters(),n=this._getCanvasCache(),{scene:s,filter:i}=n,r=i.getContext(),a,l,c,f;if(!e||e.length===0)return s;if(this._filterUpToDate)return i;let d=!0;for(let b=0;b<e.length;b++){let y=typeof e[b]==="string"&&!ab();if(typeof e[b]!=="string"||!ab()){d=!1;break}}let g=s.pixelRatio;if(i.setSize(s.width/s.pixelRatio,s.height/s.pixelRatio),d){let b=e.join(" ");return r.save(),r.setAttr("filter",b),r.drawImage(s._canvas,0,0,s.getWidth()/g,s.getHeight()/g),r.restore(),this._filterUpToDate=!0,i}try{a=e.length,r.clear(),r.drawImage(s._canvas,0,0,s.getWidth()/g,s.getHeight()/g),l=r.getImageData(0,0,i.getWidth(),i.getHeight());for(c=0;c<a;c++){if(f=e[c],typeof f==="string")f=NI(f);f.call(this,l),r.putImageData(l,0,0)}}catch(b){Ee.error("Unable to apply filter. "+b.message+" This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.")}return this._filterUpToDate=!0,i}on(...e){let n=e[0],s=e[1],i=e[2];if(this._cache)this._cache.delete(Qv);if(e.length===3)return this._delegate.apply(this,e);let r=n.split(R0);for(let a=0;a<r.length;a++){let c=r[a].split("."),f=c[0],d=c[1]||"";if(!this.eventListeners[f])this.eventListeners[f]=[];this.eventListeners[f].push({name:d,handler:s})}return this}off(e,n){let s=(e||"").split(R0),i=s.length,r,a,l,c,f,d;if(this._cache&&this._cache.delete(Qv),!e)for(a in this.eventListeners)this._off(a);for(r=0;r<i;r++)if(l=s[r],c=l.split("."),f=c[0],d=c[1],f){if(this.eventListeners[f])this._off(f,d,n)}else for(a in this.eventListeners)this._off(a,d,n);return this}dispatchEvent(e){let n={target:this,type:e.type,evt:e};return this.fire(e.type,n),this}addEventListener(e,n){return this.on(e,function(s){n.call(this,s.evt)}),this}removeEventListener(e){return this.off(e),this}_delegate(e,n,s){let i=this;return this.on(e,function(r){let a=r.target.findAncestors(n,!0,i);for(let l=0;l<a.length;l++)r=Ee.cloneObject(r),r.currentTarget=a[l],s.call(a[l],r)}),this}remove(){if(this.isDragging())this.stopDrag();return Cn._dragElements.delete(this._id),Cn._dragElements.forEach((e,n)=>{if(this.isAncestorOf(e.node))Cn._dragElements.delete(n)}),this._remove(),this}_clearCaches(){this._clearSelfAndDescendantCache(xo),this._clearSelfAndDescendantCache(I0),this._clearSelfAndDescendantCache(Jv),this._clearSelfAndDescendantCache(t4),this._clearSelfAndDescendantCache(ub),this._clearSelfAndDescendantCache(fb)}_remove(){this._clearCaches();let e=this.getParent();if(e&&e.children)e.children.splice(this.index,1),e._setChildrenIndices(),this.parent=null}destroy(){return this.remove(),this.clearCache(),this}getAttr(e){let n="get"+Ee._capitalize(e);if(Ee._isFunction(this[n]))return this[n]();return this.attrs[e]}getAncestors(){let e=this.getParent(),n=[];while(e)n.push(e),e=e.getParent();return n}getAttrs(){return this.attrs||{}}setAttrs(e){return this._batchTransformChanges(()=>{let n,s;if(!e)return this;for(n in e){if(n===HI)continue;if(s=Zv+Ee._capitalize(n),Ee._isFunction(this[s]))this[s](e[n]);else this._setAttr(n,e[n])}}),this}isListening(){return this._getCache(fb,this._isListening)}_isListening(e){if(!this.listening())return!1;let s=this.getParent();if(s&&s!==e&&this!==e)return s._isListening(e);else return!0}isVisible(){return this._getCache(ub,this._isVisible)}_isVisible(e){if(!this.visible())return!1;let s=this.getParent();if(s&&s!==e&&this!==e)return s._isVisible(e);else return!0}shouldDrawHit(e,n=!1){if(e)return this._isVisible(e)&&this._isListening(e);let s=this.getLayer(),i=!1;Cn._dragElements.forEach((a)=>{if(a.dragStatus!=="dragging")return;else if(a.node.nodeType==="Stage")i=!0;else if(a.node.getLayer()===s)i=!0});let r=!n&&!nt.hitOnDragEnabled&&(i||nt.isTransforming());return this.isListening()&&this.isVisible()&&!r}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){let e=this.getDepth(),n=this,s=0,i,r,a,l;function c(d){i=[],r=d.length;for(a=0;a<r;a++){if(l=d[a],s++,l.nodeType!==e4)i=i.concat(l.getChildren().slice());if(l._id===n._id)a=r}if(i.length>0&&i[0].getDepth()<=e)c(i)}let f=this.getStage();if(n.nodeType!==KI&&f)c(f.getChildren());return s}getDepth(){let e=0,n=this.parent;while(n)e++,n=n.parent;return e}_batchTransformChanges(e){if(this._batchingTransformChange=!0,e(),this._batchingTransformChange=!1,this._needClearTransformCache)this._clearCache(dl),this._clearSelfAndDescendantCache(xo);this._needClearTransformCache=!1}setPosition(e){return this._batchTransformChanges(()=>{this.x(e.x),this.y(e.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){let e=this.getStage();if(!e)return null;let n=e.getPointerPosition();if(!n)return null;let s=this.getAbsoluteTransform().copy();return s.invert(),s.point(n)}getAbsolutePosition(e){let n=!1,s=this.parent;while(s){if(s.isCached()){n=!0;break}s=s.parent}if(n&&!e)e=!0;let i=this.getAbsoluteTransform(e).getMatrix(),r=new ki,a=this.offset();return r.m=i.slice(),r.translate(a.x,a.y),r.getTranslation()}setAbsolutePosition(e){let{x:n,y:s,...i}=this._clearTransform();this.attrs.x=n,this.attrs.y=s,this._clearCache(dl);let r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(e.x,e.y),e={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(i),this.setPosition({x:e.x,y:e.y}),this._clearCache(dl),this._clearSelfAndDescendantCache(xo),this}_setTransform(e){let n;for(n in e)this.attrs[n]=e[n]}_clearTransform(){let e={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,e}move(e){let{x:n,y:s}=e,i=this.x(),r=this.y();if(n!==void 0)i+=n;if(s!==void 0)r+=s;return this.setPosition({x:i,y:r}),this}_eachAncestorReverse(e,n){let s=[],i=this.getParent(),r,a;if(n&&n._id===this._id)return;s.unshift(this);while(i&&(!n||i._id!==n._id))s.unshift(i),i=i.parent;r=s.length;for(a=0;a<r;a++)e(s[a])}rotate(e){return this.rotation(this.rotation()+e),this}moveToTop(){if(!this.parent)return Ee.warn("Node has no parent. moveToTop function is ignored."),!1;let e=this.index,n=this.parent.getChildren().length;if(e<n-1)return this.parent.children.splice(e,1),this.parent.children.push(this),this.parent._setChildrenIndices(),!0;return!1}moveUp(){if(!this.parent)return Ee.warn("Node has no parent. moveUp function is ignored."),!1;let e=this.index,n=this.parent.getChildren().length;if(e<n-1)return this.parent.children.splice(e,1),this.parent.children.splice(e+1,0,this),this.parent._setChildrenIndices(),!0;return!1}moveDown(){if(!this.parent)return Ee.warn("Node has no parent. moveDown function is ignored."),!1;let e=this.index;if(e>0)return this.parent.children.splice(e,1),this.parent.children.splice(e-1,0,this),this.parent._setChildrenIndices(),!0;return!1}moveToBottom(){if(!this.parent)return Ee.warn("Node has no parent. moveToBottom function is ignored."),!1;let e=this.index;if(e>0)return this.parent.children.splice(e,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0;return!1}setZIndex(e){if(!this.parent)return Ee.warn("Node has no parent. zIndex parameter is ignored."),this;if(e<0||e>=this.parent.children.length)Ee.warn("Unexpected value "+e+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");let n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(e,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(I0,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){let e=this.opacity(),n=this.getParent();if(n&&!n._isUnderCache)e*=n.getAbsoluteOpacity();return e}moveTo(e){if(this.getParent()!==e)this._remove(),e.add(this);return this}toObject(){let e=this.getAttrs(),n,s,i,r,a,l={attrs:{},className:this.getClassName()};for(n in e){if(s=e[n],a=Ee.isObject(s)&&!Ee._isPlainObject(s)&&!Ee._isArray(s),a)continue;if(i=typeof this[n]==="function"&&this[n],delete e[n],r=i?i.call(this):null,e[n]=s,r!==s)l.attrs[n]=s}return Ee._prepareToStringify(l)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(e,n,s){let i=[];if(n&&this._isMatch(e))i.push(this);let r=this.parent;while(r){if(r===s)return i;if(r._isMatch(e))i.push(r);r=r.parent}return i}isAncestorOf(e){return!1}findAncestor(e,n,s){return this.findAncestors(e,n,s)[0]}_isMatch(e){if(!e)return!1;if(typeof e==="function")return e(this);let n=e.replace(/ /g,"").split(","),s=n.length,i,r;for(i=0;i<s;i++){if(r=n[i],!Ee.isValidSelector(r))Ee.warn('Selector "'+r+'" is invalid. Allowed selectors examples are "#foo", ".bar" or "Group".'),Ee.warn('If you have a custom shape with such className, please change it to start with upper letter like "Triangle".'),Ee.warn("Konva is awesome, right?");if(r.charAt(0)==="#"){if(this.id()===r.slice(1))return!0}else if(r.charAt(0)==="."){if(this.hasName(r.slice(1)))return!0}else if(this.className===r||this.nodeType===r)return!0}return!1}getLayer(){let e=this.getParent();return e?e.getLayer():null}getStage(){return this._getCache(t4,this._getStage)}_getStage(){let e=this.getParent();if(e)return e.getStage();else return null}fire(e,n={},s){if(n.target=n.target||this,s)this._fireAndBubble(e,n);else this._fire(e,n);return this}getAbsoluteTransform(e){if(e)return this._getAbsoluteTransform(e);else return this._getCache(xo,this._getAbsoluteTransform)}_getAbsoluteTransform(e){let n;if(e)return n=new ki,this._eachAncestorReverse(function(s){let i=s.transformsEnabled();if(i==="all")n.multiply(s.getTransform());else if(i==="position")n.translate(s.x()-s.offsetX(),s.y()-s.offsetY())},e),n;else{if(n=this._cache.get(xo)||new ki,this.parent)this.parent.getAbsoluteTransform().copyInto(n);else n.reset();let s=this.transformsEnabled();if(s==="all")n.multiply(this.getTransform());else if(s==="position"){let i=this.attrs.x||0,r=this.attrs.y||0,a=this.attrs.offsetX||0,l=this.attrs.offsetY||0;n.translate(i-a,r-l)}return n.dirty=!1,n}}getAbsoluteScale(e){let n=this;while(n){if(n._isUnderCache)e=n;n=n.getParent()}let i=this.getAbsoluteTransform(e).decompose();return{x:i.scaleX,y:i.scaleY}}getAbsoluteRotation(){return this.getAbsoluteTransform().decompose().rotation}getTransform(){return this._getCache(dl,this._getTransform)}_getTransform(){var e,n;let s=this._cache.get(dl)||new ki;s.reset();let i=this.x(),r=this.y(),a=nt.getAngle(this.rotation()),l=(e=this.attrs.scaleX)!==null&&e!==void 0?e:1,c=(n=this.attrs.scaleY)!==null&&n!==void 0?n:1,f=this.attrs.skewX||0,d=this.attrs.skewY||0,g=this.attrs.offsetX||0,b=this.attrs.offsetY||0;if(i!==0||r!==0)s.translate(i,r);if(a!==0)s.rotate(a);if(f!==0||d!==0)s.skew(f,d);if(l!==1||c!==1)s.scale(l,c);if(g!==0||b!==0)s.translate(-1*g,-1*b);return s.dirty=!1,s}clone(e){let n=Ee.cloneObject(this.attrs),s,i,r,a,l;for(s in e)n[s]=e[s];let c=new this.constructor(n);for(s in this.eventListeners){i=this.eventListeners[s],r=i.length;for(a=0;a<r;a++)if(l=i[a],l.name.indexOf(UI)<0){if(!c.eventListeners[s])c.eventListeners[s]=[];c.eventListeners[s].push(l)}}return c}_toKonvaCanvas(e){e=e||{};let n=this.getClientRect(),s=this.getStage(),i=e.x!==void 0?e.x:Math.floor(n.x),r=e.y!==void 0?e.y:Math.floor(n.y),a=e.pixelRatio||1,l=new Mr({width:e.width||Math.ceil(n.width)||(s?s.width():0),height:e.height||Math.ceil(n.height)||(s?s.height():0),pixelRatio:a}),c=l.getContext(),f=new Mr({width:l.width/l.pixelRatio+Math.abs(i),height:l.height/l.pixelRatio+Math.abs(r),pixelRatio:l.pixelRatio});if(e.imageSmoothingEnabled===!1)c._context.imageSmoothingEnabled=!1;if(c.save(),i||r)c.translate(-1*i,-1*r);return this.drawScene(l,void 0,f),c.restore(),l}toCanvas(e){return this._toKonvaCanvas(e)._canvas}toDataURL(e){e=e||{};let n=e.mimeType||null,s=e.quality||null,i=this._toKonvaCanvas(e).toDataURL(n,s);if(e.callback)e.callback(i);return i}toImage(e){return new Promise((n,s)=>{try{let i=e===null||e===void 0?void 0:e.callback;if(i)delete e.callback;Ee._urlToImage(this.toDataURL(e),function(r){n(r),i===null||i===void 0||i(r)})}catch(i){s(i)}})}toBlob(e){return new Promise((n,s)=>{try{let i=e===null||e===void 0?void 0:e.callback;if(i)delete e.callback;this.toCanvas(e).toBlob((r)=>{n(r),i===null||i===void 0||i(r)},e===null||e===void 0?void 0:e.mimeType,e===null||e===void 0?void 0:e.quality)}catch(i){s(i)}})}setSize(e){return this.width(e.width),this.height(e.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){if(this.attrs.dragDistance!==void 0)return this.attrs.dragDistance;else if(this.parent)return this.parent.getDragDistance();else return nt.dragDistance}_off(e,n,s){let i=this.eventListeners[e],r,a,l;for(r=0;r<i.length;r++)if(a=i[r].name,l=i[r].handler,(a!=="konva"||n==="konva")&&(!n||a===n)&&(!s||s===l)){if(i.splice(r,1),i.length===0){delete this.eventListeners[e];break}r--}}_fireChangeEvent(e,n,s){this._fire(e+BI,{oldVal:n,newVal:s})}addName(e){if(!this.hasName(e)){let n=this.name(),s=n?n+" "+e:e;this.name(s)}return this}hasName(e){if(!e)return!1;let n=this.name();if(!n)return!1;return(n||"").split(/\s/g).indexOf(e)!==-1}removeName(e){let n=(this.name()||"").split(/\s/g),s=n.indexOf(e);if(s!==-1)n.splice(s,1),this.name(n.join(" "));return this}setAttr(e,n){let s=this[Zv+Ee._capitalize(e)];if(Ee._isFunction(s))s.call(this,n);else this._setAttr(e,n);return this}_requestDraw(){if(nt.autoDrawEnabled){let e=this.getLayer()||this.getStage();e===null||e===void 0||e.batchDraw()}}_setAttr(e,n){let s=this.attrs[e];if(s===n&&!Ee.isObject(n))return;if(n===void 0||n===null)delete this.attrs[e];else this.attrs[e]=n;if(this._shouldFireChangeEvents)this._fireChangeEvent(e,s,n);this._requestDraw()}_setComponentAttr(e,n,s){let i;if(s!==void 0){if(i=this.attrs[e],!i)this.attrs[e]=this.getAttr(e);this.attrs[e][n]=s,this._fireChangeEvent(e,i,s)}}_fireAndBubble(e,n,s){if(n&&this.nodeType===e4)n.target=this;let i=[zI,GI,VI,$I,XI,WI];if(!(i.indexOf(e)!==-1&&(s&&(this===s||this.isAncestorOf&&this.isAncestorOf(s))||this.nodeType==="Stage"&&!s))){this._fire(e,n);let a=i.indexOf(e)!==-1&&s&&s.isAncestorOf&&s.isAncestorOf(this)&&!s.isAncestorOf(this.parent);if((n&&!n.cancelBubble||!n)&&this.parent&&this.parent.isListening()&&!a)if(s&&s.parent)this._fireAndBubble.call(this.parent,e,n,s);else this._fireAndBubble.call(this.parent,e,n)}}_getProtoListeners(e){var n,s;let{nodeType:i}=this,r=Ye.protoListenerMap.get(i)||{},a=r===null||r===void 0?void 0:r[e];if(a===void 0){a=[];let l=new Set,c=Object.getPrototypeOf(this);while(c){let f=(s=(n=c.eventListeners)===null||n===void 0?void 0:n[e])!==null&&s!==void 0?s:[];for(let d=0;d<f.length;d++){let g=f[d];if(!l.has(g))l.add(g),a.push(g)}c=Object.getPrototypeOf(c)}r[e]=a,Ye.protoListenerMap.set(i,r)}return a}_fire(e,n){n=n||{},n.currentTarget=this,n.type=e;let s=this._getProtoListeners(e);if(s)for(let r=0;r<s.length;r++)s[r].handler.call(this,n);let i=this.eventListeners[e];if(i){let r=i.slice(),a=r.length;for(let c=0;c<r.length;c++)r[c].handler.call(this,n);let l=this.eventListeners[e];if(l)for(let c=a;c<l.length;c++)l[c].handler.call(this,n)}}draw(){return this.drawScene(),this.drawHit(),this}_createDragElement(e){let n=e?e.pointerId:void 0,s=this.getStage(),i=this.getAbsolutePosition();if(!s)return;let r=s._getPointerById(n)||s._changedPointerPositions[0]||i;Cn._dragElements.set(this._id,{node:this,startPointerPos:r,offset:{x:r.x-i.x,y:r.y-i.y},dragStatus:"ready",pointerId:n,startEvent:e})}startDrag(e,n=!0){if(!Cn._dragElements.has(this._id))this._createDragElement(e);let s=Cn._dragElements.get(this._id);s.dragStatus="dragging",this.fire("dragstart",{type:"dragstart",target:this,evt:s.startEvent&&s.startEvent.evt||e&&e.evt},n)}_setDragPosition(e,n){let s=this.getStage()._getPointerById(n.pointerId);if(!s)return;let i={x:s.x-n.offset.x,y:s.y-n.offset.y},r=this.dragBoundFunc();if(r!==void 0){let a=r.call(this,i,e);if(!a)Ee.warn("dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.");else i=a}if(!this._lastPos||this._lastPos.x!==i.x||this._lastPos.y!==i.y)this.setAbsolutePosition(i),this._requestDraw();this._lastPos=i}stopDrag(e){let n=Cn._dragElements.get(this._id);if(n)n.dragStatus="stopped";Cn._endDragBefore(e),Cn._endDragAfter(e)}setDraggable(e){this._setAttr("draggable",e),this._dragChange()}isDragging(){let e=Cn._dragElements.get(this._id);return e?e.dragStatus==="dragging":!1}_listenDrag(){this._dragCleanup(),this.on("mousedown.konva touchstart.konva",function(e){if(!(e.evt.button===void 0||nt.dragButtons.indexOf(e.evt.button)>=0))return;if(this.isDragging())return;let i=!1;if(Cn._dragElements.forEach((r)=>{if(this.isAncestorOf(r.node))i=!0}),!i)this._createDragElement(e)})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{if(this._dragCleanup(),!this.getStage())return;let n=Cn._dragElements.get(this._id),s=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";if(s)this.stopDrag();else if(i)Cn._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(e={x:0,y:0}){let n=this.getStage();if(!n)return!1;let s={x:-e.x,y:-e.y,width:n.width()+2*e.x,height:n.height()+2*e.y};return Ee.haveIntersection(s,this.getClientRect())}static create(e,n){if(Ee._isString(e))e=JSON.parse(e);return this._createNode(e,n)}static _createNode(e,n){let s=Ye.prototype.getClassName.call(e),i=e.children,r,a,l;if(n)e.attrs.container=n;if(!nt[s])Ee.warn('Can not find a node with class name "'+s+'". Fallback to "Shape".'),s="Shape";if(r=new nt[s](e.attrs),i){a=i.length;for(l=0;l<a;l++)r.add(Ye._createNode(i[l]))}return r}}Ye._absTransformCascadeDepth=0;Ye._pendingAfterCascade=[];Ye.protoListenerMap=new Map;Ye.prototype.nodeType="Node";Ye.prototype._attrsAffectingSize=[];Ye.prototype.eventListeners={};Ye.prototype.on(YI,function(){if(this._batchingTransformChange){this._needClearTransformCache=!0;return}this._clearCache(dl),this._clearSelfAndDescendantCache(xo)});Ye.prototype.on("visibleChange.konva",function(){this._clearSelfAndDescendantCache(ub)});Ye.prototype.on("listeningChange.konva",function(){this._clearSelfAndDescendantCache(fb)});Ye.prototype.on("opacityChange.konva",function(){this._clearSelfAndDescendantCache(I0)});var fs=pe.addGetterSetter;fs(Ye,"zIndex");fs(Ye,"absolutePosition");fs(Ye,"position");fs(Ye,"x",0,Ke());fs(Ye,"y",0,Ke());fs(Ye,"globalCompositeOperation","source-over",Pa());fs(Ye,"opacity",1,Ke());fs(Ye,"name","",Pa());fs(Ye,"id","",Pa());fs(Ye,"rotation",0,Ke());pe.addComponentsGetterSetter(Ye,"scale",["x","y"]);fs(Ye,"scaleX",1,Ke());fs(Ye,"scaleY",1,Ke());pe.addComponentsGetterSetter(Ye,"skew",["x","y"]);fs(Ye,"skewX",0,Ke());fs(Ye,"skewY",0,Ke());pe.addComponentsGetterSetter(Ye,"offset",["x","y"]);fs(Ye,"offsetX",0,Ke());fs(Ye,"offsetY",0,Ke());fs(Ye,"dragDistance",void 0,Ke());fs(Ye,"width",0,Ke());fs(Ye,"height",0,Ke());fs(Ye,"listening",!0,xi());fs(Ye,"preventDefault",!0,xi());fs(Ye,"filters",void 0,function(e){return this._filterUpToDate=!1,e});fs(Ye,"visible",!0,xi());fs(Ye,"transformsEnabled","all",Pa());fs(Ye,"size");fs(Ye,"dragBoundFunc");fs(Ye,"draggable",!1,xi());pe.backCompat(Ye,{rotateDeg:"rotate",setRotationDeg:"setRotation",getRotationDeg:"getRotation"});class mi extends Ye{constructor(){super(...arguments);this.children=[]}getChildren(e){let n=this.children||[];if(e)return n.filter(e);return n}hasChildren(){return this.getChildren().length>0}removeChildren(){return this.getChildren().forEach((e)=>{e.parent=null,e.index=0,e.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach((e)=>{e.parent=null,e.index=0,e.destroy()}),this.children=[],this._requestDraw(),this}add(...e){if(e.length===0)return this;if(e.length>1){for(let s=0;s<e.length;s++)this.add(e[s]);return this}let n=e[0];if(n.getParent())return n.moveTo(this),this;return this._validateAdd(n),n.index=this.getChildren().length,n.parent=this,n._clearCaches(),this.getChildren().push(n),this._fire("add",{child:n}),this._requestDraw(),this}destroy(){if(this.hasChildren())this.destroyChildren();return super.destroy(),this}find(e){return this._generalFind(e,!1)}findOne(e){let n=this._generalFind(e,!0);return n.length>0?n[0]:void 0}_generalFind(e,n){let s=[];return this._descendants((i)=>{let r=i._isMatch(e);if(r)s.push(i);if(r&&n)return!0;return!1}),s}_descendants(e){let n=!1,s=this.getChildren();for(let i of s){if(n=e(i),n)return!0;if(!i.hasChildren())continue;if(n=i._descendants(e),n)return!0}return!1}toObject(){let e=Ye.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach((n)=>{e.children.push(n.toObject())}),e}isAncestorOf(e){let n=e.getParent();while(n){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(e){let n=Ye.prototype.clone.call(this,e);return this.getChildren().forEach(function(s){n.add(s.clone())}),n}getAllIntersections(e){let n=[];return this.find("Shape").forEach((s)=>{if(s.isVisible()&&s.intersects(e))n.push(s)}),n}_clearSelfAndDescendantCache(e){var n;let s=e==="absoluteTransform";if(s)Ye._absTransformCascadeDepth++;try{if(super._clearSelfAndDescendantCache(e),this.isCached())return;(n=this.children)===null||n===void 0||n.forEach(function(i){i._clearSelfAndDescendantCache(e)})}finally{if(s&&--Ye._absTransformCascadeDepth===0){let i=Ye._pendingAfterCascade;if(i.length){Ye._pendingAfterCascade=[];for(let r=0;r<i.length;r++)i[r]()}}}}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(n,s){n.index=s}),this._requestDraw()}drawScene(e,n,s){let i=this.getLayer(),r=e||i&&i.getCanvas(),a=r&&r.getContext(),l=this._getCanvasCache(),c=l&&l.scene,f=r&&r.isCache;if(!this.isVisible()&&!f)return this;if(c){a.save();let d=this.getAbsoluteTransform(n).getMatrix();a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedSceneCanvas(a),a.restore()}else this._drawChildren("drawScene",r,n,s);return this}drawHit(e,n){if(!this.shouldDrawHit(n))return this;let s=this.getLayer(),i=e||s&&s.hitCanvas,r=i&&i.getContext(),a=this._getCachedHitCanvas(n);if(a){r.save();let l=this.getAbsoluteTransform(n).getMatrix();r.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(r,a),r.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(e,n,s,i){var r;let a=n&&n.getContext(),l=this.clipWidth(),c=this.clipHeight(),f=this.clipFunc(),d=typeof l==="number"&&typeof c==="number"||f,g=s===this;if(d){a.save();let y=this.getAbsoluteTransform(s),v=y.getMatrix();a.transform(v[0],v[1],v[2],v[3],v[4],v[5]),a.beginPath();let x;if(f)x=f.call(this,a,this);else{let T=this.clipX(),R=this.clipY();a.rect(T||0,R||0,l,c)}a.clip.apply(a,x),v=y.copy().invert().getMatrix(),a.transform(v[0],v[1],v[2],v[3],v[4],v[5])}let b=!g&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";if(b)a.save(),a._applyGlobalCompositeOperation(this);if((r=this.children)===null||r===void 0||r.forEach(function(y){y[e](n,s,i)}),b)a.restore();if(d)a.restore()}getClientRect(e={}){var n;let{skipTransform:s,relativeTo:i}=e,r,a,l,c,f={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(y){if(!y.visible())return;let v=y.getClientRect({relativeTo:d,skipShadow:e.skipShadow,skipStroke:e.skipStroke});if(v.width===0&&v.height===0)return;if(r===void 0)r=v.x,a=v.y,l=v.x+v.width,c=v.y+v.height;else r=Math.min(r,v.x),a=Math.min(a,v.y),l=Math.max(l,v.x+v.width),c=Math.max(c,v.y+v.height)});let g=this.find("Shape"),b=!1;for(let y=0;y<g.length;y++)if(g[y]._isVisible(this)){b=!0;break}if(b&&r!==void 0)f={x:r,y:a,width:l-r,height:c-a};else f={x:0,y:0,width:0,height:0};if(!s)return this._transformedRect(f,i);return f}}pe.addComponentsGetterSetter(mi,"clip",["x","y","width","height"]);pe.addGetterSetter(mi,"clipX",void 0,Ke());pe.addGetterSetter(mi,"clipY",void 0,Ke());pe.addGetterSetter(mi,"clipWidth",void 0,Ke());pe.addGetterSetter(mi,"clipHeight",void 0,Ke());pe.addGetterSetter(mi,"clipFunc");var Ph=new Map,n4=nt._global.PointerEvent!==void 0;function D0(e){return Ph.get(e)}function q0(e){return{evt:e,pointerId:e.pointerId}}function M0(e,n){return Ph.get(e)===n}function F0(e,n){var s;nc(e);let i=n.getStage();if(!i)return;if(Ph.set(e,n),n4){try{(s=i.content)===null||s===void 0||s.setPointerCapture(e)}catch(r){}n._fire("gotpointercapture",q0(new PointerEvent("gotpointercapture")))}}function nc(e,n){var s;let i=Ph.get(e);if(!i)return;let r=i.getStage();if(Ph.delete(e),n4){try{(s=r===null||r===void 0?void 0:r.content)===null||s===void 0||s.releasePointerCapture(e)}catch(a){}i._fire("lostpointercapture",q0(new PointerEvent("lostpointercapture")))}}var JI="Stage",ZI="string",i4="px",eR="mouseout",l4="mouseleave",c4="mouseover",f4="mouseenter",h4="mousemove",u4="mousedown",d4="mouseup",Nh="pointermove",Bh="pointerdown",cf="pointerup",Hh="pointercancel",tR="lostpointercapture",L0="pointerout",Uh="pointerleave",O0="pointerover",P0="pointerenter",mb="contextmenu",m4="touchstart",p4="touchend",g4="touchmove",b4="touchcancel",pb="wheel",nR=5,sR=[[f4,"_pointerenter"],[u4,"_pointerdown"],[h4,"_pointermove"],[d4,"_pointerup"],[l4,"_pointerleave"],[m4,"_pointerdown"],[g4,"_pointermove"],[p4,"_pointerup"],[b4,"_pointercancel"],[c4,"_pointerover"],[pb,"_wheel"],[mb,"_contextmenu"],[Bh,"_pointerdown"],[Nh,"_pointermove"],[cf,"_pointerup"],[Hh,"_pointercancel"],[Uh,"_pointerleave"],[tR,"_lostpointercapture"]],db={mouse:{[L0]:eR,[Uh]:l4,[O0]:c4,[P0]:f4,[Nh]:h4,[Bh]:u4,[cf]:d4,[Hh]:"mousecancel",pointerclick:"click",pointerdblclick:"dblclick"},touch:{[L0]:"touchout",[Uh]:"touchleave",[O0]:"touchover",[P0]:"touchenter",[Nh]:g4,[Bh]:m4,[cf]:p4,[Hh]:b4,pointerclick:"tap",pointerdblclick:"dbltap"},pointer:{[L0]:L0,[Uh]:Uh,[O0]:O0,[P0]:P0,[Nh]:Nh,[Bh]:Bh,[cf]:cf,[Hh]:Hh,pointerclick:"pointerclick",pointerdblclick:"pointerdblclick"}},zh=(e)=>{if(e.indexOf("pointer")>=0)return"pointer";if(e.indexOf("touch")>=0)return"touch";return"mouse"},lf=(e)=>{let n=zh(e);if(n==="pointer")return nt.pointerEventsEnabled&&db.pointer;if(n==="touch")return db.touch;if(n==="mouse")return db.mouse};function r4(e={}){if(e.clipFunc||e.clipWidth||e.clipHeight)Ee.warn("Stage does not support clipping. Please use clip for Layers or Groups.");return e}var iR="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);",ff=[],a4=new WeakSet,o4=(e)=>{if(!e||a4.has(e))return;a4.add(e),Cn._listenToWindow(e),e.document.addEventListener("visibilitychange",()=>{ff.forEach((n)=>{n.batchDraw()})})};class hf extends mi{constructor(e){super(r4(e));this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),ff.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{r4(this.attrs)}),this._checkVisibility()}_validateAdd(e){let n=e.getType()==="Layer",s=e.getType()==="FastLayer";if(!(n||s))Ee.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;let e=this.visible()?"":"none";this.content.style.display=e}_getOwnerWindow(){var e;let n=this.content||this.container();return((e=n===null||n===void 0?void 0:n.ownerDocument)===null||e===void 0?void 0:e.defaultView)||(nt.isBrowser?window:null)}setContainer(e){if(typeof e===ZI){let n;if(e.charAt(0)==="."){let s=e.slice(1);e=document.getElementsByClassName(s)[0]}else{if(e.charAt(0)!=="#")n=e;else n=e.slice(1);e=document.getElementById(n)}if(!e)throw"Can not find container in document with id "+n}if(this._setAttr("container",e),this.content){if(this.content.parentElement)this.content.parentElement.removeChild(this.content);e.appendChild(this.content),o4(this._getOwnerWindow())}return this}shouldDrawHit(){return!0}clear(){let e=this.children,n=e.length;for(let s=0;s<n;s++)e[s].clear();return this}clone(e){if(!e)e={};return e.container=typeof document<"u"&&document.createElement("div"),mi.prototype.clone.call(this,e)}destroy(){super.destroy();let e=this.content;if(e&&Ee._isInDocument(e))this.container().removeChild(e);let n=ff.indexOf(this);if(n>-1)ff.splice(n,1);return Ee.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){let e=this._pointerPositions[0]||this._changedPointerPositions[0];if(!e)return Ee.warn(iR),null;return{x:e.x,y:e.y}}_getPointerById(e){return this._pointerPositions.find((n)=>n.id===e)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(e){e={...e},e.x=e.x||0,e.y=e.y||0,e.width=e.width||this.width(),e.height=e.height||this.height();let n=new Mr({width:e.width,height:e.height,pixelRatio:e.pixelRatio||1}),s=n.getContext()._context,i=this.children;if(e.x||e.y)s.translate(-1*e.x,-1*e.y);return i.forEach(function(r){if(!r.isVisible())return;let a=r._toKonvaCanvas(e);s.drawImage(a._canvas,e.x,e.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}),n}getIntersection(e){if(!e)return null;let n=this.children,s=n.length,i=s-1;for(let r=i;r>=0;r--){let a=n[r].getIntersection(e);if(a)return a}return null}_resizeDOM(){let e=this.width(),n=this.height();if(this.content)this.content.style.width=e+i4,this.content.style.height=n+i4;this.children.forEach((s)=>{s.setSize({width:e,height:n}),s.draw()})}_syncBufferSize(e){return e.setSizeIfChanged(this.width(),this.height()),e}add(e,...n){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.add(arguments[i]);return this}super.add(e);let s=this.children.length;if(s>nR)Ee.warn("The stage has "+s+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.");if(e.setSize({width:this.width(),height:this.height()}),e.draw(),nt.isBrowser)this.content.appendChild(e.canvas._canvas);return this}getParent(){return null}getLayer(){return null}hasPointerCapture(e){return M0(e,this)}setPointerCapture(e){F0(e,this)}releaseCapture(e){nc(e,this)}getLayers(){return this.children}_bindContentEvents(){if(!nt.isBrowser)return;sR.forEach(([e,n])=>{this.content.addEventListener(e,(s)=>{this[n](s)},{passive:!1})})}_pointerenter(e){this.setPointersPositions(e);let n=lf(e.type);if(n)this._fire(n.pointerenter,{evt:e,target:this,currentTarget:this})}_pointerover(e){this.setPointersPositions(e);let n=lf(e.type);if(n)this._fire(n.pointerover,{evt:e,target:this,currentTarget:this})}_getTargetShape(e){let n=this[e+"targetShape"];if(n&&!n.getStage())n=null;return n}_pointerleave(e){let n=lf(e.type),s=zh(e.type);if(!n)return;this.setPointersPositions(e);let i=this._getTargetShape(s),r=!(nt.isDragging()||nt.isTransforming())||nt.hitOnDragEnabled;if(i&&r)i._fireAndBubble(n.pointerout,{evt:e}),i._fireAndBubble(n.pointerleave,{evt:e}),this._fire(n.pointerleave,{evt:e,target:this,currentTarget:this}),this[s+"targetShape"]=null;else if(r)this._fire(n.pointerleave,{evt:e,target:this,currentTarget:this}),this._fire(n.pointerout,{evt:e,target:this,currentTarget:this});this.pointerPos=null,this._pointerPositions=[]}_pointerdown(e){let n=lf(e.type),s=zh(e.type);if(!n)return;this.setPointersPositions(e);let i=!1;if(this._changedPointerPositions.forEach((r)=>{let a=this.getIntersection(r);if(Cn.justDragged=!1,nt["_"+s+"ListenClick"]=!0,!a||!a.isListening()){this[s+"ClickStartShape"]=void 0;return}if(nt.capturePointerEventsEnabled)a.setPointerCapture(r.id);this[s+"ClickStartShape"]=a,a._fireAndBubble(n.pointerdown,{evt:e,pointerId:r.id}),i=!0;let l=e.type.indexOf("touch")>=0;if(a.preventDefault()&&e.cancelable&&l)e.preventDefault()}),!i)this._fire(n.pointerdown,{evt:e,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}_pointermove(e){let n=lf(e.type),s=zh(e.type);if(!n)return;let i=e.type.indexOf("touch")>=0||e.pointerType==="touch";if(nt.isDragging()&&Cn.node.preventDefault()&&e.cancelable&&i)e.preventDefault();if(this.setPointersPositions(e),!(!(nt.isDragging()||nt.isTransforming())||nt.hitOnDragEnabled))return;let a={},l=!1,c=this._getTargetShape(s);if(this._changedPointerPositions.forEach((f)=>{let d=D0(f.id)||this.getIntersection(f),g=f.id,b={evt:e,pointerId:g},y=c!==d;if(y&&c)c._fireAndBubble(n.pointerout,{...b},d),c._fireAndBubble(n.pointerleave,{...b},d);if(d){if(a[d._id])return;a[d._id]=!0}if(d&&d.isListening()){if(l=!0,y)d._fireAndBubble(n.pointerover,{...b},c),d._fireAndBubble(n.pointerenter,{...b},c),this[s+"targetShape"]=d;d._fireAndBubble(n.pointermove,{...b})}else if(c)this._fire(n.pointerover,{evt:e,target:this,currentTarget:this,pointerId:g}),this[s+"targetShape"]=null}),!l)this._fire(n.pointermove,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(e){let n=lf(e.type),s=zh(e.type);if(!n)return;this.setPointersPositions(e);let i=Cn.justDragged||s==="pointer"&&nt.isDragging(),r=nt["_"+s+"ListenClick"]&&!i,a=this[s+"ClickStartShape"],l=this[s+"ClickEndShape"],c={},f=!1;if(this._changedPointerPositions.forEach((d)=>{let g=D0(d.id)||this.getIntersection(d);if(g){if(g.releaseCapture(d.id),c[g._id])return;c[g._id]=!0}let b=d.id,y={evt:e,pointerId:b},v=!1;if(nt["_"+s+"InDblClickWindow"])v=!0,clearTimeout(this[s+"DblTimeout"]);else if(!i)nt["_"+s+"InDblClickWindow"]=!0,clearTimeout(this[s+"DblTimeout"]);if(this[s+"DblTimeout"]=setTimeout(function(){nt["_"+s+"InDblClickWindow"]=!1},nt.dblClickWindow),g&&g.isListening()){if(f=!0,this[s+"ClickEndShape"]=g,g._fireAndBubble(n.pointerup,{...y}),r&&a===g){if(g._fireAndBubble(n.pointerclick,{...y}),v&&l&&l===g)g._fireAndBubble(n.pointerdblclick,{...y})}}else{if(this[s+"ClickEndShape"]=null,!f)this._fire(n.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),f=!0;if(r)this._fire(n.pointerclick,{evt:e,target:this,currentTarget:this,pointerId:b});if(v)this._fire(n.pointerdblclick,{evt:e,target:this,currentTarget:this,pointerId:b})}}),!f)this._fire(n.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id});if(nt["_"+s+"ListenClick"]=!1,e.cancelable&&s!=="touch"&&s!=="pointer")e.preventDefault()}_contextmenu(e){this.setPointersPositions(e);let n=this.getIntersection(this.getPointerPosition());if(n&&n.isListening())n._fireAndBubble(mb,{evt:e});else this._fire(mb,{evt:e,target:this,currentTarget:this})}_wheel(e){this.setPointersPositions(e);let n=this.getIntersection(this.getPointerPosition());if(n&&n.isListening())n._fireAndBubble(pb,{evt:e});else this._fire(pb,{evt:e,target:this,currentTarget:this})}_pointercancel(e){this.setPointersPositions(e);let n=D0(e.pointerId)||this.getIntersection(this.getPointerPosition());if(n)n._fireAndBubble(cf,q0(e));nc(e.pointerId)}_lostpointercapture(e){nc(e.pointerId)}setPointersPositions(e){let n=this._getContentPosition(),s=null,i=null;if(e=e?e:window.event,e.touches!==void 0)this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(e.touches,(r)=>{this._pointerPositions.push({id:r.identifier,x:(r.clientX-n.left)/n.scaleX,y:(r.clientY-n.top)/n.scaleY})}),Array.prototype.forEach.call(e.changedTouches||e.touches,(r)=>{this._changedPointerPositions.push({id:r.identifier,x:(r.clientX-n.left)/n.scaleX,y:(r.clientY-n.top)/n.scaleY})});else s=(e.clientX-n.left)/n.scaleX,i=(e.clientY-n.top)/n.scaleY,this.pointerPos={x:s,y:i},this._pointerPositions=[{x:s,y:i,id:Ee._getFirstPointerId(e)}],this._changedPointerPositions=[{x:s,y:i,id:Ee._getFirstPointerId(e)}]}_setPointerPosition(e){Ee.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(e)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};let e=this.content.getBoundingClientRect();return{top:e.top,left:e.left,scaleX:e.width/this.content.clientWidth||1,scaleY:e.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new Mr({width:0,height:0}),this.bufferHitCanvas=new ec({pixelRatio:1,width:0,height:0}),!nt.isBrowser)return;let e=this.container();if(!e)throw"Stage has no container. A container is required.";e.innerHTML="",this.content=e.ownerDocument.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),e.appendChild(this.content),o4(this._getOwnerWindow()),this._resizeDOM()}cache(){return Ee.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(e){e.batchDraw()}),this}}hf.prototype.nodeType=JI;tn(hf);pe.addGetterSetter(hf,"container");var w4="hasShadow",y4="shadowRGBA",v4="patternImage",S4="linearGradient",k4="radialGradient",N0;function bb(){if(N0)return N0;return N0=Ee.createCanvasElement().getContext("2d"),N0}var sc={};function rR(e){let n=this.attrs.fillRule;if(n)e.fill(n);else e.fill()}function aR(e){e.stroke()}function oR(e){let n=this.attrs.fillRule;if(n)e.fill(n);else e.fill()}function lR(e){e.stroke()}function cR(){this._clearCache(w4)}function fR(){this._clearCache(y4)}function hR(){this._clearCache(v4)}function uR(){this._clearCache(S4)}function dR(){this._clearCache(k4)}class Qe extends Ye{constructor(e){super(e);let n,s=0;while(!0){if(n=Ee.getHitColor(),n&&!(n in sc))break;if(s++,s>=1e4){Ee.warn("Failed to find a unique color key for a shape. Konva may work incorrectly. Most likely your browser is using canvas farbling. Consider disabling it."),n=Ee.getRandomColor();break}}this.colorKey=n,sc[n]=this}getContext(){return Ee.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return Ee.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(w4,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(v4,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){let n=bb().createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(n&&n.setTransform){let s=new ki;s.translate(this.fillPatternX(),this.fillPatternY()),s.rotate(nt.getAngle(this.fillPatternRotation())),s.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),s.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());let i=s.getMatrix(),r=typeof DOMMatrix>"u"?{a:i[0],b:i[1],c:i[2],d:i[3],e:i[4],f:i[5]}:new DOMMatrix(i);n.setTransform(r)}return n}}_getLinearGradient(){return this._getCache(S4,this.__getLinearGradient)}__getLinearGradient(){let e=this.fillLinearGradientColorStops();if(e){let n=bb(),s=this.fillLinearGradientStartPoint(),i=this.fillLinearGradientEndPoint(),r=n.createLinearGradient(s.x,s.y,i.x,i.y);for(let a=0;a<e.length;a+=2)r.addColorStop(e[a],e[a+1]);return r}}_getRadialGradient(){return this._getCache(k4,this.__getRadialGradient)}__getRadialGradient(){let e=this.fillRadialGradientColorStops();if(e){let n=bb(),s=this.fillRadialGradientStartPoint(),i=this.fillRadialGradientEndPoint(),r=n.createRadialGradient(s.x,s.y,this.fillRadialGradientStartRadius(),i.x,i.y,this.fillRadialGradientEndRadius());for(let a=0;a<e.length;a+=2)r.addColorStop(e[a],e[a+1]);return r}}getShadowRGBA(){return this._getCache(y4,this._getShadowRGBA)}_getShadowRGBA(){if(!this.hasShadow())return;let e=Ee.colorToRGBA(this.shadowColor());if(e)return"rgba("+e.r+","+e.g+","+e.b+","+e.a*(this.shadowOpacity()||1)+")"}hasFill(){return this._calculate("hasFill",["fillEnabled","fill","fillPatternImage","fillLinearGradientColorStops","fillRadialGradientColorStops"],()=>this.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){let e=this.hitStrokeWidth();if(e==="auto")return this.hasStroke();return this.strokeEnabled()&&!!e}intersects(e){let n=this.getStage();if(!n)return!1;let s=n._syncBufferSize(n.bufferHitCanvas);return s.getContext().clear(),this.drawHit(s,void 0,!0),s.context.getImageData(Math.round(e.x),Math.round(e.y),1,1).data[3]>0}destroy(){return Ye.prototype.destroy.call(this),delete sc[this.colorKey],delete this.colorKey,this}_useBufferCanvas(e){var n;if(!((n=this.attrs.perfectDrawEnabled)!==null&&n!==void 0?n:!0))return!1;let i=e||this.hasFill(),r=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(i&&r&&a)return!0;let l=this.hasShadow(),c=this.shadowForStrokeEnabled();if(i&&r&&l&&c)return!0;return!1}setStrokeHitEnabled(e){if(Ee.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),e)this.hitStrokeWidth("auto");else this.hitStrokeWidth(0)}getStrokeHitEnabled(){if(this.hitStrokeWidth()===0)return!1;else return!0}getSelfRect(){let e=this.size();return{x:this._centroid?-e.width/2:0,y:this._centroid?-e.height/2:0,width:e.width,height:e.height}}getClientRect(e={}){let n=!1,s=this.getParent();while(s){if(s.isCached()){n=!0;break}s=s.getParent()}let i=e.skipTransform,r=e.relativeTo||n&&this.getStage()||void 0,a=this.getSelfRect(),c=!e.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,f=a.width+c,d=a.height+c,g=!e.skipShadow&&this.hasShadow(),b=g?this.shadowOffsetX():0,y=g?this.shadowOffsetY():0,v=f+Math.abs(b),x=d+Math.abs(y),T=g&&this.shadowBlur()||0,R=v+T*2,N=x+T*2,U={width:R,height:N,x:-(c/2+T)+Math.min(b,0)+a.x,y:-(c/2+T)+Math.min(y,0)+a.y};if(!i)return this._transformedRect(U,r);return U}drawScene(e,n,s){let i=this.getLayer(),r=e||i.getCanvas(),a=r.getContext(),l=this._getCanvasCache(),c=this.getSceneFunc(),f=this.hasShadow(),d,g=!1,b=n===this;if(!this.isVisible()&&!b)return this;if(l){a.save();let y=this.getAbsoluteTransform(n).getMatrix();return a.transform(y[0],y[1],y[2],y[3],y[4],y[5]),this._drawCachedSceneCanvas(a),a.restore(),this}if(!c)return this;if(a.save(),this._useBufferCanvas()){d=this.getStage();let y=s||d._syncBufferSize(d.bufferCanvas),v=y.getContext();if(s)v.save(),v.setTransform(1,0,0,1,0,0),v.clearRect(0,0,y.width,y.height),v.restore();else v.clear();v.save(),v.imageSmoothingEnabled=a.imageSmoothingEnabled,v._applyLineJoin(this),v._applyMiterLimit(this);let x=this.getAbsoluteTransform(n).getMatrix();v.transform(x[0],x[1],x[2],x[3],x[4],x[5]),c.call(this,v,this),v.restore();let T=y.pixelRatio;if(f)a._applyShadow(this);if(!b)a._applyOpacity(this),a._applyGlobalCompositeOperation(this);a.drawImage(y._canvas,y.x||0,y.y||0,y.width/T,y.height/T)}else{if(a._applyLineJoin(this),a._applyMiterLimit(this),!b){let y=this.getAbsoluteTransform(n).getMatrix();a.transform(y[0],y[1],y[2],y[3],y[4],y[5]),a._applyOpacity(this),a._applyGlobalCompositeOperation(this)}if(f)a._applyShadow(this);c.call(this,a,this)}return a.restore(),this}drawHit(e,n,s=!1){if(!this.shouldDrawHit(n,s))return this;let i=this.getLayer(),r=e||i.hitCanvas,a=r&&r.getContext(),l=this.hitFunc()||this.sceneFunc(),c=this._getCachedHitCanvas(n);if(!this.colorKey)Ee.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()");if(c){a.save();let d=this.getAbsoluteTransform(n).getMatrix();return a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedHitCanvas(a,c),a.restore(),this}if(!l)return this;if(a.save(),a._applyLineJoin(this),a._applyMiterLimit(this),this!==n){let d=this.getAbsoluteTransform(n).getMatrix();a.transform(d[0],d[1],d[2],d[3],d[4],d[5])}return l.call(this,a,this),a.restore(),this}drawHitFromCache(e=0){let n=this._getCachedSceneCanvas(),s=this._getCachedHitCanvas(),i=s.getContext(),r=s.getWidth(),a=s.getHeight();i.clear(),i.drawImage(n._canvas,0,0,r,a);try{let l=i.getImageData(0,0,r,a),c=l.data,f=c.length,d=Ee._hexToRgb(this.colorKey);for(let g=0;g<f;g+=4)if(c[g+3]>e)c[g]=d.r,c[g+1]=d.g,c[g+2]=d.b,c[g+3]=255;else c[g+3]=0;i.putImageData(l,0,0)}catch(l){Ee.error("Unable to draw hit graph from cached scene canvas. "+l.message)}return this}hasPointerCapture(e){return M0(e,this)}setPointerCapture(e){F0(e,this)}releaseCapture(e){nc(e,this)}}Qe.prototype._fillFunc=rR;Qe.prototype._strokeFunc=aR;Qe.prototype._fillFuncHit=oR;Qe.prototype._strokeFuncHit=lR;Qe.prototype._centroid=!1;Qe.prototype.nodeType="Shape";tn(Qe);Qe.prototype.eventListeners={};Qe.prototype.on("shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",cR);Qe.prototype.on("shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",fR);Qe.prototype.on("fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",hR);Qe.prototype.on("fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",uR);Qe.prototype.on("fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",dR);pe.addGetterSetter(Qe,"stroke",void 0,cb());pe.addGetterSetter(Qe,"strokeWidth",2,Ke());pe.addGetterSetter(Qe,"fillAfterStrokeEnabled",!1);pe.addGetterSetter(Qe,"hitStrokeWidth","auto",Fh());pe.addGetterSetter(Qe,"strokeHitEnabled",!0,xi());pe.addGetterSetter(Qe,"perfectDrawEnabled",!0,xi());pe.addGetterSetter(Qe,"shadowForStrokeEnabled",!0,xi());pe.addGetterSetter(Qe,"lineJoin");pe.addGetterSetter(Qe,"lineCap");pe.addGetterSetter(Qe,"miterLimit");pe.addGetterSetter(Qe,"sceneFunc");pe.addGetterSetter(Qe,"hitFunc");pe.addGetterSetter(Qe,"dash");pe.addGetterSetter(Qe,"dashOffset",0,Ke());pe.addGetterSetter(Qe,"shadowColor",void 0,Pa());pe.addGetterSetter(Qe,"shadowBlur",0,Ke());pe.addGetterSetter(Qe,"shadowOpacity",1,Ke());pe.addComponentsGetterSetter(Qe,"shadowOffset",["x","y"]);pe.addGetterSetter(Qe,"shadowOffsetX",0,Ke());pe.addGetterSetter(Qe,"shadowOffsetY",0,Ke());pe.addGetterSetter(Qe,"fillPatternImage");pe.addGetterSetter(Qe,"fill",void 0,cb());pe.addGetterSetter(Qe,"fillPatternX",0,Ke());pe.addGetterSetter(Qe,"fillPatternY",0,Ke());pe.addGetterSetter(Qe,"fillLinearGradientColorStops");pe.addGetterSetter(Qe,"strokeLinearGradientColorStops");pe.addGetterSetter(Qe,"fillRadialGradientStartRadius",0);pe.addGetterSetter(Qe,"fillRadialGradientEndRadius",0);pe.addGetterSetter(Qe,"fillRadialGradientColorStops");pe.addGetterSetter(Qe,"fillPatternRepeat","repeat");pe.addGetterSetter(Qe,"fillEnabled",!0);pe.addGetterSetter(Qe,"strokeEnabled",!0);pe.addGetterSetter(Qe,"shadowEnabled",!0);pe.addGetterSetter(Qe,"dashEnabled",!0);pe.addGetterSetter(Qe,"strokeScaleEnabled",!0);pe.addGetterSetter(Qe,"fillPriority","color");pe.addComponentsGetterSetter(Qe,"fillPatternOffset",["x","y"]);pe.addGetterSetter(Qe,"fillPatternOffsetX",0,Ke());pe.addGetterSetter(Qe,"fillPatternOffsetY",0,Ke());pe.addComponentsGetterSetter(Qe,"fillPatternScale",["x","y"]);pe.addGetterSetter(Qe,"fillPatternScaleX",1,Ke());pe.addGetterSetter(Qe,"fillPatternScaleY",1,Ke());pe.addComponentsGetterSetter(Qe,"fillLinearGradientStartPoint",["x","y"]);pe.addComponentsGetterSetter(Qe,"strokeLinearGradientStartPoint",["x","y"]);pe.addGetterSetter(Qe,"fillLinearGradientStartPointX",0);pe.addGetterSetter(Qe,"strokeLinearGradientStartPointX",0);pe.addGetterSetter(Qe,"fillLinearGradientStartPointY",0);pe.addGetterSetter(Qe,"strokeLinearGradientStartPointY",0);pe.addComponentsGetterSetter(Qe,"fillLinearGradientEndPoint",["x","y"]);pe.addComponentsGetterSetter(Qe,"strokeLinearGradientEndPoint",["x","y"]);pe.addGetterSetter(Qe,"fillLinearGradientEndPointX",0);pe.addGetterSetter(Qe,"strokeLinearGradientEndPointX",0);pe.addGetterSetter(Qe,"fillLinearGradientEndPointY",0);pe.addGetterSetter(Qe,"strokeLinearGradientEndPointY",0);pe.addComponentsGetterSetter(Qe,"fillRadialGradientStartPoint",["x","y"]);pe.addGetterSetter(Qe,"fillRadialGradientStartPointX",0);pe.addGetterSetter(Qe,"fillRadialGradientStartPointY",0);pe.addComponentsGetterSetter(Qe,"fillRadialGradientEndPoint",["x","y"]);pe.addGetterSetter(Qe,"fillRadialGradientEndPointX",0);pe.addGetterSetter(Qe,"fillRadialGradientEndPointY",0);pe.addGetterSetter(Qe,"fillPatternRotation",0);pe.addGetterSetter(Qe,"fillRule",void 0,Pa());pe.backCompat(Qe,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var mR="beforeDraw",pR="draw",x4=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],gR=x4.length;class Na extends mi{constructor(e){super(e);this.canvas=new Mr,this.hitCanvas=new ec({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(e){return this.getContext().clear(e),this.getHitCanvas().getContext().clear(e),this}setZIndex(e){super.setZIndex(e);let n=this.getStage();if(n&&n.content)if(n.content.removeChild(this.getNativeCanvasElement()),e<n.children.length-1)n.content.insertBefore(this.getNativeCanvasElement(),n.children[e+1].getCanvas()._canvas);else n.content.appendChild(this.getNativeCanvasElement());return this}moveToTop(){Ye.prototype.moveToTop.call(this);let e=this.getStage();if(e&&e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.appendChild(this.getNativeCanvasElement());return!0}moveUp(){if(!Ye.prototype.moveUp.call(this))return!1;let n=this.getStage();if(!n||!n.content)return!1;if(n.content.removeChild(this.getNativeCanvasElement()),this.index<n.children.length-1)n.content.insertBefore(this.getNativeCanvasElement(),n.children[this.index+1].getCanvas()._canvas);else n.content.appendChild(this.getNativeCanvasElement());return!0}moveDown(){if(Ye.prototype.moveDown.call(this)){let e=this.getStage();if(e){let n=e.children;if(e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.insertBefore(this.getNativeCanvasElement(),n[this.index+1].getCanvas()._canvas)}return!0}return!1}moveToBottom(){if(Ye.prototype.moveToBottom.call(this)){let e=this.getStage();if(e){let n=e.children;if(e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.insertBefore(this.getNativeCanvasElement(),n[1].getCanvas()._canvas)}return!0}return!1}getLayer(){return this}remove(){let e=this.getNativeCanvasElement();if(Ye.prototype.remove.call(this),e&&e.parentNode&&Ee._isInDocument(e))e.parentNode.removeChild(e);return this}getStage(){return this.parent}setSize({width:e,height:n}){return this.canvas.setSize(e,n),this._syncHitCanvasSize(),this._setSmoothEnabled(),this}_syncHitCanvasSize(){let e=this.isListening();this.hitCanvas.setSizeIfChanged((e?this.getWidth():0)||0,(e?this.getHeight():0)||0)}_validateAdd(e){let n=e.getType();if(n!=="Group"&&n!=="Shape")Ee.throw("You may only add groups and shapes to a layer.")}_toKonvaCanvas(e){return e={...e},e.width=e.width||this.getWidth(),e.height=e.height||this.getHeight(),e.x=e.x!==void 0?e.x:this.x(),e.y=e.y!==void 0?e.y:this.y(),Ye.prototype._toKonvaCanvas.call(this,e)}_checkVisibility(){if(this.visible())this.canvas._canvas.style.display="block";else this.canvas._canvas.style.display="none"}_setSmoothEnabled(){this.getContext()._context.imageSmoothingEnabled=this.imageSmoothingEnabled()}getWidth(){if(this.parent)return this.parent.width()}setWidth(){Ee.warn('Can not change width of layer. Use "stage.width(value)" function instead.')}getHeight(){if(this.parent)return this.parent.height()}setHeight(){Ee.warn('Can not change height of layer. Use "stage.height(value)" function instead.')}batchDraw(){var e;if(!this._waitingForDraw)this._waitingForDraw=!0,Ee.requestAnimFrame(()=>{this.draw(),this._waitingForDraw=!1},(e=this.getStage())===null||e===void 0?void 0:e._getOwnerWindow());return this}getIntersection(e){if(!this.isListening()||!this.isVisible())return null;let n=1,s=!1;while(!0){for(let i=0;i<gR;i++){let r=x4[i],a=this._getIntersection({x:e.x+r.x*n,y:e.y+r.y*n}),l=a.shape;if(l)return l;if(s=!!a.antialiased,!a.antialiased)break}if(s)n+=1;else return null}}_getIntersection(e){if(!this.hitCanvas.width||!this.hitCanvas.height)return{};let n=this.hitCanvas.pixelRatio,s=this.hitCanvas.context.getImageData(Math.round(e.x*n),Math.round(e.y*n),1,1).data,i=s[3];if(i===255){let r=Ee.getHitColorKey(s[0],s[1],s[2]),a=sc[r];if(a)return{shape:a};return{antialiased:!0}}else if(i>0)return{antialiased:!0};return{}}drawScene(e,n,s){let i=this.getLayer(),r=e||i&&i.getCanvas();if(this._fire(mR,{node:this}),this.clearBeforeDraw())r.getContext().clear();return mi.prototype.drawScene.call(this,r,n,s),this._fire(pR,{node:this}),this}drawHit(e,n){let s=this.getLayer(),i=e||s&&s.hitCanvas;if(!e&&s){if(s._syncHitCanvasSize(),s.clearBeforeDraw())s.getHitCanvas().getContext().clear()}return mi.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(e){Ee.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(e)}getHitGraphEnabled(e){return Ee.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!this.parent||!this.parent.content)return;let e=this.parent;if(!!this.hitCanvas._canvas.parentNode)e.content.removeChild(this.hitCanvas._canvas);else e.content.appendChild(this.hitCanvas._canvas)}destroy(){return Ee.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Na.prototype.nodeType="Layer";tn(Na);pe.addGetterSetter(Na,"imageSmoothingEnabled",!0);pe.addGetterSetter(Na,"clearBeforeDraw",!0);pe.addGetterSetter(Na,"hitGraphEnabled",!0,xi());class Gh extends Na{constructor(e){super(e);this.listening(!1),Ee.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}Gh.prototype.nodeType="FastLayer";tn(Gh);class Ba extends mi{_validateAdd(e){let n=e.getType();if(n!=="Group"&&n!=="Shape")Ee.throw("You may only add groups and shapes to groups.")}}Ba.prototype.nodeType="Group";tn(Ba);var wb=function(){if(fl.performance&&fl.performance.now)return function(){return fl.performance.now()};return function(){return new Date().getTime()}}();class Bi{constructor(e,n){this.id=Bi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:wb(),frameRate:0},this.func=e,this.setLayers(n)}setLayers(e){let n=[];if(e)n=Array.isArray(e)?e:[e];return this.layers=n,this}getLayers(){return this.layers}addLayer(e){let n=this.layers,s=n.length;for(let i=0;i<s;i++)if(n[i]._id===e._id)return!1;return this.layers.push(e),!0}isRunning(){let n=Bi.animations,s=n.length;for(let i=0;i<s;i++)if(n[i].id===this.id)return!0;return!1}start(){return this.stop(),this.frame.timeDiff=0,this.frame.lastTime=wb(),Bi._addAnimation(this),this}stop(){return Bi._removeAnimation(this),this}_updateFrameObject(e){this.frame.timeDiff=e-this.frame.lastTime,this.frame.lastTime=e,this.frame.time+=this.frame.timeDiff,this.frame.frameRate=1000/this.frame.timeDiff}static _addAnimation(e){this.animations.push(e),this._handleAnimation()}static _removeAnimation(e){let n=e.id,s=this.animations,i=s.length;for(let r=0;r<i;r++)if(s[r].id===n){this.animations.splice(r,1);break}}static _runFrames(){let e={},n=this.animations;for(let s=0;s<n.length;s++){let i=n[s],{layers:r,func:a}=i;i._updateFrameObject(wb());let l=r.length,c;if(a)c=a.call(i,i.frame)!==!1;else c=!0;if(!c)continue;for(let f=0;f<l;f++){let d=r[f];if(d._id!==void 0)e[d._id]=d}}for(let s in e){if(!e.hasOwnProperty(s))continue;e[s].batchDraw()}}static _animationLoop(){let e=Bi;if(e.animations.length)e._runFrames(),Ee.requestAnimFrame(e._animationLoop);else e.animRunning=!1}static _handleAnimation(){if(!this.animRunning)this.animRunning=!0,Ee.requestAnimFrame(this._animationLoop)}}Bi.animations=[];Bi.animIdCounter=0;Bi.animRunning=!1;var bR={node:1,duration:1,easing:1,onFinish:1,yoyo:1},wR=1,A4=2,T4=3,E4=["fill","stroke","shadowColor"],yR=0;function B0(e){return Ee.colorToRGBA(e)||Ee.throw('can not tween the color "'+e+'", because it is not a valid color.')}class C4{constructor(e,n,s,i,r,a,l){this.prop=e,this.propFunc=n,this.begin=i,this._pos=i,this.duration=a,this._change=0,this.prevPos=0,this.yoyo=l,this._time=0,this._position=0,this._startTime=0,this._finish=0,this.func=s,this._change=r-this.begin,this.pause()}fire(e){let n=this[e];if(n)n()}setTime(e){if(e>this.duration)if(this.yoyo)this._time=this.duration,this.reverse();else this.finish();else if(e<0)if(this.yoyo)this._time=0,this.play();else this.reset();else this._time=e,this.update()}getTime(){return this._time}setPosition(e){this.prevPos=this._pos,this.propFunc(e),this._pos=e}getPosition(e){if(e===void 0)e=this._time;return this.func(e,this.begin,this._change,this.duration)}play(){this.state=A4,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=T4,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(e){this.pause(),this._time=e,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){let e=this.getTimer()-this._startTime;if(this.state===A4)this.setTime(e);else if(this.state===T4)this.setTime(this.duration-e)}pause(){this.state=wR,this.fire("onPause")}getTimer(){return new Date().getTime()}}class hs{constructor(e){let n=this,s=e.node,i=s._id,r=e.easing||uf.Linear,a=!!e.yoyo,l,c;if(typeof e.duration>"u")l=0.3;else if(e.duration===0)l=0.001;else l=e.duration;this.node=s,this._id=yR++;let f=s.getLayer()||(s instanceof nt.Stage?s.getLayers():null);if(!f)Ee.error("Tween constructor have `node` that is not in a layer. Please add node into layer first.");if(this.anim=new Bi(function(){n.tween.onEnterFrame()},f),this.tween=new C4(c,function(d){n._tweenFunc(d)},r,0,1,l*1000,a),this._addListeners(),!hs.attrs[i])hs.attrs[i]={};if(!hs.attrs[i][this._id])hs.attrs[i][this._id]={};if(!hs.tweens[i])hs.tweens[i]={};for(c in e)if(bR[c]===void 0)this._addAttr(c,e[c]);this.reset(),this.onFinish=e.onFinish,this.onReset=e.onReset,this.onUpdate=e.onUpdate}_addAttr(e,n){let s=this.node,i=s._id,r,a,l,c,f,d=hs.tweens[i][e];if(d)delete hs.attrs[i][d][e];let g=s.getAttr(e);if(Ee._isArray(n)){if(r=[],a=Math.max(n.length,g.length),e==="points"&&n.length!==g.length)if(n.length>g.length)c=g,g=Ee._prepareArrayForTween(g,n,s.closed());else l=n,n=Ee._prepareArrayForTween(n,g,s.closed());if(e.indexOf("fill")===0)for(let b=0;b<a;b++)if(b%2===0)r.push(n[b]-g[b]);else{let y=B0(g[b]);f=B0(n[b]),g[b]=y,r.push({r:f.r-y.r,g:f.g-y.g,b:f.b-y.b,a:f.a-y.a})}else for(let b=0;b<a;b++)r.push(n[b]-g[b])}else if(E4.indexOf(e)!==-1)g=B0(g),f=B0(n),r={r:f.r-g.r,g:f.g-g.g,b:f.b-g.b,a:f.a-g.a};else r=n-g;hs.attrs[i][this._id][e]={start:g,diff:r,end:n,trueEnd:l,trueStart:c},hs.tweens[i][e]=this._id}_tweenFunc(e){let n=this.node,s=hs.attrs[n._id][this._id],i,r,a,l,c,f,d,g;for(i in s){if(r=s[i],a=r.start,l=r.diff,g=r.end,Ee._isArray(a))if(c=[],d=Math.max(a.length,g.length),i.indexOf("fill")===0)for(f=0;f<d;f++)if(f%2===0)c.push((a[f]||0)+l[f]*e);else c.push("rgba("+Math.round(a[f].r+l[f].r*e)+","+Math.round(a[f].g+l[f].g*e)+","+Math.round(a[f].b+l[f].b*e)+","+(a[f].a+l[f].a*e)+")");else for(f=0;f<d;f++)c.push((a[f]||0)+l[f]*e);else if(E4.indexOf(i)!==-1)c="rgba("+Math.round(a.r+l.r*e)+","+Math.round(a.g+l.g*e)+","+Math.round(a.b+l.b*e)+","+(a.a+l.a*e)+")";else c=a+l*e;n.setAttr(i,c)}}_addListeners(){this.tween.onPlay=()=>{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{let e=this.node,n=hs.attrs[e._id][this._id];if(n.points&&n.points.trueEnd)e.setAttr("points",n.points.trueEnd);if(this.onFinish)this.onFinish.call(this)},this.tween.onReset=()=>{let e=this.node,n=hs.attrs[e._id][this._id];if(n.points&&n.points.trueStart)e.points(n.points.trueStart);if(this.onReset)this.onReset()},this.tween.onUpdate=()=>{if(this.onUpdate)this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(e){return this.tween.seek(e*1000),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){let e=this.node._id,n=this._id,s=hs.tweens[e];if(this.pause(),this.anim)this.anim.stop();for(let i in s)delete hs.tweens[e][i];if(delete hs.attrs[e][n],hs.tweens[e]){if(Object.keys(hs.tweens[e]).length===0)delete hs.tweens[e];if(Object.keys(hs.attrs[e]).length===0)delete hs.attrs[e]}}}hs.attrs={};hs.tweens={};Ye.prototype.to=function(e){let n=e.onFinish;e.node=this,e.onFinish=function(){if(this.destroy(),n)n()},new hs(e).play()};var uf={BackEaseIn(e,n,s,i){return s*(e/=i)*e*(2.70158*e-1.70158)+n},BackEaseOut(e,n,s,i){return s*((e=e/i-1)*e*(2.70158*e+1.70158)+1)+n},BackEaseInOut(e,n,s,i){let r=1.70158;if((e/=i/2)<1)return s/2*(e*e*(((r*=1.525)+1)*e-r))+n;return s/2*((e-=2)*e*(((r*=1.525)+1)*e+r)+2)+n},ElasticEaseIn(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i)===1)return n+s;if(!a)a=i*0.3;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);return-(r*Math.pow(2,10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a))+n},ElasticEaseOut(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i)===1)return n+s;if(!a)a=i*0.3;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);return r*Math.pow(2,-10*e)*Math.sin((e*i-l)*(2*Math.PI)/a)+s+n},ElasticEaseInOut(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i/2)===2)return n+s;if(!a)a=i*0.44999999999999996;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);if(e<1)return-0.5*(r*Math.pow(2,10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a))+n;return r*Math.pow(2,-10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a)*0.5+s+n},BounceEaseOut(e,n,s,i){if((e/=i)<0.36363636363636365)return s*(7.5625*e*e)+n;else if(e<0.7272727272727273)return s*(7.5625*(e-=0.5454545454545454)*e+0.75)+n;else if(e<0.9090909090909091)return s*(7.5625*(e-=0.8181818181818182)*e+0.9375)+n;else return s*(7.5625*(e-=0.9545454545454546)*e+0.984375)+n},BounceEaseIn(e,n,s,i){return s-uf.BounceEaseOut(i-e,0,s,i)+n},BounceEaseInOut(e,n,s,i){if(e<i/2)return uf.BounceEaseIn(e*2,0,s,i)*0.5+n;else return uf.BounceEaseOut(e*2-i,0,s,i)*0.5+s*0.5+n},EaseIn(e,n,s,i){return s*(e/=i)*e+n},EaseOut(e,n,s,i){return-s*(e/=i)*(e-2)+n},EaseInOut(e,n,s,i){if((e/=i/2)<1)return s/2*e*e+n;return-s/2*(--e*(e-2)-1)+n},StrongEaseIn(e,n,s,i){return s*(e/=i)*e*e*e*e+n},StrongEaseOut(e,n,s,i){return s*((e=e/i-1)*e*e*e*e+1)+n},StrongEaseInOut(e,n,s,i){if((e/=i/2)<1)return s/2*e*e*e*e*e+n;return s/2*((e-=2)*e*e*e*e+2)+n},Linear(e,n,s,i){return s*e/i+n}};var df=Ee._assign(nt,{Util:Ee,Transform:ki,Node:Ye,Container:mi,Stage:hf,stages:ff,Layer:Na,FastLayer:Gh,Group:Ba,DD:Cn,Shape:Qe,shapes:sc,Animation:Bi,Tween:hs,Easings:uf,Context:of,Canvas:Mh});class ca extends Qe{_sceneFunc(e){let n=nt.getAngle(this.angle()),s=this.clockwise();e.beginPath(),e.arc(0,0,this.outerRadius(),0,n,s),e.arc(0,0,this.innerRadius(),n,0,!s),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}getSelfRect(){let e=this.innerRadius(),n=this.outerRadius(),s=this.clockwise(),i=nt.getAngle(this.angle());if(i%(Math.PI*2)===0)return i!==0?{x:-n,y:-n,width:n*2,height:n*2}:{x:e,y:0,width:n-e,height:0};let r=nt.getAngle(s?360-this.angle():this.angle()),a=Math.cos(Math.min(r,Math.PI)),l=1,c=Math.sin(Math.min(Math.max(Math.PI,r),3*Math.PI/2)),f=Math.sin(Math.min(r,Math.PI/2)),d=a*(a>0?e:n),g=l*(l>0?n:e),b=c*(c>0?e:n),y=f*(f>0?n:e);return{x:d,y:s?-1*y:b,width:g-d,height:y-b}}}ca.prototype._centroid=!0;ca.prototype.className="Arc";ca.prototype._attrsAffectingSize=["innerRadius","outerRadius","angle","clockwise"];tn(ca);pe.addGetterSetter(ca,"innerRadius",0,Ke());pe.addGetterSetter(ca,"outerRadius",0,Ke());pe.addGetterSetter(ca,"angle",0,Ke());pe.addGetterSetter(ca,"clockwise",!1,xi());var vR=[[],[],[-0.5773502691896257,0.5773502691896257],[0,-0.7745966692414834,0.7745966692414834],[-0.33998104358485626,0.33998104358485626,-0.8611363115940526,0.8611363115940526],[0,-0.5384693101056831,0.5384693101056831,-0.906179845938664,0.906179845938664],[0.6612093864662645,-0.6612093864662645,-0.2386191860831969,0.2386191860831969,-0.932469514203152,0.932469514203152],[0,0.4058451513773972,-0.4058451513773972,-0.7415311855993945,0.7415311855993945,-0.9491079123427585,0.9491079123427585],[-0.1834346424956498,0.1834346424956498,-0.525532409916329,0.525532409916329,-0.7966664774136267,0.7966664774136267,-0.9602898564975363,0.9602898564975363],[0,-0.8360311073266358,0.8360311073266358,-0.9681602395076261,0.9681602395076261,-0.3242534234038089,0.3242534234038089,-0.6133714327005904,0.6133714327005904],[-0.14887433898163122,0.14887433898163122,-0.4333953941292472,0.4333953941292472,-0.6794095682990244,0.6794095682990244,-0.8650633666889845,0.8650633666889845,-0.9739065285171717,0.9739065285171717],[0,-0.26954315595234496,0.26954315595234496,-0.5190961292068118,0.5190961292068118,-0.7301520055740494,0.7301520055740494,-0.8870625997680953,0.8870625997680953,-0.978228658146057,0.978228658146057],[-0.1252334085114689,0.1252334085114689,-0.3678314989981802,0.3678314989981802,-0.5873179542866175,0.5873179542866175,-0.7699026741943047,0.7699026741943047,-0.9041172563704749,0.9041172563704749,-0.9815606342467192,0.9815606342467192],[0,-0.2304583159551348,0.2304583159551348,-0.44849275103644687,0.44849275103644687,-0.6423493394403402,0.6423493394403402,-0.8015780907333099,0.8015780907333099,-0.9175983992229779,0.9175983992229779,-0.9841830547185881,0.9841830547185881],[-0.10805494870734367,0.10805494870734367,-0.31911236892788974,0.31911236892788974,-0.5152486363581541,0.5152486363581541,-0.6872929048116855,0.6872929048116855,-0.827201315069765,0.827201315069765,-0.9284348836635735,0.9284348836635735,-0.9862838086968123,0.9862838086968123],[0,-0.20119409399743451,0.20119409399743451,-0.3941513470775634,0.3941513470775634,-0.5709721726085388,0.5709721726085388,-0.7244177313601701,0.7244177313601701,-0.8482065834104272,0.8482065834104272,-0.937273392400706,0.937273392400706,-0.9879925180204854,0.9879925180204854],[-0.09501250983763744,0.09501250983763744,-0.2816035507792589,0.2816035507792589,-0.45801677765722737,0.45801677765722737,-0.6178762444026438,0.6178762444026438,-0.755404408355003,0.755404408355003,-0.8656312023878318,0.8656312023878318,-0.9445750230732326,0.9445750230732326,-0.9894009349916499,0.9894009349916499],[0,-0.17848418149584785,0.17848418149584785,-0.3512317634538763,0.3512317634538763,-0.5126905370864769,0.5126905370864769,-0.6576711592166907,0.6576711592166907,-0.7815140038968014,0.7815140038968014,-0.8802391537269859,0.8802391537269859,-0.9506755217687678,0.9506755217687678,-0.9905754753144174,0.9905754753144174],[-0.0847750130417353,0.0847750130417353,-0.2518862256915055,0.2518862256915055,-0.41175116146284263,0.41175116146284263,-0.5597708310739475,0.5597708310739475,-0.6916870430603532,0.6916870430603532,-0.8037049589725231,0.8037049589725231,-0.8926024664975557,0.8926024664975557,-0.9558239495713977,0.9558239495713977,-0.9915651684209309,0.9915651684209309],[0,-0.16035864564022537,0.16035864564022537,-0.31656409996362983,0.31656409996362983,-0.46457074137596094,0.46457074137596094,-0.600545304661681,0.600545304661681,-0.7209661773352294,0.7209661773352294,-0.8227146565371428,0.8227146565371428,-0.9031559036148179,0.9031559036148179,-0.96020815213483,0.96020815213483,-0.9924068438435844,0.9924068438435844],[-0.07652652113349734,0.07652652113349734,-0.22778585114164507,0.22778585114164507,-0.37370608871541955,0.37370608871541955,-0.5108670019508271,0.5108670019508271,-0.636053680726515,0.636053680726515,-0.7463319064601508,0.7463319064601508,-0.8391169718222188,0.8391169718222188,-0.912234428251326,0.912234428251326,-0.9639719272779138,0.9639719272779138,-0.9931285991850949,0.9931285991850949],[0,-0.1455618541608951,0.1455618541608951,-0.2880213168024011,0.2880213168024011,-0.4243421202074388,0.4243421202074388,-0.5516188358872198,0.5516188358872198,-0.6671388041974123,0.6671388041974123,-0.7684399634756779,0.7684399634756779,-0.8533633645833173,0.8533633645833173,-0.9200993341504008,0.9200993341504008,-0.9672268385663063,0.9672268385663063,-0.9937521706203895,0.9937521706203895],[-0.06973927331972223,0.06973927331972223,-0.20786042668822127,0.20786042668822127,-0.34193582089208424,0.34193582089208424,-0.469355837986757,0.469355837986757,-0.5876404035069116,0.5876404035069116,-0.6944872631866827,0.6944872631866827,-0.7878168059792081,0.7878168059792081,-0.8658125777203002,0.8658125777203002,-0.926956772187174,0.926956772187174,-0.9700604978354287,0.9700604978354287,-0.9942945854823992,0.9942945854823992],[0,-0.1332568242984661,0.1332568242984661,-0.26413568097034495,0.26413568097034495,-0.3903010380302908,0.3903010380302908,-0.5095014778460075,0.5095014778460075,-0.6196098757636461,0.6196098757636461,-0.7186613631319502,0.7186613631319502,-0.8048884016188399,0.8048884016188399,-0.8767523582704416,0.8767523582704416,-0.9329710868260161,0.9329710868260161,-0.9725424712181152,0.9725424712181152,-0.9947693349975522,0.9947693349975522],[-0.06405689286260563,0.06405689286260563,-0.1911188674736163,0.1911188674736163,-0.3150426796961634,0.3150426796961634,-0.4337935076260451,0.4337935076260451,-0.5454214713888396,0.5454214713888396,-0.6480936519369755,0.6480936519369755,-0.7401241915785544,0.7401241915785544,-0.820001985973903,0.820001985973903,-0.8864155270044011,0.8864155270044011,-0.9382745520027328,0.9382745520027328,-0.9747285559713095,0.9747285559713095,-0.9951872199970213,0.9951872199970213]],SR=[[],[],[1,1],[0.8888888888888888,0.5555555555555556,0.5555555555555556],[0.6521451548625461,0.6521451548625461,0.34785484513745385,0.34785484513745385],[0.5688888888888889,0.47862867049936647,0.47862867049936647,0.23692688505618908,0.23692688505618908],[0.3607615730481386,0.3607615730481386,0.46791393457269104,0.46791393457269104,0.17132449237917036,0.17132449237917036],[0.4179591836734694,0.3818300505051189,0.3818300505051189,0.27970539148927664,0.27970539148927664,0.1294849661688697,0.1294849661688697],[0.362683783378362,0.362683783378362,0.31370664587788727,0.31370664587788727,0.22238103445337448,0.22238103445337448,0.10122853629037626,0.10122853629037626],[0.3302393550012598,0.1806481606948574,0.1806481606948574,0.08127438836157441,0.08127438836157441,0.31234707704000286,0.31234707704000286,0.26061069640293544,0.26061069640293544],[0.29552422471475287,0.29552422471475287,0.26926671930999635,0.26926671930999635,0.21908636251598204,0.21908636251598204,0.1494513491505806,0.1494513491505806,0.06667134430868814,0.06667134430868814],[0.2729250867779006,0.26280454451024665,0.26280454451024665,0.23319376459199048,0.23319376459199048,0.18629021092773426,0.18629021092773426,0.1255803694649046,0.1255803694649046,0.05566856711617366,0.05566856711617366],[0.24914704581340277,0.24914704581340277,0.2334925365383548,0.2334925365383548,0.20316742672306592,0.20316742672306592,0.16007832854334622,0.16007832854334622,0.10693932599531843,0.10693932599531843,0.04717533638651183,0.04717533638651183],[0.2325515532308739,0.22628318026289723,0.22628318026289723,0.2078160475368885,0.2078160475368885,0.17814598076194574,0.17814598076194574,0.13887351021978725,0.13887351021978725,0.09212149983772845,0.09212149983772845,0.04048400476531588,0.04048400476531588],[0.2152638534631578,0.2152638534631578,0.2051984637212956,0.2051984637212956,0.18553839747793782,0.18553839747793782,0.15720316715819355,0.15720316715819355,0.12151857068790319,0.12151857068790319,0.08015808715976021,0.08015808715976021,0.03511946033175186,0.03511946033175186],[0.2025782419255613,0.19843148532711158,0.19843148532711158,0.1861610000155622,0.1861610000155622,0.16626920581699392,0.16626920581699392,0.13957067792615432,0.13957067792615432,0.10715922046717194,0.10715922046717194,0.07036604748810812,0.07036604748810812,0.03075324199611727,0.03075324199611727],[0.1894506104550685,0.1894506104550685,0.18260341504492358,0.18260341504492358,0.16915651939500254,0.16915651939500254,0.14959598881657674,0.14959598881657674,0.12462897125553388,0.12462897125553388,0.09515851168249279,0.09515851168249279,0.062253523938647894,0.062253523938647894,0.027152459411754096,0.027152459411754096],[0.17944647035620653,0.17656270536699264,0.17656270536699264,0.16800410215645004,0.16800410215645004,0.15404576107681028,0.15404576107681028,0.13513636846852548,0.13513636846852548,0.11188384719340397,0.11188384719340397,0.08503614831717918,0.08503614831717918,0.0554595293739872,0.0554595293739872,0.02414830286854793,0.02414830286854793],[0.1691423829631436,0.1691423829631436,0.16427648374583273,0.16427648374583273,0.15468467512626524,0.15468467512626524,0.14064291467065065,0.14064291467065065,0.12255520671147846,0.12255520671147846,0.10094204410628717,0.10094204410628717,0.07642573025488905,0.07642573025488905,0.0497145488949698,0.0497145488949698,0.02161601352648331,0.02161601352648331],[0.1610544498487837,0.15896884339395434,0.15896884339395434,0.15276604206585967,0.15276604206585967,0.1426067021736066,0.1426067021736066,0.12875396253933621,0.12875396253933621,0.11156664554733399,0.11156664554733399,0.09149002162245,0.09149002162245,0.06904454273764123,0.06904454273764123,0.0448142267656996,0.0448142267656996,0.019461788229726478,0.019461788229726478],[0.15275338713072584,0.15275338713072584,0.14917298647260374,0.14917298647260374,0.14209610931838204,0.14209610931838204,0.13168863844917664,0.13168863844917664,0.11819453196151841,0.11819453196151841,0.10193011981724044,0.10193011981724044,0.08327674157670475,0.08327674157670475,0.06267204833410907,0.06267204833410907,0.04060142980038694,0.04060142980038694,0.017614007139152118,0.017614007139152118],[0.14608113364969041,0.14452440398997005,0.14452440398997005,0.13988739479107315,0.13988739479107315,0.13226893863333747,0.13226893863333747,0.12183141605372853,0.12183141605372853,0.10879729916714838,0.10879729916714838,0.09344442345603386,0.09344442345603386,0.0761001136283793,0.0761001136283793,0.057134425426857205,0.057134425426857205,0.036953789770852494,0.036953789770852494,0.016017228257774335,0.016017228257774335],[0.13925187285563198,0.13925187285563198,0.13654149834601517,0.13654149834601517,0.13117350478706238,0.13117350478706238,0.12325237681051242,0.12325237681051242,0.11293229608053922,0.11293229608053922,0.10041414444288096,0.10041414444288096,0.08594160621706773,0.08594160621706773,0.06979646842452049,0.06979646842452049,0.052293335152683286,0.052293335152683286,0.03377490158481415,0.03377490158481415,0.0146279952982722,0.0146279952982722],[0.13365457218610619,0.1324620394046966,0.1324620394046966,0.12890572218808216,0.12890572218808216,0.12304908430672953,0.12304908430672953,0.11499664022241136,0.11499664022241136,0.10489209146454141,0.10489209146454141,0.09291576606003515,0.09291576606003515,0.07928141177671895,0.07928141177671895,0.06423242140852585,0.06423242140852585,0.04803767173108467,0.04803767173108467,0.030988005856979445,0.030988005856979445,0.013411859487141771,0.013411859487141771],[0.12793819534675216,0.12793819534675216,0.1258374563468283,0.1258374563468283,0.12167047292780339,0.12167047292780339,0.1155056680537256,0.1155056680537256,0.10744427011596563,0.10744427011596563,0.09761865210411388,0.09761865210411388,0.08619016153195327,0.08619016153195327,0.0733464814110803,0.0733464814110803,0.05929858491543678,0.05929858491543678,0.04427743881741981,0.04427743881741981,0.028531388628933663,0.028531388628933663,0.0123412297999872,0.0123412297999872]],kR=[[1],[1,1],[1,2,1],[1,3,3,1]],vb=(e,n,s)=>{let i,r,a=20,l=s/2;i=0;for(let c=0;c<20;c++)r=l*vR[20][c]+l,i+=SR[20][c]*xR(e,n,r);return l*i},Sb=(e,n,s)=>{if(s===void 0)s=1;let i=e[0]-2*e[1]+e[2],r=n[0]-2*n[1]+n[2],a=2*e[1]-2*e[0],l=2*n[1]-2*n[0],c=4*(i*i+r*r),f=4*(i*a+r*l),d=a*a+l*l;if(c===0)return s*Math.sqrt(Math.pow(e[2]-e[0],2)+Math.pow(n[2]-n[0],2));let g=f/(2*c),b=d/c,y=s+g,v=b-g*g,x=y*y+v>0?Math.sqrt(y*y+v):0,T=g*g+v>0?Math.sqrt(g*g+v):0,R=g+Math.sqrt(g*g+v)!==0?v*Math.log(Math.abs((y+x)/(g+T))):0;return Math.sqrt(c)/2*(y*x-g*T+R)};function xR(e,n,s){let i=yb(1,s,e),r=yb(1,s,n),a=i*i+r*r;return Math.sqrt(a)}var yb=(e,n,s)=>{let i=s.length-1,r,a;if(i===0)return 0;if(e===0){a=0;for(let l=0;l<=i;l++)a+=kR[i][l]*Math.pow(1-n,i-l)*Math.pow(n,l)*s[l];return a}else{r=Array(i);for(let l=0;l<i;l++)r[l]=i*(s[l+1]-s[l]);return yb(e-1,n,r)}},kb=(e,n,s)=>{let i=1,r=e/n,a=(e-s(r))/n,l=0;while(i>0.001){let c=s(r+a),f=Math.abs(e-c)/n;if(f<i)i=f,r+=a;else{let d=s(r-a),g=Math.abs(e-d)/n;if(g<i)i=g,r-=a;else a/=2}if(l++,l>500)break}return r},j4=(e,n,s,i)=>{let r=1-i;return r*r*e+2*r*i*n+i*i*s},H0=(e,n,s,i,r,a)=>{let l=[];for(let c of[[e,s,r],[n,i,a]]){let f=(c[0]-c[1])/(c[0]-2*c[1]+c[2]);if(f>0&&f<1)l.push(j4(e,s,r,f),j4(n,i,a,f))}return l},_4=(e,n,s,i,r)=>{let a=1-r;return a*a*a*e+3*a*a*r*n+3*a*r*r*s+r*r*r*i},Vh=(e,n,s,i,r,a,l,c)=>{let f=[];for(let d of[[e,s,r,l],[n,i,a,c]]){let g=-3*d[0]+9*d[1]-9*d[2]+3*d[3],b=6*d[0]-12*d[1]+6*d[2],y=-3*d[0]+3*d[1],v=b*b-4*g*y;if(v<0)continue;let x=-(b+(b<0?-1:1)*Math.sqrt(v))/2;for(let T of[x/g,y/x])if(T>0&&T<1)f.push(_4(e,s,r,l,T),_4(n,i,a,c,T))}return f};function xb(e,n,s,i,r,a,l){let c=Math.sqrt(Math.pow(s-e,2)+Math.pow(i-n,2)),f=Math.sqrt(Math.pow(r-s,2)+Math.pow(a-i,2)),d=c+f;if(d===0)return[s,i,s,i];let g=l*c/d,b=l*f/d,y=s-g*(r-e),v=i-g*(a-n),x=s+b*(r-e),T=i+b*(a-n);return[y,v,x,T]}function I4(e,n){let s=e.length,i=[];for(let r=2;r<s-2;r+=2){let a=xb(e[r-2],e[r-1],e[r],e[r+1],e[r+2],e[r+3],n);if(isNaN(a[0]))continue;i.push(a[0]),i.push(a[1]),i.push(e[r]),i.push(e[r+1]),i.push(a[2]),i.push(a[3])}return i}function AR(e){let n=[];for(let s=0;s+7<e.length;s+=6)n.push(e[s+6],e[s+7],...Vh(e[s],e[s+1],e[s+2],e[s+3],e[s+4],e[s+5],e[s+6],e[s+7]));return n}class Or extends Qe{constructor(e){super(e);this.on("pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva",function(){this._clearCache("tensionPoints")})}_hasTension(){return this.tension()!==0&&this.points().length>4}_eachTensionSegment(e,n){let s=this.points(),i=s.length,r=this.closed(),a=this.getTensionPoints(),l=a.length,c=s[0],f=s[1],d=r?0:4;if(!r)e(c,f,a[0],a[1],a[2],a[3]),c=a[2],f=a[3];while(d<l-2){let g=a[d++],b=a[d++],y=a[d++],v=a[d++],x=a[d++],T=a[d++];n(c,f,g,b,y,v,x,T),c=x,f=T}if(!r)e(c,f,a[l-2],a[l-1],s[i-2],s[i-1])}_sceneFunc(e){let n=this.points(),s=n.length,i=this.closed(),r=this.bezier();if(!s)return;let a=0;if(e.beginPath(),e.moveTo(n[0],n[1]),this._hasTension())this._eachTensionSegment((l,c,f,d,g,b)=>e.quadraticCurveTo(f,d,g,b),(l,c,f,d,g,b,y,v)=>e.bezierCurveTo(f,d,g,b,y,v));else if(r){a=2;while(a<s)e.bezierCurveTo(n[a++],n[a++],n[a++],n[a++],n[a++],n[a++])}else for(a=2;a<s;a+=2)e.lineTo(n[a],n[a+1]);if(i)e.closePath(),e.fillStrokeShape(this);else e.strokeShape(this)}getTensionPoints(){return this._getCache("tensionPoints",this._getTensionPoints)}_getTensionPoints(){if(this.closed())return this._getTensionPointsClosed();else return I4(this.points(),this.tension())}_getTensionPointsClosed(){let e=this.points(),n=e.length,s=this.tension(),i=xb(e[n-2],e[n-1],e[0],e[1],e[2],e[3],s),r=xb(e[n-4],e[n-3],e[n-2],e[n-1],e[0],e[1],s),a=I4(e,s);return[i[2],i[3]].concat(a).concat([r[0],r[1],e[n-2],e[n-1],r[2],r[3],i[0],i[1],e[0],e[1]])}getWidth(){return this.getSelfRect().width}getHeight(){return this.getSelfRect().height}getSelfRect(){let e=this.points();if(e.length<4)return{x:e[0]||0,y:e[1]||0,width:0,height:0};if(this._hasTension()){let c=[e[0],e[1]];this._eachTensionSegment((f,d,g,b,y,v)=>c.push(y,v,...H0(f,d,g,b,y,v)),(f,d,g,b,y,v,x,T)=>c.push(x,T,...Vh(f,d,g,b,y,v,x,T))),e=c}else if(this.bezier())e=[e[0],e[1],...AR(e)];let n=e[0],s=e[0],i=e[1],r=e[1],a,l;for(let c=0;c<e.length/2;c++)a=e[c*2],l=e[c*2+1],n=Math.min(n,a),s=Math.max(s,a),i=Math.min(i,l),r=Math.max(r,l);return{x:n,y:i,width:s-n,height:r-i}}}Or.prototype.className="Line";Or.prototype._attrsAffectingSize=["points","bezier","tension"];tn(Or);pe.addGetterSetter(Or,"closed",!1);pe.addGetterSetter(Or,"bezier",!1);pe.addGetterSetter(Or,"tension",0,Ke());pe.addGetterSetter(Or,"points",[],Kv());class ss extends Qe{constructor(e){super(e);this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=ss.parsePathData(this.data()),this.pathLength=ss.getPathLength(this.dataArray)}_sceneFunc(e){let n=this.dataArray;e.beginPath();let s=!1;for(let i=0;i<n.length;i++){let r=n[i].command,a=n[i].points;switch(r){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":let l=a[0],c=a[1],f=a[2],d=a[3],g=a[4],b=a[5],y=a[6],v=a[7],x=f>d?f:d,T=f>d?1:f/d,R=f>d?d/f:1;e.translate(l,c),e.rotate(y),e.scale(T,R),e.arc(0,0,x,g,g+b,1-v),e.scale(1/T,1/R),e.rotate(-y),e.translate(-l,-c);break;case"z":s=!0,e.closePath();break}}if(!s&&!this.hasFill())e.strokeShape(this);else e.fillStrokeShape(this)}getSelfRect(){let e=[];this.dataArray.forEach(function(c){if(c.command==="A"){let f=c.points[4],d=c.points[5],g=c.points[4]+d,b=Math.PI/180;if(Math.abs(f-g)<b)b=Math.abs(f-g);if(d<0)for(let y=f-b;y>g;y-=b){let v=ss.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],y,0);e.push(v.x,v.y)}else for(let y=f+b;y<g;y+=b){let v=ss.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],y,0);e.push(v.x,v.y)}}else if(c.command==="C")e.push(c.start.x,c.start.y,c.points[4],c.points[5],...Vh(c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3],c.points[4],c.points[5]));else if(c.command==="Q")e.push(c.start.x,c.start.y,c.points[2],c.points[3],...H0(c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3]));else e=e.concat(c.points)});let n=e[0],s=e[0],i=e[1],r=e[1],a,l;for(let c=0;c<e.length/2;c++){if(a=e[c*2],l=e[c*2+1],!isNaN(a))n=Math.min(n,a),s=Math.max(s,a);if(!isNaN(l))i=Math.min(i,l),r=Math.max(r,l)}return{x:n,y:i,width:s-n,height:r-i}}getLength(){return this.pathLength}getPointAtLength(e){return ss.getPointAtLengthOfDataArray(e,this.dataArray)}static getLineLength(e,n,s,i){return Math.sqrt((s-e)*(s-e)+(i-n)*(i-n))}static getPathLength(e){let n=0;for(let s=0;s<e.length;++s)n+=e[s].pathLength;return n}static getPointAtLengthOfDataArray(e,n){let s,i=0,r=n.length;if(!r)return null;while(i<r&&e>n[i].pathLength)e-=n[i].pathLength,++i;if(i===r){let c=i-1;while(c>0&&n[c].points.length<2)c--;return s=n[c].points.slice(-2),{x:s[0],y:s[1]}}if(e<0.01)if(n[i].command==="M")return s=n[i].points.slice(0,2),{x:s[0],y:s[1]};else return{x:n[i].start.x,y:n[i].start.y};let a=n[i],l=a.points;switch(a.command){case"L":return ss.getPointOnLine(e,a.start.x,a.start.y,l[0],l[1]);case"C":return ss.getPointOnCubicBezier(kb(e,ss.getPathLength(n),(x)=>vb([a.start.x,l[0],l[2],l[4]],[a.start.y,l[1],l[3],l[5]],x)),a.start.x,a.start.y,l[0],l[1],l[2],l[3],l[4],l[5]);case"Q":return ss.getPointOnQuadraticBezier(kb(e,ss.getPathLength(n),(x)=>Sb([a.start.x,l[0],l[2]],[a.start.y,l[1],l[3]],x)),a.start.x,a.start.y,l[0],l[1],l[2],l[3]);case"A":let c=l[0],f=l[1],d=l[2],g=l[3],b=l[5],y=l[6],v=l[4];return v+=b*e/a.pathLength,ss.getPointOnEllipticalArc(c,f,d,g,v,y)}return null}static getPointOnLine(e,n,s,i,r,a,l){a=a!==null&&a!==void 0?a:n,l=l!==null&&l!==void 0?l:s;let c=this.getLineLength(n,s,i,r);if(c<0.0000000001)return{x:n,y:s};if(i===n)return{x:a,y:l+(r>s?e:-e)};let f=(r-s)/(i-n),d=Math.sqrt(e*e/(1+f*f))*(i<n?-1:1),g=f*d;if(Math.abs(l-s-f*(a-n))<0.0000000001)return{x:a+d,y:l+g};let b=((a-n)*(i-n)+(l-s)*(r-s))/(c*c),y=n+b*(i-n),v=s+b*(r-s),x=this.getLineLength(a,l,y,v),T=Math.sqrt(e*e-x*x),R=Math.sqrt(T*T/(1+f*f))*(i<n?-1:1),N=f*R;return{x:y+R,y:v+N}}static getPointOnCubicBezier(e,n,s,i,r,a,l,c,f){function d(T){return T*T*T}function g(T){return 3*T*T*(1-T)}function b(T){return 3*T*(1-T)*(1-T)}function y(T){return(1-T)*(1-T)*(1-T)}let v=c*d(e)+a*g(e)+i*b(e)+n*y(e),x=f*d(e)+l*g(e)+r*b(e)+s*y(e);return{x:v,y:x}}static getPointOnQuadraticBezier(e,n,s,i,r,a,l){function c(y){return y*y}function f(y){return 2*y*(1-y)}function d(y){return(1-y)*(1-y)}let g=a*c(e)+i*f(e)+n*d(e),b=l*c(e)+r*f(e)+s*d(e);return{x:g,y:b}}static getPointOnEllipticalArc(e,n,s,i,r,a){let l=Math.cos(a),c=Math.sin(a),f={x:s*Math.cos(r),y:i*Math.sin(r)};return{x:e+(f.x*l-f.y*c),y:n+(f.x*c+f.y*l)}}static parsePathData(e){if(!e)return[];let n=e,s=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];n=n.replace(new RegExp(" ","g"),",");for(let g=0;g<s.length;g++)n=n.replace(new RegExp(s[g],"g"),"|"+s[g]);let i=n.split("|"),r=[],a=[],l=0,c=0,f=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,d;for(let g=1;g<i.length;g++){let b=i[g],y=b.charAt(0);b=b.slice(1),a.length=0;while(d=f.exec(b))a.push(d[0]);let v=[],x=y==="A"||y==="a"?0:-1;for(let T=0,R=a.length;T<R;T++){let N=a[T];if(N==="00"){if(v.push(0,0),x>=0){if(x+=2,x>=7)x-=7}continue}if(x>=0){if(x===3){if(/^[01]{2}\d+(?:\.\d+)?$/.test(N)){if(v.push(parseInt(N[0],10)),v.push(parseInt(N[1],10)),v.push(parseFloat(N.slice(2))),x+=3,x>=7)x-=7;continue}if(N==="11"||N==="10"||N==="01"){if(v.push(parseInt(N[0],10)),v.push(parseInt(N[1],10)),x+=2,x>=7)x-=7;continue}if(N==="0"||N==="1"){if(v.push(parseInt(N,10)),x+=1,x>=7)x-=7;continue}}else if(x===4){if(/^[01]\d+(?:\.\d+)?$/.test(N)){if(v.push(parseInt(N[0],10)),v.push(parseFloat(N.slice(1))),x+=2,x>=7)x-=7;continue}if(N==="0"||N==="1"){if(v.push(parseInt(N,10)),x+=1,x>=7)x-=7;continue}}let U=parseFloat(N);if(!isNaN(U))v.push(U);else v.push(0);if(x+=1,x>=7)x-=7}else{let U=parseFloat(N);if(!isNaN(U))v.push(U);else v.push(0)}}while(v.length>0){if(isNaN(v[0]))break;let T="",R=[],N=l,U=c,X,Y,J,ee,te,ne,ie,se,ae,be;switch(y){case"l":l+=v.shift(),c+=v.shift(),T="L",R.push(l,c);break;case"L":l=v.shift(),c=v.shift(),R.push(l,c);break;case"m":let ye=v.shift(),ue=v.shift();if(l+=ye,c+=ue,T="M",r.length>2&&r[r.length-1].command==="z"){for(let he=r.length-2;he>=0;he--)if(r[he].command==="M"){l=r[he].points[0]+ye,c=r[he].points[1]+ue;break}}R.push(l,c),y="l";break;case"M":l=v.shift(),c=v.shift(),T="M",R.push(l,c),y="L";break;case"h":l+=v.shift(),T="L",R.push(l,c);break;case"H":l=v.shift(),T="L",R.push(l,c);break;case"v":c+=v.shift(),T="L",R.push(l,c);break;case"V":c=v.shift(),T="L",R.push(l,c);break;case"C":R.push(v.shift(),v.shift(),v.shift(),v.shift()),l=v.shift(),c=v.shift(),R.push(l,c);break;case"c":R.push(l+v.shift(),c+v.shift(),l+v.shift(),c+v.shift()),l+=v.shift(),c+=v.shift(),T="C",R.push(l,c);break;case"S":if(Y=l,J=c,X=r[r.length-1],X.command==="C")Y=l+(l-X.points[2]),J=c+(c-X.points[3]);R.push(Y,J,v.shift(),v.shift()),l=v.shift(),c=v.shift(),T="C",R.push(l,c);break;case"s":if(Y=l,J=c,X=r[r.length-1],X.command==="C")Y=l+(l-X.points[2]),J=c+(c-X.points[3]);R.push(Y,J,l+v.shift(),c+v.shift()),l+=v.shift(),c+=v.shift(),T="C",R.push(l,c);break;case"Q":R.push(v.shift(),v.shift()),l=v.shift(),c=v.shift(),R.push(l,c);break;case"q":R.push(l+v.shift(),c+v.shift()),l+=v.shift(),c+=v.shift(),T="Q",R.push(l,c);break;case"T":if(Y=l,J=c,X=r[r.length-1],X.command==="Q")Y=l+(l-X.points[0]),J=c+(c-X.points[1]);l=v.shift(),c=v.shift(),T="Q",R.push(Y,J,l,c);break;case"t":if(Y=l,J=c,X=r[r.length-1],X.command==="Q")Y=l+(l-X.points[0]),J=c+(c-X.points[1]);l+=v.shift(),c+=v.shift(),T="Q",R.push(Y,J,l,c);break;case"A":ee=v.shift(),te=v.shift(),ne=v.shift(),ie=v.shift(),se=v.shift(),ae=l,be=c,l=v.shift(),c=v.shift(),T="A",R=this.convertEndpointToCenterParameterization(ae,be,l,c,ie,se,ee,te,ne);break;case"a":ee=v.shift(),te=v.shift(),ne=v.shift(),ie=v.shift(),se=v.shift(),ae=l,be=c,l+=v.shift(),c+=v.shift(),T="A",R=this.convertEndpointToCenterParameterization(ae,be,l,c,ie,se,ee,te,ne);break}r.push({command:T||y,points:R,start:{x:N,y:U},pathLength:this.calcLength(N,U,T||y,R)})}if(y==="z"||y==="Z")r.push({command:"z",points:[],start:void 0,pathLength:0})}return r}static calcLength(e,n,s,i){let r,a,l,c,f=ss;switch(s){case"L":return f.getLineLength(e,n,i[0],i[1]);case"C":return vb([e,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return Sb([e,i[0],i[2]],[n,i[1],i[3]],1);case"A":r=0;let d=i[4],g=i[5],b=i[4]+g,y=Math.PI/180;if(Math.abs(d-b)<y)y=Math.abs(d-b);if(a=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],d,0),g<0)for(c=d-y;c>b;c-=y)l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),a=l;else for(c=d+y;c<b;c+=y)l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),a=l;return l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],b,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),r}return 0}static convertEndpointToCenterParameterization(e,n,s,i,r,a,l,c,f){let d=f*(Math.PI/180),g=Math.cos(d)*(e-s)/2+Math.sin(d)*(n-i)/2,b=-1*Math.sin(d)*(e-s)/2+Math.cos(d)*(n-i)/2,y=g*g/(l*l)+b*b/(c*c);if(y>1)l*=Math.sqrt(y),c*=Math.sqrt(y);let v=Math.sqrt((l*l*(c*c)-l*l*(b*b)-c*c*(g*g))/(l*l*(b*b)+c*c*(g*g)));if(r===a)v*=-1;if(isNaN(v))v=0;let x=v*l*b/c,T=v*-c*g/l,R=(e+s)/2+Math.cos(d)*x-Math.sin(d)*T,N=(n+i)/2+Math.sin(d)*x+Math.cos(d)*T,U=function(ie){return Math.sqrt(ie[0]*ie[0]+ie[1]*ie[1])},X=function(ie,se){return(ie[0]*se[0]+ie[1]*se[1])/(U(ie)*U(se))},Y=function(ie,se){return(ie[0]*se[1]<ie[1]*se[0]?-1:1)*Math.acos(X(ie,se))},J=Y([1,0],[(g-x)/l,(b-T)/c]),ee=[(g-x)/l,(b-T)/c],te=[(-1*g-x)/l,(-1*b-T)/c],ne=Y(ee,te);if(X(ee,te)<=-1)ne=Math.PI;if(X(ee,te)>=1)ne=0;if(a===0&&ne>0)ne=ne-2*Math.PI;if(a===1&&ne<0)ne=ne+2*Math.PI;return[R,N,l,c,J,ne,d,a]}}ss.prototype.className="Path";ss.prototype._attrsAffectingSize=["data"];tn(ss);pe.addGetterSetter(ss,"data");class Ao extends Or{_sceneFunc(e){super._sceneFunc(e);let n=Math.PI*2,s=this.points(),i=s,r=this.tension()!==0&&s.length>4;if(r)i=this.getTensionPoints();let a=this.pointerLength(),l=s.length,c,f;if(r){let b=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],s[l-2],s[l-1]],y=ss.calcLength(i[i.length-4],i[i.length-3],"C",b),v=ss.getPointOnQuadraticBezier(Math.min(1,1-a/y),b[0],b[1],b[2],b[3],b[4],b[5]);c=s[l-2]-v.x,f=s[l-1]-v.y}else c=s[l-2]-s[l-4],f=s[l-1]-s[l-3];let d=(Math.atan2(f,c)+n)%n,g=this.pointerWidth();if(this.pointerAtEnding())e.save(),e.beginPath(),e.translate(s[l-2],s[l-1]),e.rotate(d),e.moveTo(0,0),e.lineTo(-a,g/2),e.lineTo(-a,-g/2),e.closePath(),e.restore(),this.__fillStroke(e);if(this.pointerAtBeginning()){if(e.save(),e.beginPath(),e.translate(s[0],s[1]),r)c=(i[0]+i[2])/2-s[0],f=(i[1]+i[3])/2-s[1];else c=s[2]-s[0],f=s[3]-s[1];e.rotate((Math.atan2(-f,-c)+n)%n),e.moveTo(0,0),e.lineTo(-a,g/2),e.lineTo(-a,-g/2),e.closePath(),e.restore(),this.__fillStroke(e)}}__fillStroke(e){let n=this.dashEnabled();if(n)this.attrs.dashEnabled=!1,e.setLineDash([]);if(e.fillStrokeShape(this),n)this.attrs.dashEnabled=!0}getSelfRect(){let e=super.getSelfRect(),n=this.pointerWidth()/2;return{x:e.x,y:e.y-n,width:e.width,height:e.height+n*2}}}Ao.prototype.className="Arrow";tn(Ao);pe.addGetterSetter(Ao,"pointerLength",10,Ke());pe.addGetterSetter(Ao,"pointerWidth",10,Ke());pe.addGetterSetter(Ao,"pointerAtBeginning",!1);pe.addGetterSetter(Ao,"pointerAtEnding",!0);class ml extends Qe{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){if(this.radius()!==e/2)this.radius(e/2)}setHeight(e){if(this.radius()!==e/2)this.radius(e/2)}}ml.prototype._centroid=!0;ml.prototype.className="Circle";ml.prototype._attrsAffectingSize=["radius"];tn(ml);pe.addGetterSetter(ml,"radius",0,Ke());class Ua extends Qe{_sceneFunc(e){let n=this.radiusX(),s=this.radiusY();if(e.beginPath(),e.save(),n!==s)e.scale(1,s/n);e.arc(0,0,n,0,Math.PI*2,!1),e.restore(),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(e){this.radiusX(e/2)}setHeight(e){this.radiusY(e/2)}}Ua.prototype.className="Ellipse";Ua.prototype._centroid=!0;Ua.prototype._attrsAffectingSize=["radiusX","radiusY"];tn(Ua);pe.addComponentsGetterSetter(Ua,"radius",["x","y"]);pe.addGetterSetter(Ua,"radiusX",0,Ke());pe.addGetterSetter(Ua,"radiusY",0,Ke());class Qi extends Qe{constructor(e){super(e);this._loadListener=()=>{this._requestDraw()},this.on("imageChange.konva",(n)=>{this._removeImageLoad(n.oldVal),this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){let e=this.image();if(e&&e.complete)return;if(e&&e.readyState===4)return;if(e&&e.addEventListener)e.addEventListener("load",this._loadListener)}_removeImageLoad(e){if(e&&e.removeEventListener)e.removeEventListener("load",this._loadListener)}destroy(){return this._removeImageLoad(this.image()),super.destroy(),this}_useBufferCanvas(){let e=!!this.cornerRadius(),n=this.hasShadow();if(e&&n)return!0;return super._useBufferCanvas(!0)}_sceneFunc(e){let n=this.getWidth(),s=this.getHeight(),i=this.cornerRadius(),r=this.attrs.image,a;if(r){let l=this.attrs.cropWidth,c=this.attrs.cropHeight;if(l&&c)a=[r,this.cropX(),this.cropY(),l,c,0,0,n,s];else a=[r,0,0,n,s]}if(this.hasFill()||this.hasStroke()||i)e.beginPath(),i?Ee.drawRoundedRectPath(e,n,s,i):e.rect(0,0,n,s),e.closePath(),e.fillStrokeShape(this);if(r){if(i)e.clip();e.drawImage.apply(e,a)}}_hitFunc(e){let n=this.width(),s=this.height(),i=this.cornerRadius();if(e.beginPath(),!i)e.rect(0,0,n,s);else Ee.drawRoundedRectPath(e,n,s,i);e.closePath(),e.fillStrokeShape(this)}getWidth(){var e,n,s;return(s=(e=this.attrs.width)!==null&&e!==void 0?e:(n=this.image())===null||n===void 0?void 0:n.width)!==null&&s!==void 0?s:0}getHeight(){var e,n,s;return(s=(e=this.attrs.height)!==null&&e!==void 0?e:(n=this.image())===null||n===void 0?void 0:n.height)!==null&&s!==void 0?s:0}static fromURL(e,n,s=null){let i=Ee.createImageElement();i.onload=function(){let r=new Qi({image:i});n(r)},i.onerror=s,i.crossOrigin="Anonymous",i.src=e}}Qi.prototype.className="Image";Qi.prototype._attrsAffectingSize=["image"];tn(Qi);pe.addGetterSetter(Qi,"cornerRadius",0,ul(4));pe.addGetterSetter(Qi,"image");pe.addComponentsGetterSetter(Qi,"crop",["x","y","width","height"]);pe.addGetterSetter(Qi,"cropX",0,Ke());pe.addGetterSetter(Qi,"cropY",0,Ke());pe.addGetterSetter(Qi,"cropWidth",0,Ke());pe.addGetterSetter(Qi,"cropHeight",0,Ke());var R4=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],TR="Change.konva",ER="none",Ab="up",Tb="right",Eb="down",Cb="left",CR=R4.length;class $h extends Ba{constructor(e){super(e);this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(e){let n=this,s,i=function(){n._sync()};for(s=0;s<CR;s++)e.on(R4[s]+TR,i)}getWidth(){return this.getText().width()}getHeight(){return this.getText().height()}_sync(){let e=this.getText(),n=this.getTag(),s,i,r,a,l,c,f;if(e&&n){switch(s=e.width(),i=e.height(),r=n.pointerDirection(),a=n.pointerWidth(),f=n.pointerHeight(),l=0,c=0,r){case Ab:l=s/2,c=-1*f;break;case Tb:l=s+a,c=i/2;break;case Eb:l=s/2,c=i+f;break;case Cb:l=-1*a,c=i/2;break}n.setAttrs({x:-1*l,y:-1*c,width:s,height:i}),e.setAttrs({x:-1*l,y:-1*c})}}}$h.prototype.className="Label";tn($h);class Eo extends Qe{_sceneFunc(e){let n=this.width(),s=this.height(),i=this.pointerDirection(),r=this.pointerWidth(),a=this.pointerHeight(),l=this.cornerRadius(),c=0,f=0,d=0,g=0;if(typeof l==="number")c=f=d=g=Math.min(l,n/2,s/2);else c=Math.min(l[0]||0,n/2,s/2),f=Math.min(l[1]||0,n/2,s/2),g=Math.min(l[2]||0,n/2,s/2),d=Math.min(l[3]||0,n/2,s/2);if(e.beginPath(),e.moveTo(c,0),i===Ab)e.lineTo((n-r)/2,0),e.lineTo(n/2,-1*a),e.lineTo((n+r)/2,0);if(e.lineTo(n-f,0),e.arc(n-f,f,f,Math.PI*3/2,0,!1),i===Tb)e.lineTo(n,(s-a)/2),e.lineTo(n+r,s/2),e.lineTo(n,(s+a)/2);if(e.lineTo(n,s-g),e.arc(n-g,s-g,g,0,Math.PI/2,!1),i===Eb)e.lineTo((n+r)/2,s),e.lineTo(n/2,s+a),e.lineTo((n-r)/2,s);if(e.lineTo(d,s),e.arc(d,s-d,d,Math.PI/2,Math.PI,!1),i===Cb)e.lineTo(0,(s+a)/2),e.lineTo(-1*r,s/2),e.lineTo(0,(s-a)/2);e.lineTo(0,c),e.arc(c,c,c,Math.PI,Math.PI*3/2,!1),e.closePath(),e.fillStrokeShape(this)}getSelfRect(){let e=0,n=0,s=this.pointerWidth(),i=this.pointerHeight(),r=this.pointerDirection(),a=this.width(),l=this.height();if(r===Ab)n-=i,l+=i;else if(r===Eb)l+=i;else if(r===Cb)e-=s*1.5,a+=s;else if(r===Tb)a+=s*1.5;return{x:e,y:n,width:a,height:l}}}Eo.prototype.className="Tag";tn(Eo);pe.addGetterSetter(Eo,"pointerDirection",ER);pe.addGetterSetter(Eo,"pointerWidth",0,Ke());pe.addGetterSetter(Eo,"pointerHeight",0,Ke());pe.addGetterSetter(Eo,"cornerRadius",0,ul(4));class pl extends Qe{_sceneFunc(e){let n=this.cornerRadius(),s=this.width(),i=this.height();if(e.beginPath(),!n)e.rect(0,0,s,i);else Ee.drawRoundedRectPath(e,s,i,n);e.closePath(),e.fillStrokeShape(this)}}pl.prototype.className="Rect";tn(pl);pe.addGetterSetter(pl,"cornerRadius",0,ul(4));class za extends Qe{_sceneFunc(e){let n=this._getPoints(),s=this.radius(),i=this.sides(),r=this.cornerRadius();if(e.beginPath(),!r){e.moveTo(n[0].x,n[0].y);for(let a=1;a<n.length;a++)e.lineTo(n[a].x,n[a].y)}else Ee.drawRoundedPolygonPath(e,n,i,s,r);e.closePath(),e.fillStrokeShape(this)}_getPoints(){let e=this.attrs.sides,n=this.attrs.radius||0,s=[];for(let i=0;i<e;i++)s.push({x:n*Math.sin(i*2*Math.PI/e),y:-1*n*Math.cos(i*2*Math.PI/e)});return s}getSelfRect(){let e=this._getPoints(),n=e[0].x,s=e[0].x,i=e[0].y,r=e[0].y;return e.forEach((a)=>{n=Math.min(n,a.x),s=Math.max(s,a.x),i=Math.min(i,a.y),r=Math.max(r,a.y)}),{x:n,y:i,width:s-n,height:r-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}}za.prototype.className="RegularPolygon";za.prototype._centroid=!0;za.prototype._attrsAffectingSize=["radius"];tn(za);pe.addGetterSetter(za,"radius",0,Ke());pe.addGetterSetter(za,"sides",0,Ke());pe.addGetterSetter(za,"cornerRadius",0,ul(4));var D4=Math.PI*2;class Co extends Qe{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.innerRadius(),0,D4,!1),e.moveTo(this.outerRadius(),0),e.arc(0,0,this.outerRadius(),D4,0,!0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}}Co.prototype.className="Ring";Co.prototype._centroid=!0;Co.prototype._attrsAffectingSize=["innerRadius","outerRadius"];tn(Co);pe.addGetterSetter(Co,"innerRadius",0,Ke());pe.addGetterSetter(Co,"outerRadius",0,Ke());class Br extends Qe{constructor(e){super(e);this._updated=!0,this.anim=new Bi(()=>{let n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){if(!this.anim.isRunning())return;clearInterval(this.interval),this._setInterval()})}_sceneFunc(e){let n=this.animation(),s=this.frameIndex(),i=s*4,r=this.animations()[n],a=this.frameOffsets(),l=r[i+0],c=r[i+1],f=r[i+2],d=r[i+3],g=this.image();if(this.hasFill()||this.hasStroke())e.beginPath(),e.rect(0,0,f,d),e.closePath(),e.fillStrokeShape(this);if(g)if(a){let b=a[n],y=s*2;e.drawImage(g,l,c,f,d,b[y+0],b[y+1],f,d)}else e.drawImage(g,l,c,f,d,0,0,f,d)}_hitFunc(e){let n=this.animation(),s=this.frameIndex(),i=s*4,r=this.animations()[n],a=this.frameOffsets(),l=r[i+2],c=r[i+3];if(e.beginPath(),a){let f=a[n],d=s*2;e.rect(f[d+0],f[d+1],l,c)}else e.rect(0,0,l,c);e.closePath(),e.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){let e=this;this.interval=setInterval(function(){e._updateIndex()},1000/this.frameRate())}start(){if(this.isRunning())return;let e=this.getLayer();this.anim.setLayers(e),this._setInterval(),this.anim.start()}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){let e=this.frameIndex(),n=this.animation(),s=this.animations(),i=s[n],r=i.length/4;if(e<r-1)this.frameIndex(e+1);else this.frameIndex(0)}}Br.prototype.className="Sprite";tn(Br);pe.addGetterSetter(Br,"animation");pe.addGetterSetter(Br,"animations");pe.addGetterSetter(Br,"frameOffsets");pe.addGetterSetter(Br,"image");pe.addGetterSetter(Br,"frameIndex",0,Ke());pe.addGetterSetter(Br,"frameRate",17,Ke());pe.backCompat(Br,{index:"frameIndex",getIndex:"getFrameIndex",setIndex:"setFrameIndex"});class Ga extends Qe{_sceneFunc(e){let n=this.innerRadius(),s=this.outerRadius(),i=this.numPoints();e.beginPath(),e.moveTo(0,0-s);for(let r=1;r<i*2;r++){let a=r%2===0?s:n,l=a*Math.sin(r*Math.PI/i),c=-1*a*Math.cos(r*Math.PI/i);e.lineTo(l,c)}e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}}Ga.prototype.className="Star";Ga.prototype._centroid=!0;Ga.prototype._attrsAffectingSize=["innerRadius","outerRadius"];tn(Ga);pe.addGetterSetter(Ga,"numPoints",5,Ke());pe.addGetterSetter(Ga,"innerRadius",0,Ke());pe.addGetterSetter(Ga,"outerRadius",0,Ke());function pf(e){return[...e].reduce((n,s,i,r)=>{if(/\p{Emoji}/u.test(s)){let a=r[i+1];if(a&&/\p{Emoji_Modifier}|\u200D/u.test(a))n.push(s+a),r[i+1]="";else n.push(s)}else if(/\p{Regional_Indicator}{2}/u.test(s+(r[i+1]||"")))n.push(s+r[i+1]);else if(i>0&&/\p{Mn}|\p{Me}|\p{Mc}/u.test(s))n[n.length-1]+=s;else if(s)n.push(s);return n},[])}var mf="auto",jR="center",O4="inherit",Xh="justify",_R="Change.konva",P4="2d",q4="-",N4="left",IR="text",RR="Text",DR="top",qR="bottom",M4="middle",B4="normal",MR="px ",U0=" ",FR="right",F4="rtl",LR="word",OR="char",L4="none",jb="…",H4=["direction","fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],PR=H4.length,Wh=null;function NR(){if(Wh!==null)return Wh;Wh=!1;try{let e=document.createElement("canvas");e.width=10,e.height=10;let n=e.getContext(P4);if(n){n.globalAlpha=0,n.shadowColor="black",n.shadowBlur=5,n.shadowOffsetX=5,n.shadowOffsetY=5,n.fillStyle="black",n.font="10px Arial",n.fillText("X",0,10);let s=n.getImageData(0,0,10,10).data;for(let i=3;i<s.length;i+=4)if(s[i]>0){Wh=!0;break}}}catch(e){}return Wh}function BR(e){return e.split(",").map((n)=>{n=n.trim();let s=n.indexOf(" ")>=0,i=n.indexOf('"')>=0||n.indexOf("'")>=0;if(s&&!i)n=`"${n}"`;return n}).join(", ")}var z0;function _b(){if(z0)return z0;return z0=Ee.createCanvasElement().getContext(P4),z0}function HR(e){if(this._partialFillStyle)e.setAttr("fillStyle",this._partialFillStyle);e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function UR(e){if(e.setAttr("miterLimit",2),this._partialStrokeStyle)e.setAttr("strokeStyle",this._partialStrokeStyle);e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function zR(e){if(e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage)e.fill=e.fill||"black";return e}class $n extends Qe{constructor(e){super(zR(e));this._partialTextX=0,this._partialTextY=0;for(let n=0;n<PR;n++)this.on(H4[n]+_R,this._setTextData);this._setTextData()}_sceneFunc(e){var n,s;let i=this.textArr,r=i.length;if(!this.text())return;let a=this.padding(),l=this.fontSize(),c=this.lineHeight()*l,f=this.verticalAlign(),d=this.direction(),g=0,b=this.align(),y=this.getWidth(),v=this.letterSpacing(),x=this.charRenderFunc(),T=this.fill(),R=this.textDecoration(),N=this.underlineOffset(),U=R.indexOf("underline")!==-1,X=R.indexOf("line-through")!==-1,Y;d=d===O4?e.direction:d;let J=c/2,ee=M4;if(!nt.legacyTextRendering){let ie=this.measureSize("M");ee="alphabetic";let se=(n=ie.fontBoundingBoxAscent)!==null&&n!==void 0?n:ie.actualBoundingBoxAscent,ae=(s=ie.fontBoundingBoxDescent)!==null&&s!==void 0?s:ie.actualBoundingBoxDescent;J=(se-ae)/2+c/2}if(d===F4)e.setAttr("direction",d);if(e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",ee),e.setAttr("textAlign",N4),f===M4)g=(this.getHeight()-r*c-a*2)/2;else if(f===qR)g=this.getHeight()-r*c-a*2;e.translate(a,g+a);let te=x?e.fillStyle:void 0,ne=x?e.strokeStyle:void 0;for(Y=0;Y<r;Y++){let ie=0,se=0,ae=i[Y],{text:be,width:ye,lastInParagraph:ue}=ae;if(e.save(),b===FR)ie+=y-ye-a*2;else if(b===jR)ie+=(y-ye-a*2)/2;if(U){e.save(),e.beginPath();let oe=N!==null&&N!==void 0?N:!nt.legacyTextRendering?Math.round(l/4):Math.round(l/2),Se=ie,we=J+se+oe;e.moveTo(Se,we);let qe=b===Xh&&!ue?y-a*2:ye;e.lineTo(Se+Math.round(qe),we),e.lineWidth=l/15;let De=this._getLinearGradient();e.strokeStyle=De||T,e.stroke(),e.restore()}let he=ie;if(d!==F4&&(v!==0||b===Xh||x)){let oe=be.split(" ").length-1,Se=pf(be);for(let we=0;we<Se.length;we++){let qe=Se[we];if(qe===" "&&!ue&&b===Xh)ie+=(y-a*2-ye)/oe;if(this._partialTextX=ie,this._partialTextY=J+se,this._partialText=qe,x){e.save();let Fe=i.slice(0,Y).reduce((Je,vt)=>Je+pf(vt.text).length,0),Be=we+Fe;x({char:qe,index:Be,x:ie,y:J+se,lineIndex:Y,column:we,isLastInLine:ue,width:this.measureSize(qe).width,context:e});let We=e.fillStyle;if(We!==te)this._partialFillStyle=We;let st=e.strokeStyle;if(st!==ne)this._partialStrokeStyle=st}if(e.fillStrokeShape(this),x)this._partialFillStyle=void 0,this._partialStrokeStyle=void 0,e.restore();ie+=this.measureSize(qe).width+v}}else{if(v!==0)e.setAttr("letterSpacing",`${v}px`);this._partialTextX=ie,this._partialTextY=J+se,this._partialText=be,e.fillStrokeShape(this)}if(X){e.save(),e.beginPath();let oe=!nt.legacyTextRendering?-Math.round(l/4):0,Se=he;e.moveTo(Se,J+se+oe);let we=b===Xh&&!ue?y-a*2:ye;e.lineTo(Se+Math.round(we),J+se+oe),e.lineWidth=l/15;let qe=this._getLinearGradient();e.strokeStyle=qe||T,e.stroke(),e.restore()}if(e.restore(),r>1)J+=c}}_hitFunc(e){let n=this.getWidth(),s=this.getHeight();e.beginPath(),e.rect(0,0,n,s),e.closePath(),e.fillStrokeShape(this)}setText(e){let n=Ee._isString(e)?e:e===null||e===void 0?"":e+"";return this._setAttr(IR,n),this}getWidth(){return this.attrs.width===mf||this.attrs.width===void 0?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){return this.attrs.height===mf||this.attrs.height===void 0?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return Ee.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(e){var n,s,i,r,a,l,c,f,d,g,b;let y=_b(),v=this.fontSize(),x;y.save(),y.font=this._getContextFont(),x=y.measureText(e),y.restore();let T=v/100;return{actualBoundingBoxAscent:(n=x.actualBoundingBoxAscent)!==null&&n!==void 0?n:71.58203125*T,actualBoundingBoxDescent:(s=x.actualBoundingBoxDescent)!==null&&s!==void 0?s:0,actualBoundingBoxLeft:(i=x.actualBoundingBoxLeft)!==null&&i!==void 0?i:-7.421875*T,actualBoundingBoxRight:(r=x.actualBoundingBoxRight)!==null&&r!==void 0?r:75.732421875*T,alphabeticBaseline:(a=x.alphabeticBaseline)!==null&&a!==void 0?a:0,emHeightAscent:(l=x.emHeightAscent)!==null&&l!==void 0?l:100*T,emHeightDescent:(c=x.emHeightDescent)!==null&&c!==void 0?c:-20*T,fontBoundingBoxAscent:(f=x.fontBoundingBoxAscent)!==null&&f!==void 0?f:91*T,fontBoundingBoxDescent:(d=x.fontBoundingBoxDescent)!==null&&d!==void 0?d:21*T,hangingBaseline:(g=x.hangingBaseline)!==null&&g!==void 0?g:72.80000305175781*T,ideographicBaseline:(b=x.ideographicBaseline)!==null&&b!==void 0?b:-21*T,width:x.width,height:v}}_getContextFont(){return this.fontStyle()+U0+this.fontVariant()+U0+(this.fontSize()+MR)+BR(this.fontFamily())}_addTextLine(e){if(this.align()===Xh)e=e.trim();let s=this._getTextWidth(e);return this.textArr.push({text:e,width:s,lastInParagraph:!1})}_getTextWidth(e){let n=this.letterSpacing(),s=e.length;return _b().measureText(e).width+n*s}_setTextData(){let e=this.text().split(`
67
- `),n=+this.fontSize(),s=0,i=this.lineHeight()*n,r=this.attrs.width,a=this.attrs.height,l=r!==mf&&r!==void 0,c=a!==mf&&a!==void 0,f=this.padding(),d=r-f*2,g=a-f*2,b=0,y=this.wrap(),v=y!==L4,x=y!==OR&&v,T=this.ellipsis();this.textArr=[],_b().font=this._getContextFont();let R=T?this._getTextWidth(jb):0;for(let N=0,U=e.length;N<U;++N){let X=e[N],Y=this._getTextWidth(X);if(l&&Y>d)while(X.length>0){let J=pf(X),ee=0,te=J.length,ne="",ie=0;while(ee<te){let se=ee+te>>>1,ae=J.slice(0,se+1).join(""),be=this._getTextWidth(ae);if((T&&c&&b+i>g?be+R:be)<=d)ee=se+1,ne=ae,ie=be;else te=se}if(ne){if(x){let ae=pf(ne),be=J[ae.length],ye=be===U0||be===q4,ue;if(ye&&ie<=d)ue=ae.length;else{let he=ae.lastIndexOf(U0),oe=ae.lastIndexOf(q4);ue=Math.max(he,oe)+1}if(ue>0)ee=ue,ne=J.slice(0,ee).join(""),ie=this._getTextWidth(ne)}if(ne=ne.trimRight(),this._addTextLine(ne),s=Math.max(s,ie),b+=i,this._shouldHandleEllipsis(b)){this._tryToAddEllipsisToLastLine();break}if(X=J.slice(ee).join("").trimLeft(),X.length>0){if(Y=this._getTextWidth(X),Y<=d){this._addTextLine(X),b+=i,s=Math.max(s,Y);break}}}else break}else if(this._addTextLine(X),b+=i,s=Math.max(s,Y),this._shouldHandleEllipsis(b)&&N<U-1)this._tryToAddEllipsisToLastLine();if(this.textArr[this.textArr.length-1])this.textArr[this.textArr.length-1].lastInParagraph=!0;if(c&&b+i>g)break}this.textHeight=n,this.textWidth=s}_shouldHandleEllipsis(e){let n=+this.fontSize(),s=this.lineHeight()*n,i=this.attrs.height,r=i!==mf&&i!==void 0,a=this.padding(),l=i-a*2;return this.wrap()===L4||r&&e+s>l}_tryToAddEllipsisToLastLine(){let e=this.attrs.width,n=e!==mf&&e!==void 0,s=this.padding(),i=e-s*2,r=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!a||!r)return;if(n){if(!(this._getTextWidth(a.text+jb)<i))a.text=a.text.slice(0,a.text.length-3)}this.textArr.splice(this.textArr.length-1,1),this._addTextLine(a.text+jb)}getStrokeScaleEnabled(){return!0}_useBufferCanvas(){let e=this.textDecoration().indexOf("underline")!==-1||this.textDecoration().indexOf("line-through")!==-1,n=this.hasShadow();if(e&&n)return!0;if(n&&this.getAbsoluteOpacity()!==1&&NR())return!0;return super._useBufferCanvas()}}$n.prototype._fillFunc=HR;$n.prototype._strokeFunc=UR;$n.prototype.className=RR;$n.prototype._attrsAffectingSize=["text","fontSize","padding","wrap","lineHeight","letterSpacing"];tn($n);pe.overWriteSetter($n,"width",Fh());pe.overWriteSetter($n,"height",Fh());pe.addGetterSetter($n,"direction",O4);pe.addGetterSetter($n,"fontFamily","Arial");pe.addGetterSetter($n,"fontSize",12,Ke());pe.addGetterSetter($n,"fontStyle",B4);pe.addGetterSetter($n,"fontVariant",B4);pe.addGetterSetter($n,"padding",0,Ke());pe.addGetterSetter($n,"align",N4);pe.addGetterSetter($n,"verticalAlign",DR);pe.addGetterSetter($n,"lineHeight",1,Ke());pe.addGetterSetter($n,"wrap",LR);pe.addGetterSetter($n,"ellipsis",!1,xi());pe.addGetterSetter($n,"letterSpacing",0,Ke());pe.addGetterSetter($n,"text","",Pa());pe.addGetterSetter($n,"textDecoration","");pe.addGetterSetter($n,"underlineOffset",void 0,Ke());pe.addGetterSetter($n,"charRenderFunc",void 0);var GR="",U4="normal";function z4(e){e.fillText(this.partialText,0,0)}function G4(e){e.strokeText(this.partialText,0,0)}class zs extends Qe{constructor(e){super(e);this.dummyCanvas=Ee.createCanvasElement(),this.dataArray=[],this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute(),this._setTextData()}),this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva directionChange.konva",this._setTextData),this._setTextData()}_getTextPathLength(){return ss.getPathLength(this.dataArray)}_getPointAtLength(e){if(!this.attrs.data)return null;let n=this.pathLength;if(e>n)return null;return ss.getPointAtLengthOfDataArray(e,this.dataArray)}_readDataAttribute(){this.dataArray=ss.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(e){e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",this.textBaseline()),e.setAttr("textAlign","left"),e.save();let n=this.textDecoration(),s=this.fill(),i=this.fontSize(),r=this.glyphInfo,a=n.indexOf("underline")!==-1,l=n.indexOf("line-through")!==-1;if(a)e.beginPath();for(let c=0;c<r.length;c++){e.save();let f=r[c].p0;if(e.translate(f.x,f.y),e.rotate(r[c].rotation),this.partialText=r[c].text,e.fillStrokeShape(this),a){if(c===0)e.moveTo(0,i/2+1);e.lineTo(r[c].width,i/2+1)}e.restore()}if(a)e.strokeStyle=s,e.lineWidth=i/20,e.stroke();if(l){e.beginPath();for(let c=0;c<r.length;c++){e.save();let f=r[c].p0;if(e.translate(f.x,f.y),e.rotate(r[c].rotation),c===0)e.moveTo(0,0);e.lineTo(r[c].width,0),e.restore()}e.strokeStyle=s,e.lineWidth=i/20,e.stroke()}e.restore()}_hitFunc(e){e.beginPath();let n=this.glyphInfo;if(n.length>=1){let s=n[0].p0;e.moveTo(s.x,s.y)}for(let s=0;s<n.length;s++){let i=n[s].p1;e.lineTo(i.x,i.y)}e.setAttr("lineWidth",this.fontSize()),e.setAttr("strokeStyle",this.colorKey),e.stroke()}getTextWidth(){return this.textWidth}getTextHeight(){return Ee.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}setText(e){return $n.prototype.setText.call(this,e)}_getContextFont(){return $n.prototype._getContextFont.call(this)}_getTextSize(e){let s=this.dummyCanvas.getContext("2d");s.save(),s.font=this._getContextFont();let i=s.measureText(e);return s.restore(),{width:i.width,height:parseInt(`${this.fontSize()}`,10)}}_setTextData(){let e=pf(this.text());if(this.direction()==="rtl")e.reverse();let n=[],s=0;for(let y=0;y<e.length;y++)n.push({char:e[y],width:this._getTextSize(e[y]).width}),s+=n[y].width;let{width:i,height:r}=this._getTextSize(this.attrs.text);if(this.textWidth=s,this.textHeight=r,this.glyphInfo=[],!this.attrs.data)return null;let a=this.letterSpacing(),l=this.align(),c=this.kerningFunc(),f=Math.max(0,s-i),d=Math.max(this.textWidth+((this.attrs.text||"").length-1)*a,0),g=0;if(l==="center")g=Math.max(0,this.pathLength/2-d/2);if(l==="right")g=Math.max(0,this.pathLength-d);let b=g;for(let y=0;y<n.length;y++){let v=this._getPointAtLength(b);if(!v)return;let x=n[y].char,T=n[y].width+a;if(x===" "&&l==="justify"){let ee=this.text().split(" ").length-1;T+=(this.pathLength-d)/ee}let R=b+T,N=this._getPointAtLength(R>this.pathLength&&R-this.pathLength<=f?this.pathLength:R);if(!N)return;let U=ss.getLineLength(v.x,v.y,N.x,N.y),X=0;if(c)try{X=c(n[y-1].char,x)*this.fontSize()}catch(ee){X=0}v.x+=X,N.x+=X,this.textWidth+=X;let Y=ss.getPointOnLine(X+U/2,v.x,v.y,N.x,N.y),J=Math.atan2(N.y-v.y,N.x-v.x);this.glyphInfo.push({transposeX:Y.x,transposeY:Y.y,text:e[y],rotation:J,p0:v,p1:N,width:U}),b+=T}}getSelfRect(){if(!this.glyphInfo.length)return{x:0,y:0,width:0,height:0};let e=[];this.glyphInfo.forEach(function(f){e.push(f.p0.x),e.push(f.p0.y),e.push(f.p1.x),e.push(f.p1.y)});let n=e[0]||0,s=e[0]||0,i=e[1]||0,r=e[1]||0,a,l;for(let f=0;f<e.length/2;f++)a=e[f*2],l=e[f*2+1],n=Math.min(n,a),s=Math.max(s,a),i=Math.min(i,l),r=Math.max(r,l);let c=this.fontSize();return{x:n-c/2,y:i-c/2,width:s-n+c,height:r-i+c}}destroy(){return Ee.releaseCanvas(this.dummyCanvas),super.destroy()}}zs.prototype._fillFunc=z4;zs.prototype._strokeFunc=G4;zs.prototype._fillFuncHit=z4;zs.prototype._strokeFuncHit=G4;zs.prototype.className="TextPath";zs.prototype._attrsAffectingSize=["text","fontSize","data"];tn(zs);pe.addGetterSetter(zs,"data");pe.addGetterSetter(zs,"fontFamily","Arial");pe.addGetterSetter(zs,"fontSize",12,Ke());pe.addGetterSetter(zs,"fontStyle",U4);pe.addGetterSetter(zs,"align","left");pe.addGetterSetter(zs,"letterSpacing",0,Ke());pe.addGetterSetter(zs,"textBaseline","middle");pe.addGetterSetter(zs,"fontVariant",U4);pe.addGetterSetter(zs,"text",GR);pe.addGetterSetter(zs,"textDecoration","");pe.addGetterSetter(zs,"kerningFunc",void 0);pe.addGetterSetter(zs,"direction","inherit");var X4="tr-konva",VR=["resizeEnabledChange","rotateAnchorOffsetChange","rotateAnchorAngleChange","rotateEnabledChange","enabledAnchorsChange","anchorSizeChange","borderEnabledChange","borderStrokeChange","borderStrokeWidthChange","borderDashChange","anchorStrokeChange","anchorStrokeWidthChange","anchorFillChange","anchorCornerRadiusChange","ignoreStrokeChange","anchorStyleFuncChange"].map((e)=>e+`.${X4}`).join(" "),V4="nodesRect",$R=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange","draggableChange"],XR={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135},WR="ontouchstart"in nt._global;function KR(e,n,s){if(e==="rotater")return s;n+=Ee.degToRad(XR[e]||0);let i=(Ee.radToDeg(n)%360+360)%360;if(Ee._inRange(i,337.5,360)||Ee._inRange(i,0,22.5))return"ns-resize";else if(Ee._inRange(i,22.5,67.5))return"nesw-resize";else if(Ee._inRange(i,67.5,112.5))return"ew-resize";else if(Ee._inRange(i,112.5,157.5))return"nwse-resize";else if(Ee._inRange(i,157.5,202.5))return"ns-resize";else if(Ee._inRange(i,202.5,247.5))return"nesw-resize";else if(Ee._inRange(i,247.5,292.5))return"ew-resize";else if(Ee._inRange(i,292.5,337.5))return"nwse-resize";else return Ee.error("Transformer has unknown angle for cursor detection: "+i),"pointer"}var G0=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],$4=1e8;function YR(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function W4(e,n,s){let i=s.x+(e.x-s.x)*Math.cos(n)-(e.y-s.y)*Math.sin(n),r=s.y+(e.x-s.x)*Math.sin(n)+(e.y-s.y)*Math.cos(n);return{...e,rotation:e.rotation+n,x:i,y:r}}function QR(e,n){let s=YR(e);return W4(e,n,s)}function JR(e,n,s){let i=n;for(let r=0;r<e.length;r++){let a=nt.getAngle(e[r]),l=Math.abs(a-n)%(Math.PI*2);if(Math.min(l,Math.PI*2-l)<s)i=a}return i}var Ib=0;class bn extends Ba{constructor(e){super(e);if(this._movingAnchorName=null,this._transforming=!1,this._transformWindow=null,this._elementsCreated=!1,this._updateScheduled=!1,this._createElements(),this._handleMouseMove=this._handleMouseMove.bind(this),this._handleMouseUp=this._handleMouseUp.bind(this),this.update=this.update.bind(this),this.on(VR,this.update),this.getNode())this.update()}attachTo(e){return this.setNode(e),this}setNode(e){return Ee.warn("tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead."),this.setNodes([e])}getNode(){return this._nodes&&this._nodes[0]}_getEventNamespace(){return X4+this._id}setNodes(e=[]){if(this._nodes&&this._nodes.length)this.detach();let n=e.filter((i)=>{if(i.isAncestorOf(this))return Ee.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1;return!0});if(this._nodes=e=n,e.length===1&&this.useSingleNodeRotation())this.rotation(e[0].getAbsoluteRotation());else this.rotation(0);if(this._nodes.forEach((i)=>{let r=()=>{if(this._transforming)return;if(this.nodes().length===1&&this.useSingleNodeRotation())this.rotation(this.nodes()[0].getAbsoluteRotation());if(this._resetTransformCache(),!this.isDragging())this._scheduleUpdate()};if(i._attrsAffectingSize.length){let a=i._attrsAffectingSize.map((l)=>l+"Change."+this._getEventNamespace()).join(" ");i.on(a,r)}i.on($R.map((a)=>a+`.${this._getEventNamespace()}`).join(" "),r),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,r),this._proxyDrag(i)}),this._resetTransformCache(),!!this.findOne(".top-left"))this.update();return this}_proxyDrag(e){let n;e.on(`dragstart.${this._getEventNamespace()}`,(s)=>{if(n=e.getAbsolutePosition(),!this.isDragging()&&e!==this.findOne(".back"))this.startDrag(s,!1)}),e.on(`dragmove.${this._getEventNamespace()}`,(s)=>{if(!n)return;let i=e.getAbsolutePosition(),r=i.x-n.x,a=i.y-n.y;this.nodes().forEach((l)=>{if(l===e)return;if(l.isDragging())return;let c=l.getAbsolutePosition();l.setAbsolutePosition({x:c.x+r,y:c.y+a}),l.startDrag(s)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){if(this._nodes)this._nodes.forEach((e)=>{e.off("."+this._getEventNamespace())});this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(V4),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(V4,this.__getNodeRect)}__getNodeShape(e,n=this.rotation(),s){let i=e.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),r=e.getAbsoluteScale(s),a=e.getAbsolutePosition(s),l=i.x*r.x-e.offsetX()*r.x,c=i.y*r.y-e.offsetY()*r.y,f=(nt.getAngle(e.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+l*Math.cos(f)+c*Math.sin(-f),y:a.y+c*Math.cos(f)+l*Math.sin(f),width:i.width*r.x,height:i.height*r.y,rotation:f};return W4(d,-nt.getAngle(n),{x:0,y:0})}__getNodeRect(){if(!this.getNode())return{x:-$4,y:-$4,width:0,height:0,rotation:0};let n=[];this.nodes().map((f)=>{let d=f.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),g=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],b=f.getAbsoluteTransform();g.forEach(function(y){let v=b.point(y);n.push(v)})});let s=new ki;s.rotate(-nt.getAngle(this.rotation()));let i=1/0,r=1/0,a=-1/0,l=-1/0;n.forEach(function(f){let d=s.point(f);if(i===void 0)i=a=d.x,r=l=d.y;i=Math.min(i,d.x),r=Math.min(r,d.y),a=Math.max(a,d.x),l=Math.max(l,d.y)}),s.invert();let c=s.point({x:i,y:r});return{x:c.x,y:c.y,width:a-i,height:l-r,rotation:nt.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),G0.forEach((e)=>{this._createAnchor(e)}),this._createAnchor("rotater"),this._elementsCreated=!0}_createAnchor(e){let n=new pl({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:e+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:WR?10:"auto"}),s=this;n.on("mousedown touchstart",function(i){s._handleMouseDown(i)}),n.on("dragstart",(i)=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",(i)=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{let i=nt.getAngle(this.rotation()),r=this.rotateAnchorCursor(),a=KR(e,i,r);n.getStage().content&&(n.getStage().content.style.cursor=a),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){let e=new Qe({name:"back",width:0,height:0,sceneFunc(n,s){let i=s.getParent(),r=i.padding(),a=s.width(),l=s.height();if(n.beginPath(),n.rect(-r,-r,a+r*2,l+r*2),i.rotateEnabled()&&i.rotateLineVisible()){let c=i.rotateAnchorAngle(),f=i.rotateAnchorOffset(),d=Ee.degToRad(c),g=Math.sin(d),b=-Math.cos(d),y=a/2,v=l/2,x=1/0;if(b<0)x=Math.min(x,-v/b);else if(b>0)x=Math.min(x,(l-v)/b);if(g<0)x=Math.min(x,-y/g);else if(g>0)x=Math.min(x,(a-y)/g);let T=y+g*x,R=v+b*x,N=Ee._sign(l),U=T+g*f*N,X=R+b*f*N;n.moveTo(T,R),n.lineTo(U,X)}n.fillStrokeShape(s)},hitFunc:(n,s)=>{if(!this.shouldOverdrawWholeArea())return;let i=this.padding();n.beginPath(),n.rect(-i,-i,s.width()+i*2,s.height()+i*2),n.fillStrokeShape(s)}});this.add(e),this._proxyDrag(e),e.on("dragstart",(n)=>{n.cancelBubble=!0}),e.on("dragmove",(n)=>{n.cancelBubble=!0}),e.on("dragend",(n)=>{n.cancelBubble=!0}),this.on("dragmove",(n)=>{this.update()})}_handleMouseDown(e){var n;if(this._transforming)return;this._movingAnchorName=e.target.name().split(" ")[0];let s=this._getNodeRect(),{width:i,height:r}=s,a=Math.sqrt(Math.pow(i,2)+Math.pow(r,2));this.sin=Math.abs(r/a),this.cos=Math.abs(i/a);let l=(n=this.getStage())===null||n===void 0?void 0:n._getOwnerWindow();if(this._transformWindow=l||null,l)l.addEventListener("mousemove",this._handleMouseMove),l.addEventListener("touchmove",this._handleMouseMove),l.addEventListener("mouseup",this._handleMouseUp,!0),l.addEventListener("touchend",this._handleMouseUp,!0);this._transforming=!0;let c=e.target.getAbsolutePosition(),f=e.target.getStage().getPointerPosition();this._anchorDragOffset={x:f.x-c.x,y:f.y-c.y},Ib++,this._fire("transformstart",{evt:e.evt,target:this.getNode()}),this._nodes.forEach((d)=>{d._fire("transformstart",{evt:e.evt,target:d})})}_handleMouseMove(e){let n,s,i,r=this.findOne("."+this._movingAnchorName),a=r.getStage();a.setPointersPositions(e);let l=a.getPointerPosition(),c={x:l.x-this._anchorDragOffset.x,y:l.y-this._anchorDragOffset.y},f=r.getAbsolutePosition();if(this.anchorDragBoundFunc())c=this.anchorDragBoundFunc()(f,c,e);r.setAbsolutePosition(c);let d=r.getAbsolutePosition();if(f.x===d.x&&f.y===d.y)return;if(this._movingAnchorName==="rotater"){let U=this._getNodeRect();n=r.x()-U.width/2,s=-r.y()+U.height/2;let X=nt.getAngle(this.rotateAnchorAngle()),Y=Math.atan2(-s,n)+Math.PI/2-X;if(U.height<0)Y-=Math.PI;let ee=nt.getAngle(this.rotation())+Y,te=nt.getAngle(this.rotationSnapTolerance()),ie=JR(this.rotationSnaps(),ee,te)-U.rotation,se=QR(U,ie);this._fitNodesInto(se,e);return}let g=this.shiftBehavior(),b;if(g==="inverted")b=this.keepRatio()&&!e.shiftKey;else if(g==="none")b=this.keepRatio();else b=this.keepRatio()||e.shiftKey;let y=this.centeredScaling()||e.altKey,v=!1;if(this._movingAnchorName==="top-left"){if(b){v=!0;let U=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(U.x-r.x(),2)+Math.pow(U.y-r.y(),2));let X=this.findOne(".top-left").x()>U.x?-1:1,Y=this.findOne(".top-left").y()>U.y?-1:1;n=i*this.cos*X,s=i*this.sin*Y,this.findOne(".top-left").x(U.x-n),this.findOne(".top-left").y(U.y-s)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(r.y());else if(this._movingAnchorName==="top-right"){if(b){v=!0;let U=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(r.x()-U.x,2)+Math.pow(U.y-r.y(),2));let X=this.findOne(".top-right").x()<U.x?-1:1,Y=this.findOne(".top-right").y()>U.y?-1:1;n=i*this.cos*X,s=i*this.sin*Y,this.findOne(".top-right").x(U.x+n),this.findOne(".top-right").y(U.y-s)}var x=r.position();this.findOne(".top-left").y(x.y),this.findOne(".bottom-right").x(x.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(r.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(r.x());else if(this._movingAnchorName==="bottom-left"){if(b){v=!0;let U=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(U.x-r.x(),2)+Math.pow(r.y()-U.y,2));let X=U.x<r.x()?-1:1,Y=r.y()<U.y?-1:1;n=i*this.cos*X,s=i*this.sin*Y,r.x(U.x-n),r.y(U.y+s)}x=r.position(),this.findOne(".top-left").x(x.x),this.findOne(".bottom-right").y(x.y)}else if(this._movingAnchorName==="bottom-center")this.findOne(".bottom-right").y(r.y());else if(this._movingAnchorName==="bottom-right"){if(b){v=!0;let U=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-left").x(),y:this.findOne(".top-left").y()};i=Math.sqrt(Math.pow(r.x()-U.x,2)+Math.pow(r.y()-U.y,2));let X=this.findOne(".bottom-right").x()<U.x?-1:1,Y=this.findOne(".bottom-right").y()<U.y?-1:1;n=i*this.cos*X,s=i*this.sin*Y,this.findOne(".bottom-right").x(U.x+n),this.findOne(".bottom-right").y(U.y+s)}}else console.error(Error("Wrong position argument of selection resizer: "+this._movingAnchorName));if(y=this.centeredScaling()||e.altKey,y){let U=this.findOne(".top-left"),X=this.findOne(".bottom-right"),Y=U.x(),J=U.y(),ee=this.getWidth()-X.x(),te=this.getHeight()-X.y();X.move({x:-Y,y:-J}),U.move({x:ee,y:te})}let T=this.findOne(".top-left").getAbsolutePosition();n=T.x,s=T.y;let R=this.findOne(".bottom-right").x()-this.findOne(".top-left").x(),N=this.findOne(".bottom-right").y()-this.findOne(".top-left").y();this._fitNodesInto({x:n,y:s,width:R,height:N,rotation:nt.getAngle(this.rotation())},e,v)}_handleMouseUp(e){this._removeEvents(e)}getAbsoluteTransform(){return this.getTransform()}_removeEvents(e){var n;if(this._transforming){this._transforming=!1;let s=this._transformWindow;if(this._transformWindow=null,s)s.removeEventListener("mousemove",this._handleMouseMove),s.removeEventListener("touchmove",this._handleMouseMove),s.removeEventListener("mouseup",this._handleMouseUp,!0),s.removeEventListener("touchend",this._handleMouseUp,!0);let i=this.getNode();if(Ib--,this._fire("transformend",{evt:e,target:i}),(n=this.getLayer())===null||n===void 0||n.batchDraw(),i)this._nodes.forEach((r)=>{var a;r._fire("transformend",{evt:e,target:r}),(a=r.getLayer())===null||a===void 0||a.batchDraw()});this._movingAnchorName=null}}_fitNodesInto(e,n,s=!1){let i=nt.autoDrawEnabled;nt.autoDrawEnabled=!1;try{return this._doFitNodesInto(e,n,s)}finally{nt.autoDrawEnabled=i}}_doFitNodesInto(e,n,s=!1){let i=this._getNodeRect(),r=1;if(Ee._inRange(e.width,-this.padding()*2-1,1)){this.update();return}if(Ee._inRange(e.height,-this.padding()*2-1,1)){this.update();return}let a=new ki;a.rotate(nt.getAngle(this.rotation()));let l=s?0:this.padding()*2,c=null,f=null;if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("left")>=0){let R=a.point({x:-l,y:0});e.x+=R.x,e.y+=R.y,e.width+=l,c={axis:"width",from:"left",to:"right",offset:R}}else if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("right")>=0){let R=a.point({x:l,y:0});e.width+=l,c={axis:"width",from:"right",to:"left",offset:R}}if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("top")>=0){let R=a.point({x:0,y:-l});e.x+=R.x,e.y+=R.y,e.height+=l,f={axis:"height",from:"top",to:"bottom",offset:R}}else if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("bottom")>=0){let R=a.point({x:0,y:l});e.height+=l,f={axis:"height",from:"bottom",to:"top",offset:R}}if(this.boundBoxFunc()){let R=this.boundBoxFunc()(i,e);if(R)e=R;else Ee.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}for(let R of[c,f])if(R&&e[R.axis]<0&&this._movingAnchorName)this._movingAnchorName=this._movingAnchorName.replace(R.from,R.to),this._anchorDragOffset.x-=R.offset.x,this._anchorDragOffset.y-=R.offset.y;let d=1e7,g=new ki;g.translate(i.x,i.y),g.rotate(i.rotation),g.scale(i.width/d,i.height/d);let b=new ki,y=e.width/d,v=e.height/d;if(this.flipEnabled()===!1)b.translate(e.x,e.y),b.rotate(e.rotation),b.translate(e.width<0?e.width:0,e.height<0?e.height:0),b.scale(Math.abs(y),Math.abs(v));else b.translate(e.x,e.y),b.rotate(e.rotation),b.scale(y,v);let x=b.multiply(g.invert()),T=new Set;this._nodes.forEach((R)=>{if(!R.getStage())return;let N=R.getParent().getAbsoluteTransform(),U=R.getTransform().copy();U.translate(R.offsetX(),R.offsetY());let X=new ki;X.multiply(N.copy().invert()).multiply(x).multiply(N).multiply(U);let Y=X.decompose();R.setAttrs(Y);let J=R.getLayer();if(J)T.add(J)}),this.rotation(Ee._getRotation(e.rotation)),this._nodes.forEach((R)=>{this._fire("transform",{evt:n,target:R}),R._fire("transform",{evt:n,target:R})}),this._resetTransformCache(),this.update(),T.add(this.getLayer()),T.forEach((R)=>R&&R.batchDraw())}_scheduleUpdate(){if(this._updateScheduled)return;this._updateScheduled=!0,Ye._runAfterAbsTransformCascade(()=>{var e;if(this._updateScheduled=!1,!((e=this._nodes)===null||e===void 0?void 0:e.length)||this._transforming||this.isDragging())return;this.update()})}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(e,n){this.findOne(e).setAttrs(n)}update(){var e;let n=this._getNodeRect();this.rotation(Ee._getRotation(n.rotation));let{width:s,height:i}=n,r=this.enabledAnchors(),a=this.resizeEnabled(),l=this.padding(),c=this.anchorSize(),f=this.find("._anchor");f.forEach((J)=>{J.setAttrs({width:c,height:c,offsetX:c/2,offsetY:c/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:c/2+l,offsetY:c/2+l,visible:a&&r.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:s/2,y:0,offsetY:c/2+l,visible:a&&r.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:s,y:0,offsetX:c/2-l,offsetY:c/2+l,visible:a&&r.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:c/2+l,visible:a&&r.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:s,y:i/2,offsetX:c/2-l,visible:a&&r.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:c/2+l,offsetY:c/2-l,visible:a&&r.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:s/2,y:i,offsetY:c/2-l,visible:a&&r.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:s,y:i,offsetX:c/2-l,offsetY:c/2-l,visible:a&&r.indexOf("bottom-right")>=0});let d=this.rotateAnchorAngle(),g=this.rotateAnchorOffset(),b=Ee.degToRad(d),y=Math.sin(b),v=-Math.cos(b),x=s/2,T=i/2,R=1/0;if(v<0)R=Math.min(R,-T/v);else if(v>0)R=Math.min(R,(i-T)/v);if(y<0)R=Math.min(R,-x/y);else if(y>0)R=Math.min(R,(s-x)/y);let N=x+y*R,U=T+v*R,X=Ee._sign(i);this._batchChangeChild(".rotater",{x:N+y*g*X,y:U+v*g*X-l*v,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:s,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),draggable:this.nodes().some((J)=>J.draggable()),x:0,y:0});let Y=this.anchorStyleFunc();if(Y)f.forEach((J)=>{Y(J)});(e=this.getLayer())===null||e===void 0||e.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();let e=this.findOne("."+this._movingAnchorName);if(e)e.stopDrag()}}destroy(){if(this.getStage()&&this._cursorChange)this.getStage().content&&(this.getStage().content.style.cursor="");return Ba.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}add(...e){if(this._elementsCreated)return Ee.error("You cannot add external nodes to the Transformer. Use tr.nodes([node]) instead."),this;return super.add(...e)}toObject(){return Ye.prototype.toObject.call(this)}clone(e){return Ye.prototype.clone.call(this,e)}getClientRect(){if(this.nodes().length>0)return super.getClientRect();else return{x:0,y:0,width:0,height:0}}}bn.isTransforming=()=>Ib>0;function ZR(e){if(!(e instanceof Array))Ee.warn("enabledAnchors value should be an array");if(e instanceof Array)e.forEach(function(n){if(G0.indexOf(n)===-1)Ee.warn("Unknown anchor name: "+n+". Available names are: "+G0.join(", "))});return e||[]}bn.prototype.className="Transformer";tn(bn);pe.addGetterSetter(bn,"enabledAnchors",G0,ZR);pe.addGetterSetter(bn,"flipEnabled",!0,xi());pe.addGetterSetter(bn,"resizeEnabled",!0);pe.addGetterSetter(bn,"anchorSize",10,Ke());pe.addGetterSetter(bn,"rotateEnabled",!0);pe.addGetterSetter(bn,"rotateLineVisible",!0);pe.addGetterSetter(bn,"rotationSnaps",[]);pe.addGetterSetter(bn,"rotateAnchorOffset",50,Ke());pe.addGetterSetter(bn,"rotateAnchorAngle",0,Ke());pe.addGetterSetter(bn,"rotateAnchorCursor","crosshair");pe.addGetterSetter(bn,"rotationSnapTolerance",5,Ke());pe.addGetterSetter(bn,"borderEnabled",!0);pe.addGetterSetter(bn,"anchorStroke","rgb(0, 161, 255)");pe.addGetterSetter(bn,"anchorStrokeWidth",1,Ke());pe.addGetterSetter(bn,"anchorFill","white");pe.addGetterSetter(bn,"anchorCornerRadius",0,Ke());pe.addGetterSetter(bn,"borderStroke","rgb(0, 161, 255)");pe.addGetterSetter(bn,"borderStrokeWidth",1,Ke());pe.addGetterSetter(bn,"borderDash");pe.addGetterSetter(bn,"keepRatio",!0);pe.addGetterSetter(bn,"shiftBehavior","default");pe.addGetterSetter(bn,"centeredScaling",!1);pe.addGetterSetter(bn,"ignoreStroke",!1);pe.addGetterSetter(bn,"padding",0,Ke());pe.addGetterSetter(bn,"nodes");pe.addGetterSetter(bn,"node");pe.addGetterSetter(bn,"boundBoxFunc");pe.addGetterSetter(bn,"anchorDragBoundFunc");pe.addGetterSetter(bn,"anchorStyleFunc");pe.addGetterSetter(bn,"shouldOverdrawWholeArea",!1);pe.addGetterSetter(bn,"useSingleNodeRotation",!0);pe.backCompat(bn,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class ha extends Qe{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.radius(),0,nt.getAngle(this.angle()),this.clockwise()),e.lineTo(0,0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}}ha.prototype.className="Wedge";ha.prototype._centroid=!0;ha.prototype._attrsAffectingSize=["radius"];tn(ha);pe.addGetterSetter(ha,"radius",0,Ke());pe.addGetterSetter(ha,"angle",0,Ke());pe.addGetterSetter(ha,"clockwise",!1);pe.backCompat(ha,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function K4(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var eD=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],tD=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function nD(e,n){let{data:s,width:i,height:r}=e,a,l,c,f,d,g,b,y,v,x,T,R,N,U,X,Y,J,ee,te,ne,ie=n+n+1,se=i-1,ae=r-1,be=n+1,ye=be*(be+1)/2,ue=new K4,he=eD[n],oe=tD[n],Se=null,we=ue,qe=null,De=null;for(let Fe=1;Fe<ie;Fe++)if(we=we.next=new K4,Fe===be)Se=we;we.next=ue,c=l=0;for(let Fe=0;Fe<r;Fe++){R=N=U=X=f=d=g=b=0,y=be*(Y=s[l]),v=be*(J=s[l+1]),x=be*(ee=s[l+2]),T=be*(te=s[l+3]),f+=ye*Y,d+=ye*J,g+=ye*ee,b+=ye*te,we=ue;for(let Be=0;Be<be;Be++)we.r=Y,we.g=J,we.b=ee,we.a=te,we=we.next;for(let Be=1;Be<be;Be++)a=l+((se<Be?se:Be)<<2),f+=(we.r=Y=s[a])*(ne=be-Be),d+=(we.g=J=s[a+1])*ne,g+=(we.b=ee=s[a+2])*ne,b+=(we.a=te=s[a+3])*ne,R+=Y,N+=J,U+=ee,X+=te,we=we.next;qe=ue,De=Se;for(let Be=0;Be<i;Be++){if(s[l+3]=te=b*he>>oe,te!==0)te=255/te,s[l]=(f*he>>oe)*te,s[l+1]=(d*he>>oe)*te,s[l+2]=(g*he>>oe)*te;else s[l]=s[l+1]=s[l+2]=0;f-=y,d-=v,g-=x,b-=T,y-=qe.r,v-=qe.g,x-=qe.b,T-=qe.a,a=c+((a=Be+n+1)<se?a:se)<<2,R+=qe.r=s[a],N+=qe.g=s[a+1],U+=qe.b=s[a+2],X+=qe.a=s[a+3],f+=R,d+=N,g+=U,b+=X,qe=qe.next,y+=Y=De.r,v+=J=De.g,x+=ee=De.b,T+=te=De.a,R-=Y,N-=J,U-=ee,X-=te,De=De.next,l+=4}c+=i}for(let Fe=0;Fe<i;Fe++){N=U=X=R=d=g=b=f=0,l=Fe<<2,y=be*(Y=s[l]),v=be*(J=s[l+1]),x=be*(ee=s[l+2]),T=be*(te=s[l+3]),f+=ye*Y,d+=ye*J,g+=ye*ee,b+=ye*te,we=ue;for(let We=0;We<be;We++)we.r=Y,we.g=J,we.b=ee,we.a=te,we=we.next;let Be=i;for(let We=1;We<=n;We++)if(l=Be+Fe<<2,f+=(we.r=Y=s[l])*(ne=be-We),d+=(we.g=J=s[l+1])*ne,g+=(we.b=ee=s[l+2])*ne,b+=(we.a=te=s[l+3])*ne,R+=Y,N+=J,U+=ee,X+=te,we=we.next,We<ae)Be+=i;l=Fe,qe=ue,De=Se;for(let We=0;We<r;We++){if(a=l<<2,s[a+3]=te=b*he>>oe,te>0)te=255/te,s[a]=(f*he>>oe)*te,s[a+1]=(d*he>>oe)*te,s[a+2]=(g*he>>oe)*te;else s[a]=s[a+1]=s[a+2]=0;f-=y,d-=v,g-=x,b-=T,y-=qe.r,v-=qe.g,x-=qe.b,T-=qe.a,a=Fe+((a=We+be)<ae?a:ae)*i<<2,f+=R+=qe.r=s[a],d+=N+=qe.g=s[a+1],g+=U+=qe.b=s[a+2],b+=X+=qe.a=s[a+3],qe=qe.next,y+=Y=De.r,v+=J=De.g,x+=ee=De.b,T+=te=De.a,R-=Y,N-=J,U-=ee,X-=te,De=De.next,l+=i}}}var Y4=function(n){let s=Math.round(this.blurRadius());if(s>0)nD(n,s)};pe.addGetterSetter(Ye,"blurRadius",0,Ke(),pe.afterSetFilter);var Q4=function(e){let n=this.brightness()*255,s=e.data,i=s.length;for(let r=0;r<i;r+=4)s[r]+=n,s[r+1]+=n,s[r+2]+=n};pe.addGetterSetter(Ye,"brightness",0,Ke(),pe.afterSetFilter);var J4=function(e){let n=this.brightness(),s=e.data,i=s.length;for(let r=0;r<i;r+=4)s[r]=Math.min(255,s[r]*n),s[r+1]=Math.min(255,s[r+1]*n),s[r+2]=Math.min(255,s[r+2]*n)};var Z4=function(e){let n=Math.pow((this.contrast()+100)/100,2),s=e.data,i=s.length,r=150,a=150,l=150;for(let c=0;c<i;c+=4)r=s[c],a=s[c+1],l=s[c+2],r/=255,r-=0.5,r*=n,r+=0.5,r*=255,a/=255,a-=0.5,a*=n,a+=0.5,a*=255,l/=255,l-=0.5,l*=n,l+=0.5,l*=255,r=r<0?0:r>255?255:r,a=a<0?0:a>255?255:a,l=l<0?0:l>255?255:l,s[c]=r,s[c+1]=a,s[c+2]=l};pe.addGetterSetter(Ye,"contrast",0,Ke(),pe.afterSetFilter);var e8=function(e){var n,s,i,r,a,l,c,f,d;let{data:g,width:b,height:y}=e,v=Math.min(1,Math.max(0,(s=(n=this.embossStrength)===null||n===void 0?void 0:n.call(this))!==null&&s!==void 0?s:0.5)),x=Math.min(1,Math.max(0,(r=(i=this.embossWhiteLevel)===null||i===void 0?void 0:i.call(this))!==null&&r!==void 0?r:0.5)),R=(c={"top-left":315,top:270,"top-right":225,right:180,"bottom-right":135,bottom:90,"bottom-left":45,left:0}[(l=(a=this.embossDirection)===null||a===void 0?void 0:a.call(this))!==null&&l!==void 0?l:"top-left"])!==null&&c!==void 0?c:315,N=!!((d=(f=this.embossBlend)===null||f===void 0?void 0:f.call(this))!==null&&d!==void 0?d:!1),U=v*10,X=x*255,Y=R*Math.PI/180,J=Math.cos(Y),ee=Math.sin(Y),te=0.12549019607843137*U,ne=new Uint8ClampedArray(g),ie=new Float32Array(b*y);for(let ue=0,he=0;he<g.length;he+=4,ue++)ie[ue]=0.2126*ne[he]+0.7152*ne[he+1]+0.0722*ne[he+2];let se=[-1,0,1,-2,0,2,-1,0,1],ae=[-1,-2,-1,0,0,0,1,2,1],be=[-b-1,-b,-b+1,-1,0,1,b-1,b,b+1],ye=(ue)=>ue<0?0:ue>255?255:ue;for(let ue=1;ue<y-1;ue++)for(let he=1;he<b-1;he++){let oe=ue*b+he,Se=0,we=0;Se+=ie[oe+be[0]]*se[0],we+=ie[oe+be[0]]*ae[0],Se+=ie[oe+be[1]]*se[1],we+=ie[oe+be[1]]*ae[1],Se+=ie[oe+be[2]]*se[2],we+=ie[oe+be[2]]*ae[2],Se+=ie[oe+be[3]]*se[3],we+=ie[oe+be[3]]*ae[3],Se+=ie[oe+be[5]]*se[5],we+=ie[oe+be[5]]*ae[5],Se+=ie[oe+be[6]]*se[6],we+=ie[oe+be[6]]*ae[6],Se+=ie[oe+be[7]]*se[7],we+=ie[oe+be[7]]*ae[7],Se+=ie[oe+be[8]]*se[8],we+=ie[oe+be[8]]*ae[8];let qe=J*Se+ee*we,De=ye(X+qe*te),Fe=oe*4;if(N){let Be=De-X;g[Fe]=ye(ne[Fe]+Be),g[Fe+1]=ye(ne[Fe+1]+Be),g[Fe+2]=ye(ne[Fe+2]+Be),g[Fe+3]=ne[Fe+3]}else g[Fe]=g[Fe+1]=g[Fe+2]=De,g[Fe+3]=ne[Fe+3]}for(let ue=0;ue<b;ue++){let he=ue*4,oe=((y-1)*b+ue)*4;g[he]=ne[he],g[he+1]=ne[he+1],g[he+2]=ne[he+2],g[he+3]=ne[he+3],g[oe]=ne[oe],g[oe+1]=ne[oe+1],g[oe+2]=ne[oe+2],g[oe+3]=ne[oe+3]}for(let ue=1;ue<y-1;ue++){let he=ue*b*4,oe=(ue*b+(b-1))*4;g[he]=ne[he],g[he+1]=ne[he+1],g[he+2]=ne[he+2],g[he+3]=ne[he+3],g[oe]=ne[oe],g[oe+1]=ne[oe+1],g[oe+2]=ne[oe+2],g[oe+3]=ne[oe+3]}return e};pe.addGetterSetter(Ye,"embossStrength",0.5,Ke(),pe.afterSetFilter);pe.addGetterSetter(Ye,"embossWhiteLevel",0.5,Ke(),pe.afterSetFilter);pe.addGetterSetter(Ye,"embossDirection","top-left",void 0,pe.afterSetFilter);pe.addGetterSetter(Ye,"embossBlend",!1,void 0,pe.afterSetFilter);function Rb(e,n,s,i,r){let a=s-n,l=r-i;if(a===0)return i+l/2;if(l===0)return i;let c=(e-n)/a;return c=l*c+i,c}var t8=function(e){let n=e.data,s=n.length,i=n[0],r=i,a,l=n[1],c=l,f,d=n[2],g=d,b,y=this.enhance();if(y===0)return;for(let X=0;X<s;X+=4){if(a=n[X+0],a<i)i=a;else if(a>r)r=a;if(f=n[X+1],f<l)l=f;else if(f>c)c=f;if(b=n[X+2],b<d)d=b;else if(b>g)g=b}if(r===i)r=255,i=0;if(c===l)c=255,l=0;if(g===d)g=255,d=0;let v,x,T,R,N,U;if(y>0)v=r+y*(255-r),x=i-y*(i-0),T=c+y*(255-c),R=l-y*(l-0),N=g+y*(255-g),U=d-y*(d-0);else{let X=(r+i)*0.5;v=r+y*(r-X),x=i+y*(i-X);let Y=(c+l)*0.5;T=c+y*(c-Y),R=l+y*(l-Y);let J=(g+d)*0.5;N=g+y*(g-J),U=d+y*(d-J)}for(let X=0;X<s;X+=4)n[X+0]=Rb(n[X+0],i,r,x,v),n[X+1]=Rb(n[X+1],l,c,R,T),n[X+2]=Rb(n[X+2],d,g,U,N)};pe.addGetterSetter(Ye,"enhance",0,Ke(),pe.afterSetFilter);var n8=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4){let r=0.34*n[i]+0.5*n[i+1]+0.16*n[i+2];n[i]=r,n[i+1]=r,n[i+2]=r}};pe.addGetterSetter(Ye,"hue",0,Ke(),pe.afterSetFilter);pe.addGetterSetter(Ye,"saturation",0,Ke(),pe.afterSetFilter);pe.addGetterSetter(Ye,"luminance",0,Ke(),pe.afterSetFilter);var s8=function(e){let n=e.data,s=n.length,r=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,l=this.luminance()*127,c=1*r*Math.cos(a*Math.PI/180),f=1*r*Math.sin(a*Math.PI/180),d=0.299+0.701*c+0.167*f,g=0.587-0.587*c+0.33*f,b=0.114-0.114*c-0.497*f,y=0.299-0.299*c-0.328*f,v=0.587+0.413*c+0.035*f,x=0.114-0.114*c+0.293*f,T=0.299-0.3*c+1.25*f,R=0.587-0.586*c-1.05*f,N=0.114+0.886*c-0.2*f,U,X,Y,J;for(let ee=0;ee<s;ee+=4)U=n[ee+0],X=n[ee+1],Y=n[ee+2],J=n[ee+3],n[ee+0]=d*U+g*X+b*Y+l,n[ee+1]=y*U+v*X+x*Y+l,n[ee+2]=T*U+R*X+N*Y+l,n[ee+3]=J};var i8=function(e){let n=e.data,s=n.length,i=Math.pow(2,this.value()),r=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,l=i*r*Math.cos(a*Math.PI/180),c=i*r*Math.sin(a*Math.PI/180),f=0.299*i+0.701*l+0.167*c,d=0.587*i-0.587*l+0.33*c,g=0.114*i-0.114*l-0.497*c,b=0.299*i-0.299*l-0.328*c,y=0.587*i+0.413*l+0.035*c,v=0.114*i-0.114*l+0.293*c,x=0.299*i-0.3*l+1.25*c,T=0.587*i-0.586*l-1.05*c,R=0.114*i+0.886*l-0.2*c;for(let N=0;N<s;N+=4){let U=n[N+0],X=n[N+1],Y=n[N+2],J=n[N+3];n[N+0]=f*U+d*X+g*Y,n[N+1]=b*U+y*X+v*Y,n[N+2]=x*U+T*X+R*Y,n[N+3]=J}};pe.addGetterSetter(Ye,"hue",0,Ke(),pe.afterSetFilter);pe.addGetterSetter(Ye,"saturation",0,Ke(),pe.afterSetFilter);pe.addGetterSetter(Ye,"value",0,Ke(),pe.afterSetFilter);var r8=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4)n[i]=255-n[i],n[i+1]=255-n[i+1],n[i+2]=255-n[i+2]};var sD=function(e,n,s){let i=e.data,r=n.data,{width:a,height:l}=e,c=s.polarCenterX||a/2,f=s.polarCenterY||l/2,d=Math.sqrt(c*c+f*f),g=a-c,b=l-f,y=Math.sqrt(g*g+b*b);d=y>d?y:d;let v=l,x=a,T=360/x*Math.PI/180;for(let R=0;R<x;R+=1){let N=Math.sin(R*T),U=Math.cos(R*T);for(let X=0;X<v;X+=1){g=Math.floor(c+d*X/v*U),b=Math.floor(f+d*X/v*N);let Y=(b*a+g)*4,J=i[Y+0],ee=i[Y+1],te=i[Y+2],ne=i[Y+3];Y=(R+X*a)*4,r[Y+0]=J,r[Y+1]=ee,r[Y+2]=te,r[Y+3]=ne}}},iD=function(e,n,s){let i=e.data,r=n.data,{width:a,height:l}=e,c=s.polarCenterX||a/2,f=s.polarCenterY||l/2,d=Math.sqrt(c*c+f*f),g=a-c,b=l-f,y=Math.sqrt(g*g+b*b);d=y>d?y:d;let v=l,x=a,T=s.polarRotation||0,R,N;for(g=0;g<a;g+=1)for(b=0;b<l;b+=1){let U=g-c,X=b-f,Y=Math.sqrt(U*U+X*X)*v/d,J=(Math.atan2(X,U)*180/Math.PI+360+T)%360;J=J*x/360,R=Math.floor(J),N=Math.floor(Y);let ee=(N*a+R)*4,te=i[ee+0],ne=i[ee+1],ie=i[ee+2],se=i[ee+3];ee=(b*a+g)*4,r[ee+0]=te,r[ee+1]=ne,r[ee+2]=ie,r[ee+3]=se}},a8=function(e){let{width:n,height:s}=e,i,r,a,l,c,f,d,g,b,y,v=Math.round(this.kaleidoscopePower()),x=Math.round(this.kaleidoscopeAngle()),T=Math.floor(n*(x%360)/360);if(v<1)return;let R=Ee.createCanvasElement();R.width=n,R.height=s;let N=R.getContext("2d").getImageData(0,0,n,s);Ee.releaseCanvas(R),sD(e,N,{polarCenterX:n/2,polarCenterY:s/2});let U=n/Math.pow(2,v);while(U<=8)U=U*2,v-=1;U=Math.ceil(U);let X=U,Y=0,J=X,ee=1;if(T+U>n)Y=X,J=0,ee=-1;for(r=0;r<s;r+=1)for(i=Y;i!==J;i+=ee)a=Math.round(i+T)%n,b=(n*r+a)*4,c=N.data[b+0],f=N.data[b+1],d=N.data[b+2],g=N.data[b+3],y=(n*r+i)*4,N.data[y+0]=c,N.data[y+1]=f,N.data[y+2]=d,N.data[y+3]=g;for(r=0;r<s;r+=1){X=Math.floor(U);for(l=0;l<v;l+=1){for(i=0;i<X+1;i+=1)b=(n*r+i)*4,c=N.data[b+0],f=N.data[b+1],d=N.data[b+2],g=N.data[b+3],y=(n*r+X*2-i-1)*4,N.data[y+0]=c,N.data[y+1]=f,N.data[y+2]=d,N.data[y+3]=g;X*=2}}iD(N,e,{polarRotation:0})};pe.addGetterSetter(Ye,"kaleidoscopePower",2,Ke(),pe.afterSetFilter);pe.addGetterSetter(Ye,"kaleidoscopeAngle",0,Ke(),pe.afterSetFilter);function V0(e,n,s){let i=(s*e.width+n)*4,r=[];return r.push(e.data[i++],e.data[i++],e.data[i++],e.data[i++]),r}function Kh(e,n){return Math.sqrt(Math.pow(e[0]-n[0],2)+Math.pow(e[1]-n[1],2)+Math.pow(e[2]-n[2],2))}function rD(e){let n=[0,0,0];for(let s=0;s<e.length;s++)n[0]+=e[s][0],n[1]+=e[s][1],n[2]+=e[s][2];return n[0]/=e.length,n[1]/=e.length,n[2]/=e.length,n}function aD(e,n){let s=V0(e,0,0),i=V0(e,e.width-1,0),r=V0(e,0,e.height-1),a=V0(e,e.width-1,e.height-1),l=n||10;if(Kh(s,i)<l&&Kh(i,a)<l&&Kh(a,r)<l&&Kh(r,s)<l){let c=rD([i,s,a,r]),f=[];for(let d=0;d<e.width*e.height;d++){let g=Kh(c,[e.data[d*4],e.data[d*4+1],e.data[d*4+2]]);f[d]=g<l?0:255}return f}}function oD(e,n){for(let s=0;s<e.width*e.height;s++)e.data[4*s+3]=n[s]}function lD(e,n,s){let i=[1,1,1,1,0,1,1,1,1],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let d=c*n+f,g=0;for(let b=0;b<r;b++)for(let y=0;y<r;y++){let v=c+b-a,x=f+y-a;if(v>=0&&v<s&&x>=0&&x<n){let T=v*n+x,R=i[b*r+y];g+=e[T]*R}}l[d]=g===2040?255:0}return l}function cD(e,n,s){let i=[1,1,1,1,1,1,1,1,1],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let d=c*n+f,g=0;for(let b=0;b<r;b++)for(let y=0;y<r;y++){let v=c+b-a,x=f+y-a;if(v>=0&&v<s&&x>=0&&x<n){let T=v*n+x,R=i[b*r+y];g+=e[T]*R}}l[d]=g>=1020?255:0}return l}function fD(e,n,s){let i=[0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let d=c*n+f,g=0;for(let b=0;b<r;b++)for(let y=0;y<r;y++){let v=c+b-a,x=f+y-a;if(v>=0&&v<s&&x>=0&&x<n){let T=v*n+x,R=i[b*r+y];g+=e[T]*R}}l[d]=g}return l}var o8=function(e){let n=this.threshold(),s=aD(e,n);if(s)s=lD(s,e.width,e.height),s=cD(s,e.width,e.height),s=fD(s,e.width,e.height),oD(e,s);return e};pe.addGetterSetter(Ye,"threshold",0,Ke(),pe.afterSetFilter);var l8=function(e){let n=this.noise()*255,s=e.data,i=s.length,r=n/2;for(let a=0;a<i;a+=4)s[a+0]+=r-2*r*Math.random(),s[a+1]+=r-2*r*Math.random(),s[a+2]+=r-2*r*Math.random()};pe.addGetterSetter(Ye,"noise",0.2,Ke(),pe.afterSetFilter);var c8=function(e){let n=Math.ceil(this.pixelSize()),{width:s,height:i}=e,r=Math.ceil(s/n),a=Math.ceil(i/n),l=e.data;if(n<=0){Ee.error("pixelSize value can not be <= 0");return}for(let c=0;c<r;c+=1)for(let f=0;f<a;f+=1){let d=0,g=0,b=0,y=0,v=c*n,x=v+n,T=f*n,R=T+n,N=0;for(let U=v;U<x;U+=1){if(U>=s)continue;for(let X=T;X<R;X+=1){if(X>=i)continue;let Y=(s*X+U)*4;d+=l[Y+0],g+=l[Y+1],b+=l[Y+2],y+=l[Y+3],N+=1}}d=d/N,g=g/N,b=b/N,y=y/N;for(let U=v;U<x;U+=1){if(U>=s)continue;for(let X=T;X<R;X+=1){if(X>=i)continue;let Y=(s*X+U)*4;l[Y+0]=d,l[Y+1]=g,l[Y+2]=b,l[Y+3]=y}}}};pe.addGetterSetter(Ye,"pixelSize",8,Ke(),pe.afterSetFilter);var f8=function(e){let n=Math.round(this.levels()*254)+1,s=e.data,i=s.length,r=255/n;for(let a=0;a<i;a+=1)s[a]=Math.floor(s[a]/r)*r};pe.addGetterSetter(Ye,"levels",0.5,Ke(),pe.afterSetFilter);var h8=function(e){let n=e.data,s=n.length,i=this.red(),r=this.green(),a=this.blue();for(let l=0;l<s;l+=4){let c=(0.34*n[l]+0.5*n[l+1]+0.16*n[l+2])/255;n[l]=c*i,n[l+1]=c*r,n[l+2]=c*a,n[l+3]=n[l+3]}};pe.addGetterSetter(Ye,"red",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});pe.addGetterSetter(Ye,"green",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});pe.addGetterSetter(Ye,"blue",0,_0,pe.afterSetFilter);var u8=function(e){let n=e.data,s=n.length,i=this.red(),r=this.green(),a=this.blue(),l=this.alpha();for(let c=0;c<s;c+=4){let f=1-l;n[c]=i*l+n[c]*f,n[c+1]=r*l+n[c+1]*f,n[c+2]=a*l+n[c+2]*f}};pe.addGetterSetter(Ye,"red",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});pe.addGetterSetter(Ye,"green",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});pe.addGetterSetter(Ye,"blue",0,_0,pe.afterSetFilter);pe.addGetterSetter(Ye,"alpha",1,function(e){if(this._filterUpToDate=!1,e>1)return 1;else if(e<0)return 0;else return e});var d8=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4){let r=n[i+0],a=n[i+1],l=n[i+2];n[i+0]=Math.min(255,r*0.393+a*0.769+l*0.189),n[i+1]=Math.min(255,r*0.349+a*0.686+l*0.168),n[i+2]=Math.min(255,r*0.272+a*0.534+l*0.131)}};var m8=function(e){let s=e.data;for(let i=0;i<s.length;i+=4){let r=s[i],a=s[i+1],l=s[i+2];if(0.2126*r+0.7152*a+0.0722*l>=128)s[i]=255-r,s[i+1]=255-a,s[i+2]=255-l}return e};var p8=function(e){let n=this.threshold()*255,s=e.data,i=s.length;for(let r=0;r<i;r+=1)s[r]=s[r]<n?0:255};pe.addGetterSetter(Ye,"threshold",0.5,Ke(),pe.afterSetFilter);var hD=df.Util._assign(df,{Arc:ca,Arrow:Ao,Circle:ml,Ellipse:Ua,Image:Qi,Label:$h,Tag:Eo,Line:Or,Path:ss,Rect:pl,RegularPolygon:za,Ring:Co,Sprite:Br,Star:Ga,Text:$n,TextPath:zs,Transformer:bn,Wedge:ha,Filters:{Blur:Y4,Brightness:J4,Brighten:Q4,Contrast:Z4,Emboss:e8,Enhance:t8,Grayscale:n8,HSL:s8,HSV:i8,Invert:r8,Kaleidoscope:a8,Mask:o8,Noise:l8,Pixelate:c8,Posterize:f8,RGB:h8,RGBA:u8,Sepia:d8,Solarize:m8,Threshold:p8}});S();var gf=df;var j8=H(g8());var Db=1;var $0=32,qb=2;S();var Fb={};je(Fb,{HostTransitionContext:()=>Tq,NotPendingTransition:()=>Aq,afterActiveInstanceBlur:()=>oq,appendChild:()=>VD,appendChildToContainer:()=>$D,appendInitialChild:()=>SD,beforeActiveInstanceBlur:()=>aq,cancelTimeout:()=>FD,clearContainer:()=>sq,commitMount:()=>QD,commitTextUpdate:()=>YD,commitUpdate:()=>JD,createInstance:()=>kD,createTextInstance:()=>xD,detachDeletedInstance:()=>iq,finalizeInitialChildren:()=>AD,getChildHostContext:()=>qD,getCurrentEventPriority:()=>lq,getCurrentUpdatePriority:()=>uq,getInstanceFromNode:()=>rq,getInstanceFromScope:()=>fq,getPublicInstance:()=>TD,getRootHostContext:()=>DD,hideInstance:()=>ZD,hideTextInstance:()=>eq,idlePriority:()=>Xi,insertBefore:()=>A8,insertInContainerBefore:()=>XD,isPrimaryRenderer:()=>BD,maySuspendCommit:()=>yq,noTimeout:()=>PD,now:()=>eo,preloadInstance:()=>vq,prepareForCommit:()=>ED,preparePortalMount:()=>CD,prepareScopeUpdate:()=>cq,prepareUpdate:()=>jD,removeChild:()=>WD,removeChildFromContainer:()=>KD,requestPostPaintCallback:()=>wq,resetAfterCommit:()=>_D,resetFormInstance:()=>Eq,resetTextContent:()=>ID,resolveEventTimeStamp:()=>bq,resolveEventType:()=>gq,resolveUpdatePriority:()=>dq,run:()=>Yu,scheduleMicrotask:()=>OD,scheduleTimeout:()=>MD,setCurrentUpdatePriority:()=>hq,shouldAttemptEagerTransition:()=>mq,shouldDeprioritizeSubtree:()=>RD,shouldSetTextContent:()=>ND,startSuspendingCommit:()=>Sq,supportsHydration:()=>GD,supportsMicrotasks:()=>LD,supportsMutation:()=>UD,supportsPersistence:()=>zD,suspendInstance:()=>kq,trackSchedulerEvent:()=>pq,unhideInstance:()=>tq,unhideTextInstance:()=>nq,waitForCommitToBeReady:()=>xq,warnsIfNotActing:()=>HD});var b8={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0},w8=!1,y8=!1,bf=".react-konva-event",pD=!1;var gD=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled.
68
- Position of a node will be changed during drag&drop, so you should update state of the react app as well.
69
- Consider to add onDragMove or onDragEnd events.
70
- For more info see: https://github.com/konvajs/react-konva/issues/256
71
- `,bD=`ReactKonva: You are using "zIndex" attribute for a Konva node.
72
- react-konva may get confused with ordering. Just define correct order of elements in your render function of a component.
73
- For more info see: https://github.com/konvajs/react-konva/issues/194
74
- `,wD={},v8=()=>{};function S8(e){v8=e}var Mb=!1;function yD(e){return function(...n){let s=e.apply(this,n);if(!Mb){Mb=!0;try{v8()}finally{Mb=!1}}return s}}function wf(e,n,s=wD){if(!w8&&"zIndex"in n)console.warn(bD),w8=!0;if(!y8&&n.draggable){var i=n.x!==void 0||n.y!==void 0,r=n.onDragEnd||n.onDragMove;if(i&&!r)console.warn(gD),y8=!0}for(var a in s){if(b8[a])continue;var l=a.slice(0,2)==="on",c=s[a]!==n[a];if(l&&c){var f=a.substr(2).toLowerCase();if(f.substr(0,7)==="content")f="content"+f.substr(7,1).toUpperCase()+f.substr(8);e.off(f+bf)}var d=!n.hasOwnProperty(a);if(d)e.setAttr(a,void 0)}var g=pD||n._useStrictMode,b={},y=!1;let v={};for(var a in n){if(b8[a])continue;var l=a.slice(0,2)==="on",x=s[a]!==n[a];if(l&&x){var f=a.substr(2).toLowerCase();if(f.substr(0,7)==="content")f="content"+f.substr(7,1).toUpperCase()+f.substr(8);if(n[a])v[f]=n[a]}if(!l&&(n[a]!==s[a]||g&&n[a]!==e.getAttr(a)))y=!0,b[a]=n[a]}if(y)e.setAttrs(b),_o(e);for(var f in v)e.off(f+bf),e.on(f+bf,yD(v[f]))}function _o(e){if(!nt.autoDrawEnabled){var n=e.getLayer()||e.getStage();n&&n.batchDraw()}}Ju();var k8={},vD={};gf.Node.prototype._applyProps=wf;var x8=$0;function SD(e,n){if(typeof n==="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${n}`);return}e.add(n),_o(e)}function kD(e,n,s){let i=gf[e];if(!i)console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),i=gf.Group;let r={},a={};for(var l in n){if(l==="ref")continue;var c=l.slice(0,2)==="on";if(c)a[l]=n[l];else r[l]=n[l]}let f=new i(r);return wf(f,a),f}function xD(e,n,s){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function AD(e,n,s){return!1}function TD(e){return e}function ED(){return null}function CD(){return null}function jD(e,n,s,i){return vD}function _D(){}function ID(e){}function RD(e,n){return!1}function DD(){return k8}function qD(){return k8}var MD=setTimeout,FD=clearTimeout,LD=!0,OD=typeof queueMicrotask==="function"?queueMicrotask:(e)=>Promise.resolve(null).then(e),PD=-1;function ND(e,n){return!1}var BD=!1,HD=!1,UD=!0,zD=!1,GD=!1;function VD(e,n){if(n.parent===e)n.moveToTop();else e.add(n);_o(e)}function $D(e,n){if(n.parent===e)n.moveToTop();else e.add(n);_o(e)}function A8(e,n,s){n._remove(),e.add(n),n.setZIndex(s.getZIndex()),_o(e)}function XD(e,n,s){A8(e,n,s)}function WD(e,n){n.destroy(),n.off(bf),_o(e)}function KD(e,n){n.destroy(),n.off(bf),_o(e)}function YD(e,n,s){console.error(`Text components are not yet supported in ReactKonva. You text is: "${s}"`)}function QD(e,n,s){}function JD(e,n,s,i){wf(e,i,s)}function ZD(e){e.hide(),_o(e)}function eq(e){}function tq(e,n){if(n.visible==null||n.visible)e.show()}function nq(e,n){}function sq(e){}function iq(){}function rq(){return null}function aq(){}function oq(){}function lq(){return $0}function cq(){}function fq(){return null}function hq(e){x8=e}function uq(){return x8}function dq(){return qb}function mq(){return!1}function pq(){}function gq(){return null}function bq(){return-1.1}function wq(){}function yq(){return!1}function vq(){return!0}function Sq(){}function kq(){}function xq(){return null}var Aq=null,Tq=lt(null);function Eq(){}S();function T8(e,n,s){if(!e)return;if(s(e)===!0)return e;let i=n?e.return:e.child;for(;i;){let r=T8(i,n,s);if(r)return r;i=n?null:i.sibling}}function E8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch(n){return e}}var Lb=E8(lt(null));class X0 extends Ls{render(){return q(Lb.Provider,{value:this._reactInternals},this.props.children)}}function Cq(){let e=pt(Lb);if(e===null)throw Error("its-fine: useFiber must be called within a <FiberProvider />!");let n=qu();return D(()=>{for(let s of[e,e==null?void 0:e.alternate]){if(!s)continue;let i=T8(s,!1,(r)=>{let a=r.memoizedState;for(;a;){if(a.memoizedState===n)return!0;a=a.next}});if(i)return i}},[e,n])}var jq=Symbol.for("react.context"),_q=(e)=>e!==null&&typeof e=="object"&&("$$typeof"in e)&&e.$$typeof===jq;function Iq(){let e=Cq(),[n]=u(()=>new Map);n.clear();let s=e;for(;s;){let i=s.type;_q(i)&&i!==Lb&&!n.has(i)&&n.set(i,Ia(E8(i))),s=s.return}return n}function C8(){let e=Iq();return D(()=>Array.from(e.keys()).reduce((n,s)=>(i)=>q(n,null,q(s.Provider,{...i,value:e.get(s)})),(n)=>q(X0,{...n})),[e])}if(Zs.indexOf("19")===-1)throw Error("react-konva version 19 is only compatible with React 19. Make sure to have the last version of react-konva and react or downgrade react-konva to version 18.");function Rq(e){let n=_({});return $e(()=>{n.current=e}),$e(()=>()=>{n.current={}},[]),n.current}var Dq=()=>{let e=_(0);return D(()=>{e.current++},[]),e.current>1},qq=(e)=>{let n=_(null),s=_(null),i=_(null),r=Rq(e),a=C8(),l=_(null),c=(g)=>{let{forwardedRef:b}=e;if(!b)return;if(typeof b==="function")b(g);else b.current=g},f=Dq(),d=()=>{c(null),ic.flushSyncFromReconciler(()=>{ic.updateContainer(null,i.current,null)}),s.current?.destroy(),s.current=null};return $e(()=>{if(l.current)clearTimeout(l.current),l.current=null;if(s.current)c(s.current);else s.current=new gf.Stage({width:e.width,height:e.height,container:n.current}),c(s.current),i.current=ic.createContainer(s.current,Db,null,!1,null,"",console.error,console.error,console.error,null),ic.updateContainer(q(a,{},e.children),i.current,null,()=>{});return()=>{if(f)l.current=setTimeout(d,0);else d()}},[]),$e(()=>{c(s.current),wf(s.current,e,r),ic.updateContainer(q(a,{},e.children),i.current,null),ic.flushSyncWork()}),q("div",{ref:n,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},_8="Layer";var Ob="Group";var Pb="Rect";var Nb="Line";var I8="Image";var Bb="Arrow";var ic=j8.default(Fb);S8(()=>ic.flushSyncWork());var R8=F((e,n)=>q(X0,{},q(qq,{...e,forwardedRef:n})));var M8=H(q8(),1);var Mq=({width:e,height:n,mediaDimensions:s,imageUrl:i,canvasElement:r,annotations:a,scale:l,offset:c,onPan:f,onClick:d,className:g,isDrawing:b=!1,currentTool:y="arrow",currentColor:v="#ef4444",onAddAnnotation:x})=>{let[T]=M8.default(i||"","anonymous"),R=_(null),N=_(!1),U=_({x:0,y:0}),X=_(null),Y=_(null),J=_(null),ee=_(null);m(()=>{if(r&&R.current)R.current.getLayer()?.batchDraw()},[r]);let te=(be,ye=!1,ue)=>{let he=be.getAbsoluteTransform().copy();he.invert();let oe=ue||be.getStage()?.getPointerPosition();if(oe){let Se=he.point(oe);if(ye)return{x:Math.max(0,Math.min(s.width,Se.x)),y:Math.max(0,Math.min(s.height,Se.y))};return Se}return null},ne=_({isDrawing:b,currentTool:y,currentColor:v,onPan:f,offset:c,scale:l,mediaDimensions:s,onAddAnnotation:x});ne.current={isDrawing:b,currentTool:y,currentColor:v,onPan:f,offset:c,scale:l,mediaDimensions:s,onAddAnnotation:x};let ie=()=>{if(!N.current)return;N.current=!1;let{isDrawing:be,onAddAnnotation:ye,mediaDimensions:ue,currentTool:he,currentColor:oe}=ne.current;if(be&&ye){let{width:Se,height:we}=ue,qe=(De,Fe)=>De/Fe;if(he==="freehand"&&Y.current){Y.current.visible(!1);let De=Y.current.points(),Fe=[];for(let Be=0;Be<De.length;Be+=2)Fe.push([qe(De[Be],Se),qe(De[Be+1],we)]);if(Fe.length>1)ye({type:"freehand",color:oe,points:Fe})}else if(he==="line"&&Y.current){Y.current.visible(!1);let De=Y.current.points(),Fe={type:"line",color:oe,points:[[qe(De[0],Se),qe(De[1],we)],[qe(De[2],Se),qe(De[3],we)]]};ye(Fe)}else if(he==="box"&&J.current){J.current.visible(!1);let De=J.current.x(),Fe=J.current.y(),Be=J.current.width(),We=J.current.height(),st=[qe(De,Se),qe(Fe,we)],Je=[qe(De+Be,Se),qe(Fe+We,we)];ye({type:"box",color:oe,points:[st,Je]})}else if(he==="arrow"&&ee.current){ee.current.visible(!1);let De=ee.current.points(),Fe={type:"arrow",color:oe,points:[[qe(De[0],Se),qe(De[1],we)],[qe(De[2],Se),qe(De[3],we)]]};ye(Fe)}}};m(()=>{let be=(ue)=>{if(!N.current)return;let he=R.current?.getStage();if(!he)return;let Se=he.container().getBoundingClientRect(),we,qe;if("clientX"in ue)we=ue.clientX,qe=ue.clientY;else we=ue.touches[0].clientX,qe=ue.touches[0].clientY;let De={x:we-Se.left,y:qe-Se.top};if("touches"in ue&&ue.touches.length>1){U.current=De;return}let{isDrawing:Fe,currentTool:Be,onPan:We,offset:st}=ne.current;if(Fe){if(Be==="select")return;let Je=te(R.current,!0,De);if(!Je||!X.current)return;let vt=X.current,jt=R.current?.getLayer();if(Be==="freehand"&&Y.current){let ut=Y.current.points().concat([Je.x,Je.y]);Y.current.points(ut)}else if(Be==="line"&&Y.current)Y.current.points([vt.x,vt.y,Je.x,Je.y]);else if(Be==="box"&&J.current)J.current.width(Je.x-vt.x),J.current.height(Je.y-vt.y);else if(Be==="arrow"&&ee.current)ee.current.points([vt.x,vt.y,Je.x,Je.y]);jt?.batchDraw()}else{if(!We)return;let Je=De.x-U.current.x,vt=De.y-U.current.y;U.current=De,We({x:st.x+Je,y:st.y+vt})}},ye=(ue)=>{if("touches"in ue&&ue.touches.length>0)return;ie()};return window.addEventListener("mousemove",be),window.addEventListener("mouseup",ye),window.addEventListener("touchmove",be),window.addEventListener("touchend",ye),()=>{window.removeEventListener("mousemove",be),window.removeEventListener("mouseup",ye),window.removeEventListener("touchmove",be),window.removeEventListener("touchend",ye)}},[]);let se=(be)=>{if(b){if(y==="select")return;if(!be.target.getStage())return;let ue=te(R.current);if(!ue)return;if(ue.x<0||ue.x>s.width||ue.y<0||ue.y>s.height)return;N.current=!0,X.current=ue;let he=R.current?.getLayer();if(!he)return;if(y==="freehand"&&Y.current)Y.current.points([ue.x,ue.y]),Y.current.stroke(v),Y.current.visible(!0);else if(y==="line"&&Y.current)Y.current.points([ue.x,ue.y,ue.x,ue.y]),Y.current.stroke(v),Y.current.visible(!0);else if(y==="box"&&J.current)J.current.position(ue),J.current.width(0),J.current.height(0),J.current.stroke(v),J.current.visible(!0);else if(y==="arrow"&&ee.current)ee.current.points([ue.x,ue.y,ue.x,ue.y]),ee.current.stroke(v),ee.current.fill(v),ee.current.visible(!0);he.batchDraw()}else{if(!f)return;N.current=!0;let ye=be.target.getStage();if(ye){let ue=ye.getPointerPosition();if(ue)U.current=ue}}},ae=(be,ye)=>{let{width:ue,height:he}=s;switch(be.type){case"box":{let[oe,Se]=be.points,we=Math.min(oe[0],Se[0])*ue,qe=Math.min(oe[1],Se[1])*he,De=Math.abs(Se[0]-oe[0])*ue,Fe=Math.abs(Se[1]-oe[1])*he;return t(Pb,{x:we,y:qe,width:De,height:Fe,stroke:be.color,strokeWidth:2.6/l,listening:!1},ye)}case"arrow":{let oe=be.points.flat().map((Se,we)=>we%2===0?Se*ue:Se*he);return t(Bb,{points:oe,stroke:be.color,strokeWidth:2.6/l,fill:be.color,pointerLength:10/l,pointerWidth:10/l,listening:!1},ye)}case"line":case"freehand":{let oe=be.points.flat().map((Se,we)=>we%2===0?Se*ue:Se*he);return t(Nb,{points:oe,stroke:be.color,strokeWidth:2.6/l,tension:0.5,lineCap:"round",lineJoin:"round",listening:!1},ye)}default:return null}};return t("div",{className:g,style:{width:e,height:n,overflow:"hidden",pointerEvents:!b&&!f?"none":"auto",cursor:b&&y!=="select"?"crosshair":f?N.current?"grabbing":"grab":"default"},children:t(R8,{width:e,height:n,scaleX:l,scaleY:l,x:c.x,y:c.y,onMouseDown:se,onClick:!b?d:void 0,onTap:!b?d:void 0,onTouchStart:se,children:t(_8,{children:o(Ob,{ref:R,width:s.width,height:s.height,children:[(r||T)&&t(I8,{image:r||T,width:s.width,height:s.height}),a.map(ae),o(Ob,{listening:!1,children:[t(Nb,{ref:Y,strokeWidth:2.6/l,lineCap:"round",lineJoin:"round",visible:!1}),t(Pb,{ref:J,strokeWidth:2.6/l,visible:!1}),t(Bb,{ref:ee,points:[],strokeWidth:2.6/l,pointerLength:10/l,pointerWidth:10/l,visible:!1})]})]})})})})},Hr=Mq;function $a(e,n,s,i){if(e<=0||n<=0||s<=0||i<=0)return 1;return Math.min(e/s,n/i)}function Ur(e,n,s,i,r){return{x:(e-s*r)/2,y:(n-i*r)/2}}function Qh(e,n,s=0.02){return e>n*(1+s)}function Fq(e,n=0.01,s=50){return Math.min(s,Math.max(n,e))}function ua(e,n,s,i,r,a=0.01,l=50){let c=Fq(e*s,a,l),f=c/e;return{zoom:c,pan:{x:i-(i-n.x)*f,y:r-(r-n.y)*f}}}function F8(e,n){let s=n===1?e*16:n===2?e*100:e,i=Math.exp(-s*0.01);return Math.min(2,Math.max(0.5,i))}S();function wl({containerRef:e,zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a}){let l=_({zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a});l.current={zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a},m(()=>{let c=e.current;if(!c)return;let f=new Map,d=null,g=(R)=>{let N=l.current;if(R.ctrlKey){R.preventDefault();let U=c.getBoundingClientRect(),X=R.clientX-U.left,Y=R.clientY-U.top;N.onZoomChange(ua(N.zoom,N.pan,F8(R.deltaY,R.deltaMode),X,Y));return}if(Qh(N.zoom,N.baseScale))R.preventDefault(),N.onPanChange({x:N.pan.x-R.deltaX,y:N.pan.y-R.deltaY})},b=(R,N)=>Math.hypot(N.x-R.x,N.y-R.y),y=(R,N,U)=>({x:(R.x+N.x)/2-U.left,y:(R.y+N.y)/2-U.top}),v=(R)=>{for(let N of Array.from(R.touches))f.set(N.identifier,{x:N.clientX,y:N.clientY});if(f.size===2){R.preventDefault();let N=c.getBoundingClientRect(),[U,X]=Array.from(f.values());d={lastDist:b(U,X),lastMid:y(U,X,N)}}},x=(R)=>{for(let se of Array.from(R.touches))f.set(se.identifier,{x:se.clientX,y:se.clientY});if(!d||f.size<2)return;R.preventDefault();let N=c.getBoundingClientRect(),[U,X]=Array.from(f.values()),Y=y(U,X,N),J=b(U,X),ee=l.current,te=d.lastDist>0?J/d.lastDist:1,ne=ua(ee.zoom,ee.pan,te,Y.x,Y.y),ie=ne.pan;if(Qh(ne.zoom,ee.baseScale))ie={x:ie.x+(Y.x-d.lastMid.x),y:ie.y+(Y.y-d.lastMid.y)};ee.onZoomChange({zoom:ne.zoom,pan:ie}),d.lastDist=J,d.lastMid=Y},T=(R)=>{for(let N of Array.from(R.changedTouches))f.delete(N.identifier);if(f.size<2)d=null};return c.addEventListener("wheel",g,{passive:!1}),c.addEventListener("touchstart",v,{passive:!1}),c.addEventListener("touchmove",x,{passive:!1}),c.addEventListener("touchend",T,{passive:!1}),c.addEventListener("touchcancel",T,{passive:!1}),()=>{c.removeEventListener("wheel",g),c.removeEventListener("touchstart",v),c.removeEventListener("touchmove",x),c.removeEventListener("touchend",T),c.removeEventListener("touchcancel",T)}},[e])}var Lq=F(({file:e,onPlay:n,onPause:s,onTimeUpdate:i,annotations:r,startTime:a,shareId:l,children:c,allowDownload:f,autoPlay:d},g)=>{let b=_(null),y=_(null),[v,x]=u(void 0),[T,R]=u(!0),N=Boolean(e.media?.isHls&&e.media.hls?.url),X=(N?e.media?.hls?.resolutions??[]:e.media?.videoTranscodes??[]).map((Ue)=>({...Ue,resolution:vs(Ue)})),Y=(N||X.length>0)&&!!e.media?.metadata,J=()=>{if(X.length===0)return null;if(typeof window>"u")return X[0];let Ue=typeof window.matchMedia==="function"&&window.matchMedia("(dynamic-range: high)").matches,ot=X.some((Pn)=>Pn.hdr),It=X.some((Pn)=>!Pn.hdr),en=X;if(Ue&&ot)en=X.filter((Pn)=>Pn.hdr);else if(!Ue&&It)en=X.filter((Pn)=>!Pn.hdr);let En=window.innerWidth*(window.devicePixelRatio||1),gn=[...en].sort((Pn,Un)=>{let Yn=Pn.width??0,Vs=Un.width??0;return Yn-Vs});return gn.find((Pn)=>(Pn.width??0)>=En)||gn[gn.length-1]},ee=N?null:J(),[te,ne]=u({isPlaying:!1,progress:0,currentTime:0,duration:e.media?.metadata?.duration||0,volume:1,isMuted:!1,isLooping:!1,playbackRate:1,isFullScreen:!1,showFrames:!1,currentResolution:N?"Auto":ee?.resolution??"",currentSrc:N?e.media.hls.url:ee?.url??"",isCurrentHdr:ee?.hdr??!1}),[ie,se]=u(!1),ae=_(null),be=_(null),ye=_(null),ue=_(null);Vr(g,()=>({play:()=>{if(ue.current)ue.current(),ue.current=null;y.current?.play().catch(()=>{})},pause:()=>{y.current?.pause()},seekTo:(Ue)=>{if(ue.current)ue.current(),ue.current=null;if(se(!0),y.current)y.current.currentTime=Ue},getCurrentTime:()=>(y.current?y.current.currentTime:0)??0,getDuration:()=>(y.current?y.current.duration:0)??0}));let he=_(!1),[oe,Se]=u(1),[we,qe]=u({x:0,y:0}),[De,Fe]=u(!1),[Be,We]=u({width:0,height:0});m(()=>{let Ue=N?null:J();if(ne((ot)=>({...ot,isPlaying:!1,progress:0,currentTime:0,duration:e.media?.metadata?.duration||0,currentResolution:N?"Auto":Ue?.resolution??"",currentSrc:N?e.media?.hls?.url??"":Ue?.url??"",isCurrentHdr:Ue?.hdr??!1})),x(void 0),Fe(!1),Dn.current)clearTimeout(Dn.current),Dn.current=null;an(!1),Yt(!0),Ze(0),is.current=null,se(!1)},[e.id,Boolean(N?e.media?.hls?.url:ee?.url)]);let st=e.media?.metadata?.originalWidth||1920,Je=e.media?.metadata?.originalHeight||1080,vt=$a(Be.width,Be.height,st,Je),jt=(Ue)=>{Fe(!0);let ot=ua(oe,we,Ue/oe,Be.width/2,Be.height/2);Se(ot.zoom),qe(ot.pan)},ut=()=>{if(Fe(!1),Be.width>0&&Be.height>0){let Ue=$a(Be.width,Be.height,st,Je);Se(Ue),qe(Ur(Be.width,Be.height,st,Je,Ue))}},{isDrawing:Lt,currentTool:Jt,currentColor:hn,addAnnotation:Wt,annotations:rn}=Lr(),Wn=[...r||[],...rn];m(()=>{if(!ae.current)return;let Ue=new ResizeObserver((ot)=>{let It=ot[0];if(It)We({width:It.contentRect.width,height:It.contentRect.height})});return Ue.observe(ae.current),()=>Ue.disconnect()},[]),m(()=>{if(Be.width<=0||Be.height<=0)return;if(De)return;let Ue=$a(Be.width,Be.height,st,Je);Se(Ue),qe(Ur(Be.width,Be.height,st,Je,Ue))},[Be.width,Be.height,st,Je,De]),wl({containerRef:ae,zoom:oe,pan:we,baseScale:vt,onZoomChange:(Ue)=>{Fe(!0),Se(Ue.zoom),qe(Ue.pan)},onPanChange:qe}),m(()=>()=>{y.current=null},[]);let[Xe,Ze]=u(0),[wt,mt]=u(!0),[Nt,an]=u(!1),[mn,Yt]=u(!0),Dn=_(null),is=_(null),xt=e.media?.metadata,it=xt?.frameRate||30,on=xt?.totalFrames||0,Bt=xt?.duration||0,qn=e.proxyType==="audio",as=bu({dbTotalFrames:on,containerDuration:Bt,frameRate:it}),{currentFrame:Rs,seekToFrame:Gs}=x0(y,it,as,qn),ba=P((Ue)=>{if(ue.current)ue.current(),ue.current=null;return se(!0),Gs(Ue)},[Gs]),Ii=Rs/it,tr=as/it,Fo=tr>0?Ii/tr*100:0,El={...te,currentTime:Ii,duration:tr,progress:Fo,activeAutoResolution:v,isHlsManualSupported:T,isLoading:mn};m(()=>{if(i)i(Rs/it)},[Rs,it,i]);let sr=N?e.media?.hls?.url??"":J()?.url??"";m(()=>{let Ue=y.current;if(!Ue)return;if(!sr)return;if(b.current)b.current.destroy(),b.current=null;if(Dn.current)clearTimeout(Dn.current),Dn.current=null;an(!1),Yt(!0),x(void 0);let ot=()=>{let $s=Ue.play();if($s!==void 0)$s.catch(()=>{Ue.muted=!0,ne((Mi)=>({...Mi,isMuted:!0})),Ue.play()?.catch(()=>{})})},It=null;if(N){if(Zn.isSupported())R(!0),It=new Zn({autoStartLoad:!0,startLevel:-1,capLevelToPlayerSize:!1,enableWorker:!0}),b.current=It,It.attachMedia(Ue),It.loadSource(sr),It.on(Zn.Events.MANIFEST_PARSED,()=>{if(d)if(Ue.readyState>=2)ot();else Ue.addEventListener("canplay",ot,{once:!0})}),It.on(Zn.Events.LEVEL_SWITCHED,($s,Mi)=>{let ys=It?.levels[Mi.level];if(ys){let gc=X.find((Ho)=>Ho.width===ys.width&&Ho.height===ys.height);if(gc?.resolution)x(gc.resolution);else{let Ho=ys.width&&ys.height?Math.min(ys.width,ys.height):ys.height||ys.width;x(Ho?`${Ho}p`:void 0)}}}),It.on(Zn.Events.ERROR,($s,Mi)=>{if(Mi.fatal)switch(Mi.type){case Zn.ErrorTypes.NETWORK_ERROR:It?.startLoad();break;case Zn.ErrorTypes.MEDIA_ERROR:It?.recoverMediaError();break;default:It?.destroy();break}});else if(Ue.canPlayType("application/vnd.apple.mpegurl")){if(R(!1),Ue.src=sr,d)if(Ue.readyState>=2)ot();else Ue.addEventListener("canplay",ot,{once:!0})}}else if(Ue.src=sr,d)if(Ue.readyState>=2)ot();else Ue.addEventListener("canplay",ot,{once:!0});let en=()=>{if(Dn.current)clearTimeout(Dn.current),Dn.current=null},En=()=>{if(en(),Yt(!1),an(!0),ue.current)ue.current(),ue.current=null;ne(($s)=>({...$s,isPlaying:!0})),se(!0),n?.()},gn=()=>{ne(($s)=>({...$s,isPlaying:!1})),s?.()},bs=()=>{en(),Yt(!1),ne(($s)=>({...$s,isPlaying:!1}))},Pn=()=>{en(),Yt(!1),an(!0)},Un=()=>{en(),Yt(!1),an(!0)},Yn=()=>{en(),Yt(!1)},Vs=()=>{en(),Dn.current=setTimeout(()=>{Yt(!0)},200)},os=()=>{en(),Yt(!0),an(!1)},qi=()=>{let $s=Ue.duration||e.media?.metadata?.duration||0;if($s>0&&Ue.buffered.length>0){let Mi=0;for(let ys=0;ys<Ue.buffered.length;ys++)if(Ue.buffered.start(ys)<=Ue.currentTime&&Ue.currentTime<=Ue.buffered.end(ys)){Mi=Ue.buffered.end(ys);break}if(Mi===0)Mi=Ue.buffered.end(Ue.buffered.length-1);Ze(Mi/$s*100)}},Yr=()=>{ne(($s)=>({...$s,volume:Ue.volume,isMuted:Ue.muted}))},If=()=>{ne(($s)=>({...$s,playbackRate:Ue.playbackRate}))},Rf=()=>{en(),Yt(!1),console.error("Video Error:",Ue.error)};if(Ue.readyState>=2)Yt(!1),an(!0);return Ue.addEventListener("play",En),Ue.addEventListener("pause",gn),Ue.addEventListener("ended",bs),Ue.addEventListener("loadeddata",Pn),Ue.addEventListener("canplay",Un),Ue.addEventListener("playing",Yn),Ue.addEventListener("waiting",Vs),Ue.addEventListener("loadstart",os),Ue.addEventListener("timeupdate",qi),Ue.addEventListener("progress",qi),Ue.addEventListener("volumechange",Yr),Ue.addEventListener("ratechange",If),Ue.addEventListener("error",Rf),Ue.volume=te.volume,()=>{if(en(),Ue.removeEventListener("play",En),Ue.removeEventListener("pause",gn),Ue.removeEventListener("ended",bs),Ue.removeEventListener("loadeddata",Pn),Ue.removeEventListener("canplay",Un),Ue.removeEventListener("playing",Yn),Ue.removeEventListener("waiting",Vs),Ue.removeEventListener("loadstart",os),Ue.removeEventListener("timeupdate",qi),Ue.removeEventListener("progress",qi),Ue.removeEventListener("volumechange",Yr),Ue.removeEventListener("ratechange",If),Ue.removeEventListener("error",Rf),b.current)b.current.destroy(),b.current=null}},[e.id,sr,N,d]),m(()=>{if(!Nt)return;if(a!==void 0&&a!==null&&a>0){if(a!==is.current){is.current=a;let Ue=Math.floor(a*it+0.45);se(!0),Gs(Ue)}}},[a,it,Gs,Nt]);let to=P(()=>{if(ye.current)clearTimeout(ye.current);if(te.isFullScreen&&!he.current)ye.current=setTimeout(()=>{mt(!1)},1200)},[te.isFullScreen]),wa=P(()=>{mt(!0),to()},[to]),no=P(()=>{if(he.current=!0,ye.current)clearTimeout(ye.current);mt(!0)},[]),ya=P(()=>{he.current=!1,to()},[to]),Oo=P(()=>{if(te.isFullScreen){if(ye.current)clearTimeout(ye.current);mt(!1)}},[te.isFullScreen]);m(()=>()=>{if(ye.current)clearTimeout(ye.current)},[]),m(()=>{if(!te.isFullScreen){if(mt(!0),ye.current)clearTimeout(ye.current)}else wa()},[te.isPlaying,te.isFullScreen,wa]);let va=P(()=>{if(mn)return;if(Lr.getState().isDrawing)return;if(ue.current)ue.current(),ue.current=null;let Ue=y.current;if(!Ue)return;if(Ue.paused||Ue.ended){let ot=Ue.play();if(ot!==void 0)ot.catch((It)=>{if(It.name==="AbortError")return;console.error("Play failed:",It)})}else Ue.pause()},[mn]);m(()=>{let Ue=(ot)=>{let It=document.activeElement;if(It&&(It.tagName==="INPUT"||It.tagName==="TEXTAREA"||It instanceof HTMLElement&&It.isContentEditable))return;let en=ot.key===" ",En=It&&(It.tagName==="BUTTON"||It.tagName==="A"||It.tagName==="SELECT"||It.tagName==="OPTION"||It.getAttribute("role")==="button"||It.getAttribute("role")==="link"||It.getAttribute("role")==="checkbox"||It.getAttribute("role")==="radio"||It.getAttribute("role")==="menuitem");if(en&&En)return;if(ot.key===" "||ot.key.toLowerCase()==="k")ot.preventDefault(),va()};return window.addEventListener("keydown",Ue),()=>{window.removeEventListener("keydown",Ue)}},[va]);let Po=()=>{let Ue=y.current;if(!Ue)return;let ot=!te.isLooping;Ue.loop=ot,ne((It)=>({...It,isLooping:ot}))},ir=(Ue)=>{ne((It)=>({...It,volume:Ue,isMuted:Ue===0}));let ot=y.current;if(!ot)return;if(ot.volume=Ue,Ue>0&&ot.muted)ot.muted=!1;else if(Ue===0&&!ot.muted)ot.muted=!0},No=()=>{let Ue=y.current;if(!Ue)return;if(Ue.muted){if(Ue.muted=!1,Ue.volume===0)Ue.volume=0.5}else Ue.muted=!0},et=(Ue)=>{let ot=y.current;if(!ot)return;ot.playbackRate=Ue,ne((It)=>({...It,playbackRate:Ue}))},pn=(Ue)=>{let ot=y.current;if(!ot)return;if(ue.current)ue.current(),ue.current=null;if(N&&b.current){let gn=b.current,bs=ot.paused,Pn=Rs;if(Ue.resolution==="Auto"){if(te.currentResolution==="Auto"&&gn.currentLevel===-1)return;gn.currentLevel=-1,ne((Un)=>({...Un,currentResolution:"Auto"}))}else{let Un=gn.levels.findIndex((Yn)=>Yn.height===Ue.height||Math.max(Yn.width,Yn.height)===Math.max(Ue.width,Ue.height));if(Un!==-1){if(Un===gn.currentLevel&&te.currentResolution===Ue.resolution)return;gn.currentLevel=Un,ne((Yn)=>({...Yn,currentResolution:Ue.resolution,isCurrentHdr:Ue.hdr??!1}))}}if(bs){let Un=null,Yn=()=>{if(Un)clearTimeout(Un),Un=null;if(ot.removeEventListener("seeked",Vs),gn.off?.(Zn.Events.ERROR,Yn),ue.current===Yn)ue.current=null},Vs=()=>{Yn();let os=Di(Pn,it),qi=1/it;if(Math.abs(ot.currentTime-os)>qi/4)ot.currentTime=os};Un=setTimeout(Yn,1500),ue.current=Yn,ot.addEventListener("seeked",Vs),gn.once?.(Zn.Events.ERROR,Yn)}return}let It=!ot.paused,en=ot.currentTime;ne((gn)=>({...gn,currentResolution:Ue.resolution,currentSrc:Ue.url,isCurrentHdr:Ue.hdr??!1})),ot.src=Ue.url||"";let En=()=>{if(ot.removeEventListener("loadedmetadata",En),ot.currentTime=en,It){let gn=ot.play();if(gn!==void 0)gn.catch((bs)=>{if(bs.name!=="AbortError")console.error("Play after seek failed:",bs)})}ot.playbackRate=te.playbackRate};ot.addEventListener("loadedmetadata",En)},Qt=()=>{let Ue=be.current,ot=y.current;if(Ue&&typeof Ue.requestFullscreen==="function"){if(!document.fullscreenElement)Ue.requestFullscreen().catch(()=>{}),ne((en)=>({...en,isFullScreen:!0}));else if(document.exitFullscreen)document.exitFullscreen().catch(()=>{}),ne((en)=>({...en,isFullScreen:!1}));return}let It=ot;if(It&&typeof It.webkitEnterFullscreen==="function"){if(!It.webkitDisplayingFullscreen)try{It.webkitEnterFullscreen()}catch(en){console.error("Failed to enter iOS fullscreen:",en)}else if(typeof It.webkitExitFullscreen==="function")try{It.webkitExitFullscreen()}catch(en){console.error("Failed to exit iOS fullscreen:",en)}return}ne((en)=>({...en,isFullScreen:!en.isFullScreen}))},us=async(Ue)=>{try{let ot=l?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:l,fileId:e.id},json:{key:Ue}}):await A.api.files["download-url"].$post({json:{key:Ue,assetId:e.id}});if(!ot.ok)return;let{url:It}=await ot.json(),en=document.createElement("a");en.href=It,en.download="",document.body.appendChild(en),en.click(),document.body.removeChild(en)}catch{}};m(()=>{let Ue=()=>{ne((En)=>({...En,isFullScreen:!!document.fullscreenElement}))};document.addEventListener("fullscreenchange",Ue);let ot=y.current,It=()=>{ne((En)=>({...En,isFullScreen:!0}))},en=()=>{ne((En)=>({...En,isFullScreen:!1}))};if(ot)ot.addEventListener("webkitbeginfullscreen",It),ot.addEventListener("webkitendfullscreen",en);return()=>{if(document.removeEventListener("fullscreenchange",Ue),ot)ot.removeEventListener("webkitbeginfullscreen",It),ot.removeEventListener("webkitendfullscreen",en)}},[]);let ii=oe,Kr=Bo();if(!Y){if(e.status==="failed"){let Ue=e.media?.error;return o("div",{"data-testid":"video-viewer-failed-state",className:"flex h-full w-full flex-col items-center justify-center gap-3 p-6 text-center",children:[t(nr,{className:"h-12 w-12 text-destructive/80"}),o("div",{className:"space-y-1 max-w-md",children:[t("h3",{className:"text-base font-semibold text-foreground",children:og()}),t("p",{className:"text-sm text-muted-foreground",children:sg()}),Ue&&t("div",{title:Ue,className:"mt-3 rounded-lg border border-destructive/20 bg-destructive/10 p-3 text-xs text-destructive text-left line-clamp-3 break-words",children:Ue})]})]})}return t("div",{className:"flex h-full w-full items-center justify-center",children:t("p",{className:"text-muted-foreground",children:Tx()})})}return o("div",{ref:be,className:E("group shadow-2xl font-sans select-none flex flex-col mx-auto relative",te.isFullScreen?"h-full w-full rounded-none bg-black":"w-full h-full",!wt&&te.isFullScreen?"cursor-none":""),onMouseMove:wa,onMouseLeave:Oo,children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[!te.isFullScreen&&c,o("div",{ref:ae,className:E("flex-1 bg-black cursor-pointer relative flex items-center justify-center overflow-hidden min-h-0 touch-none"),onClick:va,"data-testid":"video-area",children:[!qn&&t("div",{className:"absolute pointer-events-none overflow-hidden",style:{left:0,top:0,width:st,height:Je,transform:`translate(${we.x}px, ${we.y}px) scale(${ii})`,transformOrigin:"0 0"},children:t("video",{ref:y,className:E("w-full h-full block object-contain pointer-events-none",!ie&&e.preview?.thumbnailUrl&&"blur-md scale-105"),playsInline:!0,preload:"auto",poster:e.preview?.thumbnailUrl||void 0})}),qn&&t("video",{ref:y,className:"absolute inset-0 pointer-events-none opacity-0",playsInline:!0,preload:"auto"}),qn?t("div",{className:"flex flex-col items-center justify-center text-muted-foreground w-full h-full pointer-events-none select-none",children:t(ts,{className:E("w-16 h-16 text-foreground/75 transition-transform duration-500",te.isPlaying?"animate-pulse scale-110 text-primary":"")})}):Be.width>0&&t(Hr,{width:Be.width,height:Be.height,mediaDimensions:{width:st,height:Je},annotations:Wn,scale:ii,offset:we,className:"absolute inset-0",isDrawing:Lt,currentTool:Jt,currentColor:hn,onAddAnnotation:Wt}),mn&&t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 pointer-events-none z-10 transition-opacity duration-200","data-testid":"video-loading-spinner",children:t("div",{className:"w-16 h-16 bg-white/10 backdrop-blur-sm rounded-full flex items-center justify-center border-2 border-white/30",children:t(O,{className:"w-8 h-8 text-white animate-spin"})})}),!mn&&!ie&&!Lt&&t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 pointer-events-none z-10 transition-opacity duration-200","data-testid":"video-play-overlay",children:t("div",{className:"w-20 h-20 bg-white/10 backdrop-blur-sm rounded-full flex items-center justify-center border-2 border-white/30",children:t(Ta,{className:"w-10 h-10 text-white ml-1 fill-white"})})})]})]}),Kr?t(Nv,{state:El,zoom:oe,isControlsVisible:wt,buffered:Xe,data:e,resolutions:X,togglePlay:va,toggleLoop:Po,toggleMute:No,handleVolumeChange:ir,changePlaybackRate:et,changeResolution:pn,handleDownload:us,toggleFullScreen:Qt,onZoomChange:jt,onZoomReset:ut,frameRate:it,totalFrames:as,currentFrame:Rs,seekToFrame:ba,onMouseEnter:no,onMouseLeave:ya,allowDownload:f,isLoading:mn}):t(hu,{state:El,zoom:oe,isControlsVisible:wt,buffered:Xe,data:e,resolutions:X,togglePlay:va,toggleLoop:Po,toggleMute:No,handleVolumeChange:ir,changePlaybackRate:et,changeResolution:pn,handleDownload:us,toggleFullScreen:Qt,onZoomChange:jt,onZoomReset:ut,frameRate:it,totalFrames:as,currentFrame:Rs,seekToFrame:ba,onMouseEnter:no,onMouseLeave:ya,allowDownload:f,isLoading:mn})]})}),L8=Lq;S();function Oq(e){return(Boolean(e.media?.isHls&&e.media.hls?.url)?e.media?.hls?.resolutions??[]:e.media?.videoTranscodes??[]).map((i)=>({...i,resolution:vs(i)}))}function O8(e){if(e.length===0)return null;if(typeof window>"u")return e[0];let n=typeof window.matchMedia==="function"&&window.matchMedia("(dynamic-range: high)").matches,s=e.some((f)=>f.hdr),i=e.some((f)=>!f.hdr),r=e;if(n&&s)r=e.filter((f)=>f.hdr);else if(!n&&i)r=e.filter((f)=>!f.hdr);let a=window.innerWidth*(window.devicePixelRatio||1),l=[...r].sort((f,d)=>(f.width??0)-(d.width??0));return l.find((f)=>(f.width??0)>=a)||l[l.length-1]}var P8=F(function({file:n,shareId:s,isActive:i,muted:r=!0,volume:a=1,annotations:l,onStateChange:c,onActivate:f,onRequestTogglePlay:d,onTimeUpdate:g,onPlay:b},y){let v=_(null),x=_(null),T=_(null),{isDrawing:R,currentTool:N,currentColor:U,addAnnotation:X,annotations:Y}=Lr(),[J,ee]=u({width:0,height:0}),[te,ne]=u(1),[ie,se]=u(!1),[ae,be]=u(null),[ye,ue]=u(!1),[he,oe]=u(!1),[Se,we]=u(!1),[qe,De]=u(1),[Fe,Be]=u(0),[We,st]=u(a),[Je,vt]=u(r),[jt,ut]=u(!1),[Lt,Jt]=u(!0),hn=_(null),Wt=n.media?.metadata,rn=Wt?.frameRate||30,Wn=Wt?.totalFrames||0,Xe=Wt?.duration||0,Ze=bu({dbTotalFrames:Wn,containerDuration:Xe,frameRate:rn}),wt=Boolean(n.media?.isHls&&n.media.hls?.url),mt=Oq(n),Nt=wt?null:O8(mt),[an,mn]=u(wt?"Auto":Nt?.resolution??""),[Yt,Dn]=u(Nt?.hdr),[is,xt]=u(void 0),it=_(null),on=!wt||Boolean(Zn.isSupported()),Bt=_(wt?n.media.hls.url:Nt?.url),qn=n.proxyType==="audio",{currentFrame:as,seekToFrame:Rs}=x0(T,rn,Ze,qn),Gs=_(te);Gs.current=te;let ba=_(as);ba.current=as,m(()=>{if(!x.current)return;let et=new ResizeObserver((pn)=>{let Qt=pn[0];if(Qt)ee({width:Qt.contentRect.width,height:Qt.contentRect.height})});return et.observe(x.current),()=>et.disconnect()},[]);let Ii=Wt?.originalWidth||1920,tr=Wt?.originalHeight||1080;m(()=>{if(J.width>0&&J.height>0&&!ie){let et=Math.min(J.width/Ii,J.height/tr);ne(et)}},[J.width,J.height,Ii,tr,ie]),m(()=>{let et=wt?null:O8(mt);if(mn(wt?"Auto":et?.resolution??""),Dn(et?.hdr),xt(void 0),Bt.current=wt?n.media.hls.url:et?.url,hn.current)clearTimeout(hn.current),hn.current=null;Jt(!0),ut(!1),oe(!1)},[n.id,Boolean(wt?n.media?.hls?.url:Nt?.url)]),m(()=>{let et=T.current;if(!et)return;let pn=wt?n.media.hls.url:Bt.current??"";if(!pn)return;if(v.current)v.current.destroy(),v.current=null;if(hn.current)clearTimeout(hn.current),hn.current=null;ut(!1),Jt(!0);let Qt=null;if(wt){if(Zn.isSupported())Qt=new Zn({autoStartLoad:!0,startLevel:-1,capLevelToPlayerSize:!1,enableWorker:!0}),v.current=Qt,Qt.attachMedia(et),Qt.loadSource(pn),Qt.on(Zn.Events.LEVEL_SWITCHED,(Yn,Vs)=>{let os=Qt?.levels[Vs.level];if(os){let qi=mt.find((Yr)=>Yr.width===os.width&&Yr.height===os.height);if(qi?.resolution)xt(qi.resolution);else{let Yr=os.width&&os.height?Math.min(os.width,os.height):os.height||os.width;xt(Yr?`${Yr}p`:void 0)}}}),Qt.on(Zn.Events.ERROR,(Yn,Vs)=>{if(Vs.fatal)switch(Vs.type){case Zn.ErrorTypes.NETWORK_ERROR:Qt?.startLoad();break;case Zn.ErrorTypes.MEDIA_ERROR:Qt?.recoverMediaError();break;default:Qt?.destroy();break}});else if(et.canPlayType("application/vnd.apple.mpegurl"))et.src=pn}else et.src=pn;let us=()=>{if(hn.current)clearTimeout(hn.current),hn.current=null},ii=()=>{if(us(),Jt(!1),ut(!0),it.current)it.current(),it.current=null;ue(!0),oe(!0),b?.()},Kr=()=>ue(!1),Ue=()=>{us(),Jt(!1),ue(!1)},ot=()=>{us(),Jt(!1),ut(!0)},It=()=>{us(),Jt(!1),ut(!0)},en=()=>{us(),Jt(!1)},En=()=>{us(),hn.current=setTimeout(()=>{Jt(!0)},200)},gn=()=>{us(),Jt(!0),ut(!1)},bs=()=>{let Yn=et.duration||Xe||0;if(Yn>0&&et.buffered.length>0){let Vs=0;for(let os=0;os<et.buffered.length;os++)if(et.buffered.start(os)<=et.currentTime&&et.currentTime<=et.buffered.end(os)){Vs=et.buffered.end(os);break}if(Vs===0)Vs=et.buffered.end(et.buffered.length-1);Be(Vs/Yn*100)}},Pn=()=>{st(et.volume||0),vt(et.muted||!1)},Un=()=>De(et.playbackRate||1);if(et.readyState>=2)Jt(!1),ut(!0);return et.addEventListener("play",ii),et.addEventListener("pause",Kr),et.addEventListener("ended",Ue),et.addEventListener("loadeddata",ot),et.addEventListener("canplay",It),et.addEventListener("playing",en),et.addEventListener("waiting",En),et.addEventListener("loadstart",gn),et.addEventListener("timeupdate",bs),et.addEventListener("progress",bs),et.addEventListener("volumechange",Pn),et.addEventListener("ratechange",Un),()=>{if(us(),et.removeEventListener("play",ii),et.removeEventListener("pause",Kr),et.removeEventListener("ended",Ue),et.removeEventListener("loadeddata",ot),et.removeEventListener("canplay",It),et.removeEventListener("playing",en),et.removeEventListener("waiting",En),et.removeEventListener("loadstart",gn),et.removeEventListener("timeupdate",bs),et.removeEventListener("progress",bs),et.removeEventListener("volumechange",Pn),et.removeEventListener("ratechange",Un),it.current)it.current(),it.current=null;if(v.current)v.current.destroy(),v.current=null}},[n.id]),m(()=>{let et=T.current;if(!et||!jt)return;et.muted=r,et.volume=a},[r,a,jt]),m(()=>{c({kind:"video",zoom:te,video:{frameRate:rn,totalFrames:Ze,currentFrame:as,isPlaying:ye,volume:We,isMuted:Je,playbackRate:qe,isLooping:Se,currentResolution:an,isCurrentHdr:Yt,resolutions:mt,buffered:Fe,activeAutoResolution:is,isHlsManualSupported:on,isLoading:Lt}})},[te,rn,Ze,as,ye,We,Je,qe,Se,an,Yt,Fe,is,on,Lt]),m(()=>{if(i)g?.(as/rn)},[as,rn,i,g]);let Fo=P((et)=>{let Qt=Gs.current*et;if(Qt<0.01||Qt>50)return;ne(Qt),se(!0)},[]),El=P(()=>{se(!1),be(null)},[]),sr=P((et)=>b5(et,Ze),[Ze]),to=P(async(et)=>{let pn=et??n.media?.original?.key;if(!pn||!n.id)return;try{let Qt=s?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:n.id},json:{key:pn}}):await A.api.files["download-url"].$post({json:{key:pn,assetId:n.id}});if(!Qt.ok)return;let{url:us}=await Qt.json(),ii=document.createElement("a");ii.href=us,ii.download="",document.body.appendChild(ii),ii.click(),document.body.removeChild(ii)}catch{}},[n.id,n.media?.original?.key,s]),wa=P((et,pn)=>{let Qt=T.current;if(!Qt)return;if(it.current)it.current(),it.current=null;if(wt){if(!v.current)return;let ot=v.current,It=Qt.paused,en=ba.current;if(et==="Auto"){if(an==="Auto"&&ot.currentLevel===-1)return;ot.currentLevel=-1,mn("Auto")}else{let En=mt.find((gn)=>gn.resolution===et);if(En){let gn=ot.levels.findIndex((bs)=>bs.height===En.height||Math.max(bs.width,bs.height)===Math.max(En.width,En.height));if(gn!==-1){if(gn===ot.currentLevel&&an===et)return;ot.currentLevel=gn,mn(et),Dn(En.hdr)}}}if(It){let En=null,gn=()=>{if(En)clearTimeout(En),En=null;if(Qt.removeEventListener("seeked",bs),ot.off?.(Zn.Events.ERROR,gn),it.current===gn)it.current=null},bs=()=>{gn();let Pn=Di(en,rn),Un=1/rn;if(Math.abs(Qt.currentTime-Pn)>Un/4)Qt.currentTime=Pn};En=setTimeout(gn,1500),it.current=gn,Qt.addEventListener("seeked",bs),ot.once?.(Zn.Events.ERROR,gn)}return}let us=pn!==void 0?mt.find((ot)=>ot.resolution===et&&Boolean(ot.hdr)===Boolean(pn)):mt.find((ot)=>ot.resolution===et);if(!us)return;let ii=!Qt.paused,Kr=Qt.currentTime;mn(et),Dn(us.hdr),Bt.current=us.url,Qt.src=us.url||"";let Ue=()=>{if(Qt.removeEventListener("loadedmetadata",Ue),Qt.currentTime=Kr,ii){let ot=Qt.play();if(ot!==void 0)ot.catch(()=>{})}Qt.playbackRate=qe};Qt.addEventListener("loadedmetadata",Ue)},[mt,wt,rn,qe,an]);Vr(y,()=>({getKind:()=>"video",play:()=>{if(it.current)it.current(),it.current=null;let et=T.current?.play();if(et!==void 0)et.catch(()=>{})},pause:()=>T.current?.pause(),togglePlay:()=>{let et=T.current;if(!et)return;if(it.current)it.current(),it.current=null;if(et.paused||et.ended){let pn=et.play();if(pn!==void 0)pn.catch(()=>{})}else et.pause()},seekToFrame:(et)=>{if(it.current)it.current(),it.current=null;return oe(!0),Rs(sr(et))},seekToSecond:(et)=>{if(it.current)it.current(),it.current=null;oe(!0);let pn=Math.floor(et*rn+0.45);Rs(sr(pn))},stepFrame:(et)=>{if(it.current)it.current(),it.current=null;return oe(!0),Rs(sr(ba.current+et))},setMuted:(et)=>{if(T.current)T.current.muted=et},setVolume:(et)=>{let pn=T.current;if(!pn)return;if(pn.volume=et,et>0&&pn.muted)pn.muted=!1;else if(et===0&&!pn.muted)pn.muted=!0},setPlaybackRate:(et)=>{if(T.current)T.current.playbackRate=et},toggleLoop:()=>{let et=T.current;if(!et)return;let pn=!et.loop;et.loop=pn,we(pn)},changeResolution:wa,zoomBy:Fo,fit:El,panBy:(et,pn)=>be((Qt)=>{let us=Gs.current,ii=Qt??{x:(J.width-Ii*us)/2,y:(J.height-tr*us)/2};return{x:ii.x+et,y:ii.y+pn}}),download:(et)=>to(et)}),[Rs,sr,rn,Fo,El,wa,to,J.width,J.height,Ii,tr]);let no=[...l??[],...i?Y:[]],ya=te,Oo=(J.width-Ii*ya)/2,va=(J.height-tr*ya)/2,Po=ae?.x??Oo,ir=ae?.y??va,No=P(()=>{if(Lr.getState().isDrawing)return;if(!i){f?.();return}if(Lt)return;d?.()},[i,Lt,f,d]);if(!n.media?.metadata||mt.length===0)return t("div",{className:"flex h-full w-full items-center justify-center bg-black",children:t("p",{className:"text-muted-foreground",children:"Media is not available."})});return o("div",{ref:x,className:E("relative flex flex-1 cursor-pointer items-center justify-center overflow-hidden bg-black"),onClick:No,"data-testid":"compare-video-area",children:[!qn&&t("div",{className:"absolute pointer-events-none overflow-hidden",style:{left:0,top:0,width:Ii,height:tr,transform:`translate(${Po}px, ${ir}px) scale(${ya})`,transformOrigin:"0 0"},children:t("video",{ref:T,className:E("w-full h-full block object-contain pointer-events-none",!he&&n.preview?.thumbnailUrl&&"blur-md scale-105"),playsInline:!0,preload:"auto",poster:n.preview?.thumbnailUrl||void 0})}),qn&&t("video",{ref:T,className:"absolute inset-0 pointer-events-none opacity-0",playsInline:!0,preload:"auto"}),qn?t("div",{className:"flex flex-col items-center justify-center text-muted-foreground w-full h-full pointer-events-none select-none",children:t(ts,{className:E("w-16 h-16 text-foreground/75 transition-transform duration-500",ye?"animate-pulse scale-110 text-primary":"")})}):J.width>0&&t(Hr,{width:J.width,height:J.height,mediaDimensions:{width:Ii,height:tr},annotations:no,scale:ya,offset:{x:Po,y:ir},className:"absolute inset-0",onClick:No,isDrawing:i&&R,currentTool:N,currentColor:U,onAddAnnotation:i?X:void 0}),Lt&&t("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-black/20 transition-opacity duration-200","data-testid":"compare-video-loading-spinner",children:t("div",{className:"flex h-14 w-14 items-center justify-center rounded-full border-2 border-white/30 bg-white/10 backdrop-blur-sm",children:t(O,{className:"h-7 w-7 text-white animate-spin"})})}),!Lt&&!he&&!R&&t("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-black/20 transition-opacity duration-200","data-testid":"compare-video-play-overlay",children:t("div",{className:"flex h-16 w-16 items-center justify-center rounded-full border-2 border-white/30 bg-white/10 backdrop-blur-sm",children:t(Ta,{className:"ml-1 h-8 w-8 fill-white text-white"})})})]})});var N8={id:"video",name:"Video",match:(e)=>e.proxyType==="video"||e.proxyType==="audio",viewer:L8,comparePane:P8,commentsConfig:{hasTimestamp:!0,hasAnnotations:!0}};S();function W0(){let[e,n]=u({width:window.innerWidth,height:window.innerHeight});return $e(()=>{function s(){n({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),e}S();function gu({zoom:e,onZoomIn:n,onZoomOut:s,onFit:i,onDownload:r,canDownload:a,onCopy:l,copied:c=!1,canCopy:f=!0,allowDownload:d=!0,fullscreen:g}){return o("div",{className:"relative px-4 py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-end gap-2 transition-colors duration-200",children:[o("div",{className:"flex items-center gap-1 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5 mr-auto",children:[t("button",{onClick:s,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:em(),children:t(To,{size:16})}),o("span",{className:"w-12 text-center text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none",children:[Math.round(e*100),"%"]}),t("button",{onClick:n,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:Xp(),children:t(fe,{size:16})})]}),t("button",{onClick:i,className:"text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent animate-in fade-in zoom-in-95 duration-200",children:Wf()}),l&&o("button",{onClick:l,disabled:!f,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:hy(),children:[c?t(Re,{size:14,className:"text-green-500"}):t(Nr,{size:14}),c?uy():my()]}),d&&o("button",{onClick:r,disabled:!a,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:gb(),children:[t(ht,{size:14}),gr()]}),g&&t("button",{onClick:g.onToggle,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:wd(),children:g.isFullScreen?t(xs,{size:16}):t(ws,{size:16})})]})}var Pq=F(({file:e,annotations:n,shareId:s,children:i,allowDownload:r},a)=>{Vr(a,()=>({play:()=>{},pause:()=>{},seekTo:()=>{}}));let{width:l}=W0(),{isDrawing:c,currentTool:f,currentColor:d,addAnnotation:g,annotations:b}=Lr(),[y,v]=u({width:0,height:0}),[x,T]=u(1),[R,N]=u({x:0,y:0}),[U,X]=u(!1),[Y,J]=u(!1),ee=_(null);m(()=>{X(!1),J(!1)},[e.id]),m(()=>{let we=ee.current;if(!we)return;let qe=new ResizeObserver((De)=>{let Fe=De[0];if(Fe)v({width:Fe.contentRect.width,height:Fe.contentRect.height})});return qe.observe(we),()=>qe.disconnect()},[]);let te=e.media?.metadata?.originalWidth??1920,ne=e.media?.metadata?.originalHeight??1080,{width:ie,height:se}=y,ae=$a(ie,se,te,ne);m(()=>{if(ie<=0||se<=0)return;if(U)return;T(ae),N(Ur(ie,se,te,ne,ae))},[ie,se,ae,te,ne,U]);let be=(we)=>{X(!0);let qe=ua(x,R,we,ie/2,se/2);T(qe.zoom),N(qe.pan)},ye=()=>{X(!1),T(ae),N(Ur(ie,se,te,ne,ae))};wl({containerRef:ee,zoom:x,pan:R,baseScale:ae,onZoomChange:(we)=>{X(!0),T(we.zoom),N(we.pan)},onPanChange:N});let ue=rf(e.media?.imageTranscodes,l)?.url??"",he=async()=>{let we=e.media?.original?.key;if(!we||!e.id)return;try{let qe=s?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:e.id},json:{key:we}}):await A.api.files["download-url"].$post({json:{key:we,assetId:e.id}});if(!qe.ok)return;let{url:De}=await qe.json(),Fe=document.createElement("a");Fe.href=De,Fe.download="",document.body.appendChild(Fe),Fe.click(),document.body.removeChild(Fe)}catch{}},oe=async()=>{let we=ue;if(!we)return;try{let qe=(async()=>{let Fe=await(await fetch(we)).blob(),Be=new Image;Be.crossOrigin="anonymous";let We=URL.createObjectURL(Fe);Be.src=We;try{await new Promise((jt,ut)=>{Be.onload=jt,Be.onerror=(Lt)=>ut(Error("Failed to load image: "+String(Lt)))});let st=document.createElement("canvas");st.width=Be.width,st.height=Be.height;let Je=st.getContext("2d");if(!Je)throw Error("Could not get canvas context");Je.drawImage(Be,0,0);let vt=await new Promise((jt)=>{st.toBlob(jt,"image/png")});if(!vt)throw Error("Failed to convert image to PNG");return vt}finally{URL.revokeObjectURL(We)}})();await navigator.clipboard.write([new ClipboardItem({"image/png":qe})]),J(!0),setTimeout(()=>J(!1),2000)}catch(qe){console.error("Failed to copy image to clipboard:",qe)}},Se=[...n||[],...b];return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[i,t("div",{ref:ee,className:"flex-1 relative overflow-hidden touch-none",children:ue?t(Hr,{width:ie,height:se,mediaDimensions:{width:te,height:ne},imageUrl:ue,annotations:Se,scale:x,offset:R,onPan:Qh(x,ae)?N:void 0,className:"absolute inset-0 z-0",isDrawing:c,currentTool:f,currentColor:d,onAddAnnotation:g}):t("div",{className:"flex h-full w-full items-center justify-center",children:t("p",{className:"text-muted-foreground",children:"Preview unavailable"})})})]}),t(gu,{zoom:x,onZoomIn:()=>be(1.2),onZoomOut:()=>be(0.8),onFit:ye,onDownload:he,canDownload:!!e.media?.original?.key,onCopy:oe,copied:Y,canCopy:!!ue,allowDownload:r})]})}),B8=Pq;S();var Nq=0.01,Bq=50,H8=F(function({file:n,shareId:s,isActive:i,annotations:r,onStateChange:a,onUserPan:l,onActivate:c},f){let{width:d}=W0(),{isDrawing:g,currentTool:b,currentColor:y,addAnnotation:v,annotations:x}=Lr(),[T,R]=u({width:0,height:0}),[N,U]=u(1),[X,Y]=u({x:0,y:0}),J=_(null),ee=_(N);ee.current=N;let te=_(X);te.current=X;let ne=P((De)=>{if(J.current)J.current.disconnect(),J.current=null;if(De!==null){let Fe=new ResizeObserver((Be)=>{let We=Be[0];if(We)R({width:We.contentRect.width,height:We.contentRect.height})});Fe.observe(De),J.current=Fe}},[]),ie=n.media?.metadata?.originalWidth??1920,se=n.media?.metadata?.originalHeight??1080,{width:ae,height:be}=T,ye=1;if(ae>0&&be>0)ye=Math.min(ae/ie,be/se);m(()=>{if(ae>0&&be>0)U(ye),Y({x:(ae-ie*ye)/2,y:(be-se*ye)/2})},[n.id,ae,be,ye,ie,se]);let ue=P((De)=>{let Fe=ae/2,Be=be/2,We=ee.current,st=We*De;if(st<Nq||st>Bq)return;let Je=te.current;Y({x:Fe-(Fe-Je.x)*(st/We),y:Be-(Be-Je.y)*(st/We)}),U(st)},[ae,be]),he=P(()=>{U(ye),Y({x:(ae-ie*ye)/2,y:(be-se*ye)/2})},[ye,ae,be,ie,se]),oe=rf(n.media?.imageTranscodes,d)?.url??"",Se=P(async()=>{let De=n.media?.original?.key;if(!De||!n.id)return;try{let Fe=s?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:n.id},json:{key:De}}):await A.api.files["download-url"].$post({json:{key:De,assetId:n.id}});if(!Fe.ok)return;let{url:Be}=await Fe.json(),We=document.createElement("a");We.href=Be,We.download="",document.body.appendChild(We),We.click(),document.body.removeChild(We)}catch{}},[n.id,n.media?.original?.key,s]);Vr(f,()=>({getKind:()=>"image",play:()=>{},pause:()=>{},togglePlay:()=>{},seekToFrame:()=>{},seekToSecond:()=>{},stepFrame:()=>{},setMuted:()=>{},setVolume:()=>{},setPlaybackRate:()=>{},toggleLoop:()=>{},changeResolution:()=>{},zoomBy:(De)=>ue(De),fit:he,panBy:(De,Fe)=>Y((Be)=>({x:Be.x+De,y:Be.y+Fe})),download:Se}),[ue,he,Se]),m(()=>{a({kind:"image",zoom:N})},[N,a]);let we=[...r,...i?x:[]],qe=P((De)=>{let Fe=te.current,Be=De.x-Fe.x,We=De.y-Fe.y;if(Y(De),Be!==0||We!==0)l?.(Be,We)},[l]);if(!oe)return t("div",{className:"flex flex-1 items-center justify-center bg-gray-100 dark:bg-gray-950",children:t("p",{className:"text-muted-foreground",children:"Preview unavailable"})});return t("div",{ref:ne,className:"relative flex-1 overflow-hidden bg-black",onMouseDown:c,children:t(Hr,{width:ae,height:be,mediaDimensions:{width:ie,height:se},imageUrl:oe,annotations:we,scale:N,offset:X,onPan:qe,className:"absolute inset-0 z-0",isDrawing:i&&g,currentTool:b,currentColor:y,onAddAnnotation:i?v:void 0})})});var U8={id:"image",name:"Image",match:(e)=>e.proxyType==="image",viewer:B8,comparePane:H8,commentsConfig:{hasTimestamp:!1,hasAnnotations:!0}};var wr=typeof process==="object"&&process+""==="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),Do=[1/0,1/0,-1/0,-1/0],lc=new Float32Array(Do),$b=[0.001,0,0,0.001,0,0];var br={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},kl={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3};var sn={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},An={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,INK_COLOR_AND_OPACITY:24,HIGHLIGHT_COLOR:31,HIGHLIGHT_THICKNESS:32,HIGHLIGHT_FREE:33,HIGHLIGHT_SHOW_ALL:34,DRAW_STEP:41},Hq={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048};var oi={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},im={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Os={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26,RICHMEDIA:27};var vf={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};var ym={ERRORS:0,WARNINGS:1,INFOS:5},Ja={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93,rawFillPath:94},Jh={moveTo:0,lineTo:1,curveTo:2,quadraticCurveTo:3,closePath:4},Uq={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},vm=ym.WARNINGS;function zq(e){if(Number.isInteger(e))vm=e}function Gq(){return vm}function Sm(e){if(vm>=ym.INFOS)console.info(`Info: ${e}`)}function ln(e){if(vm>=ym.WARNINGS)console.warn(`Warning: ${e}`)}function Rn(e){throw Error(e)}function Ps(e,n){if(!e)Rn(n)}function Vq(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function g7(e,n=null,s=null){if(!e)return null;if(s&&typeof e==="string"){if(s.addDefaultProtocol&&e.startsWith("www.")){if(e.match(/\./g)?.length>=2)e=`http://${e}`}if(s.tryConvertEncoding)try{e=Xq(e)}catch{}}let i=n?URL.parse(e,n):URL.parse(e);return Vq(i)?i:null}function b7(e,n,s=!1){let i=URL.parse(e);if(i)return i.hash=n,i.href;if(s&&g7(e,"http://example.com"))return e.split("#",1)[0]+`${n?`#${n}`:""}`;return""}function Xb(e){return e.substring(e.lastIndexOf("/")+1)}function Pt(e,n,s,i=!1){return Object.defineProperty(e,n,{value:s,enumerable:!i,configurable:!0,writable:!1}),s}var mc=function(){function n(s,i){this.message=s,this.name=i}return n.prototype=Error(),n.constructor=n,n}();class lm extends mc{constructor(e,n){super(e,"PasswordException");this.code=n}}class rm extends mc{constructor(e,n){super(e,"UnknownErrorException");this.details=n}}class cm extends mc{constructor(e){super(e,"InvalidPDFException")}}class au extends mc{constructor(e,n,s){super(e,"ResponseException");this.status=n,this.missing=s}}class w7 extends mc{constructor(e){super(e,"FormatError")}}class Mo extends mc{constructor(e){super(e,"AbortException")}}function $q(e){if(typeof e!=="object"||e?.length===void 0)Rn("Invalid argument for bytesToString");let n=e.length,s=8192;if(n<s)return String.fromCharCode.apply(null,e);let i=[];for(let r=0;r<n;r+=s){let a=Math.min(r+s,n),l=e.subarray(r,a);i.push(String.fromCharCode.apply(null,l))}return i.join("")}function km(e){if(typeof e!=="string")Rn("Invalid argument for stringToBytes");let n=e.length,s=new Uint8Array(n);for(let i=0;i<n;++i)s[i]=e.charCodeAt(i)&255;return s}class Xn{static get isLittleEndian(){let e=new Uint8Array(4);e[0]=1;let n=new Uint32Array(e.buffer,0,1);return Pt(this,"isLittleEndian",n[0]===1)}static get isOffscreenCanvasSupported(){return Pt(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get isImageDecoderSupported(){return Pt(this,"isImageDecoderSupported",typeof ImageDecoder<"u")}static get isFloat16ArraySupported(){return Pt(this,"isFloat16ArraySupported",typeof Float16Array<"u")}static get isSanitizerSupported(){return Pt(this,"isSanitizerSupported",typeof Sanitizer<"u")}static get platform(){let{platform:e,userAgent:n}=navigator;return Pt(this,"platform",{isAndroid:n.includes("Android"),isLinux:e.includes("Linux"),isMac:e.includes("Mac"),isWindows:e.includes("Win"),isFirefox:n.includes("Firefox")})}static get isCanvasFilterSupported(){let e;if(this.isOffscreenCanvasSupported)e=new OffscreenCanvas(1,1).getContext("2d");else if(typeof document<"u")e=document.createElement("canvas").getContext("2d");return Pt(this,"isCanvasFilterSupported",e?.filter!==void 0)}static get isAlphaColorInputSupported(){if(typeof document>"u")return Pt(this,"isAlphaColorInputSupported",!1);let e=document.createElement("input");return e.type="color",e.setAttribute("alpha",""),e.value="#ff000080",Pt(this,"isAlphaColorInputSupported",e.value!=="#ff0000")}static get isBackdropFilterSupported(){return Pt(this,"isBackdropFilterSupported",typeof CSS<"u"&&CSS.supports("backdrop-filter","blur(1px)"))}}class ft{static get hexNums(){return Pt(this,"hexNums",Array.from({length:256},(e,n)=>n.toString(16).padStart(2,"0")))}static makeHexColor(e,n,s){return`#${this.hexNums[e]}${this.hexNums[n]}${this.hexNums[s]}`}static transform(e,n){return[e[0]*n[0]+e[2]*n[1],e[1]*n[0]+e[3]*n[1],e[0]*n[2]+e[2]*n[3],e[1]*n[2]+e[3]*n[3],e[0]*n[4]+e[2]*n[5]+e[4],e[1]*n[4]+e[3]*n[5]+e[5]]}static multiplyByDOMMatrix(e,n){return[e[0]*n.a+e[2]*n.b,e[1]*n.a+e[3]*n.b,e[0]*n.c+e[2]*n.d,e[1]*n.c+e[3]*n.d,e[0]*n.e+e[2]*n.f+e[4],e[1]*n.e+e[3]*n.f+e[5]]}static applyTransform(e,n,s=0){let i=e[s],r=e[s+1];e[s]=i*n[0]+r*n[2]+n[4],e[s+1]=i*n[1]+r*n[3]+n[5]}static applyTransformToBezier(e,n,s=0){let i=n[0],r=n[1],a=n[2],l=n[3],c=n[4],f=n[5];for(let d=0;d<6;d+=2){let g=e[s+d],b=e[s+d+1];e[s+d]=g*i+b*a+c,e[s+d+1]=g*r+b*l+f}}static applyInverseTransform(e,n){let s=e[0],i=e[1],r=n[0]*n[3]-n[1]*n[2];e[0]=(s*n[3]-i*n[2]+n[2]*n[5]-n[4]*n[3])/r,e[1]=(-s*n[1]+i*n[0]+n[4]*n[1]-n[5]*n[0])/r}static axialAlignedBoundingBox(e,n,s){let i=n[0],r=n[1],a=n[2],l=n[3],c=n[4],f=n[5],d=e[0],g=e[1],b=e[2],y=e[3],v=i*d+c,x=v,T=i*b+c,R=T,N=l*g+f,U=N,X=l*y+f,Y=X;if(r!==0||a!==0){let J=r*d,ee=r*b,te=a*g,ne=a*y;v+=te,R+=te,T+=ne,x+=ne,N+=J,Y+=J,X+=ee,U+=ee}s[0]=Math.min(s[0],v,T,x,R),s[1]=Math.min(s[1],N,X,U,Y),s[2]=Math.max(s[2],v,T,x,R),s[3]=Math.max(s[3],N,X,U,Y)}static inverseTransform(e){let n=e[0]*e[3]-e[1]*e[2];return[e[3]/n,-e[1]/n,-e[2]/n,e[0]/n,(e[2]*e[5]-e[4]*e[3])/n,(e[4]*e[1]-e[5]*e[0])/n]}static singularValueDecompose2dScale(e,n){let s=e[0],i=e[1],r=e[2],a=e[3],l=s**2+i**2,c=s*r+i*a,f=r**2+a**2,d=(l+f)/2,g=Math.sqrt(d**2-(l*f-c**2));n[0]=Math.sqrt(d+g||1),n[1]=Math.sqrt(d-g||1)}static normalizeRect(e){let n=e.slice(0);if(e[0]>e[2])n[0]=e[2],n[2]=e[0];if(e[1]>e[3])n[1]=e[3],n[3]=e[1];return n}static intersect(e,n){let s=Math.max(Math.min(e[0],e[2]),Math.min(n[0],n[2])),i=Math.min(Math.max(e[0],e[2]),Math.max(n[0],n[2]));if(s>i)return null;let r=Math.max(Math.min(e[1],e[3]),Math.min(n[1],n[3])),a=Math.min(Math.max(e[1],e[3]),Math.max(n[1],n[3]));if(r>a)return null;return[s,r,i,a]}static pointBoundingBox(e,n,s){s[0]=Math.min(s[0],e),s[1]=Math.min(s[1],n),s[2]=Math.max(s[2],e),s[3]=Math.max(s[3],n)}static rectBoundingBox(e,n,s,i,r){r[0]=Math.min(r[0],e,s),r[1]=Math.min(r[1],n,i),r[2]=Math.max(r[2],e,s),r[3]=Math.max(r[3],n,i)}static#e(e,n,s,i,r,a,l,c,f,d){if(f<=0||f>=1)return;let g=1-f,b=f*f,y=b*f,v=g*(g*(g*e+3*f*n)+3*b*s)+y*i,x=g*(g*(g*r+3*f*a)+3*b*l)+y*c;d[0]=Math.min(d[0],v),d[1]=Math.min(d[1],x),d[2]=Math.max(d[2],v),d[3]=Math.max(d[3],x)}static#t(e,n,s,i,r,a,l,c,f,d,g,b){if(Math.abs(f)<0.000000000001){if(Math.abs(d)>=0.000000000001)this.#e(e,n,s,i,r,a,l,c,-g/d,b);return}let y=d**2-4*g*f;if(y<0)return;let v=Math.sqrt(y),x=2*f;this.#e(e,n,s,i,r,a,l,c,(-d+v)/x,b),this.#e(e,n,s,i,r,a,l,c,(-d-v)/x,b)}static bezierBoundingBox(e,n,s,i,r,a,l,c,f){f[0]=Math.min(f[0],e,l),f[1]=Math.min(f[1],n,c),f[2]=Math.max(f[2],e,l),f[3]=Math.max(f[3],n,c),this.#t(e,s,r,l,n,i,a,c,3*(-e+3*(s-r)+l),6*(e-2*s+r),3*(s-e),f),this.#t(e,s,r,l,n,i,a,c,3*(-n+3*(i-a)+c),6*(n-2*i+a),3*(i-n),f)}}function Xq(e){return decodeURIComponent(escape(e))}var Hb=null,z8=null;function Wq(e){if(!Hb)Hb=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,z8=new Map([["ſt","ſt"]]);return e.replaceAll(Hb,(n,s,i)=>s?s.normalize("NFKC"):z8.get(i))}function y7(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();let e=new Uint8Array(32);return crypto.getRandomValues(e),$q(e)}function Kq(e,n,s){if(!Array.isArray(s)||s.length<2)return!1;let[i,r,...a]=s;if(!e(i)&&!Number.isInteger(i))return!1;if(!n(r))return!1;let l=a.length,c=!0;switch(r.name){case"XYZ":if(l<2||l>3)return!1;break;case"Fit":case"FitB":return l===0;case"FitH":case"FitBH":case"FitV":case"FitBV":if(l>1)return!1;break;case"FitR":if(l!==4)return!1;c=!1;break;default:return!1}for(let f of a){if(typeof f==="number"||c&&f===null)continue;return!1}return!0}var Af=()=>[],i2=()=>new Map,Wb=()=>Object.create(null),Yq=()=>new Set;if(typeof Iterator.prototype.join!=="function")Iterator.prototype.join=function(e){return[...this].join(e)};function gs(e,n,s){return Math.min(Math.max(e,n),s)}class wu{constructor({viewBox:e,userUnit:n,scale:s,rotation:i,offsetX:r=0,offsetY:a=0,dontFlip:l=!1}){this.viewBox=e,this.userUnit=n,this.scale=s,this.rotation=i,this.offsetX=r,this.offsetY=a,s*=n;let c=(e[2]+e[0])/2,f=(e[3]+e[1])/2,d,g,b,y;if(i%=360,i<0)i+=360;switch(i){case 180:d=-1,g=0,b=0,y=1;break;case 90:d=0,g=1,b=1,y=0;break;case 270:d=0,g=-1,b=-1,y=0;break;case 0:d=1,g=0,b=0,y=-1;break;default:throw Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}if(l)b=-b,y=-y;let v,x,T,R;if(d===0)v=Math.abs(f-e[1])*s+r,x=Math.abs(c-e[0])*s+a,T=(e[3]-e[1])*s,R=(e[2]-e[0])*s;else v=Math.abs(c-e[0])*s+r,x=Math.abs(f-e[1])*s+a,T=(e[2]-e[0])*s,R=(e[3]-e[1])*s;this.transform=[d*s,g*s,b*s,y*s,v-d*s*c-b*s*f,x-g*s*c-y*s*f],this.width=T,this.height=R}get rawDims(){let e=this.viewBox;return Pt(this,"rawDims",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:n=this.rotation,offsetX:s=this.offsetX,offsetY:i=this.offsetY,dontFlip:r=!1}={}){return new wu({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:e,rotation:n,offsetX:s,offsetY:i,dontFlip:r})}convertToViewportPoint(e,n){let s=[e,n];return ft.applyTransform(s,this.transform),s}convertToPdfPoint(e,n){let s=[e,n];return ft.applyInverseTransform(s,this.transform),s}}class lu{static textContent(e){let n=[],s={items:n,styles:Object.create(null)};function i(r){if(!r)return;let a=null,l=r.name;if(l==="#text")a=r.value;else if(!lu.shouldBuildText(l))return;else if(r?.attributes?.textContent)a=r.attributes.textContent;else if(r.value)a=r.value;if(a!==null)n.push({str:a});if(!r.children)return;for(let c of r.children)i(c)}return i(e),s}static shouldBuildText(e){return!(e==="textarea"||e==="input"||e==="option"||e==="select")}}var Qq=/url\(|image-set\(/i,Jq=/^on/i;class r2{static get _allowedHtmlElements(){return Pt(this,"_allowedHtmlElements",new Set(["a","b","br","button","div","i","img","input","label","li","ol","option","p","select","span","sub","sup","textarea","ul"]))}static get _allowedSvgElements(){return Pt(this,"_allowedSvgElements",new Set(["ellipse","line","path","rect","svg"]))}static get _allowedRichTextElements(){return Pt(this,"_allowedRichTextElements",new Set(["a","b","br","div","i","li","ol","p","span","sub","sup","ul"]))}static get _allowedRichTextAttributes(){return Pt(this,"_allowedRichTextAttributes",new Set(["class","dir","style"]))}static get _allowedRichTextStyles(){return Pt(this,"_allowedRichTextStyles",new Set(["color","font","fontFamily","fontSize","fontStretch","fontStyle","fontWeight","kerningMode","letterSpacing","lineHeight","margin","marginBottom","marginLeft","marginRight","marginTop","orphans","paddingLeft","paddingRight","breakAfter","breakBefore","breakInside","tabInterval","tabStop","textAlign","textDecoration","textIndent","transform","verticalAlign","widows"]))}static setupStorage(e,n,s,i,r){let a=i.getValue(n,{value:null});switch(s.name){case"textarea":if(a.value!==null)e.textContent=a.value;if(r==="print")break;e.addEventListener("input",(l)=>{i.setValue(n,{value:l.target.value})});break;case"input":if(s.attributes.type==="radio"||s.attributes.type==="checkbox"){if(a.value===s.attributes.xfaOn)e.setAttribute("checked",!0);else if(a.value===s.attributes.xfaOff)e.removeAttribute("checked");if(r==="print")break;e.addEventListener("change",(l)=>{i.setValue(n,{value:l.target.checked?l.target.getAttribute("xfaOn"):l.target.getAttribute("xfaOff")})})}else{if(a.value!==null)e.setAttribute("value",a.value);if(r==="print")break;e.addEventListener("input",(l)=>{i.setValue(n,{value:l.target.value})})}break;case"select":if(a.value!==null){e.setAttribute("value",a.value);for(let l of s.children)if(l.attributes.value===a.value)l.attributes.selected=!0;else if(Object.hasOwn(l.attributes,"selected"))delete l.attributes.selected}e.addEventListener("input",(l)=>{let c=l.target.options,f=c.selectedIndex===-1?"":c[c.selectedIndex].value;i.setValue(n,{value:f})});break}}static setAttributes({html:e,element:n,storage:s=null,intent:i,linkService:r}){let{attributes:a}=n,l=e instanceof HTMLAnchorElement;if(a.type==="radio")a.name=`${a.name}-${i}`;for(let[c,f]of Object.entries(a)){if(f===null||f===void 0)continue;if(Jq.test(c))continue;if(i==="richText"&&!this._allowedRichTextAttributes.has(c))continue;switch(c){case"class":if(f.length)e.setAttribute(c,f.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",f);break;case"style":if(i==="richText"){let d=this._allowedRichTextStyles;for(let[g,b]of Object.entries(f))if(d.has(g)&&!Qq.test(b))e.style[g]=b}else Object.assign(e.style,f);break;case"textContent":e.textContent=f;break;default:if(!l||c!=="href"&&c!=="newWindow")e.setAttribute(c,f)}}if(l)r?.addLinkAttributes(e,a.href,a.newWindow);if(s&&a.dataId)this.setupStorage(e,a.dataId,n,s)}static#e(e,n,s){if(s==="richText")return!n&&this._allowedRichTextElements.has(e)?document.createElement(e):null;if(n)return n==="http://www.w3.org/2000/svg"&&this._allowedSvgElements.has(e)?document.createElementNS("http://www.w3.org/2000/svg",e):null;return this._allowedHtmlElements.has(e)?document.createElement(e):null}static render(e){let{annotationStorage:n,linkService:s,xfaHtml:i}=e,r=e.intent||"display",a=this.#e(i.name,i.attributes?.xmlns,r)??document.createElement("div");if(i.attributes)this.setAttributes({html:a,element:i,intent:r,linkService:s});let l=r!=="richText",c=e.div;if(c.append(a),e.viewport){let g=`matrix(${e.viewport.transform.join(",")})`;c.style.transform=g}if(l)c.setAttribute("class","xfaLayer xfaFont");let f=[];if(i.children.length===0){if(i.value){let g=document.createTextNode(i.value);if(a.append(g),l&&lu.shouldBuildText(i.name))f.push(g)}return{textDivs:f}}let d=[[i,-1,a]];while(d.length>0){let[g,b,y]=d.at(-1);if(b+1===g.children.length){d.pop();continue}let v=g.children[++d.at(-1)[1]];if(v===null)continue;let{name:x}=v;if(x==="#text"){let R=document.createTextNode(v.value);f.push(R),y.append(R);continue}let T=this.#e(x,v.attributes?.xmlns,r);if(!T)continue;if(y.append(T),v.attributes)this.setAttributes({html:T,element:v,storage:n,intent:r,linkService:s});if(v.children?.length>0)d.push([v,-1,T]);else if(v.value){let R=document.createTextNode(v.value);if(l&&lu.shouldBuildText(x))f.push(R);T.append(R)}}for(let g of c.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))g.setAttribute("readOnly",!0);return{textDivs:f}}static update(e){let n=`matrix(${e.viewport.transform.join(",")})`;e.div.style.transform=n,e.div.hidden=!1}static getPageViewport(e,{scale:n=1,rotation:s=0}){let{width:i,height:r}=e.attributes.style;return new wu({viewBox:[0,0,parseInt(i,10),parseInt(r,10)],userUnit:1,scale:n,rotation:s})}}class hc{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function a2(e,n="text"){if(su(e,document.baseURI)){let s=await fetch(e);if(!s.ok)throw Error(s.statusText);switch(n){case"blob":return s.blob();case"bytes":return s.bytes();case"json":return s.json()}return s.text()}return new Promise((s,i)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType=n==="bytes"?"arraybuffer":n,r.onreadystatechange=()=>{if(r.readyState!==XMLHttpRequest.DONE)return;if(r.status===200||r.status===0){switch(n){case"bytes":s(new Uint8Array(r.response));return;case"blob":case"json":s(r.response);return}s(r.responseText);return}i(Error(r.statusText))},r.send(null)})}class xm extends mc{constructor(e,n=0){super(e,"RenderingCancelledException");this.extraDelay=n}}function Am(e){let n=e.length,s=0;while(s<n&&e[s].trim()==="")s++;return e.substring(s,s+5).toLowerCase()==="data:"}function o2(e){return typeof e==="string"&&/\.pdf$/i.test(e)}function Zq(e){return[e]=e.split(/[#?]/,1),Xb(e)}function eM(e,n="document.pdf"){if(typeof e!=="string")return n;if(Am(e))return ln('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),n;let i=((c)=>{try{return new URL(c)}catch{}try{return new URL(decodeURIComponent(c))}catch{}try{return new URL(c,"https://foo.bar")}catch{}try{return new URL(decodeURIComponent(c),"https://foo.bar")}catch{}return null})(e);if(!i)return n;let r=(c)=>{try{let f=decodeURIComponent(c);if(f.includes("/")){if(f=Xb(f),f.length===4&&a.test(f))return c}return f}catch{return c}},a=/\.pdf$/i,l=Xb(i.pathname);if(a.test(l))return r(l);if(i.searchParams.size>0){let c=(d)=>[...d].findLast((g)=>a.test(g)),f=c(i.searchParams.values())??c(i.searchParams.keys());if(f)return r(f)}if(i.hash){let{hash:c}=i,f=-1;for(let{index:d}of c.matchAll(/\.pdf\b/gi))f=d;if(f>0){let d=f;while(d>0&&!"/?#=".includes(c[d-1]))d--;if(d<f)return r(c.slice(d,f+4))}}return n}class Kb{#e=new Map;times=[];time(e){if(this.#e.has(e))ln(`Timer is already running for ${e}`);this.#e.set(e,Date.now())}timeEnd(e){if(!this.#e.has(e))ln(`Timer has not been started for ${e}`);this.times.push({name:e,start:this.#e.get(e),end:Date.now()}),this.#e.delete(e)}toString(){let e=Math.max(...this.times.map((n)=>n.name.length));return this.times.map((n)=>`${n.name.padEnd(e)} ${n.end-n.start}ms
75
- `).join("")}}function su(e,n){let s=n?URL.parse(e,n):URL.parse(e);return/https?:/.test(s?.protocol??"")}function ma(e){e.preventDefault()}function li(e){e.preventDefault(),e.stopPropagation()}class fm{static#e;static toDateObject(e){if(e instanceof Date)return e;if(!e||typeof e!=="string")return null;this.#e||=new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+\\-])?(\\d{2})?'?(\\d{2})?'?");let n=this.#e.exec(e);if(!n)return null;let s=parseInt(n[1],10),i=parseInt(n[2],10);i=i>=1&&i<=12?i-1:0;let r=parseInt(n[3],10);r=r>=1&&r<=31?r:1;let a=parseInt(n[4],10);a=a>=0&&a<=23?a:0;let l=parseInt(n[5],10);l=l>=0&&l<=59?l:0;let c=parseInt(n[6],10);c=c>=0&&c<=59?c:0;let f=n[7]||"Z",d=parseInt(n[8],10);d=d>=0&&d<=23?d:0;let g=parseInt(n[9],10)||0;if(g=g>=0&&g<=59?g:0,f==="-")a+=d,l+=g;else if(f==="+")a-=d,l-=g;return new Date(Date.UTC(s,i,r,a,l,c))}}function vu(e){if(e.startsWith("#")){let s=e.slice(1);return[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),s.length>=8?parseInt(s.slice(6,8),16)/255:1]}if(e.startsWith("rgb(")){let[s,i,r]=e.slice(4,-1).split(",").map((a)=>parseInt(a,10));return[s,i,r,1]}if(e.startsWith("rgba(")){let s=e.slice(5,-1).split(",");return[parseInt(s[0],10),parseInt(s[1],10),parseInt(s[2],10),parseFloat(s[3])]}let n=e.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);if(n)return[Math.round(parseFloat(n[1])*255),Math.round(parseFloat(n[2])*255),Math.round(parseFloat(n[3])*255),n[4]!==void 0&&n[4]!=="none"?parseFloat(n[4]):1];return null}function Su(e){let n=vu(e);if(!n)return ln(`Not a valid color format: "${e}"`),[0,0,0];return n.slice(0,3)}function tM(e){let n=document.createElement("span");n.style.visibility="hidden",n.style.colorScheme="only light",document.body.append(n);for(let s of e.keys()){n.style.color=s;let i=window.getComputedStyle(n).color;e.set(s,Su(i))}n.remove()}function ds(e){let{a:n,b:s,c:i,d:r,e:a,f:l}=e.getTransform();return[n,s,i,r,a,l]}function Xa(e){let{a:n,b:s,c:i,d:r,e:a,f:l}=e.getTransform().invertSelf();return[n,s,i,r,a,l]}function uc(e,n,s=!1,i=!0){if(n instanceof wu){let{pageWidth:r,pageHeight:a}=n.rawDims,{style:l}=e,c=`round(down, var(--total-scale-factor) * ${r}px, var(--scale-round-x))`,f=`round(down, var(--total-scale-factor) * ${a}px, var(--scale-round-y))`;if(!s||n.rotation%180===0)l.width=c,l.height=f;else l.width=f,l.height=c}if(i)e.setAttribute("data-main-rotation",n.rotation)}class ga{constructor(){let{pixelRatio:e}=ga;this.sx=e,this.sy=e}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}limitCanvas(e,n,s,i,r=-1){let a=1/0,l=1/0,c=1/0;if(s=ga.capPixels(s,r),s>0)a=Math.sqrt(s/(e*n));if(i!==-1)l=i/e,c=i/n;let f=Math.min(a,l,c);if(this.sx>f||this.sy>f)return this.sx=f,this.sy=f,!0;return!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(e,n){if(n>=0){let s=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+n/100));return e>0?Math.min(e,s):s}return e}}var Yb=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];class v7{static get isDarkMode(){return Pt(this,"isDarkMode",!!window?.matchMedia?.("(prefers-color-scheme: dark)").matches)}}class S7{static get commentForegroundColor(){let e=document.createElement("span");e.classList.add("comment","sidebar");let{style:n}=e;n.width=n.height="0",n.display="none",n.color="var(--comment-fg-color)",document.body.append(e);let{color:s}=window.getComputedStyle(e);return e.remove(),Pt(this,"commentForegroundColor",Su(s))}}function nM(e,n){n=gs(n??1,0,1);let s=255*(1-n);return e.map((i)=>Math.round(i*n+s))}function G8(e,n){let s=e[0]/255,i=e[1]/255,r=e[2]/255,a=Math.max(s,i,r),l=Math.min(s,i,r),c=(a+l)/2;if(a===l)n[0]=n[1]=0;else{let f=a-l;switch(n[1]=c<0.5?f/(a+l):f/(2-a-l),a){case s:n[0]=((i-r)/f+(i<r?6:0))*60;break;case i:n[0]=((r-s)/f+2)*60;break;case r:n[0]=((s-i)/f+4)*60;break}}n[2]=c}function Qb(e,n){let s=e[0],i=e[1],r=e[2],a=(1-Math.abs(2*r-1))*i,l=a*(1-Math.abs(s/60%2-1)),c=r-a/2;switch(Math.floor(s/60)){case 0:n[0]=a+c,n[1]=l+c,n[2]=c;break;case 1:n[0]=l+c,n[1]=a+c,n[2]=c;break;case 2:n[0]=c,n[1]=a+c,n[2]=l+c;break;case 3:n[0]=c,n[1]=l+c,n[2]=a+c;break;case 4:n[0]=l+c,n[1]=c,n[2]=a+c;break;case 5:case 6:n[0]=a+c,n[1]=c,n[2]=l+c;break}}function Jb(e){return e<=0.03928?e/12.92:((e+0.055)/1.055)**2.4}function V8(e,n,s){Qb(e,s),s.map(Jb);let i=0.2126*s[0]+0.7152*s[1]+0.0722*s[2];Qb(n,s),s.map(Jb);let r=0.2126*s[0]+0.7152*s[1]+0.0722*s[2];return i>r?(i+0.05)/(r+0.05):(r+0.05)/(i+0.05)}var $8=new Map;function sM(e,n){let s=e[0]+e[1]*256+e[2]*65536+n[0]*16777216+n[1]*4294967296+n[2]*1099511627776,i=$8.get(s);if(i)return i;let r=new Float32Array(9),a=r.subarray(0,3),l=r.subarray(3,6);G8(e,l);let c=r.subarray(6,9);G8(n,c);let f=c[2]<0.5,d=f?12:4.5;if(l[2]=f?Math.sqrt(l[2]):1-Math.sqrt(1-l[2]),V8(l,c,a)<d){let g,b;if(f)g=l[2],b=1;else g=0,b=l[2];let y=0.005;while(b-g>y){let v=l[2]=(g+b)/2;if(f===V8(l,c,a)<d)g=v;else b=v}l[2]=f?b:g}return Qb(l,a),i=ft.makeHexColor(Math.round(a[0]*255),Math.round(a[1]*255),Math.round(a[2]*255)),$8.set(s,i),i}function k7({html:e,dir:n,className:s},i){let r=document.createDocumentFragment();if(typeof e==="string"){let a=document.createElement("p");a.dir=n||"auto";let l=e.split(/\r\n?|\n/);for(let c=0,f=l.length;c<f;++c){let d=l[c];if(a.append(document.createTextNode(d)),c<f-1)a.append(document.createElement("br"))}r.append(a)}else r2.render({xfaHtml:e,div:r,intent:"richText"});r.firstElementChild.classList.add("richText",s),i.append(r)}function x7(e){let n=new Path2D;if(!e)return n;for(let s=0,i=e.length;s<i;)switch(e[s++]){case Jh.moveTo:n.moveTo(e[s++],e[s++]);break;case Jh.lineTo:n.lineTo(e[s++],e[s++]);break;case Jh.curveTo:n.bezierCurveTo(e[s++],e[s++],e[s++],e[s++],e[s++],e[s++]);break;case Jh.quadraticCurveTo:n.quadraticCurveTo(e[s++],e[s++],e[s++],e[s++]);break;case Jh.closePath:n.closePath();break;default:ln(`Unrecognized drawing path operator: ${e[s-1]}`);break}return n}class iu{#e=null;#t=null;#n;#s=null;#i=null;#a=null;#r=null;#o=null;static#l=null;constructor(e){this.#n=e,iu.#l||=Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button",signature:"pdfjs-editor-remove-signature-button"})}render(){let e=this.#e=document.createElement("div");e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");let n=this.#n._uiManager._signal;if(n instanceof AbortSignal&&!n.aborted)e.addEventListener("contextmenu",ma,{signal:n}),e.addEventListener("pointerdown",iu.#c,{signal:n});let s=this.#s=document.createElement("div");s.className="buttons",e.append(s);let i=this.#n.toolbarPosition;if(i){let{style:r}=e,a=this.#n._uiManager.direction==="ltr"?1-i[0]:i[0];r.insetInlineEnd=`${100*a}%`,r.top=`calc(${100*i[1]}% + var(--editor-toolbar-vert-offset))`}return e}get div(){return this.#e}static#c(e){e.stopPropagation()}#u(e){this.#n._focusEventsAllowed=!1,li(e)}#h(e){this.#n._focusEventsAllowed=!0,li(e)}#d(e){let n=this.#n._uiManager._signal;if(!(n instanceof AbortSignal)||n.aborted)return!1;return e.addEventListener("focusin",this.#u.bind(this),{capture:!0,signal:n}),e.addEventListener("focusout",this.#h.bind(this),{capture:!0,signal:n}),e.addEventListener("contextmenu",ma,{signal:n}),!0}hide(){this.#e.classList.add("hidden"),this.#t?.hideDropdown()}show(){this.#e.classList.remove("hidden"),this.#i?.shown(),this.#a?.shown()}addDeleteButton(){let{editorType:e,_uiManager:n}=this.#n,s=document.createElement("button");if(s.classList.add("basic","deleteButton"),s.tabIndex=0,s.setAttribute("data-l10n-id",iu.#l[e]),this.#d(s))s.addEventListener("click",(i)=>{n.delete()},{signal:n._signal});this.#s.append(s)}get#p(){let e=document.createElement("div");return e.className="divider",e}async addAltText(e){let n=await e.render();this.#d(n),this.#s.append(n,this.#p),this.#i=e}addComment(e,n=null){if(this.#a)return;let s=e.renderForToolbar();if(!s)return;this.#d(s);let i=this.#r=this.#p;if(!n)this.#s.append(s,i);else this.#s.insertBefore(s,n),this.#s.insertBefore(i,n);this.#a=e,e.toolbar=this}addColorPicker(e){if(this.#t)return;this.#t=e;let n=e.renderButton();this.#d(n),this.#s.append(n,this.#p)}async addEditSignatureButton(e){let n=this.#o=await e.renderEditButton(this.#n);this.#d(n),this.#s.append(n,this.#p)}removeButton(e){switch(e){case"comment":this.#a?.removeToolbarCommentButton(),this.#a=null,this.#r?.remove(),this.#r=null;break}}async addButton(e,n){switch(e){case"colorPicker":if(n)this.addColorPicker(n);break;case"altText":if(n)await this.addAltText(n);break;case"editSignature":if(n)await this.addEditSignatureButton(n);break;case"delete":this.addDeleteButton();break;case"comment":if(n)this.addComment(n);break}}async addButtonBefore(e,n,s){if(!n&&e==="comment")return;let i=this.#s.querySelector(s);if(!i)return;if(e==="comment")this.addComment(n,i)}updateEditSignatureButton(e){if(this.#o)this.#o.title=e}remove(){this.#e.remove(),this.#t?.destroy(),this.#t=null}}class A7{#e=null;#t=null;#n;constructor(e){this.#n=e}#s(){let e=this.#t=document.createElement("div");e.className="editToolbar",e.setAttribute("role","toolbar"),e.dir=this.#n.direction;let n=this.#n._signal;if(n instanceof AbortSignal&&!n.aborted)e.addEventListener("contextmenu",ma,{signal:n});let s=this.#e=document.createElement("div");if(s.className="buttons",e.append(s),this.#n.hasCommentManager())this.#a("commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{this.#n.commentSelection("floating_button")});return this.#a("highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{this.#n.highlightSelection("floating_button")}),e}#i(e,n){let s=0,i=0;for(let r of e){let a=r.y+r.height;if(a<s)continue;let l=r.x+(n?r.width:0);if(a>s){i=l,s=a;continue}if(n){if(l>i)i=l}else if(l<i)i=l}return[n?1-i:i,s]}show(e,n,s){let[i,r]=this.#i(n,s),{style:a}=this.#t||=this.#s();e.append(this.#t),a.insetInlineEnd=`${100*i}%`,a.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){this.#t.remove()}#a(e,n,s,i){let r=document.createElement("button");r.classList.add("basic",e),r.tabIndex=0,r.setAttribute("data-l10n-id",n);let a=document.createElement("span");r.append(a),a.className="visuallyHidden",a.setAttribute("data-l10n-id",s);let l=this.#n._signal;if(l instanceof AbortSignal&&!l.aborted)r.addEventListener("contextmenu",ma,{signal:l}),r.addEventListener("click",i,{signal:l});this.#e.append(r)}}var iM="59968104-cc61-4cf9-b570-014b35b3709c",Ub=Object.freeze({internal:iM});function T7(e,n,s){for(let i of s)n.addEventListener(i,e[i].bind(e))}class Bn{static#e=NaN;static#t=null;static#n=NaN;static#s=null;static initializeAndAddPointerId(e){(Bn.#t||=new Set).add(e)}static setPointer(e,n){Bn.#e||=n,Bn.#s??=e}static setTimeStamp(e){Bn.#n=e}static isSamePointerId(e){return Bn.#e===e}static isSamePointerIdOrRemove(e){if(Bn.#e===e)return!0;return Bn.#t?.delete(e),!1}static isSamePointerType(e){return Bn.#s===e}static isInitializedAndDifferentPointerType(e){return Bn.#s!==null&&!Bn.isSamePointerType(e)}static isSameTimeStamp(e){return Bn.#n===e}static isUsingMultiplePointers(){return Bn.#t?.size>=1}static clearPointerType(){Bn.#s=null}static clearPointerIds(){Bn.#e=NaN,Bn.#t=null}static clearTimeStamp(){Bn.#n=NaN}}class E7{#e=0;get id(){return`pdfjs_internal_editor_${this.#e++}`}}class l2{#e=y7();#t=0;#n=null;static get _isSVGFittingCanvas(){let s=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),i=new Image;i.src='data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>';let r=i.decode().then(()=>(s.drawImage(i,0,0,1,1,0,0,1,3),new Uint32Array(s.getImageData(0,0,1,1).data.buffer)[0]===0));return Pt(this,"_isSVGFittingCanvas",r)}async#s(e,n){this.#n||=new Map;let s=this.#n.get(e);if(s===null)return null;if(s?.bitmap)return s.refCounter+=1,s;try{s||={bitmap:null,id:`image_${this.#e}_${this.#t++}`,refCounter:0,isSvg:!1};let i;if(typeof n==="string")s.url=n,i=await a2(n,"blob");else if(n instanceof File)i=s.file=n;else if(n instanceof Blob)i=n;if(i.type==="image/svg+xml"){let r=l2._isSVGFittingCanvas,a=new FileReader,l=new Image,c=new Promise((f,d)=>{l.onload=()=>{s.bitmap=l,s.isSvg=!0,f()},a.onload=async()=>{let g=s.svgUrl=a.result;l.src=await r?`${g}#svgView(preserveAspectRatio(none))`:g},l.onerror=a.onerror=d});a.readAsDataURL(i),await c}else s.bitmap=await createImageBitmap(i);s.refCounter=1}catch(i){ln(i),s=null}if(this.#n.set(e,s),s)this.#n.set(s.id,s);return s}async getFromFile(e){let{lastModified:n,name:s,size:i,type:r}=e;return this.#s(`${n}_${s}_${i}_${r}`,e)}async getFromUrl(e){return this.#s(e,e)}async getFromBlob(e,n){let s=await n;return this.#s(e,s)}async getFromId(e){this.#n||=new Map;let n=this.#n.get(e);if(!n)return null;if(n.bitmap)return n.refCounter+=1,n;if(n.file)return this.getFromFile(n.file);if(n.blobPromise){let{blobPromise:s}=n;return delete n.blobPromise,this.getFromBlob(n.id,s)}return this.getFromUrl(n.url)}getFromCanvas(e,n){this.#n||=new Map;let s=this.#n.get(e);if(s?.bitmap)return s.refCounter+=1,s;let i=new OffscreenCanvas(n.width,n.height);return i.getContext("2d").drawImage(n,0,0),s={bitmap:i.transferToImageBitmap(),id:`image_${this.#e}_${this.#t++}`,refCounter:1,isSvg:!1},this.#n.set(e,s),this.#n.set(s.id,s),s}getSvgUrl(e){let n=this.#n.get(e);if(!n?.isSvg)return null;return n.svgUrl}deleteId(e){this.#n||=new Map;let n=this.#n.get(e);if(!n)return;if(n.refCounter-=1,n.refCounter!==0)return;let{bitmap:s}=n;if(!n.url&&!n.file){let i=new OffscreenCanvas(s.width,s.height);i.getContext("bitmaprenderer").transferFromImageBitmap(s),n.blobPromise=i.convertToBlob()}s.close?.(),n.bitmap=null}isValidId(e){return e.startsWith(`image_${this.#e}_`)}}class C7{#e=[];#t=!1;#n;#s=-1;constructor(e=128){this.#n=e}add({cmd:e,undo:n,post:s,mustExec:i,type:r=NaN,overwriteIfSameType:a=!1,keepUndo:l=!1}){if(i)e();if(this.#t)return;let c={cmd:e,undo:n,post:s,type:r};if(this.#s===-1){if(this.#e.length>0)this.#e.length=0;this.#s=0,this.#e.push(c);return}if(a&&this.#e[this.#s].type===r){if(l)c.undo=this.#e[this.#s].undo;this.#e[this.#s]=c;return}let f=this.#s+1;if(f===this.#n)this.#e.splice(0,1);else if(this.#s=f,f<this.#e.length)this.#e.splice(f);this.#e.push(c)}undo(){if(this.#s===-1)return;this.#t=!0;let{undo:e,post:n}=this.#e[this.#s];e(),n?.(),this.#t=!1,this.#s-=1}redo(){if(this.#s<this.#e.length-1){this.#s+=1,this.#t=!0;let{cmd:e,post:n}=this.#e[this.#s];e(),n?.(),this.#t=!1}}hasSomethingToUndo(){return this.#s!==-1}hasSomethingToRedo(){return this.#s<this.#e.length-1}cleanType(e){if(this.#s===-1)return;for(let n=this.#s;n>=0;n--)if(this.#e[n].type!==e){this.#e.splice(n+1,this.#s-n),this.#s=n;return}this.#e.length=0,this.#s=-1}destroy(){this.#e=null}}class vr{static ALT=1;static CTRL=2;static META=4;static SHIFT=8;constructor(e){this.callbacks=new Map;let{isMac:n}=Xn.platform;for(let[s,i,r={}]of e){let a=s.some((l)=>l.startsWith("mac+"));for(let l of s){let c=l;if(a){let g=l.startsWith("mac+");if(n!==g)continue;if(g)c=l.slice(4)}let[f,d]=vr.#e(c);if(f===null)continue;this.callbacks.getOrInsertComputed(f,Af).push({callback:i,options:r,modifiers:d})}}}static#e(e){let n=null,s=0;for(let i of e.split("+")){if(i=i.trim(),!i)continue;let r=i.toUpperCase(),a=vr[r];if(a){s|=a;continue}if(n!==null){ln(`KeyboardManager: multiple keys in shortcut "${e}"`);break}n=r==="SPACE"?" ":i}if(n===null)ln(`KeyboardManager: no key found in shortcut "${e}"`);return[n,s]}static#t(e){let n=/^(?:Key([A-Z])|(?:Digit|Numpad)(\d))$/.exec(e);if(!n)return null;return n[1]?.toLowerCase()??n[2]}exec(e,n){let s=this.callbacks.get(n.key);if(!s){if(/^[a-z]$/i.test(n.key))return;let d=vr.#t(n.code);if(d===null||d===n.key)return;if(s=this.callbacks.get(d),!s)return}let i=(n.altKey?vr.ALT:0)|(n.ctrlKey?vr.CTRL:0)|(n.metaKey?vr.META:0)|(n.shiftKey?vr.SHIFT:0),r=s.find((d)=>d.modifiers===i);if(!r)return;let{callback:a,options:{bubbles:l=!1,args:c=[],checker:f=null}}=r;if(f&&!f(e,n))return;if(a.bind(e,...c,n)(),!l)li(n)}}class c2{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){let e=new Map([["CanvasText",null],["Canvas",null]]);return tM(e),Pt(this,"_colors",e)}convert(e){let n=Su(e);if(!window.matchMedia("(forced-colors: active)").matches)return n;for(let[s,i]of this._colors)if(i.every((r,a)=>r===n[a]))return c2._colorsMapping.get(s);return n}getHexCode(e){let n=this._colors.get(e);if(!n)return e;return ft.makeHexColor(...n)}}class xl{#e=new AbortController;#t=null;#n=null;#s=new Map;#i=new Map;#a=null;#r=null;#o=null;#l=null;#c=null;#u=new C7;#h=null;#d=null;#p=null;#g=0;#f=new Set;#m=null;#b=null;#w=new Set;_editorUndoBar=null;#y=!1;#v=!1;#x=!1;#k=null;#A=null;#T=null;#I=null;#j=!1;#C=null;#D=new E7;#R=!1;#q=!1;#B=!1;#M=null;#L=null;#G=null;#O=null;#H=null;#E=sn.NONE;#S=new Set;#P=null;#U=null;#V=null;#Y=null;#W=null;#K={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#F=[0,0];#$=null;#X=null;#ee=null;#te=null;#N=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let e=xl.prototype,n=(a)=>a.#X.contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&a.hasSomethingToControl(),s=(a,{target:l})=>{if(l instanceof HTMLInputElement){let{type:c}=l;return c!=="text"&&c!=="number"}return!0},i=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return Pt(this,"_keyboardManager",new vr([[["ctrl+a","mac+meta+a"],e.selectAll,{checker:s}],[["ctrl+z","mac+meta+z"],e.undo,{checker:s}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],e.redo,{checker:s}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],e.delete,{checker:s}],[["Enter"],e.addNewEditorFromKeyboard,{checker:(a,{target:l})=>!(l instanceof HTMLButtonElement)&&a.#X.contains(l)&&!a.isEnterHandled}],[["Space"],e.addNewEditorFromKeyboard,{checker:(a,{target:l})=>!(l instanceof HTMLButtonElement)&&a.#X.contains(document.activeElement)}],[["Escape"],e.unselectAll],[["ArrowLeft"],e.translateSelectedEditors,{args:[-i,0],checker:n}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e.translateSelectedEditors,{args:[-r,0],checker:n}],[["ArrowRight"],e.translateSelectedEditors,{args:[i,0],checker:n}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e.translateSelectedEditors,{args:[r,0],checker:n}],[["ArrowUp"],e.translateSelectedEditors,{args:[0,-i],checker:n}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e.translateSelectedEditors,{args:[0,-r],checker:n}],[["ArrowDown"],e.translateSelectedEditors,{args:[0,i],checker:n}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e.translateSelectedEditors,{args:[0,r],checker:n}]]))}constructor(e,n,s,i,r,a,l,c,f,d,g,b,y,v,x,T){let R=this._signal=this.#e.signal;this.#X=e,this.#ee=n,this.#te=s,this.#o=i,this.#h=r,this.#U=a,this.#W=c,this._eventBus=l;let N={signal:R,...Ub};l.on("editingaction",this.onEditingAction.bind(this),N),l.on("pagechanging",this.onPageChanging.bind(this),N),l.on("scalechanging",this.onScaleChanging.bind(this),N),l.on("rotationchanging",this.onRotationChanging.bind(this),N),l.on("setpreference",this.onSetPreference.bind(this),N),l.on("switchannotationeditorparams",(U)=>this.updateParams(U.type,U.value),N),window.addEventListener("pointerdown",()=>{this.#q=!0},{capture:!0,signal:R}),window.addEventListener("pointerup",()=>{this.#q=!1},{capture:!0,signal:R}),window.addEventListener("beforeunload",this.endCurrentEditing.bind(this),{capture:!0,signal:R}),this.#le(),this.#me(),this.#se(),this.#l=c.annotationStorage,this.#k=c.filterFactory,this.#V=f,this.#I=d||null,this.#y=g,this.#v=b,this.#x=y,this.#H=v||null,this.viewParameters={realScale:hc.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=x||null,this._supportsPinchToZoom=T!==!1,r?.setSidebarUiManager(this)}destroy(){this.#N?.resolve(),this.#N=null,this.#e?.abort(),this.#e=null,this._signal=null;for(let e of this.#i.values())e.destroy();if(this.#i.clear(),this.#s.clear(),this.#w.clear(),this.#O?.clear(),this.#t=null,this.#S.clear(),this.#u.destroy(),this.#o?.destroy(),this.#h?.destroy(),this.#U?.destroy(),this.#C?.hide(),this.#C=null,this.#G?.destroy(),this.#G=null,this.#n=null,this.#A)clearTimeout(this.#A),this.#A=null;if(this.#$)clearTimeout(this.#$),this.#$=null;this._editorUndoBar?.destroy(),this.#W=null}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return this.#H}get useNewAltTextFlow(){return this.#v}get useNewAltTextWhenAddingImage(){return this.#x}get hcmFilter(){return Pt(this,"hcmFilter",this.#V?this.#k.addHCMFilter(this.#V.foreground,this.#V.background):"none")}get direction(){return Pt(this,"direction",getComputedStyle(this.#X).direction)}get _highlightColors(){return Pt(this,"_highlightColors",this.#I?new Map(this.#I.split(",").map((e)=>(e=e.split("=").map((n)=>n.trim()),e[1]=e[1].toUpperCase(),e))):null)}get highlightColors(){let{_highlightColors:e}=this;if(!e)return Pt(this,"highlightColors",null);let n=new Map,s=!!this.#V;for(let[i,r]of e){let a=i.endsWith("_HCM");if(s&&a){n.set(i.replace("_HCM",""),r);continue}if(!s&&!a)n.set(i,r)}return Pt(this,"highlightColors",n)}get highlightColorNames(){return Pt(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,(e)=>e.reverse())):null)}getNonHCMColor(e){if(!this._highlightColors)return e;let n=this.highlightColorNames.get(e);return this._highlightColors.get(n)||e}getNonHCMColorName(e){return this.highlightColorNames.get(e)||e}setCurrentDrawingSession(e){if(e)this.unselectAll(),this.disableUserSelect(!0);else this.disableUserSelect(!1);this.#p=e}setMainHighlightColorPicker(e){this.#G=e}editAltText(e,n=!1){this.#o?.editAltText(this,e,n)}hasCommentManager(){return!!this.#h}editComment(e,n,s,i){this.#h?.showDialog(this,e,n,s,i)}selectComment(e,n){this.#i.get(e)?.getEditorByUID(n)?.toggleComment(!0,!0)}updateComment(e){this.#h?.updateComment(e.getData())}updatePopupColor(e){this.#h?.updatePopupColor(e)}removeComment(e){this.#h?.removeComments([e.uid])}deleteComment(e,n){let s=()=>{e.comment=n},i=()=>{this._editorUndoBar?.show(s,"comment"),this.toggleComment(null),e.comment=null};this.addCommands({cmd:i,undo:s,mustExec:!0})}toggleComment(e,n,s=void 0){this.#h?.toggleCommentPopup(e,n,s)}makeCommentColor(e,n){return e&&this.#h?.makeCommentColor(e,n)||null}getCommentDialogElement(){return this.#h?.dialogElement||null}async waitForEditorsRendered(e){if(this.#i.has(e-1))return;let{resolve:n,promise:s}=Promise.withResolvers(),i=(r)=>{if(r.pageNumber===e)this._eventBus.off("editorsrendered",i),n()};this._eventBus.on("editorsrendered",i,Ub),await s}getSignature(e){this.#U?.getSignature({uiManager:this,editor:e})}get signatureManager(){return this.#U}switchToMode(e,n){this._eventBus.on("annotationeditormodechanged",n,{once:!0,signal:this._signal,...Ub}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:e})}setPreference(e,n){this._eventBus.dispatch("setpreference",{source:this,name:e,value:n})}onSetPreference({name:e,value:n}){switch(e){case"enableNewAltTextWhenAddingImage":this.#x=n;break}}onPageChanging({pageNumber:e}){this.#g=e-1}deletePage(e){for(let n of this.getEditors(e))n.remove();if(this.#i.delete(e),this.#g===e)this.#g=0}focusMainContainer(){this.#X.focus()}findParent(e,n){for(let s of this.#i.values()){let{x:i,y:r,width:a,height:l}=s.div.getBoundingClientRect();if(e>=i&&e<=i+a&&n>=r&&n<=r+l)return s}return null}disableUserSelect(e=!1){this.#ee.classList.toggle("noUserSelect",e)}addShouldRescale(e){this.#w.add(e)}removeShouldRescale(e){this.#w.delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*hc.PDF_TO_CSS_UNITS;for(let n of this.#w)n.onScaleChanging();this.#p?.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}#Z({anchorNode:e}){return e.nodeType===Node.TEXT_NODE?e.parentElement:e}#ne(e){let{currentLayer:n}=this;if(n.hasTextLayer(e))return n;for(let s of this.#i.values())if(s.hasTextLayer(e))return s;return null}highlightSelection(e="",n=!1){let s=document.getSelection();if(!s||s.isCollapsed)return;let{anchorNode:i,anchorOffset:r,focusNode:a,focusOffset:l}=s,c=s.toString(),d=this.#Z(s).closest(".textLayer"),g=this.getSelectionBoxes(d);if(!g)return;s.empty();let b=this.#ne(d),y=this.#E===sn.NONE,v=()=>{let x=b?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:g,anchorNode:i,anchorOffset:r,focusNode:a,focusOffset:l,text:c});if(y)this.showAllEditors("highlight",!0,!0);if(n)x?.editComment()};if(y){this.switchToMode(sn.HIGHLIGHT,v);return}v()}commentSelection(e=""){this.highlightSelection(e,!0)}endCurrentEditing(){this.commitOrRemove(),this.currentLayer?.endDrawingSession(!1)}#ae(){let e=document.getSelection();if(!e||e.isCollapsed)return;let s=this.#Z(e).closest(".textLayer"),i=this.getSelectionBoxes(s);if(!i)return;this.#C||=new A7(this),this.#C.show(s,i,this.direction==="ltr")}getAndRemoveDataFromAnnotationStorage(e){if(!this.#l)return null;let n=`pdfjs_internal_editor_${e}`,s=this.#l.getRawValue(n);if(s)this.#l.remove(n);return s}addToAnnotationStorage(e){if(!e.isEmpty()&&this.#l&&!this.#l.has(e.id))this.#l.setValue(e.id,e)}a11yAlert(e,n=null){let s=this.#te;if(!s)return;if(s.setAttribute("data-l10n-id",e),n)s.setAttribute("data-l10n-args",JSON.stringify(n));else s.removeAttribute("data-l10n-args")}#oe(){let e=document.getSelection();if(!e||e.isCollapsed){if(this.#P)this.#C?.hide(),this.#P=null,this.#_({hasSelectedText:!1});return}let{anchorNode:n}=e;if(n===this.#P)return;let i=this.#Z(e).closest(".textLayer");if(!i){if(this.#P)this.#C?.hide(),this.#P=null,this.#_({hasSelectedText:!1});return}if(this.#C?.hide(),this.#P=n,this.#_({hasSelectedText:!0}),this.#E!==sn.HIGHLIGHT&&this.#E!==sn.NONE)return;if(this.#E===sn.HIGHLIGHT)this.showAllEditors("highlight",!0,!0);if(this.#j=this.isShiftKeyDown,!this.isShiftKeyDown){let r=this.#E===sn.HIGHLIGHT?this.#ne(i):null;if(r?.toggleDrawing(),this.#q){let a=new AbortController,l=this.combinedSignal(a),c=(f)=>{if(f.type==="pointerup"&&f.button!==0)return;if(a.abort(),r?.toggleDrawing(!0),f.type==="pointerup")this.#Q("main_toolbar")};window.addEventListener("pointerup",c,{signal:l}),window.addEventListener("blur",c,{signal:l})}else r?.toggleDrawing(!0),this.#Q("main_toolbar")}}#Q(e=""){if(this.#E===sn.HIGHLIGHT)this.highlightSelection(e);else if(this.#y)this.#ae()}#le(){document.addEventListener("selectionchange",this.#oe.bind(this),{signal:this._signal})}#ce(){if(this.#T)return;this.#T=new AbortController;let e=this.combinedSignal(this.#T);window.addEventListener("focus",this.focus.bind(this),{signal:e}),window.addEventListener("blur",this.blur.bind(this),{signal:e})}#fe(){this.#T?.abort(),this.#T=null}blur(){if(this.isShiftKeyDown=!1,this.#j)this.#j=!1,this.#Q("main_toolbar");if(!this.hasSelection)return;let{activeElement:e}=document;for(let n of this.#S)if(n.div.contains(e)){this.#L=[n,e],n._focusEventsAllowed=!1;break}}focus(){if(!this.#L)return;let[e,n]=this.#L;this.#L=null,n.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),n.focus()}#se(){if(this.#M)return;this.#M=new AbortController;let e=this.combinedSignal(this.#M);window.addEventListener("keydown",this.keydown.bind(this),{signal:e}),window.addEventListener("keyup",this.keyup.bind(this),{signal:e})}#he(){this.#M?.abort(),this.#M=null}#ue(){if(this.#d)return;this.#d=new AbortController;let e=this.combinedSignal(this.#d);document.addEventListener("copy",this.copy.bind(this),{signal:e}),document.addEventListener("cut",this.cut.bind(this),{signal:e}),document.addEventListener("paste",this.paste.bind(this),{signal:e})}#de(){this.#d?.abort(),this.#d=null}#me(){let e=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e}),document.addEventListener("drop",this.drop.bind(this),{signal:e})}addEditListeners(){this.#se(),this.setEditingState(!0)}removeEditListeners(){this.#he(),this.setEditingState(!1)}dragOver(e){for(let{type:n}of e.dataTransfer.items)for(let s of this.#b)if(s.isHandlingMimeForPasting(n)){e.dataTransfer.dropEffect="copy",e.preventDefault();return}}drop(e){for(let n of e.dataTransfer.items)for(let s of this.#b)if(s.isHandlingMimeForPasting(n.type)){s.paste(n,this.currentLayer),e.preventDefault();return}}copy(e){if(e.preventDefault(),this.#t?.commitOrRemove(),!this.hasSelection)return;let n=[];for(let s of this.#S){let i=s.serialize(!0);if(i)n.push(i)}if(n.length===0)return;e.clipboardData.setData("application/pdfjs",JSON.stringify(n))}cut(e){this.copy(e),this.delete()}async paste(e){e.preventDefault();let{clipboardData:n}=e;for(let r of n.items)for(let a of this.#b)if(a.isHandlingMimeForPasting(r.type)){a.paste(r,this.currentLayer);return}let s=n.getData("application/pdfjs");if(!s)return;try{s=JSON.parse(s)}catch(r){ln(`paste: "${r.message}".`);return}if(!Array.isArray(s))return;this.unselectAll();let i=this.currentLayer;try{let r=[];for(let c of s){let f=await i.deserialize(c);if(!f)return;r.push(f)}let a=()=>{for(let c of r)this.#ie(c);this.#re(r)},l=()=>{for(let c of r)c.remove()};this.addCommands({cmd:a,undo:l,mustExec:!0})}catch(r){ln(`paste: "${r.message}".`)}}keydown(e){if(!this.isShiftKeyDown&&e.key==="Shift")this.isShiftKeyDown=!0;if(this.#E!==sn.NONE&&!this.isEditorHandlingKeyboard)xl._keyboardManager.exec(this,e)}keyup(e){if(this.isShiftKeyDown&&e.key==="Shift"){if(this.isShiftKeyDown=!1,this.#j)this.#j=!1,this.#Q("main_toolbar")}}onEditingAction({name:e}){switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu");break}}updatePageIndex(e,n){for(let i of this.#r.get(e)||[])i.pageIndex=n;let s=this.#a.get(e);if(s)if(s.pageIndex=n,this.#i.set(n,s),this.#R)s.enable();else s.disable()}startUpdatePages(){this.#a=new Map(this.#i),this.#i.clear();let e=this.#r=new Map,n=(s)=>{e.getOrInsertComputed(s.pageIndex,Af).push(s)};for(let s of this.#s.values())n(s);for(let[s,i]of this.#l)if(s.startsWith("pdfjs_internal_editor_")&&!this.#s.has(s)&&Number.isInteger(i?.pageIndex))n(i)}endUpdatePages(){this.#a=null,this.#r=null}clonePage(e,n){for(let s of this.getEditors(e)){let i=s.serialize(s.mode!==sn.HIGHLIGHT);if(!i)continue;i.pageIndex=n,i.id=this.getId(),i.isClone=!0,delete i.popupRef,this.#l.setValue(i.id,i)}}findClonesForPage(e){let n=[],{pageIndex:s}=e;for(let[i,r]of this.#l)if(r.pageIndex===s&&r.isClone)this.#l.remove(i),n.push(e.deserialize(r).then((a)=>{if(a)a.isClone=!0,e.addOrRebuild(a)}));return Promise.all(n)}#_(e){if(Object.entries(e).some(([s,i])=>this.#K[s]!==i)){if(this._eventBus.dispatch("editingstateschanged",{source:this,details:Object.assign(this.#K,e)}),this.#E===sn.HIGHLIGHT&&e.hasSelectedEditor===!1)this.#z([[An.HIGHLIGHT_FREE,!0]])}}#z(e){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e})}setEditingState(e){if(e)this.#ce(),this.#ue(),this.#_({isEditing:this.#E!==sn.NONE,isEmpty:this.#J(),hasSomethingToUndo:this.#u.hasSomethingToUndo(),hasSomethingToRedo:this.#u.hasSomethingToRedo(),hasSelectedEditor:!1});else this.#fe(),this.#de(),this.#_({isEditing:!1}),this.disableUserSelect(!1)}registerEditorTypes(e){if(this.#b)return;this.#b=e;for(let n of this.#b)this.#z(n.defaultPropertiesToUpdate)}getId(){return this.#D.id}get currentLayer(){return this.#i.get(this.#g)}getLayer(e){return this.#i.get(e)}get currentPageIndex(){return this.#g}addLayer(e){if(this.#i.set(e.pageIndex,e),this.#R)e.enable();else e.disable()}removeLayer(e){this.#i.delete(e.pageIndex)}async updateMode(e,n=null,s=!1,i=!1,r=!1,a=!1){if(this.#E===e)return;if(this.#N){if(await this.#N.promise,!this.#N)return}if(this.#N=Promise.withResolvers(),this.#p?.commitOrRemove(),this.#E===sn.POPUP)this.#h?.hideSidebar();if(this.#h?.destroyPopup(),this.#E=e,e===sn.NONE){this.setEditingState(!1),this.#ge();for(let l of this.#s.values())l.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#N.resolve();return}for(let l of this.#s.values())l.addStandaloneCommentButton();if(e===sn.SIGNATURE)await this.#U?.loadSignatures();if(s)Bn.clearPointerType();this.setEditingState(!0),await this.#pe(),this.unselectAll();for(let l of this.#i.values())l.updateMode(e);if(e===sn.POPUP){this.#n||=await this.#W.getAnnotationsByType(new Set(this.#b.map((f)=>f._editorType)));let l=new Set,c=[];for(let f of this.#s.values()){let{annotationElementId:d,hasComment:g,deleted:b}=f;if(d)l.add(d);if(g&&!b)c.push(f.getData())}for(let f of this.#n){let{id:d,popupRef:g,contentsObj:b}=f;if(g&&b?.str&&!l.has(d)&&!this.#f.has(d))c.push(f)}this.#h?.showSidebar(c)}if(!n){if(i)this.addNewEditorFromKeyboard();this.#N.resolve();return}for(let l of this.#s.values())if(l.uid===n)if(this.setSelected(l),a)l.editComment();else if(r)l.enterInEditMode();else l.focus();else l.unselect();this.#N.resolve()}addNewEditorFromKeyboard(){if(this.currentLayer.canCreateNewEmptyEditor())this.currentLayer.addNewEditor()}updateToolbar(e){if(e.mode===this.#E)return;this._eventBus.dispatch("switchannotationeditormode",{source:this,...e})}updateParams(e,n){if(!this.#b)return;switch(e){case An.CREATE:this.currentLayer.addNewEditor(n);return;case An.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#Y||=new Map).set(e,n),this.showAllEditors("highlight",n);break}if(this.hasSelection)for(let s of this.#S)s.updateParams(e,n);else for(let s of this.#b)s.updateDefaultParams(e,n)}showAllEditors(e,n,s=!1){for(let r of this.#s.values())if(r.editorType===e)r.show(n);if((this.#Y?.get(An.HIGHLIGHT_SHOW_ALL)??!0)!==n)this.#z([[An.HIGHLIGHT_SHOW_ALL,n]])}enableWaiting(e=!1){if(this.#B===e)return;this.#B=e;for(let n of this.#i.values()){if(e)n.disableClick();else n.enableClick();n.div.classList.toggle("waiting",e)}}async#pe(){if(!this.#R){this.#R=!0;let e=[];for(let n of this.#i.values())e.push(n.enable());await Promise.all(e);for(let n of this.#s.values())n.enable()}}#ge(){if(this.unselectAll(),this.#R){this.#R=!1;for(let e of this.#i.values())e.disable();for(let e of this.#s.values())e.disable()}}*getEditors(e){for(let n of this.#s.values())if(n.pageIndex===e)yield n}getEditor(e){return this.#s.get(e)}addEditor(e){this.#s.set(e.id,e)}removeEditor(e){if(e.div.contains(document.activeElement)){if(this.#A)clearTimeout(this.#A);this.#A=setTimeout(()=>{this.focusMainContainer(),this.#A=null},0)}if(this.#s.delete(e.id),e.annotationElementId)this.#O?.delete(e.annotationElementId);if(this.unselect(e),!e.annotationElementId||!this.#f.has(e.annotationElementId))this.#l?.remove(e.id)}addDeletedAnnotationElement(e){this.#f.add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return this.#f.has(e)}removeDeletedAnnotationElement(e){this.#f.delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}#ie(e){let n=this.#i.get(e.pageIndex);if(n)n.addOrRebuild(e);else this.addEditor(e),this.addToAnnotationStorage(e)}setActiveEditor(e){if(this.#t===e)return;if(this.#t=e,e)this.#z(e.propertiesToUpdate)}get#be(){let e=null;for(e of this.#S);return e}updateUI(e){if(this.#be===e)this.#z(e.propertiesToUpdate)}updateUIForDefaultProperties(e){this.#z(e.defaultPropertiesToUpdate)}toggleSelected(e){if(this.#S.has(e)){this.#S.delete(e),e.unselect(),this.#_({hasSelectedEditor:this.hasSelection});return}this.#S.add(e),e.select(),this.#z(e.propertiesToUpdate),this.#_({hasSelectedEditor:!0})}setSelected(e){this.updateToolbar({mode:e.mode,editId:e.uid}),this.#p?.commitOrRemove();for(let n of this.#S)if(n!==e)n.unselect();this.#h?.destroyPopup(),this.#S.clear(),this.#S.add(e),e.select(),this.#z(e.propertiesToUpdate),this.#_({hasSelectedEditor:!0})}get firstSelectedEditor(){return this.#S.values().next().value}unselect(e){e.unselect(),this.#S.delete(e),this.#_({hasSelectedEditor:this.hasSelection})}get hasSelection(){return this.#S.size!==0}get isEnterHandled(){return this.#S.size===1&&this.firstSelectedEditor.isEnterHandled}undo(){this.#u.undo(),this.#_({hasSomethingToUndo:this.#u.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#J()}),this._editorUndoBar?.hide()}redo(){this.#u.redo(),this.#_({hasSomethingToUndo:!0,hasSomethingToRedo:this.#u.hasSomethingToRedo(),isEmpty:this.#J()})}addCommands(e){this.#u.add(e),this.#_({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#J()})}cleanUndoStack(e){this.#u.cleanType(e)}#J(){if(this.#s.size===0)return!0;if(this.#s.size===1)for(let e of this.#s.values())return e.isEmpty();return!1}delete(){this.commitOrRemove();let e=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!e)return;let n=e?[e]:[...this.#S],s=()=>{this._editorUndoBar?.show(i,n.length===1?n[0].editorType:n.length);for(let r of n)r.remove()},i=()=>{for(let r of n)this.#ie(r)};this.addCommands({cmd:s,undo:i,mustExec:!0})}commitOrRemove(){this.#t?.commitOrRemove()}hasSomethingToControl(){return this.#t||this.hasSelection}#re(e){for(let n of this.#S)n.unselect();this.#S.clear();for(let n of e){if(n.isEmpty())continue;this.#S.add(n),n.select()}this.#_({hasSelectedEditor:this.hasSelection})}selectAll(){for(let e of this.#S)e.commit();this.#re(this.#s.values())}unselectAll(){if(this.#t){if(this.#t.commitOrRemove(),this.#E!==sn.NONE)return}if(this.#p?.commitOrRemove())return;if(this.#h?.destroyPopup(),!this.hasSelection)return;for(let e of this.#S)e.unselect();this.#S.clear(),this.#_({hasSelectedEditor:!1})}translateSelectedEditors(e,n,s=!1){if(!s)this.commitOrRemove();if(!this.hasSelection)return;this.#F[0]+=e,this.#F[1]+=n;let[i,r]=this.#F,a=[...this.#S],l=1000;if(this.#$)clearTimeout(this.#$);this.#$=setTimeout(()=>{this.#$=null,this.#F[0]=this.#F[1]=0,this.addCommands({cmd:()=>{for(let c of a)if(this.#s.has(c.id))c.translateInPage(i,r),c.translationDone()},undo:()=>{for(let c of a)if(this.#s.has(c.id))c.translateInPage(-i,-r),c.translationDone()},mustExec:!1})},l);for(let c of a)c.translateInPage(e,n),c.translationDone()}setUpDragSession(){if(!this.hasSelection)return;this.disableUserSelect(!0),this.#m=new Map;for(let e of this.#S)this.#m.set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}endDragSession(){if(!this.#m)return!1;this.disableUserSelect(!1);let e=this.#m;this.#m=null;let n=!1;for(let[{x:i,y:r,pageIndex:a},l]of e)l.newX=i,l.newY=r,l.newPageIndex=a,n||=i!==l.savedX||r!==l.savedY||a!==l.savedPageIndex;if(!n)return!1;let s=(i,r,a,l)=>{if(this.#s.has(i.id)){let c=this.#i.get(l);if(c)i._setParentAndPosition(c,r,a);else i.pageIndex=l,i.x=r,i.y=a}};return this.addCommands({cmd:()=>{for(let[i,{newX:r,newY:a,newPageIndex:l}]of e)s(i,r,a,l)},undo:()=>{for(let[i,{savedX:r,savedY:a,savedPageIndex:l}]of e)s(i,r,a,l)},mustExec:!0}),!0}dragSelectedEditors(e,n){if(!this.#m)return;for(let s of this.#m.keys())s.drag(e,n)}rebuild(e){if(e.parent===null){let n=this.getLayer(e.pageIndex);if(n)n.changeParent(e),n.addOrRebuild(e);else this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild()}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||this.#S.size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return this.#t===e}getActive(){return this.#t}getMode(){return this.#E}isEditingMode(){return this.#E!==sn.NONE}get imageManager(){return Pt(this,"imageManager",new l2)}getSelectionBoxes(e){if(!e)return null;let n=document.getSelection();for(let f=0,d=n.rangeCount;f<d;f++)if(!e.contains(n.getRangeAt(f).commonAncestorContainer))return null;let{x:s,y:i,width:r,height:a}=e.getBoundingClientRect(),l;switch(e.getAttribute("data-main-rotation")){case"90":l=(f,d,g,b)=>({x:(d-i)/a,y:1-(f+g-s)/r,width:b/a,height:g/r});break;case"180":l=(f,d,g,b)=>({x:1-(f+g-s)/r,y:1-(d+b-i)/a,width:g/r,height:b/a});break;case"270":l=(f,d,g,b)=>({x:1-(d+b-i)/a,y:(f-s)/r,width:b/a,height:g/r});break;default:l=(f,d,g,b)=>({x:(f-s)/r,y:(d-i)/a,width:g/r,height:b/a});break}let c=[];for(let f=0,d=n.rangeCount;f<d;f++){let g=n.getRangeAt(f);if(g.collapsed)continue;for(let{x:b,y,width:v,height:x}of g.getClientRects()){if(v===0||x===0)continue;c.push(l(b,y,v,x))}}return c.length===0?null:c}addChangedExistingAnnotation({annotationElementId:e,id:n}){(this.#c||=new Map).set(e,n)}removeChangedExistingAnnotation({annotationElementId:e}){this.#c?.delete(e)}renderAnnotationElement(e){let n=this.#c?.get(e.data.id);if(!n)return;let s=this.#l.getRawValue(n);if(!s)return;if(this.#E===sn.NONE&&!s.hasBeenModified)return;s.renderAnnotationElement(e)}setMissingCanvas(e,n,s){let i=this.#O?.get(e);if(!i)return;i.setCanvas(n,s),this.#O.delete(e)}addMissingCanvas(e,n){(this.#O||=new Map).set(e,n)}}class Za{#e=null;#t=!1;#n=null;#s=null;#i=null;#a=null;#r=!1;#o=null;#l=null;#c=null;#u=null;#h=!1;static#d=null;static _l10n=null;constructor(e){this.#l=e,this.#h=e._uiManager.useNewAltTextFlow,Za.#d||=Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"})}static initialize(e){Za._l10n??=e}async render(){let e=this.#n=document.createElement("button");e.className="altText",e.tabIndex="0";let n=this.#s=document.createElement("span");if(e.append(n),this.#h)e.classList.add("new"),e.setAttribute("data-l10n-id",Za.#d.missing),n.setAttribute("data-l10n-id",Za.#d["missing-label"]);else e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),n.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label");let s=this.#l._uiManager._signal;e.addEventListener("contextmenu",ma,{signal:s}),e.addEventListener("pointerdown",(r)=>r.stopPropagation(),{signal:s});let i=(r)=>{if(r.preventDefault(),this.#l._uiManager.editAltText(this.#l),this.#h)this.#l._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#p}})};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",(r)=>{if(r.target===e&&r.key==="Enter")this.#r=!0,i(r)},{signal:s}),await this.#g(),e}get#p(){return this.#e&&"added"||this.#e===null&&this.guessedText&&"review"||"missing"}finish(){if(!this.#n)return;this.#n.focus({focusVisible:this.#r}),this.#r=!1}isEmpty(){return this.#h?this.#e===null:!this.#e&&!this.#t}hasData(){return this.#h?this.#e!==null||!!this.#c:this.isEmpty()}get guessedText(){return this.#c}async setGuessedText(e){if(this.#e!==null)return;this.#c=e,this.#u=await Za._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e}),this.#g()}toggleAltTextBadge(e=!1){if(!this.#h||this.#e){this.#o?.remove(),this.#o=null;return}if(!this.#o){let n=this.#o=document.createElement("div");n.className="noAltTextBadge",this.#l.div.append(n)}this.#o.classList.toggle("hidden",!e)}serialize(e){let n=this.#e;if(!e&&this.#c===n)n=this.#u;return{altText:n,decorative:this.#t,guessedText:this.#c,textWithDisclaimer:this.#u}}get data(){return{altText:this.#e,decorative:this.#t}}set data({altText:e,decorative:n,guessedText:s,textWithDisclaimer:i,cancel:r=!1}){if(s)this.#c=s,this.#u=i;if(this.#e===e&&this.#t===n)return;if(!r)this.#e=e,this.#t=n;this.#g()}toggle(e=!1){if(!this.#n)return;if(!e&&this.#a)clearTimeout(this.#a),this.#a=null;this.#n.disabled=!e}shown(){this.#l._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#p}})}destroy(){this.#n?.remove(),this.#n=null,this.#s=null,this.#i=null,this.#o?.remove(),this.#o=null}async#g(){let e=this.#n;if(!e)return;if(this.#h){if(e.classList.toggle("done",!!this.#e),e.setAttribute("data-l10n-id",Za.#d[this.#p]),this.#s?.setAttribute("data-l10n-id",Za.#d[`${this.#p}-label`]),!this.#e){this.#i?.remove();return}}else{if(!this.#e&&!this.#t){e.classList.remove("done"),this.#i?.remove();return}e.classList.add("done"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let n=this.#i;if(!n){this.#i=n=document.createElement("span"),n.className="tooltip",n.setAttribute("role","tooltip"),n.id=`alt-text-tooltip-${this.#l.id}`;let i=100,r=this.#l._uiManager._signal;r.addEventListener("abort",()=>{clearTimeout(this.#a),this.#a=null},{once:!0}),e.addEventListener("mouseenter",()=>{this.#a=setTimeout(()=>{this.#a=null,this.#i.classList.add("show"),this.#l._reportTelemetry({action:"alt_text_tooltip"})},i)},{signal:r}),e.addEventListener("mouseleave",()=>{if(this.#a)clearTimeout(this.#a),this.#a=null;this.#i?.classList.remove("show")},{signal:r})}if(this.#t)n.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip");else n.removeAttribute("data-l10n-id"),n.textContent=this.#e;if(!n.parentNode)e.append(n);this.#l.getElementForAltText()?.setAttribute("aria-describedby",n.id)}}class tu{#e=null;#t=null;#n=!1;#s=null;#i=null;#a=null;#r=null;#o=null;#l=!1;#c=null;constructor(e){this.#s=e}renderForToolbar(){let e=this.#t=document.createElement("button");return e.className="comment",this.#u(e,!1)}renderForStandalone(){let e=this.#e=document.createElement("button");e.className="annotationCommentButton";let n=this.#s.commentButtonPosition;if(n){let{style:s}=e;s.insetInlineEnd=`calc(${100*(this.#s._uiManager.direction==="ltr"?1-n[0]:n[0])}% - var(--comment-button-dim))`,s.top=`calc(${100*n[1]}% - var(--comment-button-dim))`;let i=this.#s.commentButtonColor;if(i)s.backgroundColor=i}return this.#u(e,!0)}focusButton(){setTimeout(()=>{(this.#e??this.#t)?.focus()},0)}onUpdatedColor(){if(!this.#e)return;let e=this.#s.commentButtonColor;if(e)this.#e.style.backgroundColor=e;this.#s._uiManager.updatePopupColor(this.#s)}get commentButtonWidth(){return(this.#e?.getBoundingClientRect().width??0)/this.#s.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#c)return this.#c;if(!this.#e)return null;let{x:e,y:n,height:s}=this.#e.getBoundingClientRect(),{x:i,y:r,width:a,height:l}=this.#s.parent.boundingClientRect;return[(e-i)/a,(n+s-r)/l]}set commentPopupPositionInLayer(e){this.#c=e}hasDefaultPopupPosition(){return this.#c===null}removeStandaloneCommentButton(){this.#e?.remove(),this.#e=null}removeToolbarCommentButton(){this.#t?.remove(),this.#t=null}setCommentButtonStates({selected:e,hasPopup:n}){if(!this.#e)return;this.#e.classList.toggle("selected",e),this.#e.ariaExpanded=n}#u(e,n){if(!this.#s._uiManager.hasCommentManager())return null;if(e.tabIndex="0",e.ariaHasPopup="dialog",n)e.ariaControls="commentPopup",e.setAttribute("data-l10n-id","pdfjs-show-comment-button");else e.ariaControlsElements=[this.#s._uiManager.getCommentDialogElement()],e.setAttribute("data-l10n-id","pdfjs-editor-add-comment-button");let s=this.#s._uiManager._signal;if(!(s instanceof AbortSignal)||s.aborted)return e;if(e.addEventListener("contextmenu",ma,{signal:s}),n)e.addEventListener("focusin",(r)=>{this.#s._focusEventsAllowed=!1,li(r)},{capture:!0,signal:s}),e.addEventListener("focusout",(r)=>{this.#s._focusEventsAllowed=!0,li(r)},{capture:!0,signal:s});e.addEventListener("pointerdown",(r)=>r.stopPropagation(),{signal:s});let i=(r)=>{if(r.preventDefault(),e===this.#t)this.edit();else this.#s.toggleComment(!0)};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",(r)=>{if(r.target===e&&r.key==="Enter")this.#n=!0,i(r)},{signal:s}),e.addEventListener("pointerenter",()=>{this.#s.toggleComment(!1,!0)},{signal:s}),e.addEventListener("pointerleave",()=>{this.#s.toggleComment(!1,!1)},{signal:s}),e}edit(e){let n=this.commentPopupPositionInLayer,s,i;if(n)[s,i]=n;else{[s,i]=this.#s.commentButtonPosition;let{width:d,height:g,x:b,y}=this.#s;s=b+s*d,i=y+i*g}let r=this.#s.parent.boundingClientRect,{x:a,y:l,width:c,height:f}=r;this.#s._uiManager.editComment(this.#s,a+s*c,l+i*f,{...e,parentDimensions:r})}finish(){if(!this.#t)return;this.#t.focus({focusVisible:this.#n}),this.#n=!1}isDeleted(){return this.#l||this.#r===""}isEmpty(){return this.#r===null}hasBeenEdited(){return this.isDeleted()||this.#r!==this.#i}serialize(){return this.data}get data(){return{text:this.#r,richText:this.#a,date:this.#o,deleted:this.isDeleted()}}set data(e){if(e!==this.#r)this.#a=null;if(e===null){this.#r="",this.#l=!0;return}this.#r=e,this.#o=new Date,this.#l=!1}restoreData({text:e,richText:n,date:s}){this.#r=e,this.#a=n,this.#o=s,this.#l=!1}setInitialText(e,n=null){this.#i=e,this.data=e,this.#o=null,this.#a=n}shown(){}destroy(){this.#t?.remove(),this.#t=null,this.#e?.remove(),this.#e=null,this.#r="",this.#a=null,this.#o=null,this.#s=null,this.#n=!1,this.#l=!1}}function X8(e){e.preventDefault()}var W8=0.0001;function zb(e){if(e.cancelable)return li(e),!0;return e.stopPropagation(),!1}class f2{#e;#t=!1;#n=null;#s;#i;#a;#r;#o;#l=!1;#c=null;#u;#h=new Set;#d=null;#p;#g=null;#f=0;constructor({container:e,isPinchingDisabled:n=null,isPinchingStopped:s=null,onPinchStart:i=null,onPinching:r=null,onPinchEnd:a=null,onPanning:l=null,signal:c}){this.#e=e,this.#n=s,this.#s=n,this.#i=i,this.#a=r,this.#r=a,this.#o=l,this.#p=new AbortController,this.#u=AbortSignal.any([c,this.#p.signal]),e.addEventListener("touchstart",this.#m.bind(this),{passive:!1,signal:this.#u})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/ga.pixelRatio}get MIN_TOUCH_DISTANCE_TO_SCALE(){return 4/ga.pixelRatio}#m(e){if(this.#s?.())return;this.#w(e);let n=this.#h;for(let{identifier:s}of e.changedTouches)n.add(s);if(n.size===1){this.#b();return}if(!this.#g){this.#g=new AbortController;let s=AbortSignal.any([this.#u,this.#g.signal]),i=this.#e,r={signal:s,capture:!1,passive:!1};i.addEventListener("touchmove",this.#x.bind(this),r);let a=this.#k.bind(this);i.addEventListener("touchend",a,r),i.addEventListener("touchcancel",a,r),r.capture=!0,i.addEventListener("pointerdown",li,r),i.addEventListener("pointermove",li,r),i.addEventListener("pointercancel",X8,r),i.addEventListener("pointerup",X8,r),this.#i?.()}this.#l=zb(e),this.#v(e)}#b(){if(this.#c)return;let e=this.#c=new AbortController,n=AbortSignal.any([this.#u,e.signal]),s=this.#e,i={capture:!0,signal:n,passive:!1},r=(a)=>{if(a.pointerType==="touch")this.#c?.abort(),this.#c=null};s.addEventListener("pointerdown",(a)=>{if(a.pointerType==="touch")li(a),r(a)},i),s.addEventListener("pointerup",r,i),s.addEventListener("pointercancel",r,i)}#w(e){let n=this.#h;if(n.size===0)return;let s=this.#h=new Set;for(let{identifier:i}of e.touches)if(n.has(i))s.add(i)}#y(e){let n=this.#h,s=[];for(let i of e.touches)if(n.has(i.identifier))s.push(i);return s}#v(e){let n=this.#y(e);if(n.length!==2||this.#n?.()){this.#d=null;return}let[s,i]=n;this.#d={touch0X:s.screenX,touch0Y:s.screenY,touch1X:i.screenX,touch1Y:i.screenY,panX:(s.clientX+i.clientX)/2,panY:(s.clientY+i.clientY)/2,screenPanX:(s.screenX+i.screenX)/2,screenPanY:(s.screenY+i.screenY)/2}}#x(e){if(!this.#d)return;let n=this.#y(e);if(n.length!==2)return;let s=this.#l;if(this.#l=zb(e),!this.#l)return;if(!s){this.#v(e);return}let[i,r]=n,{screenX:a,screenY:l}=i,{screenX:c,screenY:f}=r,d=this.#d,{touch0X:g,touch0Y:b,touch1X:y,touch1Y:v,panX:x,panY:T}=d,R=y-g,N=v-b,U=c-a,X=f-l,Y=(i.clientX+r.clientX)/2,J=(i.clientY+r.clientY)/2;d.panX=Y,d.panY=J;let ee=Y-x,te=J-T,ne=(a+c)/2,ie=(l+f)/2,se=Math.hypot(ne-d.screenPanX,ie-d.screenPanY);d.screenPanX=ne,d.screenPanY=ie;let ae=Math.hypot(U,X),be=Math.hypot(R,N),ye=this.#t?this.MIN_TOUCH_DISTANCE_TO_SCALE:this.MIN_TOUCH_DISTANCE_TO_PINCH+2*se;if(ae<W8||be<W8||Math.abs(be-ae)<=ye){if(ee||te)this.#o?.(ee,te);return}d.touch0X=a,d.touch0Y=l,d.touch1X=c,d.touch1Y=f;let ue=Math.sign(ae-be);if(!this.#t){if(this.#t=!0,this.#f=ue,ee||te)this.#o?.(ee,te);return}if(this.#f){let he=this.#f;if(this.#f=0,ue!==he&&Math.abs(ae-be)<=2*se){if(this.#t=!1,ee||te)this.#o?.(ee,te);return}}this.#a?.([x,T],be,ae,ee,te)}#k(e){if(this.#w(e),this.#h.size>=2){this.#v(e);return}let n=!!this.#d;if(this.#A(),this.#h.size===1)this.#b();if(n)zb(e)}#A(){if(this.#d=null,this.#t=!1,this.#f=0,this.#l=!1,this.#g)this.#g.abort(),this.#g=null,this.#r?.()}destroy(){this.#A(),this.#h.clear(),this.#p?.abort(),this.#p=null,this.#c?.abort(),this.#c=null}}class Ft{#e=null;#t=null;#n=null;#s=null;#i=null;#a=!1;#r=null;#o="";#l=null;#c=null;#u=null;#h=null;#d=null;#p="";#g=!1;#f=null;#m=!1;#b=!1;#w=!1;#y=null;#v=0;#x=0;#k=null;#A=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nAlert=null;static _l10nResizer=null;#T=!1;#I=Ft._zIndex++;static _borderLineWidth=-1;static _colorManager=new c2;static _zIndex=1;static _telemetryTimeout=1000;static get _resizerKeyboardManager(){let e=Ft.prototype._resizeWithKeyboard,{TRANSLATE_SMALL:n,TRANSLATE_BIG:s}=xl;return Pt(this,"_resizerKeyboardManager",new vr([[["ArrowLeft"],e,{args:[-n,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-s,0]}],[["ArrowRight"],e,{args:[n,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[s,0]}],[["ArrowUp"],e,{args:[0,-n]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-s]}],[["ArrowDown"],e,{args:[0,n]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,s]}],[["Escape"],Ft.prototype._stopResizingWithKeyboard]]))}constructor(e){this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null,this.annotationElementId=e.annotationElementId||null,this.creationDate=e.creationDate||new Date,this.modificationDate=e.modificationDate||null,this.canAddComment=!0;let{rotation:n,rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:a}}=this.parent.viewport;this.rotation=n,this.pageRotation=(360+n-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[s,i],this.pageTranslation=[r,a];let[l,c]=this.parentDimensions;this.x=e.x/l,this.y=e.y/c,this.isAttachedToDOM=!1,this.deleted=!1}updatePageIndex(e){this.pageIndex=e}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return Pt(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){let n=new j7({id:e._uiManager.getId(),parent:e.parent,uiManager:e._uiManager});n.annotationElementId=e.annotationElementId,n.deleted=!0,n._uiManager.addToAnnotationStorage(n)}static initialize(e,n){if(Ft._l10n??=e,Ft._l10nAlert??=Object.freeze({highlight:"pdfjs-editor-highlight-added-alert",freetext:"pdfjs-editor-freetext-added-alert",ink:"pdfjs-editor-ink-added-alert",stamp:"pdfjs-editor-stamp-added-alert",signature:"pdfjs-editor-signature-added-alert"}),Ft._l10nResizer??=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"}),Ft._borderLineWidth!==-1)return;let s=getComputedStyle(document.documentElement);Ft._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,n){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,n){Rn("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#T}set _isDraggable(e){this.#T=e,this.div?.classList.toggle("draggable",e)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){let[e,n]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*n/(e*2),this.y+=this.width*e/(n*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*n/(e*2),this.y-=this.width*e/(n*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#I}setParent(e){if(e!==null)this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions;else this.#F(),this.#h?.remove(),this.#h=null;this.parent=e}focusin(e){if(!this._focusEventsAllowed)return;if(!this.#g)this.parent.setSelected(this);else this.#g=!1}focusout(e){if(!this._focusEventsAllowed)return;if(!this.isAttachedToDOM)return;if(e.relatedTarget?.closest(`#${this.id}`))return;if(e.preventDefault(),!this.parent?.isMultipleSelection)this.commitOrRemove()}commitOrRemove(){if(this.isEmpty())this.remove();else this.commit()}commit(){if(!this.isInEditMode())return;this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,n,s,i){let[r,a]=this.parentDimensions;[s,i]=this.screenToPageTranslation(s,i),this.x=(e+s)/r,this.y=(n+i)/a,this.fixAndSetPosition()}_moveAfterPaste(e,n){if(this.isClone){delete this.isClone;return}let[s,i]=this.parentDimensions;this.setAt(e*s,n*i,this.width*s,this.height*i),this._onTranslated()}#j([e,n],s,i){[s,i]=this.screenToPageTranslation(s,i),this.x+=s/e,this.y+=i/n,this._onTranslating(this.x,this.y),this.fixAndSetPosition()}translate(e,n){this.#j(this.parentDimensions,e,n)}translateInPage(e,n){this.#f||=[this.x,this.y,this.width,this.height],this.#j(this.pageDimensions,e,n),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(e,n){this.#f||=[this.x,this.y,this.width,this.height];let{div:s,parentDimensions:[i,r]}=this;if(this.x+=e/i,this.y+=n/r,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){let{x:g,y:b}=this.div.getBoundingClientRect();if(this.parent.findNewParent(this,g,b))this.x-=Math.floor(this.x),this.y-=Math.floor(this.y)}let{x:a,y:l}=this,[c,f]=this.getBaseTranslation();a+=c,l+=f;let{style:d}=s;d.left=`${(100*a).toFixed(2)}%`,d.top=`${(100*l).toFixed(2)}%`,this._onTranslating(a,l)}_onTranslating(e,n){}_onTranslated(e,n){}get _hasBeenMoved(){return!!this.#f&&(this.#f[0]!==this.x||this.#f[1]!==this.y)}get _hasBeenResized(){return!!this.#f&&(this.#f[2]!==this.width||this.#f[3]!==this.height)}getBaseTranslation(){let[e,n]=this.parentDimensions,{_borderLineWidth:s}=Ft,i=s/e,r=s/n;switch(this.rotation){case 90:return[-i,r];case 180:return[i,r];case 270:return[i,-r];default:return[-i,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){let{div:{style:n},pageDimensions:[s,i]}=this,{x:r,y:a,width:l,height:c}=this;if(l*=s,c*=i,r*=s,a*=i,this._mustFixPosition)switch(e){case 0:r=gs(r,0,s-l),a=gs(a,0,i-c);break;case 90:r=gs(r,0,s-c),a=gs(a,l,i);break;case 180:r=gs(r,l,s),a=gs(a,c,i);break;case 270:r=gs(r,c,s),a=gs(a,0,i-l);break}this.x=r/=s,this.y=a/=i;let[f,d]=this.getBaseTranslation();r+=f,a+=d,n.left=`${(100*r).toFixed(2)}%`,n.top=`${(100*a).toFixed(2)}%`,this.moveInDOM()}static#C(e,n,s){switch(s){case 90:return[n,-e];case 180:return[-e,-n];case 270:return[-n,e];default:return[e,n]}}screenToPageTranslation(e,n){return Ft.#C(e,n,this.parentRotation)}pageTranslationToScreen(e,n){return Ft.#C(e,n,360-this.parentRotation)}#D(e){switch(e){case 90:{let[n,s]=this.pageDimensions;return[0,-n/s,s/n,0]}case 180:return[-1,0,0,-1];case 270:{let[n,s]=this.pageDimensions;return[0,n/s,-s/n,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){let{parentScale:e,pageDimensions:[n,s]}=this;return[n*e,s*e]}setDims(){let{div:{style:e},width:n,height:s}=this;e.width=`${(100*n).toFixed(2)}%`,e.height=`${(100*s).toFixed(2)}%`}getInitialTranslation(){return[0,0]}#R(){if(this.#l)return;this.#l=document.createElement("div"),this.#l.classList.add("resizers");let e=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],n=this._uiManager._signal;for(let s of e){let i=document.createElement("div");this.#l.append(i),i.classList.add("resizer",s),i.setAttribute("data-resizer-name",s),i.addEventListener("pointerdown",this.#q.bind(this,s),{signal:n}),i.addEventListener("contextmenu",ma,{signal:n}),i.tabIndex=-1}this.div.prepend(this.#l)}#q(e,n){n.preventDefault();let{isMac:s}=Xn.platform;if(n.button!==0||n.ctrlKey&&s)return;this.#n?.toggle(!1);let i=this._isDraggable;this._isDraggable=!1,this.#c=[n.screenX,n.screenY];let r=new AbortController,a=this._uiManager.combinedSignal(r);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",this.#L.bind(this,e),{passive:!0,capture:!0,signal:a}),window.addEventListener("touchmove",li,{passive:!1,signal:a}),window.addEventListener("contextmenu",ma,{signal:a}),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let l=this.parent.div.style.cursor,c=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(n.target).cursor;let f=()=>{r.abort(),this.parent.togglePointerEvents(!0),this.#n?.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=l,this.div.style.cursor=c,this.#M()};window.addEventListener("pointerup",f,{signal:a}),window.addEventListener("blur",f,{signal:a})}#B(e,n,s,i){this.width=s,this.height=i,this.x=e,this.y=n,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#M(){if(!this.#u)return;let{savedX:e,savedY:n,savedWidth:s,savedHeight:i}=this.#u;this.#u=null;let r=this.x,a=this.y,l=this.width,c=this.height;if(r===e&&a===n&&l===s&&c===i)return;this.addCommands({cmd:this.#B.bind(this,r,a,l,c),undo:this.#B.bind(this,e,n,s,i),mustExec:!0})}static _round(e){return Math.round(e*1e4)/1e4}#L(e,n){let[s,i]=this.parentDimensions,r=this.x,a=this.y,l=this.width,c=this.height,f=Ft.MIN_SIZE/s,d=Ft.MIN_SIZE/i,g=this.#D(this.rotation),b=(he,oe)=>[g[0]*he+g[2]*oe,g[1]*he+g[3]*oe],y=this.#D(360-this.rotation),v=(he,oe)=>[y[0]*he+y[2]*oe,y[1]*he+y[3]*oe],x,T,R=!1,N=!1;switch(e){case"topLeft":R=!0,x=(he,oe)=>[0,0],T=(he,oe)=>[he,oe];break;case"topMiddle":x=(he,oe)=>[he/2,0],T=(he,oe)=>[he/2,oe];break;case"topRight":R=!0,x=(he,oe)=>[he,0],T=(he,oe)=>[0,oe];break;case"middleRight":N=!0,x=(he,oe)=>[he,oe/2],T=(he,oe)=>[0,oe/2];break;case"bottomRight":R=!0,x=(he,oe)=>[he,oe],T=(he,oe)=>[0,0];break;case"bottomMiddle":x=(he,oe)=>[he/2,oe],T=(he,oe)=>[he/2,0];break;case"bottomLeft":R=!0,x=(he,oe)=>[0,oe],T=(he,oe)=>[he,0];break;case"middleLeft":N=!0,x=(he,oe)=>[0,oe/2],T=(he,oe)=>[he,oe/2];break}let U=x(l,c),X=T(l,c),Y=b(...X),J=Ft._round(r+Y[0]),ee=Ft._round(a+Y[1]),te=1,ne=1,ie,se;if(!n.fromKeyboard){let{screenX:he,screenY:oe}=n,[Se,we]=this.#c;[ie,se]=this.screenToPageTranslation(he-Se,oe-we),this.#c[0]=he,this.#c[1]=oe}else({deltaX:ie,deltaY:se}=n);if([ie,se]=v(ie/s,se/i),R){let he=Math.hypot(l,c);te=ne=Math.max(Math.min(Math.hypot(X[0]-U[0]-ie,X[1]-U[1]-se)/he,1/l,1/c),f/l,d/c)}else if(N)te=gs(Math.abs(X[0]-U[0]-ie),f,1)/l;else ne=gs(Math.abs(X[1]-U[1]-se),d,1)/c;let ae=Ft._round(l*te),be=Ft._round(c*ne);Y=b(...T(ae,be));let ye=J-Y[0],ue=ee-Y[1];this.#f||=[this.x,this.y,this.width,this.height],this.width=ae,this.height=be,this.x=ye,this.y=ue,this.setDims(),this.fixAndSetPosition(),this._onResizing()}_onResizing(){}altTextFinish(){this.#n?.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||this.#b)return this._editToolbar;this._editToolbar=new iu(this),this.div.append(this._editToolbar.render());let{toolbarButtons:e}=this;if(e)for(let[n,s]of e)await this._editToolbar.addButton(n,s);if(!this.hasComment)this._editToolbar.addButton("comment",this.addCommentButton());return this._editToolbar.addButton("delete"),this._editToolbar}addCommentButtonInToolbar(){this._editToolbar?.addButtonBefore("comment",this.addCommentButton(),".deleteButton")}removeCommentButtonFromToolbar(){this._editToolbar?.removeButton("comment")}removeEditToolbar(){this._editToolbar?.remove(),this._editToolbar=null,this.#n?.destroy()}addContainer(e){let n=this._editToolbar?.div;if(n)n.before(e);else this.div.append(e)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){if(!this.#n){if(Za.initialize(Ft._l10n),this.#n=new Za(this),this.#e)this.#n.data=this.#e,this.#e=null}return this.#n}get altTextData(){return this.#n?.data}set altTextData(e){if(!this.#n)return;this.#n.data=e}get guessedAltText(){return this.#n?.guessedText}async setGuessedAltText(e){await this.#n?.setGuessedText(e)}serializeAltText(e){return this.#n?.serialize(e)}hasAltText(){return!!this.#n&&!this.#n.isEmpty()}hasAltTextData(){return this.#n?.hasData()??!1}focusCommentButton(){this.#s?.focusButton()}addCommentButton(){return this.canAddComment?this.#s||=new tu(this):null}addStandaloneCommentButton(){if(!this._uiManager.hasCommentManager())return;if(this.#i){if(this._uiManager.isEditingMode())this.#i.classList.remove("hidden");return}if(!this.hasComment)return;this.#i=this.#s.renderForStandalone(),this.div.append(this.#i)}removeStandaloneCommentButton(){this.#s.removeStandaloneCommentButton(),this.#i=null}hideStandaloneCommentButton(){this.#i?.classList.add("hidden")}get comment(){if(!this.#s)return null;let{data:{richText:e,text:n,date:s,deleted:i}}=this.#s;return{text:n,richText:e,date:s,deleted:i,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(e){if(this.#s||=new tu(this),typeof e==="object"&&e!==null)this.#s.restoreData(e);else this.#s.data=e;if(this.hasComment)this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this);else this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this)}setCommentData({comment:e,popupRef:n,richText:s}){if(!n)return;if(this.#s||=new tu(this),this.#s.setInitialText(e,s),!this.annotationElementId)return;let i=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);if(i)this.updateFromAnnotationLayer(i)}get hasEditedComment(){return this.#s?.hasBeenEdited()}get hasDeletedComment(){return this.#s?.isDeleted()}get hasComment(){return!!this.#s&&!this.#s.isEmpty()&&!this.#s.isDeleted()}async editComment(e){this.#s||=new tu(this),this.#s.edit(e)}toggleComment(e,n=void 0){if(this.hasComment)this._uiManager.toggleComment(this,e,n)}setSelectedCommentButton(e){this.#s.setSelectedButton(e)}addComment(e){if(this.hasEditedComment){let[,,,i]=e.rect,[r]=this.pageDimensions,[a]=this.pageTranslation,l=a+r+1,c=i-100,f=l+180;e.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[l,c,f,i]}}}updateFromAnnotationLayer({popup:{contents:e,deleted:n}}){this.#s.data=n?null:e}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){let e=this.div=document.createElement("div");if(e.setAttribute("data-editor-rotation",(360-this.rotation)%360),e.className=this.name,e.setAttribute("id",this.id),e.tabIndex=this.#a?-1:0,e.setAttribute("role","application"),this.defaultL10nId)e.setAttribute("data-l10n-id",this.defaultL10nId);if(!this._isVisible)e.classList.add("hidden");this.setInForeground(),this.#P();let[n,s]=this.parentDimensions;if(this.parentRotation%180!==0)e.style.maxWidth=`${(100*s/n).toFixed(2)}%`,e.style.maxHeight=`${(100*n/s).toFixed(2)}%`;let[i,r]=this.getInitialTranslation();return this.translate(i,r),T7(this,e,["keydown","pointerdown","dblclick"]),this.#U(),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),e}#G(){this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#n?.toggle(!1),this.parent.togglePointerEvents(!1)}#O(e,n,s){let r=0.7*(s/n)+1-0.7;if(r===1)return;let a=this.#D(this.rotation),l=(J,ee)=>[a[0]*J+a[2]*ee,a[1]*J+a[3]*ee],[c,f]=this.parentDimensions,d=this.x,g=this.y,b=this.width,y=this.height,v=Ft.MIN_SIZE/c,x=Ft.MIN_SIZE/f;r=Math.max(Math.min(r,1/b,1/y),v/b,x/y);let T=Ft._round(b*r),R=Ft._round(y*r);if(T===b&&R===y)return;this.#f||=[d,g,b,y];let N=l(b/2,y/2),U=Ft._round(d+N[0]),X=Ft._round(g+N[1]),Y=l(T/2,R/2);this.x=U-Y[0],this.y=X-Y[1],this.width=T,this.height=R,this.setDims(),this.fixAndSetPosition(),this._onResizing()}#H(){this.#n?.toggle(!0),this.parent.togglePointerEvents(!0),this.#M()}pointerdown(e){let{isMac:n}=Xn.platform;if(e.button!==0||e.ctrlKey&&n){e.preventDefault();return}if(this.#g=!0,this._isDraggable){this.#S(e);return}this.#E(e)}#E(e){let{isMac:n}=Xn.platform;if(e.ctrlKey&&!n||e.shiftKey||e.metaKey&&n)this.parent.toggleSelected(this);else this.parent.setSelected(this)}#S(e){let{isSelected:n}=this;this._uiManager.setUpDragSession();let s=!1,i=new AbortController,r=this._uiManager.combinedSignal(i),a={capture:!0,passive:!1,signal:r},l=(f)=>{if(i.abort(),this.#r=null,this.#g=!1,!this._uiManager.endDragSession())this.#E(f);if(s)this._onStopDragging()};if(n)this.#v=e.clientX,this.#x=e.clientY,this.#r=e.pointerId,this.#o=e.pointerType,window.addEventListener("pointermove",(f)=>{if(!s)s=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging();let{clientX:d,clientY:g,pointerId:b}=f;if(b!==this.#r){li(f);return}let[y,v]=this.screenToPageTranslation(d-this.#v,g-this.#x);this.#v=d,this.#x=g,this._uiManager.dragSelectedEditors(y,v),this.div.scrollIntoView({block:"nearest"})},a),window.addEventListener("touchmove",li,a),window.addEventListener("pointerdown",(f)=>{if(f.pointerType===this.#o){if(this.#A||f.isPrimary)l(f)}li(f)},a);let c=(f)=>{if(!this.#r||this.#r===f.pointerId){l(f);return}li(f)};window.addEventListener("pointerup",c,{signal:r}),window.addEventListener("blur",c,{signal:r})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){if(this.#y)clearTimeout(this.#y);this.#y=setTimeout(()=>{this.#y=null,this.parent?.moveEditorInDOM(this)},0)}_setParentAndPosition(e,n,s){e.changeParent(this),this.x=n,this.y=s,this.fixAndSetPosition(),this._onTranslated()}getRect(e,n,s=this.rotation){let i=this.parentScale,[r,a]=this.pageDimensions,[l,c]=this.pageTranslation,f=e/i,d=n/i,g=this.x*r,b=this.y*a,y=this.width*r,v=this.height*a;switch(s){case 0:return[g+f+l,a-b-d-v+c,g+f+y+l,a-b-d+c];case 90:return[g+d+l,a-b+f+c,g+d+v+l,a-b+f+y+c];case 180:return[g-f-y+l,a-b+d+c,g-f+l,a-b+d+v+c];case 270:return[g-d-v+l,a-b-f-y+c,g-d+l,a-b-f+c];default:throw Error("Invalid rotation")}}getRectInCurrentCoords(e,n){let[s,i,r,a]=e,l=r-s,c=a-i;switch(this.rotation){case 0:return[s,n-a,l,c];case 90:return[s,n-i,c,l];case 180:return[r,n-i,l,c];case 270:return[r,n-a,c,l];default:throw Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&Ft._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){this.#s?.onUpdatedColor()}getData(){let{comment:{text:e,color:n,date:s,opacity:i,deleted:r,richText:a},uid:l,pageIndex:c,creationDate:f,modificationDate:d}=this;return{id:l,pageIndex:c,rect:this.getPDFRect(),richText:a,contentsObj:{str:e},creationDate:f,modificationDate:s||d,popupRef:!r,color:n,opacity:i}}onceAdded(e){}isEmpty(){return!1}enableEditMode(){if(this.isInEditMode())return!1;return this.parent.setEditingState(!1),this.#b=!0,!0}disableEditMode(){if(!this.isInEditMode())return!1;return this.parent.setEditingState(!0),this.#b=!1,!0}isInEditMode(){return this.#b}shouldGetKeyboardEvents(){return this.#w}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){let{top:e,left:n,bottom:s,right:i}=this.getClientDimensions(),{innerHeight:r,innerWidth:a}=window;return n<a&&i>0&&e<r&&s>0}#P(){if(this.#d||!this.div)return;this.#d=new AbortController;let e=this._uiManager.combinedSignal(this.#d);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:e}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:e})}#U(){if(this.#A||!this.div||!this.isResizable||!this._uiManager._supportsPinchToZoom)return;this.#A=new f2({container:this.div,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#G.bind(this),onPinching:this.#O.bind(this),onPinchEnd:this.#H.bind(this),signal:this._uiManager._signal})}rebuild(){this.#P(),this.#U()}rotate(e){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(e=!1,n=null){return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:this._initialData?.popupRef||""}}static async deserialize(e,n,s){let i=new this.prototype.constructor({parent:n,id:s.getId(),uiManager:s,annotationElementId:e.annotationElementId,creationDate:e.creationDate,modificationDate:e.modificationDate});i.rotation=e.rotation,i.#e=e.accessibilityData,i._isCopy=e.isCopy||!1;let[r,a]=i.pageDimensions,[l,c,f,d]=i.getRectInCurrentCoords(e.rect,a);return i.x=l/r,i.y=c/a,i.width=f/r,i.height=d/a,i}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){if(this.#d?.abort(),this.#d=null,!this.isEmpty())this.commit();if(this.#A?.destroy(),this.#A=null,this.parent)this.parent.remove(this);else this._uiManager.removeEditor(this);if(this.hideCommentPopup(),this.#y)clearTimeout(this.#y),this.#y=null;if(this.#F(),this.removeEditToolbar(),this.#k){for(let e of this.#k.values())clearTimeout(e);this.#k=null}this.parent=null,this.#h?.remove(),this.#h=null}get isResizable(){return!1}makeResizable(){if(this.isResizable)this.#R(),this.#l.classList.remove("hidden")}get toolbarPosition(){return null}get commentButtonPosition(){return this._uiManager.direction==="ltr"?[1,0]:[0,0]}get commentButtonPositionInPage(){let{commentButtonPosition:[e,n]}=this,[s,i,r,a]=this.getPDFRect();return[Ft._round(s+(r-s)*e),Ft._round(i+(a-i)*(1-n))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return this.#s.commentPopupPositionInLayer}set commentPopupPosition(e){this.#s.commentPopupPositionInLayer=e}hasDefaultPopupPosition(){return this.#s.hasDefaultPopupPosition()}get commentButtonWidth(){return this.#s.commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(e){this.#s?.setCommentButtonStates(e)}keydown(e){if(!this.isResizable||e.target!==this.div||e.key!=="Enter")return;this._uiManager.setSelected(this),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let n=this.#l.children;if(!this.#t){this.#t=Array.from(n);let a=this.#V.bind(this),l=this.#Y.bind(this),c=this._uiManager._signal;for(let f of this.#t){let d=f.getAttribute("data-resizer-name");f.setAttribute("role","spinbutton"),f.addEventListener("keydown",a,{signal:c}),f.addEventListener("blur",l,{signal:c}),f.addEventListener("focus",this.#W.bind(this,d),{signal:c}),f.setAttribute("data-l10n-id",Ft._l10nResizer[d])}}let s=this.#t[0],i=0;for(let a of n){if(a===s)break;i++}let r=(360-this.rotation+this.parentRotation)%360/90*(this.#t.length/4);if(r!==i){if(r<i)for(let l=0;l<i-r;l++)this.#l.append(this.#l.firstElementChild);else if(r>i)for(let l=0;l<r-i;l++)this.#l.firstElementChild.before(this.#l.lastElementChild);let a=0;for(let l of n){let f=this.#t[a++].getAttribute("data-resizer-name");l.setAttribute("data-l10n-id",Ft._l10nResizer[f])}}this.#K(0),this.#w=!0,this.#l.firstElementChild.focus({focusVisible:!0}),e.preventDefault(),e.stopImmediatePropagation()}#V(e){Ft._resizerKeyboardManager.exec(this,e)}#Y(e){if(this.#w&&e.relatedTarget?.parentNode!==this.#l)this.#F()}#W(e){this.#p=this.#w?e:""}#K(e){if(!this.#t)return;for(let n of this.#t)n.tabIndex=e}_resizeWithKeyboard(e,n){if(!this.#w)return;this.#L(this.#p,{deltaX:e,deltaY:n,fromKeyboard:!0})}#F(){this.#w=!1,this.#K(-1),this.#M()}_stopResizingWithKeyboard(){this.#F(),this.div.focus()}select(){if(this.isSelected&&this._editToolbar){this._editToolbar.show();return}if(this.isSelected=!0,this.makeResizable(),this.div?.classList.add("selectedEditor"),!this._editToolbar){this.addEditToolbar().then(()=>{if(this.div?.classList.contains("selectedEditor"))this._editToolbar?.show()});return}this._editToolbar?.show(),this.#n?.toggleAltTextBadge(!1)}focus(){if(this.div&&!this.div.contains(document.activeElement))setTimeout(()=>this.div?.focus({preventScroll:!0}),0)}unselect(){if(!this.isSelected)return;if(this.isSelected=!1,this.#l?.classList.add("hidden"),this.div?.classList.remove("selectedEditor"),this.div?.contains(document.activeElement))this._uiManager.currentLayer.div.focus({preventScroll:!0});this._editToolbar?.hide(),this.#n?.toggleAltTextBadge(!0),this.hideCommentPopup()}hideCommentPopup(){if(this.hasComment)this._uiManager.toggleComment(null)}updateParams(e,n){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){if(!this.canChangeContent)return;this.enableEditMode(),this.div.focus()}dblclick(e){if(e.target.nodeName==="BUTTON")return;this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.uid})}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return this.#m}set isEditing(e){if(this.#m=e,!this.parent)return;if(e)this.parent.setSelected(this),this.parent.setActiveEditor(this);else this.parent.setActiveEditor(null)}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(e,n=!1){if(n){this.#k||=new Map;let{action:s}=e,i=this.#k.get(s);if(i)clearTimeout(i);i=setTimeout(()=>{if(this._reportTelemetry(e),this.#k.delete(s),this.#k.size===0)this.#k=null},Ft._telemetryTimeout),this.#k.set(s,i);return}e.type||=this.editorType,this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}show(e=this._isVisible){this.div.classList.toggle("hidden",!e),this._isVisible=e}enable(){if(this.div)this.div.tabIndex=0;this.#a=!1}disable(){if(this.div)this.div.tabIndex=-1;this.#a=!0}updateFakeAnnotationElement(e){if(!this.#h&&!this.deleted){this.#h=e.addFakeAnnotation(this);return}if(this.deleted){this.#h.remove(),this.#h=null;return}if(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)this.#h.updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let n=e.container.querySelector(".annotationContent");if(!n)n=document.createElement("div"),n.classList.add("annotationContent",this.editorType),e.container.prepend(n);else if(n.nodeName==="CANVAS"){let s=n;n=document.createElement("div"),n.classList.add("annotationContent",this.editorType),s.before(n)}return n}resetAnnotationElement(e){let{firstElementChild:n}=e.container;if(n?.nodeName==="DIV"&&n.classList.contains("annotationContent"))n.remove()}}class j7 extends Ft{constructor(e){super(e);this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}var K8=3285377520,zr=4294901760,Ka=65535;class um{constructor(e){this.h1=e?e&4294967295:K8,this.h2=e?e&4294967295:K8}update(e){let n,s;if(typeof e==="string"){n=new Uint8Array(e.length*2),s=0;for(let x=0,T=e.length;x<T;x++){let R=e.charCodeAt(x);if(R<=255)n[s++]=R;else n[s++]=R>>>8,n[s++]=R&255}}else if(ArrayBuffer.isView(e))n=e.slice(),s=n.byteLength;else throw Error("Invalid data format, must be a string or TypedArray.");let i=s>>2,r=s-i*4,a=new Uint32Array(n.buffer,0,i),l=0,c=0,f=this.h1,d=this.h2,g=3432918353,b=461845907,y=g&Ka,v=b&Ka;for(let x=0;x<i;x++)if(x&1)l=a[x],l=l*g&zr|l*y&Ka,l=l<<15|l>>>17,l=l*b&zr|l*v&Ka,f^=l,f=f<<13|f>>>19,f=f*5+3864292196;else c=a[x],c=c*g&zr|c*y&Ka,c=c<<15|c>>>17,c=c*b&zr|c*v&Ka,d^=c,d=d<<13|d>>>19,d=d*5+3864292196;switch(l=0,r){case 3:l^=n[i*4+2]<<16;case 2:l^=n[i*4+1]<<8;case 1:if(l^=n[i*4],l=l*g&zr|l*y&Ka,l=l<<15|l>>>17,l=l*b&zr|l*v&Ka,i&1)f^=l;else d^=l}this.h1=f,this.h2=d}hexdigest(){let e=this.h1,n=this.h2;return e^=n>>>1,e=e*3981806797&zr|e*36045&Ka,n=n*4283543511&zr|((n<<16|e>>>16)*2950163797&zr)>>>16,e^=n>>>1,e=e*444984403&zr|e*60499&Ka,n=n*3301882366&zr|((n<<16|e>>>16)*3120437893&zr)>>>16,e^=n>>>1,(e>>>0).toString(16).padStart(8,"0")+(n>>>0).toString(16).padStart(8,"0")}}var cu=Object.freeze({map:null,hash:"",transfer:void 0});class Tm{#e=!1;#t=null;#n=null;#s=new Map;onSetModified=null;onResetModified=null;onAnnotationEditor=null;getValue(e,n){let s=this.#s.get(e);if(s===void 0)return n;return Object.assign(n,s)}getRawValue(e){return this.#s.get(e)}remove(e){let n=this.#s.get(e);if(n===void 0)return;if(n instanceof Ft)this.#n.delete(n.annotationElementId);if(this.#s.delete(e),this.#s.size===0)this.resetModified();if(this.#s.values().some((s)=>s instanceof Ft))return;this.onAnnotationEditor?.(null)}setValue(e,n){let s=this.#s.get(e),i=!1;if(s!==void 0){for(let[r,a]of Object.entries(n))if(s[r]!==a)i=!0,s[r]=a}else i=!0,this.#s.set(e,n);if(i)this.#i();if(n instanceof Ft)(this.#n||=new Map).set(n.annotationElementId,n),this.onAnnotationEditor?.(n.constructor._type)}has(e){return this.#s.has(e)}get size(){return this.#s.size}#i(){if(!this.#e)this.#e=!0,this.onSetModified?.()}resetModified(){if(this.#e)this.#e=!1,this.onResetModified?.()}get print(){return new h2(this)}get serializable(){if(this.#s.size===0)return cu;let e=new Map,n=new um,s=[],i=Object.create(null),r=!1;for(let[a,l]of this.#s){let c=l instanceof Ft?l.serialize(!1,i):l;if(l.page)l.pageIndex=l.page._pageIndex,delete l.page;if(c)e.set(a,c),n.update(`${a}:${JSON.stringify(c)}`),r||=!!c.bitmap}if(r){for(let a of e.values())if(a.bitmap)s.push(a.bitmap)}return e.size>0?{map:e,hash:n.hexdigest(),transfer:s}:cu}get editorStats(){let e=null,n=new Map,s=0,i=0;for(let r of this.#s.values()){if(!(r instanceof Ft)){if(r.popup)if(r.popup.deleted)i+=1;else s+=1;continue}if(r.isCommentDeleted)i+=1;else if(r.hasEditedComment)s+=1;let a=r.telemetryFinalData;if(!a)continue;let{type:l}=a;n.getOrInsertComputed(l,()=>Object.getPrototypeOf(r).constructor),e||=Object.create(null);let c=e[l]||=new Map;for(let[f,d]of Object.entries(a)){if(f==="type")continue;let g=c.getOrInsertComputed(f,i2);g.set(d,(g.get(d)??0)+1)}}if(i>0||s>0)e||=Object.create(null),e.comments={deleted:i,edited:s};if(!e)return null;for(let[r,a]of n)e[r]=a.computeTelemetryFinalData(e[r]);return e}resetModifiedIds(){this.#t=null}updateEditor(e,n){let s=this.#n?.get(e);if(s)return s.updateFromAnnotationLayer(n),!0;return!1}getEditor(e){return this.#n?.get(e)||null}get modifiedIds(){if(this.#t)return this.#t;let e=[];if(this.#n)for(let s of this.#n.values()){if(!s.serialize())continue;e.push(s.annotationElementId)}let n="";if(e.length){let s=new um;s.update(e.join(",")),n=s.hexdigest()}return this.#t={ids:new Set(e),hash:n}}[Symbol.iterator](){return this.#s.entries()}}class h2 extends Tm{#e=cu;constructor(e){super();let{serializable:n}=e;if(n===cu)return;let{map:s,hash:i,transfer:r}=n,a=structuredClone(s,r?{transfer:r}:null);this.#e={map:a,hash:i,transfer:[]}}get print(){Rn("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#e}get modifiedIds(){return Pt(this,"modifiedIds",{ids:new Set,hash:""})}}var yf="__forcedDependency",{floor:Y8,ceil:Q8}=Math;function J8(e,n,s,i,r,a){e[n*4+0]=Math.min(e[n*4+0],s),e[n*4+1]=Math.min(e[n*4+1],i),e[n*4+2]=Math.max(e[n*4+2],r),e[n*4+3]=Math.max(e[n*4+3],a)}function rM(e,n,s,i,r){let a;if(e){if(e<0)a=r[0],r[0]=r[2],r[2]=a;if(r[0]*=e,r[2]*=e,n<0)a=r[1],r[1]=r[3],r[3]=a;r[1]*=n,r[3]*=n}else r.fill(0);r[0]+=s,r[1]+=i,r[2]+=s,r[3]+=i}var Zb=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];class _7{#e;#t;constructor(e,n){this.#e=e,this.#t=n}get length(){return this.#e.length}isEmpty(e){return this.#e[e]===Zb}minX(e){return this.#t[e*4+0]/256}minY(e){return this.#t[e*4+1]/256}maxX(e){return(this.#t[e*4+2]+1)/256}maxY(e){return(this.#t[e*4+3]+1)/256}}var Z8=(e,n)=>e?.getOrInsertComputed(n,()=>({dependencies:new Set,isRenderingOperation:!1}));class I7{#e=[[1,0,0,1,0,0]];#t=[-1/0,-1/0,1/0,1/0];#n=new Float64Array(Do);_pendingBBoxIdx=-1;#s;#i;#a;#r;_savesStack=[];_markedContentStack=[];constructor(e,n){this.#s=e.width,this.#i=e.height,this.#o(n)}growOperationsCount(e){if(e>=this.#r.length)this.#o(e,this.#r)}#o(e,n){let s=new ArrayBuffer(e*4);if(this.#a=new Uint8ClampedArray(s),this.#r=new Uint32Array(s),n&&n.length>0)this.#r.set(n),this.#r.fill(Zb,n.length);else this.#r.fill(Zb)}get clipBox(){return this.#t}save(e){return this.#t={__proto__:this.#t},this._savesStack.push(e),this}restore(e,n){let s=Object.getPrototypeOf(this.#t);if(s===null)return this;this.#t=s;let i=this._savesStack.pop();if(i!==void 0)n?.(i,e),this.#r[e]=this.#r[i];return this}recordOpenMarker(e){return this._savesStack.push(e),this}getOpenMarker(){return this._savesStack.length===0?null:this._savesStack.at(-1)}recordCloseMarker(e,n){let s=this._savesStack.pop();if(s!==void 0)n?.(s,e),this.#r[e]=this.#r[s];return this}beginMarkedContent(e){return this._markedContentStack.push(e),this}endMarkedContent(e,n){let s=this._markedContentStack.pop();if(s!==void 0)n?.(s,e),this.#r[e]=this.#r[s];return this}pushBaseTransform(e){return this.#e.push(ft.multiplyByDOMMatrix(this.#e.at(-1),e.getTransform())),this}popBaseTransform(){if(this.#e.length>1)this.#e.pop();return this}resetBBox(e){if(this._pendingBBoxIdx!==e)this._pendingBBoxIdx=e,this.#n.set(Do,0);return this}recordClipBox(e,n,s,i,r,a){let l=ft.multiplyByDOMMatrix(this.#e.at(-1),n.getTransform()),c=Do.slice();ft.axialAlignedBoundingBox([s,r,i,a],l,c);let f=ft.intersect(this.#t,c);if(f)this.#t[0]=f[0],this.#t[1]=f[1],this.#t[2]=f[2],this.#t[3]=f[3];else this.#t[0]=this.#t[1]=1/0,this.#t[2]=this.#t[3]=-1/0;return this}recordBBox(e,n,s,i,r,a){let l=this.#t;if(l[0]===1/0)return this;let c=ft.multiplyByDOMMatrix(this.#e.at(-1),n.getTransform());if(l[0]===-1/0)return ft.axialAlignedBoundingBox([s,r,i,a],c,this.#n),this;let f=Do.slice();return ft.axialAlignedBoundingBox([s,r,i,a],c,f),this.#n[0]=gs(f[0],l[0],this.#n[0]),this.#n[1]=gs(f[1],l[1],this.#n[1]),this.#n[2]=gs(f[2],this.#n[2],l[2]),this.#n[3]=gs(f[3],this.#n[3],l[3]),this}recordFullPageBBox(e){return this.#n[0]=Math.max(0,this.#t[0]),this.#n[1]=Math.max(0,this.#t[1]),this.#n[2]=Math.min(this.#s,this.#t[2]),this.#n[3]=Math.min(this.#i,this.#t[3]),this}recordOperation(e,n=!1,s){if(this._pendingBBoxIdx!==e)return this;let i=Y8(this.#n[0]*256/this.#s),r=Y8(this.#n[1]*256/this.#i),a=Q8(this.#n[2]*256/this.#s),l=Q8(this.#n[3]*256/this.#i);if(J8(this.#a,e,i,r,a,l),s){for(let c of s)for(let f of c)if(f!==e)J8(this.#a,f,i,r,a,l)}if(!n)this._pendingBBoxIdx=-1;return this}bboxToClipBoxDropOperation(e){if(this._pendingBBoxIdx===e)this._pendingBBoxIdx=-1,this.#t[0]=Math.max(this.#t[0],this.#n[0]),this.#t[1]=Math.max(this.#t[1],this.#n[1]),this.#t[2]=Math.min(this.#t[2],this.#n[2]),this.#t[3]=Math.min(this.#t[3],this.#n[3]);return this}take(){return new _7(this.#r,this.#a)}takeDebugMetadata(){throw Error("Unreachable")}recordSimpleData(e,n){return this}recordIncrementalData(e,n){return this}resetIncrementalData(e,n){return this}recordNamedData(e,n){return this}recordSimpleDataFromNamed(e,n,s){return this}recordFutureForcedDependency(e,n){return this}inheritSimpleDataAsFutureForcedDependencies(e){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(e,n,s,i=1,r=0,a=0,l){return this}getSimpleIndex(e){return}recordDependencies(e,n){return this}recordNamedDependency(e,n){return this}recordShowTextOperation(e,n=!1){return this}}class R7{#e={__proto__:null};#t={__proto__:null,transform:[],moveText:[],sameLineText:[],[yf]:[]};#n=new Map;#s=new Set;#i=new Map;#a;#r;#o;constructor(e,n=!1){if(this.#o=e,n)this.#a=new Map,this.#r=(s,i)=>{Z8(this.#a,i).dependencies.add(s)}}get clipBox(){return this.#o.clipBox}growOperationsCount(e){this.#o.growOperationsCount(e)}save(e){return this.#e={__proto__:this.#e},this.#t={__proto__:this.#t,transform:{__proto__:this.#t.transform},moveText:{__proto__:this.#t.moveText},sameLineText:{__proto__:this.#t.sameLineText},[yf]:{__proto__:this.#t[yf]}},this.#o.save(e),this}restore(e){this.#o.restore(e,this.#r);let n=Object.getPrototypeOf(this.#e);if(n===null)return this;return this.#e=n,this.#t=Object.getPrototypeOf(this.#t),this}recordOpenMarker(e){return this.#o.recordOpenMarker(e,this.#r),this}getOpenMarker(){return this.#o.getOpenMarker()}recordCloseMarker(e){return this.#o.recordCloseMarker(e,this.#r),this}beginMarkedContent(e){return this.#o.beginMarkedContent(e),this}endMarkedContent(e){return this.#o.endMarkedContent(e,this.#r),this}pushBaseTransform(e){return this.#o.pushBaseTransform(e),this}popBaseTransform(){return this.#o.popBaseTransform(),this}recordSimpleData(e,n){return this.#e[e]=n,this}recordIncrementalData(e,n){return this.#t[e].push(n),this}resetIncrementalData(e,n){return this.#t[e].length=0,this}recordNamedData(e,n){return this.#n.set(e,n),this}recordSimpleDataFromNamed(e,n,s){this.#e[e]=this.#n.get(n)??s}recordFutureForcedDependency(e,n){return this.recordIncrementalData(yf,n),this}inheritSimpleDataAsFutureForcedDependencies(e){for(let n of e)if(n in this.#e)this.recordFutureForcedDependency(n,this.#e[n]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let e of this.#s)this.recordFutureForcedDependency(yf,e);return this}resetBBox(e){return this.#o.resetBBox(e),this}recordClipBox(e,n,s,i,r,a){return this.#o.recordClipBox(e,n,s,i,r,a),this}recordBBox(e,n,s,i,r,a){return this.#o.recordBBox(e,n,s,i,r,a),this}recordCharacterBBox(e,n,s,i=1,r=0,a=0,l){let c=s.bbox,f,d;if(c){if(f=c[2]!==c[0]&&c[3]!==c[1]&&this.#i.get(s),f!==!1){if(d=[0,0,0,0],ft.axialAlignedBoundingBox(c,s.fontMatrix,d),i!==1||r!==0||a!==0)rM(i,-i,r,a,d);if(f)return this.recordBBox(e,n,d[0],d[2],d[1],d[3])}}if(!l)return this.recordFullPageBBox(e);let g=l();if(c&&d&&f===void 0){if(f=d[0]<=r-g.actualBoundingBoxLeft&&d[2]>=r+g.actualBoundingBoxRight&&d[1]<=a-g.actualBoundingBoxAscent&&d[3]>=a+g.actualBoundingBoxDescent,this.#i.set(s,f),f)return this.recordBBox(e,n,d[0],d[2],d[1],d[3])}return this.recordBBox(e,n,r-g.actualBoundingBoxLeft,r+g.actualBoundingBoxRight,a-g.actualBoundingBoxAscent,a+g.actualBoundingBoxDescent)}recordFullPageBBox(e){return this.#o.recordFullPageBBox(e),this}getSimpleIndex(e){return this.#e[e]}recordDependencies(e,n){let s=this.#s,i=this.#e,r=this.#t;for(let a of n)if(a in this.#e)s.add(i[a]);else if(a in r)r[a].forEach(s.add,s);return this}recordNamedDependency(e,n){if(this.#n.has(n))this.#s.add(this.#n.get(n));return this}recordOperation(e,n=!1){if(this.recordDependencies(e,[yf]),this.#a){let i=Z8(this.#a,e),{dependencies:r}=i;this.#s.forEach(r.add,r),this.#o._savesStack.forEach(r.add,r),this.#o._markedContentStack.forEach(r.add,r),r.delete(e),i.isRenderingOperation=!0}let s=!n&&e===this.#o._pendingBBoxIdx;if(this.#o.recordOperation(e,n,[this.#s,this.#o._savesStack,this.#o._markedContentStack]),s)this.#s.clear();return this}recordShowTextOperation(e,n=!1){let s=Array.from(this.#s);this.recordOperation(e,n),this.recordIncrementalData("sameLineText",e);for(let i of s)this.recordIncrementalData("sameLineText",i);return this}bboxToClipBoxDropOperation(e,n=!1){let s=!n&&e===this.#o._pendingBBoxIdx;if(this.#o.bboxToClipBoxDropOperation(e),s)this.#s.clear();return this}take(){return this.#i.clear(),this.#o.take()}takeDebugMetadata(){return this.#a}}class fu{#e;#t;#n;#s=0;#i=0;constructor(e,n,s){if(e instanceof fu&&e.#n===!!s)return e;this.#e=e,this.#t=n,this.#n=!!s}get clipBox(){return this.#e.clipBox}growOperationsCount(){throw Error("Unreachable")}save(e){return this.#i++,this.#e.save(this.#t),this}restore(e){if(this.#i>0)this.#e.restore(this.#t),this.#i--;return this}recordOpenMarker(e){return this.#s++,this}getOpenMarker(){return this.#s>0?this.#t:this.#e.getOpenMarker()}recordCloseMarker(e){return this.#s--,this}beginMarkedContent(e){return this}endMarkedContent(e){return this}pushBaseTransform(e){return this.#e.pushBaseTransform(e),this}popBaseTransform(){return this.#e.popBaseTransform(),this}recordSimpleData(e,n){return this.#e.recordSimpleData(e,this.#t),this}recordIncrementalData(e,n){return this.#e.recordIncrementalData(e,this.#t),this}resetIncrementalData(e,n){return this.#e.resetIncrementalData(e,this.#t),this}recordNamedData(e,n){return this}recordSimpleDataFromNamed(e,n,s){return this.#e.recordSimpleDataFromNamed(e,n,this.#t),this}recordFutureForcedDependency(e,n){return this.#e.recordFutureForcedDependency(e,this.#t),this}inheritSimpleDataAsFutureForcedDependencies(e){return this.#e.inheritSimpleDataAsFutureForcedDependencies(e),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#e.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(e){if(!this.#n)this.#e.resetBBox(this.#t);return this}recordClipBox(e,n,s,i,r,a){if(!this.#n)this.#e.recordClipBox(this.#t,n,s,i,r,a);return this}recordBBox(e,n,s,i,r,a){if(!this.#n)this.#e.recordBBox(this.#t,n,s,i,r,a);return this}recordCharacterBBox(e,n,s,i,r,a,l){if(!this.#n)this.#e.recordCharacterBBox(this.#t,n,s,i,r,a,l);return this}recordFullPageBBox(e){if(!this.#n)this.#e.recordFullPageBBox(this.#t);return this}getSimpleIndex(e){return this.#e.getSimpleIndex(e)}recordDependencies(e,n){return this.#e.recordDependencies(this.#t,n),this}recordNamedDependency(e,n){return this.#e.recordNamedDependency(this.#t,n),this}recordOperation(e){return this.#e.recordOperation(this.#t,!0),this}recordShowTextOperation(e){return this.#e.recordShowTextOperation(this.#t,!0),this}bboxToClipBoxDropOperation(e){if(!this.#n)this.#e.bboxToClipBoxDropOperation(this.#t,!0);return this}take(){throw Error("Unreachable")}takeDebugMetadata(){throw Error("Unreachable")}}var Gr={stroke:["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],fill:["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],imageXObject:["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],rawFillPath:["filter","fillColor","fillAlpha"],showText:["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],transform:["transform"],transformAndFill:["transform","fillColor"]};class dm{#e;#t;#n=4;#s=0;#i=new dm.#a(this.#n*6);static#a=Xn.isFloat16ArraySupported?Float16Array:Float32Array;constructor(e){this.#e=e.width,this.#t=e.height}record(e,n,s,i){if(this.#s===this.#n){this.#n*=2;let l=new dm.#a(this.#n*6);l.set(this.#i),this.#i=l}let r=ds(e),a;if(i[0]!==1/0){let l=Do.slice();ft.axialAlignedBoundingBox([0,-s,n,0],r,l);let c=ft.intersect(i,l);if(!c)return;let[f,d,g,b]=c;if(f!==l[0]||d!==l[1]||g!==l[2]||b!==l[3]){let y=Math.atan2(r[1],r[0]),v=Math.abs(Math.sin(y)),x=Math.abs(Math.cos(y));if(v<0.000001||x<0.000001||Math.abs(v-x)<0.000001)a=[f,d,f,b,g,d];else{let T=g-f,R=b-d,N=v*v,U=x*x,X=x*v,Y=U-N,J=(R*U-T*X)/Y,ee=(R*X-T*N)/Y;a=[f+ee,d,f,d+J,g,b-J]}}}if(!a)a=[0,-s,0,0,n,-s],ft.applyTransform(a,r,0),ft.applyTransform(a,r,2),ft.applyTransform(a,r,4);a[0]/=this.#e,a[1]/=this.#t,a[2]/=this.#e,a[3]/=this.#t,a[4]/=this.#e,a[5]/=this.#t,this.#i.set(a,this.#s*6),this.#s++}take(){return this.#i.subarray(0,this.#s*6)}}var e7=/\p{Cc}/u;function aM(e){let n=e[0];if(e.length<2||n!=='"'&&n!=="'"||e.at(-1)!==n)return!1;let s=e.length-1;for(let i=1;i<s;i++){let r=e[i];if(r===n||e7.test(r))return!1;if(r==="\\"){if(++i>=s||e7.test(e[i]))return!1}}return!0}function t7(e){if(aM(e))return e;return`"${e.replaceAll(/["\\\p{Cc}]/gu,(s)=>s==='"'||s==="\\"?`\\${s}`:`\\${s.codePointAt(0).toString(16)} `)}"`}class D7{#e=new Set;#t=null;constructor({ownerDocument:e=globalThis.document,styleElement:n=null}){this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){let n=this.#n();n.insertRule(e,n.cssRules.length)}#n(){if(this.#t)return this.#t;let e=this._document.defaultView?.CSSStyleSheet||globalThis.CSSStyleSheet;if(!this.styleElement&&e){let{adoptedStyleSheets:n}=this._document;if(n){let s=new e;return n.push(s),this.#t=s}}if(!this.styleElement)this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement);return this.#t=this.styleElement.sheet}clear(){for(let e of this.nativeFontFaces)this._document.fonts.delete(e);if(this.nativeFontFaces.clear(),this.#e.clear(),this.#t){let{adoptedStyleSheets:e}=this._document;if(e?.includes(this.#t))this._document.adoptedStyleSheets=e.filter((n)=>n!==this.#t);this.#t=null}if(this.styleElement)this.styleElement.remove(),this.styleElement=null}async loadSystemFont({systemFontInfo:e,disableFontFace:n,_inspectFont:s}){if(!e||this.#e.has(e.loadedName))return;if(Ps(!n,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){let{loadedName:i,src:r,style:a}=e,l=new FontFace(i,r,a);this.addNativeFontFace(l);try{await l.load(),this.#e.add(i),s?.(e)}catch{ln(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(l)}return}Rn("Not implemented: loadSystemFont without the Font Loading API.")}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo){await this.loadSystemFont(e);return}if(this.isFontLoadingAPISupported){let s=e.createNativeFontFace();if(s){this.addNativeFontFace(s);try{await s.loaded}catch(i){throw ln(`Failed to load font '${s.family}': '${i}'.`),e.disableFontFace=!0,i}}return}let n=e.createFontFaceRule();if(n){if(this.insertRule(n),this.isSyncFontLoadingSupported)return;await new Promise((s)=>{let i=this._queueLoadingCallback(s);this._prepareFontLoadEvent(e,i)})}}get isFontLoadingAPISupported(){let e=!!this._document?.fonts;return Pt(this,"isFontLoadingAPISupported",e)}get isSyncFontLoadingSupported(){return Pt(this,"isSyncFontLoadingSupported",wr||Xn.platform.isFirefox)}_queueLoadingCallback(e){function n(){Ps(!i.done,"completeRequest() cannot be called twice."),i.done=!0;while(s.length>0&&s[0].done){let r=s.shift();setTimeout(r.callback,0)}}let{loadingRequests:s}=this,i={done:!1,complete:n,callback:e};return s.push(i),i}get _loadTestFont(){let e=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return Pt(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,n){function s(Y,J){return Y.charCodeAt(J)<<24|Y.charCodeAt(J+1)<<16|Y.charCodeAt(J+2)<<8|Y.charCodeAt(J+3)&255}function i(Y){return String.fromCharCode(Y>>24&255,Y>>16&255,Y>>8&255,Y&255)}function r(Y,J,ee,te){let ne=Y.substring(0,J),ie=Y.substring(J+ee);return ne+te+ie}let a,l,c=this._document.createElement("canvas");c.width=1,c.height=1;let f=c.getContext("2d"),d=0;function g(Y,J){if(++d>30){ln("Load test font never loaded."),J();return}if(f.font="30px "+Y,f.fillText(".",0,20),f.getImageData(0,0,1,1).data[3]>0){J();return}setTimeout(g.bind(null,Y,J))}let b=`lt${Date.now()}${this.loadTestFontId++}`,y=this._loadTestFont;y=r(y,976,b.length,b);let x=16,T=1482184792,R=s(y,x);for(a=0,l=b.length-3;a<l;a+=4)R=R-T+s(b,a)|0;if(a<b.length)R=R-T+s(b+"XXX",a)|0;y=r(y,x,4,i(R));let N=`url(data:font/opentype;base64,${btoa(y)});`,U=`@font-face {font-family:"${b}";src:${N}}`;this.insertRule(U);let X=this._document.createElement("div");X.style.visibility="hidden",X.style.width=X.style.height="10px",X.style.position="absolute",X.style.top=X.style.left="0px";for(let Y of[e.loadedName,b]){let J=this._document.createElement("span");J.textContent="Hi",J.style.fontFamily=Y,X.append(J)}this._document.body.append(X),g(b,()=>{X.remove(),n.complete()})}}class q7{compiledGlyphs=Object.create(null);#e;constructor(e,n=null,s,i){if(this.#e=e,this._inspectFont=n,s)this.charProcOperatorList=s;if(i)Object.assign(this,i)}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let e;if(!this.cssFontInfo)e=new FontFace(this.loadedName,this.data,{});else{let n={weight:this.cssFontInfo.fontWeight};if(this.cssFontInfo.italicAngle)n.style=`oblique ${this.cssFontInfo.italicAngle}deg`;e=new FontFace(t7(this.cssFontInfo.fontFamily),this.data,n)}return this._inspectFont?.(this),e}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;let e=`url(data:${this.mimetype};base64,${this.data.toBase64()});`,n;if(!this.cssFontInfo)n=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let s=`font-weight: ${this.cssFontInfo.fontWeight};`;if(this.cssFontInfo.italicAngle)s+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;n=`@font-face {font-family:${t7(this.cssFontInfo.fontFamily)};${s}src:${e}}`}return this._inspectFont?.(this,e),n}getPathGenerator(e,n){if(this.compiledGlyphs[n]!==void 0)return this.compiledGlyphs[n];let s=this.loadedName+"_path_"+n,i;try{i=e.get(s)}catch(a){ln(`getPathGenerator - ignoring character: "${a}".`)}let r=x7(i?.path);if(!this.fontExtraProperties)e.delete(s);return this.compiledGlyphs[n]=r}get black(){return this.#e.black}get bold(){return this.#e.bold}get disableFontFace(){return this.#e.disableFontFace}set disableFontFace(e){Pt(this,"disableFontFace",!!e)}get fontExtraProperties(){return this.#e.fontExtraProperties}get isInvalidPDFjsFont(){return this.#e.isInvalidPDFjsFont}get isType3Font(){return this.#e.isType3Font}get italic(){return this.#e.italic}get missingFile(){return this.#e.missingFile}get remeasure(){return this.#e.remeasure}get vertical(){return this.#e.vertical}get ascent(){return this.#e.ascent}get defaultWidth(){return this.#e.defaultWidth}get descent(){return this.#e.descent}get bbox(){return this.#e.bbox}get fontMatrix(){return this.#e.fontMatrix}get fallbackName(){return this.#e.fallbackName}get loadedName(){return this.#e.loadedName}get mimetype(){return this.#e.mimetype}get name(){return this.#e.name}get data(){return this.#e.data}clearData(){this.#e.clearData()}get cssFontInfo(){return this.#e.cssFontInfo}get systemFontInfo(){return this.#e.systemFontInfo}get defaultVMetrics(){return this.#e.defaultVMetrics}}class M7{static strings=["fontFamily","fontWeight","italicAngle"]}class F7{static strings=["css","loadedName","baseFontName","src"]}class $r{static bools=["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"];static numbers=["ascent","defaultWidth","descent"];static strings=["fallbackName","loadedName","mimetype","name"];static OFFSET_NUMBERS=Math.ceil(this.bools.length*2/8);static OFFSET_BBOX=this.OFFSET_NUMBERS+this.numbers.length*8;static OFFSET_FONT_MATRIX=this.OFFSET_BBOX+1+8;static OFFSET_DEFAULT_VMETRICS=this.OFFSET_FONT_MATRIX+1+48;static OFFSET_STRINGS=this.OFFSET_DEFAULT_VMETRICS+1+6}class vl{static KIND=0;static HAS_BBOX=1;static HAS_BACKGROUND=2;static SHADING_TYPE=3;static N_COORD=4;static N_COLOR=8;static N_STOP=12;static N_FIGURES=16}class uu{static get decoder(){return Pt(this,"decoder",new TextDecoder)}static get encoder(){return Pt(this,"encoder",new TextEncoder)}}class L7{#e;#t;constructor(e){this.#e=e,this.#t=new DataView(e)}#n(e){Ps(e<M7.strings.length,"Invalid string index");let{decoder:n}=uu,s=0;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get fontFamily(){return this.#n(0)}get fontWeight(){return this.#n(1)}get italicAngle(){return this.#n(2)}}class O7{#e;#t;constructor(e){this.#e=e,this.#t=new DataView(e)}get guessFallback(){return this.#t.getUint8(0)!==0}#n(e){Ps(e<F7.strings.length,"Invalid string index");let{decoder:n}=uu,s=5;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get css(){return this.#n(0)}get loadedName(){return this.#n(1)}get baseFontName(){return this.#n(2)}get src(){return this.#n(3)}get style(){let{decoder:e}=uu,n=1;n+=4+this.#t.getUint32(n);let s=this.#t.getUint32(n),i=e.decode(new Uint8Array(this.#e,n+4,s));n+=4+s;let r=this.#t.getUint32(n),a=e.decode(new Uint8Array(this.#e,n+4,r));return{style:i,weight:a}}}class P7{#e;#t;constructor({buffer:e,extra:n}){if(this.#e=e,this.#t=new DataView(e),n)Object.assign(this,n)}#n(e){Ps(e<$r.bools.length,"Invalid boolean index");let n=Math.floor(e/4),s=e*2%8,i=this.#t.getUint8(n)>>s&3;return i===0?void 0:i===2}get black(){return this.#n(0)}get bold(){return this.#n(1)}get disableFontFace(){return this.#n(2)}get fontExtraProperties(){return this.#n(3)}get isInvalidPDFjsFont(){return this.#n(4)}get isType3Font(){return this.#n(5)}get italic(){return this.#n(6)}get missingFile(){return this.#n(7)}get remeasure(){return this.#n(8)}get vertical(){return this.#n(9)}#s(e){return Ps(e<$r.numbers.length,"Invalid number index"),this.#t.getFloat64($r.OFFSET_NUMBERS+e*8)}get ascent(){return this.#s(0)}get defaultWidth(){return this.#s(1)}get descent(){return this.#s(2)}#i(e,n,s,i){let r=this.#t.getUint8(e);if(r===0)return;Ps(r===n,"Invalid array length."),e+=1;let a=Array(r);for(let l=0;l<r;l++)a[l]=this.#t[s](e,!0),e+=i;return a}get bbox(){return this.#i($r.OFFSET_BBOX,4,"getInt16",2)}get fontMatrix(){return this.#i($r.OFFSET_FONT_MATRIX,6,"getFloat64",8)}get defaultVMetrics(){return this.#i($r.OFFSET_DEFAULT_VMETRICS,3,"getInt16",2)}#a(e){Ps(e<$r.strings.length,"Invalid string index");let{decoder:n}=uu,s=$r.OFFSET_STRINGS+4;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get fallbackName(){return this.#a(0)}get loadedName(){return this.#a(1)}get mimetype(){return this.#a(2)}get name(){return this.#a(3)}#r(){let e=$r.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);e+=4+s;let i=this.#t.getUint32(e);e+=4+i;let r=this.#t.getUint32(e);return{offset:e,length:r}}get data(){let{offset:e,length:n}=this.#r();return n===0?void 0:new Uint8Array(this.#e,e+4,n)}clearData(){let{offset:e,length:n}=this.#r();if(n===0)return;this.#t.setUint32(e,0),this.#e=new Uint8Array(this.#e,0,e+4).slice().buffer,this.#t=new DataView(this.#e)}get cssFontInfo(){let e=$r.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);e+=4+s;let i=this.#t.getUint32(e);if(i===0)return null;let r=new Uint8Array(i);return r.set(new Uint8Array(this.#e,e+4,i)),new L7(r.buffer)}get systemFontInfo(){let e=$r.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);if(s===0)return null;let i=new Uint8Array(s);return i.set(new Uint8Array(this.#e,e+4,s)),new O7(i.buffer)}}class N7{constructor(e){this.buffer=e,this.view=new DataView(e),this.data=new Uint8Array(e)}getIR(){let e=this.view,n=this.data[vl.KIND],s=!!this.data[vl.HAS_BBOX],i=!!this.data[vl.HAS_BACKGROUND],r=e.getUint32(vl.N_COORD,!0),a=e.getUint32(vl.N_COLOR,!0),l=e.getUint32(vl.N_STOP,!0),c=20,f=new Float32Array(this.buffer,c,r*2);c+=r*8;let d=new Uint8Array(this.buffer,c,a*4);c+=a*4;let g=[];for(let v=0;v<l;++v){let x=e.getFloat32(c,!0);c+=4;let T=e.getUint32(c,!0);c+=4,g.push([x,`#${T.toString(16).padStart(6,"0")}`])}let b=null;if(s){b=[];for(let v=0;v<4;++v)b.push(e.getFloat32(c,!0)),c+=4}let y=null;if(i)y=new Uint8Array(this.buffer,c,3),c+=3;if(n===1)return["RadialAxial","axial",b,g,Array.from(f.slice(0,2)),Array.from(f.slice(2,4)),null,null];if(n===2)return["RadialAxial","radial",b,g,[f[0],f[1]],[f[3],f[4]],f[2],f[5]];if(n===3){let v=this.data[vl.SHADING_TYPE],x=null;if(f.length>0){x=Do.slice();for(let T=0,R=f.length;T<R;T+=2)ft.pointBoundingBox(f[T],f[T+1],x)}return["Mesh",v,f,d,r,x,b,y]}throw Error(`Unsupported pattern kind: ${n}`)}}class B7{#e;constructor(e){this.#e=e}get path(){if(Xn.isFloat16ArraySupported)return new Float16Array(this.#e);return new Float32Array(this.#e)}}function oM(e){if(e instanceof URL)return e;if(typeof e==="string"){if(wr){if(/^[a-z][a-z0-9\-+.]+:/i.test(e))return new URL(e);let s=process.getBuiltinModule("url");return new URL(s.pathToFileURL(e))}let n=URL.parse(e,window.location);if(n)return n}throw Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function lM(e){if(wr&&typeof Buffer<"u"&&e instanceof Buffer)throw Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength)return e;if(typeof e==="string")return km(e);if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==="object"&&!isNaN(e?.length))return new Uint8Array(e);throw Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function K0(e){if(typeof e!=="string")return null;if(e.endsWith("/"))return e;throw Error(`Invalid factory url: "${e}" must include trailing slash.`)}var e2=(e)=>typeof e==="object"&&Number.isInteger(e?.num)&&e.num>=0&&Number.isInteger(e?.gen)&&e.gen>=0,cM=(e)=>typeof e==="object"&&typeof e?.name==="string",fM=Kq.bind(null,e2,cM);class H7{#e=new Map;#t=Promise.resolve();postMessage(e,n){let s={data:structuredClone(e,n?{transfer:n}:null)};this.#t.then(()=>{for(let[i]of this.#e)i.call(this,s)})}addEventListener(e,n,s=null){let i=null;if(s?.signal instanceof AbortSignal){let{signal:r}=s;if(r.aborted){ln("LoopbackPort - cannot use an `aborted` signal.");return}let a=()=>this.removeEventListener(e,n);i=()=>r.removeEventListener("abort",a),r.addEventListener("abort",a)}this.#e.set(n,i)}removeEventListener(e,n){this.#e.get(n)?.(),this.#e.delete(n)}terminate(){for(let[,e]of this.#e)e?.();this.#e.clear()}}var Y0={DATA:1,ERROR:2},si={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function n7(){}function Ji(e){if(e instanceof Mo||e instanceof cm||e instanceof lm||e instanceof au||e instanceof rm)return e;if(!(e instanceof Error||typeof e==="object"&&e!==null))Rn('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(e.name){case"AbortException":return new Mo(e.message);case"InvalidPDFException":return new cm(e.message);case"PasswordException":return new lm(e.message,e.code);case"ResponseException":return new au(e.message,e.status,e.missing);case"UnknownErrorException":return new rm(e.message,e.details)}return new rm(e.message,e.toString())}class kf{#e=new AbortController;constructor(e,n,s){this.sourceName=e,this.targetName=n,this.comObj=s,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),s.addEventListener("message",this.#t.bind(this),{signal:this.#e.signal})}#t({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){this.#s(e);return}if(e.callback){let s=e.callbackId,i=this.callbackCapabilities[s];if(!i)throw Error(`Cannot resolve callback ${s}`);if(delete this.callbackCapabilities[s],e.callback===Y0.DATA)i.resolve(e.data);else if(e.callback===Y0.ERROR)i.reject(Ji(e.reason));else throw Error("Unexpected callback case");return}let n=this.actionHandler[e.action];if(!n)throw Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){let s=this.sourceName,i=e.sourceName,r=this.comObj;Promise.try(n,e.data).then(function(a){r.postMessage({sourceName:s,targetName:i,callback:Y0.DATA,callbackId:e.callbackId,data:a})},function(a){r.postMessage({sourceName:s,targetName:i,callback:Y0.ERROR,callbackId:e.callbackId,reason:Ji(a)})});return}if(e.streamId){this.#n(e);return}n(e.data)}on(e,n){let s=this.actionHandler;if(s[e])throw Error(`There is already an actionName called "${e}"`);s[e]=n}send(e,n,s){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:n},s)}sendWithPromise(e,n,s){let i=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[i]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:n},s)}catch(a){r.reject(a)}return r.promise}sendWithStream(e,n,s,i){let r=this.streamId++,a=this.sourceName,l=this.targetName,c=this.comObj;return new ReadableStream({start:(f)=>{let d=Promise.withResolvers();return this.streamControllers[r]={controller:f,startCall:d,pullCall:null,cancelCall:null,isClosed:!1},c.postMessage({sourceName:a,targetName:l,action:e,streamId:r,data:n,desiredSize:f.desiredSize},i),d.promise},pull:(f)=>{let d=Promise.withResolvers();return this.streamControllers[r].pullCall=d,c.postMessage({sourceName:a,targetName:l,stream:si.PULL,streamId:r,desiredSize:f.desiredSize}),d.promise},cancel:(f)=>{Ps(f instanceof Error,"cancel must have a valid reason");let d=Promise.withResolvers();return this.streamControllers[r].cancelCall=d,this.streamControllers[r].isClosed=!0,c.postMessage({sourceName:a,targetName:l,stream:si.CANCEL,streamId:r,reason:Ji(f)}),d.promise}},s)}#n(e){let n=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,a=this,l=this.actionHandler[e.action],c={enqueue(f,d=1,g){if(this.isCancelled)return;let b=this.desiredSize;if(this.desiredSize-=d,b>0&&this.desiredSize<=0)this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise;r.postMessage({sourceName:s,targetName:i,stream:si.ENQUEUE,streamId:n,chunk:f},g)},close(){if(this.isCancelled)return;this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:si.CLOSE,streamId:n}),delete a.streamSinks[n]},error(f){if(Ps(f instanceof Error,"error must have a valid reason"),this.isCancelled)return;this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:si.ERROR,streamId:n,reason:Ji(f)})},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};c.sinkCapability.resolve(),c.ready=c.sinkCapability.promise,this.streamSinks[n]=c,Promise.try(l,e.data,c).then(function(){r.postMessage({sourceName:s,targetName:i,stream:si.START_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:si.START_COMPLETE,streamId:n,reason:Ji(f)})})}#s(e){let n=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,a=this.streamControllers[n],l=this.streamSinks[n];switch(e.stream){case si.START_COMPLETE:if(e.success)a.startCall.resolve();else a.startCall.reject(Ji(e.reason));break;case si.PULL_COMPLETE:if(e.success)a.pullCall.resolve();else a.pullCall.reject(Ji(e.reason));break;case si.PULL:if(!l){r.postMessage({sourceName:s,targetName:i,stream:si.PULL_COMPLETE,streamId:n,success:!0});break}if(l.desiredSize<=0&&e.desiredSize>0)l.sinkCapability.resolve();l.desiredSize=e.desiredSize,Promise.try(l.onPull||n7).then(function(){r.postMessage({sourceName:s,targetName:i,stream:si.PULL_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:si.PULL_COMPLETE,streamId:n,reason:Ji(f)})});break;case si.ENQUEUE:if(Ps(a,"enqueue should have stream controller"),a.isClosed)break;a.controller.enqueue(e.chunk);break;case si.CLOSE:if(Ps(a,"close should have stream controller"),a.isClosed)break;a.isClosed=!0,a.controller.close(),this.#i(a,n);break;case si.ERROR:Ps(a,"error should have stream controller"),a.controller.error(Ji(e.reason)),this.#i(a,n);break;case si.CANCEL_COMPLETE:if(e.success)a.cancelCall.resolve();else a.cancelCall.reject(Ji(e.reason));this.#i(a,n);break;case si.CANCEL:if(!l)break;let c=Ji(e.reason);Promise.try(l.onCancel||n7,c).then(function(){r.postMessage({sourceName:s,targetName:i,stream:si.CANCEL_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:si.CANCEL_COMPLETE,streamId:n,reason:Ji(f)})}),l.sinkCapability.reject(c),l.isCancelled=!0,delete this.streamSinks[n];break;default:throw Error("Unexpected stream case")}}async#i(e,n){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]),delete this.streamControllers[n]}destroy(){this.#e?.abort(),this.#e=null}}class u2{#e=Object.freeze({cMapUrl:"CMap",standardFontDataUrl:"font",wasmUrl:"wasm"});constructor({cMapUrl:e=null,standardFontDataUrl:n=null,wasmUrl:s=null}){this.cMapUrl=e,this.standardFontDataUrl=n,this.wasmUrl=s}async fetch({kind:e,filename:n}){switch(e){case"cMapUrl":case"standardFontDataUrl":case"wasmUrl":break;default:Rn(`Not implemented: ${e}`)}let s=this[e];if(!s)throw Error(`Ensure that the \`${e}\` API parameter is provided.`);let i=`${s}${n}`;return this._fetch(i,e).catch((r)=>{throw Error(`Unable to load ${this.#e[e]} data at: ${i}`)})}async _fetch(e,n){Rn("Abstract method `_fetch` called.")}}class t2 extends u2{async _fetch(e,n){let s=n==="cMapUrl"&&!e.endsWith(".bcmap")?"text":"bytes",i=await a2(e,s);return i instanceof Uint8Array?i:km(i)}}class d2{#e=!1;constructor({enableHWA:e=!1}){this.#e=e}create(e,n){if(e<=0||n<=0)throw Error("Invalid canvas size");let s=this._createCanvas(e,n);return{canvas:s,context:s.getContext("2d",{willReadFrequently:!this.#e})}}reset({canvas:e},n,s){if(!e)throw Error("Canvas is not specified");if(n<=0||s<=0)throw Error("Invalid canvas size");e.width=n,e.height=s}destroy(e){let{canvas:n}=e;if(!n)throw Error("Canvas is not specified");n.width=n.height=0,e.canvas=null,e.context=null}_createCanvas(e,n){Rn("Abstract method `_createCanvas` called.")}}class U7 extends d2{constructor({ownerDocument:e=globalThis.document,enableHWA:n=!1}){super({enableHWA:n});this._document=e}_createCanvas(e,n){let s=this._document.createElement("canvas");return s.width=e,s.height=n,s}}class m2{addFilter(e){return"none"}addHCMFilter(e,n){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addKnockoutFilter(e=0){return"none"}addHighlightHCMFilter(e,n,s,i,r){return"none"}addSelectionHCMFilter(e,n){return"none"}addSelectionFilter(){return"none"}createSelectionStyle(e=null){return null}destroy(e=!1){}}class z7 extends m2{#e;#t;#n;#s;#i;#a;#r=0;constructor({docId:e,ownerDocument:n=globalThis.document}){super();this.#s=e,this.#i=n}get#o(){return this.#t||=new Map}get#l(){return this.#a||=new Map}get#c(){if(!this.#n){let e=this.#i.createElement("div"),{style:n}=e;n.colorScheme="only light",n.visibility="hidden",n.contain="strict",n.width=n.height=0,n.position="absolute",n.top=n.left=0,n.zIndex=-1;let s=this.#i.createElementNS("http://www.w3.org/2000/svg","svg");s.setAttribute("width",0),s.setAttribute("height",0),this.#n=this.#i.createElementNS("http://www.w3.org/2000/svg","defs"),e.append(s),s.append(this.#n),this.#i.body.append(e)}return this.#n}#u(e){if(e.length===1){let c=e[0],f=Array(256);for(let g=0;g<256;g++)f[g]=c[g]/255;let d=f.join(",");return[d,d,d]}let[n,s,i]=e,r=Array(256),a=Array(256),l=Array(256);for(let c=0;c<256;c++)r[c]=n[c]/255,a[c]=s[c]/255,l[c]=i[c]/255;return[r.join(","),a.join(","),l.join(",")]}#h(e){if(this.#e===void 0){this.#e="";let n=this.#i.URL;if(n!==this.#i.baseURI)if(Am(n))ln('#createUrl: ignore "data:"-URL for performance reasons.');else this.#e=b7(n,"")}return`url(${this.#e}#${e})`}addFilter(e){if(!e)return"none";let n=this.#o.get(e);if(n)return n;let[s,i,r]=this.#u(e),a=e.length===1?s:`${s}${i}${r}`;if(n=this.#o.get(a),n)return this.#o.set(e,n),n;let l=`g_${this.#s}_transfer_map_${this.#r++}`,c=this.#h(l);this.#o.set(e,c),this.#o.set(a,c);let f=this.#g(l);return this.#m(s,i,r,f),c}addHCMFilter(e,n){let s=`${e}-${n}`,i="base",r=this.#l.get("base");if(r?.key===s)return r.url;if(r)r.filter?.remove(),r.key=s,r.url="none",r.filter=null;else r={key:s,url:"none",filter:null},this.#l.set("base",r);if(!e||!n)return r.url;let a=this.#w(e);e=ft.makeHexColor(...a);let l=this.#w(n);if(n=ft.makeHexColor(...l),this.#v(),e==="#000000"&&n==="#ffffff"||e===n)return r.url;let f=Array.from({length:256},(y,v)=>Jb(v/255)).join(","),d=`g_${this.#s}_hcm_filter`,g=r.filter=this.#g(d);this.#m(f,f,f,g),this.#p(g);let b=(y,v)=>{let x=a[y]/255,T=l[y]/255,R=Array(v+1);for(let N=0;N<=v;N++)R[N]=x+N/v*(T-x);return R.join(",")};return this.#m(b(0,5),b(1,5),b(2,5),g),r.url=this.#h(d),r.url}addSelectionHCMFilter(e,n){return this.addHighlightHCMFilter("selection",e,n,"HighlightText","Highlight")}addSelectionFilter(){return this.addHighlightHCMFilter("selection_default","black","white","HighlightText","Highlight")}createSelectionStyle(e=null){let n=e?this.addSelectionHCMFilter(e.foreground,e.background):this.addSelectionFilter();if(n==="none"||!Xn.platform.isFirefox)return null;return{"backdrop-filter":n,"background-color":"transparent"}}addAlphaFilter(e){let n=this.#o.get(e);if(n)return n;let[s]=this.#u([e]),i=`alpha_${s}`;if(n=this.#o.get(i),n)return this.#o.set(e,n),n;let r=`g_${this.#s}_alpha_map_${this.#r++}`,a=this.#h(r);this.#o.set(e,a),this.#o.set(i,a);let l=this.#g(r);return this.#b(s,l),a}addLuminosityFilter(e){let n=this.#o.get(e||"luminosity");if(n)return n;let s,i;if(e)[s]=this.#u([e]),i=`luminosity_${s}`;else i="luminosity";if(n=this.#o.get(i),n)return this.#o.set(e,n),n;let r=`g_${this.#s}_luminosity_map_${this.#r++}`,a=this.#h(r);this.#o.set(e,a),this.#o.set(i,a);let l=this.#g(r);if(this.#d(l),e)this.#b(s,l);return a}addKnockoutFilter(e=0){let n=e>0?Math.min(1/e,1e6):1e6,s=`knockout_${n}`,i=this.#o.get(s);if(i)return i;let r=`g_${this.#s}_knockout_filter_${this.#r++}`,a=this.#h(r);this.#o.set(s,a);let l=this.#g(r),c=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");l.append(c);let f=this.#i.createElementNS("http://www.w3.org/2000/svg","feFuncA");return f.setAttribute("type","linear"),f.setAttribute("slope",`${n}`),f.setAttribute("intercept","0"),c.append(f),a}addHighlightHCMFilter(e,n,s,i,r){let a=`${n}-${s}-${i}-${r}`,l=this.#l.get(e);if(l?.key===a)return l.url;if(l)l.filter?.remove(),l.key=a,l.url="none",l.filter=null;else l={key:a,url:"none",filter:null},this.#l.set(e,l);if(!n||!s)return l.url;let[c,f]=[n,s].map(this.#w.bind(this)),d=Math.round(0.2126*c[0]+0.7152*c[1]+0.0722*c[2]),g=Math.round(0.2126*f[0]+0.7152*f[1]+0.0722*f[2]),[b,y]=[i,r].map(this.#x.bind(this));if(g<d)[d,g,b,y]=[g,d,y,b];this.#v();let v=(R,N,U)=>{let X=Array(256),Y=(g-d)/U,J=R/255,ee=(N-R)/(255*U),te=0;for(let ne=0;ne<=U;ne++){let ie=Math.round(d+ne*Y),se=J+ne*ee;for(let ae=te;ae<=ie;ae++)X[ae]=se;te=ie+1}for(let ne=te;ne<256;ne++)X[ne]=X[te-1];return X.join(",")},x=`g_${this.#s}_hcm_${e}_filter`,T=l.filter=this.#g(x);return this.#p(T),this.#m(v(b[0],y[0],5),v(b[1],y[1],5),v(b[2],y[2],5),T),l.url=this.#h(x),l.url}destroy(e=!1){if(e&&this.#a?.size)return;this.#n?.parentNode.parentNode.remove(),this.#n=null,this.#t?.clear(),this.#t=null,this.#a?.clear(),this.#a=null,this.#r=0}#d(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),e.append(n)}#p(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),e.append(n)}#g(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","filter");return n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("id",e),this.#c.append(n),n}#f(e,n,s){let i=this.#i.createElementNS("http://www.w3.org/2000/svg",n);i.setAttribute("type","discrete"),i.setAttribute("tableValues",s),e.append(i)}#m(e,n,s,i){let r=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");i.append(r),this.#f(r,"feFuncR",e),this.#f(r,"feFuncG",n),this.#f(r,"feFuncB",s)}#b(e,n){let s=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");n.append(s),this.#f(s,"feFuncA",e)}#w(e){return this.#c.style.color="CanvasText",this.#c.style.backgroundColor=e,Su(getComputedStyle(this.#c).getPropertyValue("background-color"))}#y(e){return this.#c.style.color="CanvasText",this.#c.style.backgroundColor=e,vu(getComputedStyle(this.#c).getPropertyValue("background-color"))}#v(){this.#c.style.color="",this.#c.style.backgroundColor=""}#x(e){let[n,s,i,r]=this.#y(e);if(r===1)return[n,s,i];let[a,l,c]=this.#w("Canvas");return[Gb(n,a,r),Gb(s,l,r),Gb(i,c,r)]}}function Gb(e,n,s){return Math.round(s*e+(1-s)*n)}if(wr)ln("Please use the `legacy` build in Node.js environments.");async function hM(e){let s=await process.getBuiltinModule("fs/promises").readFile(e);return new Uint8Array(s)}class G7 extends m2{}class V7 extends d2{_createCanvas(e,n){return process.getBuiltinModule("module").createRequire(import.meta.url)("@napi-rs/canvas").createCanvas(e,n)}}class $7 extends u2{async _fetch(e,n){return hM(e)}}function X7({src:e,srcPos:n=0,dest:s,width:i,height:r,nonBlackColor:a=4294967295,inverseDecode:l=!1}){let c=Xn.isLittleEndian?4278190080:255,[f,d]=l?[a,c]:[c,a],g=i>>3,b=i&7,y=f^d,v=e.length;s=new Uint32Array(s.buffer);let x=0;for(let T=0;T<r;++T){for(let N=n+g;n<N;++n,x+=8){let U=e[n];s[x]=f^-(U>>7&1)&y,s[x+1]=f^-(U>>6&1)&y,s[x+2]=f^-(U>>5&1)&y,s[x+3]=f^-(U>>4&1)&y,s[x+4]=f^-(U>>3&1)&y,s[x+5]=f^-(U>>2&1)&y,s[x+6]=f^-(U>>1&1)&y,s[x+7]=f^-(U&1)&y}if(b===0)continue;let R=n<v?e[n++]:255;for(let N=0;N<b;++N,++x)s[x]=f^-(R>>7-N&1)&y}return{srcPos:n,destPos:x}}function uM({src:e,srcPos:n=0,dest:s,destPos:i=0,width:r,height:a}){let l=0,c=r*a*3,f=c>>2,d=new Uint32Array(e.buffer,n,f),g=Xn.isLittleEndian?4278190080:255;if(Xn.isLittleEndian){for(;l<f-2;l+=3,i+=4){let b=d[l],y=d[l+1],v=d[l+2];s[i]=b|g,s[i+1]=b>>>24|y<<8|g,s[i+2]=y>>>16|v<<16|g,s[i+3]=v>>>8|g}for(let b=l*4,y=n+c;b<y;b+=3)s[i++]=e[b]|e[b+1]<<8|e[b+2]<<16|g}else{for(;l<f-2;l+=3,i+=4){let b=d[l],y=d[l+1],v=d[l+2];s[i]=b|g,s[i+1]=b<<24|y>>>8|g,s[i+2]=y<<16|v>>>16|g,s[i+3]=v<<8|g}for(let b=l*4,y=n+c;b<y;b+=3)s[i++]=e[b]<<24|e[b+1]<<16|e[b+2]<<8|g}return{srcPos:n+c,destPos:i}}var dM=`
76
- struct Uniforms {
77
- offsetX : f32,
78
- offsetY : f32,
79
- scaleX : f32,
80
- scaleY : f32,
81
- paddedWidth : f32,
82
- paddedHeight : f32,
83
- borderSize : f32,
84
- _pad : f32,
85
- };
86
-
87
- @group(0) @binding(0) var<uniform> u : Uniforms;
88
-
89
- struct VertexInput {
90
- @location(0) position : vec2<f32>,
91
- @location(1) color : vec4<f32>,
92
- };
93
-
94
- struct VertexOutput {
95
- @builtin(position) position : vec4<f32>,
96
- @location(0) color : vec3<f32>,
97
- };
98
-
99
- @vertex
100
- fn vs_main(in : VertexInput) -> VertexOutput {
101
- var out : VertexOutput;
102
- let cx = (in.position.x + u.offsetX) * u.scaleX;
103
- let cy = (in.position.y + u.offsetY) * u.scaleY;
104
- out.position = vec4<f32>(
105
- ((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0,
106
- 1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0,
107
- 0.0,
108
- 1.0
109
- );
110
- out.color = in.color.rgb;
111
- return out;
112
- }
113
-
114
- @fragment
115
- fn fs_main(in : VertexOutput) -> @location(0) vec4<f32> {
116
- return vec4<f32>(in.color, 1.0);
117
- }
118
- `;class W7{#e=null;#t=null;#n=null;#s=null;async#i(){if(!globalThis.navigator?.gpu)return!1;try{let e=await navigator.gpu.requestAdapter();if(!e)return!1;return this.#s=navigator.gpu.getPreferredCanvasFormat(),this.#t=await e.requestDevice(),!0}catch{return!1}}init(){return this.#e||=this.#i()}get isReady(){return this.#t!==null}loadMeshShader(){if(!this.#t||this.#n)return;let e=this.#t.createShaderModule({code:dM});this.#n=this.#t.createRenderPipeline({layout:"auto",vertex:{module:e,entryPoint:"vs_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"unorm8x4"}]}]},fragment:{module:e,entryPoint:"fs_main",targets:[{format:this.#s}]},primitive:{topology:"triangle-list"}})}draw(e,n,s,i,r,a,l,c){this.loadMeshShader();let f=this.#t,{offsetX:d,offsetY:g,scaleX:b,scaleY:y}=i,v=f.createBuffer({size:Math.max(e.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});if(e.byteLength>0)f.queue.writeBuffer(v,0,e);let x=f.createBuffer({size:Math.max(n.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});if(n.byteLength>0)f.queue.writeBuffer(x,0,n);let T=f.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});f.queue.writeBuffer(T,0,new Float32Array([d,g,b,y,a,l,c,0]));let R=f.createBindGroup({layout:this.#n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:T}}]}),N=new OffscreenCanvas(a,l),U=N.getContext("webgpu");U.configure({device:f,format:this.#s,alphaMode:r?"opaque":"premultiplied"});let X=r?{r:r[0]/255,g:r[1]/255,b:r[2]/255,a:1}:{r:0,g:0,b:0,a:0},Y=f.createCommandEncoder(),J=Y.beginRenderPass({colorAttachments:[{view:U.getCurrentTexture().createView(),clearValue:X,loadOp:"clear",storeOp:"store"}]});if(s>0)J.setPipeline(this.#n),J.setBindGroup(0,R),J.setVertexBuffer(0,v),J.setVertexBuffer(1,x),J.draw(s);return J.end(),f.queue.submit([Y.finish()]),v.destroy(),x.destroy(),T.destroy(),N.transferToImageBitmap()}}var Em=new W7;function mM(){return Em.init()}function pM(){return Em.isReady}function gM(){Em.loadMeshShader()}function bM(e,n,s,i,r,a,l,c){return Em.draw(e,n,s,i,r,a,l,c)}var Ti={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function am(e,n){if(!n)return;let s=n[2]-n[0],i=n[3]-n[1],r=new Path2D;r.rect(n[0],n[1],s,i),e.clip(r)}class Cm{matrix=null;isModifyingCurrentTransform(){return!1}getPattern(){Rn("Abstract method `getPattern` called.")}}class K7 extends Cm{constructor(e){super();this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7]}isOriginBased(){return this._p0[0]===0&&this._p0[1]===0&&(!this.isRadial()||this._p1[0]===0&&this._p1[1]===0)}isRadial(){return this._type==="radial"}areConic(){if(!this.isRadial())return!1;let e=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return e+this._r1>this._r0&&e+this._r0>this._r1}_createGradient(e,n=null){let s,i=this._p0,r=this._p1;if(n)i=i.slice(),r=r.slice(),ft.applyTransform(i,n),ft.applyTransform(r,n);if(this._type==="axial")s=e.createLinearGradient(i[0],i[1],r[0],r[1]);else if(this._type==="radial"){let a=this._r0,l=this._r1;if(n){let c=new Float32Array(2);ft.singularValueDecompose2dScale(n,c),a*=c[0],l*=c[0]}s=e.createRadialGradient(i[0],i[1],a,r[0],r[1],l)}for(let a of this._colorStops)s.addColorStop(a[0],a[1]);return s}_createReversedGradient(e,n=null){let s=this._p1,i=this._p0;if(n)s=s.slice(),i=i.slice(),ft.applyTransform(s,n),ft.applyTransform(i,n);let r=this._r1,a=this._r0;if(n){let f=new Float32Array(2);ft.singularValueDecompose2dScale(n,f),r*=f[0],a*=f[0]}let l=e.createRadialGradient(s[0],s[1],r,i[0],i[1],a),c=this._colorStops.map(([f,d])=>[1-f,d]).reverse();for(let[f,d]of c)l.addColorStop(f,d);return l}getPattern(e,n,s,i){let r;if(i===Ti.STROKE||i===Ti.FILL){if(this.isOriginBased()){let b=ft.transform(s,n.baseTransform);if(this.matrix)b=ft.transform(b,this.matrix);let y=0.001,v=Math.hypot(b[0],b[1]),x=Math.hypot(b[2],b[3]),T=(b[0]*b[2]+b[1]*b[3])/(v*x);if(Math.abs(T)<y)if(this.isRadial()){if(Math.abs(v-x)<y)return this._createGradient(e,b)}else return this._createGradient(e,b)}let a=n.current.getClippedPathBoundingBox(i,ds(e))||[0,0,0,0],l=Math.ceil(a[2]-a[0])||1,c=Math.ceil(a[3]-a[1])||1,f=n.canvasFactory.create(l,c),d=f.context;if(d.clearRect(0,0,d.canvas.width,d.canvas.height),d.beginPath(),d.rect(0,0,d.canvas.width,d.canvas.height),d.translate(-a[0],-a[1]),s=ft.transform(s,[1,0,0,1,a[0],a[1]]),d.transform(...n.baseTransform),this.matrix)d.transform(...this.matrix);if(am(d,this._bbox),this.areConic())d.fillStyle=this._createReversedGradient(d),d.fill();d.fillStyle=this._createGradient(d),d.fill(),r=e.createPattern(f.canvas,"no-repeat"),n.canvasFactory.destroy(f);let g=new DOMMatrix(s);r.setTransform(g)}else{if(this.areConic())e.save(),am(e,this._bbox),e.fillStyle=this._createReversedGradient(e),e.fillRect(-10000000000,-10000000000,20000000000,20000000000),e.restore();am(e,this._bbox),r=this._createGradient(e)}return r}}function wM(e,n,s,i,r,a,l,c){let{coords:f,colors:d}=n,g=e.data,b=e.width*4,y;if(f[s*2+1]>f[i*2+1])y=s,s=i,i=y,y=a,a=l,l=y;if(f[i*2+1]>f[r*2+1])y=i,i=r,r=y,y=l,l=c,c=y;if(f[s*2+1]>f[i*2+1])y=s,s=i,i=y,y=a,a=l,l=y;let v=(f[s*2]+n.offsetX)*n.scaleX,x=(f[s*2+1]+n.offsetY)*n.scaleY,T=(f[i*2]+n.offsetX)*n.scaleX,R=(f[i*2+1]+n.offsetY)*n.scaleY,N=(f[r*2]+n.offsetX)*n.scaleX,U=(f[r*2+1]+n.offsetY)*n.scaleY;if(x>=U)return;let X=d[a*4],Y=d[a*4+1],J=d[a*4+2],ee=d[l*4],te=d[l*4+1],ne=d[l*4+2],ie=d[c*4],se=d[c*4+1],ae=d[c*4+2],be=Math.round(x),ye=Math.round(U),ue,he,oe,Se,we,qe,De,Fe;for(let Be=be;Be<=ye;Be++){if(Be<R){let jt=Be<x?0:(x-Be)/(x-R);ue=v-(v-T)*jt,he=X-(X-ee)*jt,oe=Y-(Y-te)*jt,Se=J-(J-ne)*jt}else{let jt;if(Be>U)jt=1;else if(R===U)jt=0;else jt=(R-Be)/(R-U);ue=T-(T-N)*jt,he=ee-(ee-ie)*jt,oe=te-(te-se)*jt,Se=ne-(ne-ae)*jt}let We;if(Be<x)We=0;else if(Be>U)We=1;else We=(x-Be)/(x-U);we=v-(v-N)*We,qe=X-(X-ie)*We,De=Y-(Y-se)*We,Fe=J-(J-ae)*We;let st=Math.round(Math.min(ue,we)),Je=Math.round(Math.max(ue,we)),vt=b*Be+st*4;for(let jt=st;jt<=Je;jt++){if(We=(ue-jt)/(ue-we),We<0)We=0;else if(We>1)We=1;g[vt++]=he-(he-qe)*We|0,g[vt++]=oe-(oe-De)*We|0,g[vt++]=Se-(Se-Fe)*We|0,g[vt++]=255}}}class Y7 extends Cm{constructor(e){super();this._posData=e[2],this._colData=e[3],this._vertexCount=e[4],this._bounds=e[5],this._bbox=e[6],this._background=e[7],gM()}_createMeshCanvas(e,n,s){let l=Math.floor(this._bounds[0]),c=Math.floor(this._bounds[1]),f=Math.ceil(this._bounds[2])-l,d=Math.ceil(this._bounds[3])-c,g=Math.min(Math.ceil(Math.abs(f*e[0]*1.1)),3000)||1,b=Math.min(Math.ceil(Math.abs(d*e[1]*1.1)),3000)||1,y=f?f/g:1,v=d?d/b:1,x={coords:this._posData,colors:this._colData,offsetX:-l,offsetY:-c,scaleX:1/y,scaleY:1/v},T=g+4,R=b+4,N=s.create(T,R);if(pM()&&this._vertexCount>48)N.context.drawImage(bM(this._posData,this._colData,this._vertexCount,x,n,T,R,2),0,0);else{let U=N.context.createImageData(g,b);if(n){let X=U.data;for(let Y=0,J=X.length;Y<J;Y+=4)X[Y]=n[0],X[Y+1]=n[1],X[Y+2]=n[2],X[Y+3]=255}for(let X=0,Y=this._vertexCount;X<Y;X+=3)wM(U,x,X,X+1,X+2,X,X+1,X+2);N.context.putImageData(U,2,2)}return{canvas:N.canvas,offsetX:l-2*y,offsetY:c-2*v,scaleX:y,scaleY:v}}isModifyingCurrentTransform(){return!0}getPattern(e,n,s,i){am(e,this._bbox);let r=new Float32Array(2);if(i===Ti.SHADING)ft.singularValueDecompose2dScale(ds(e),r);else if(this.matrix){ft.singularValueDecompose2dScale(this.matrix,r);let[c,f]=r;ft.singularValueDecompose2dScale(n.baseTransform,r),r[0]*=c,r[1]*=f}else ft.singularValueDecompose2dScale(n.baseTransform,r);let a=this._createMeshCanvas(r,i===Ti.SHADING?null:this._background,n.canvasFactory);if(i!==Ti.SHADING){if(e.setTransform(...n.baseTransform),this.matrix)e.transform(...this.matrix)}e.translate(a.offsetX,a.offsetY),e.scale(a.scaleX,a.scaleY);let l=e.createPattern(a.canvas,"no-repeat");return n.canvasFactory.destroy(a),l}}class Q7 extends Cm{getPattern(){return"hotpink"}}function yM(e){switch(e[0]){case"RadialAxial":return new K7(e);case"Mesh":return new Y7(e);case"Dummy":return new Q7}throw Error(`Unknown IR type: ${e[0]}`)}var s7={COLORED:1,UNCOLORED:2};class ru{static MAX_PATTERN_SIZE=3000;constructor(e,n,s,i){this.color=e[1],this.operatorList=e[2],this.matrix=e[3],this.bbox=e[4],this.xstep=e[5],this.ystep=e[6],this.paintType=e[7],this.tilingType=e[8],this.needsIsolation=e[9]??!0,this.ctx=n,this.canvasGraphicsFactory=s,this.baseTransform=i,this.patternBaseMatrix=this.matrix?ft.transform(i,this.matrix):i}canSkipPatternCanvas([e,n,s,i]){let[r,a,l,c]=this.bbox,f=Math.abs(this.xstep),d=Math.abs(this.ystep);if(e>f+0.000001||n>d+0.000001)return null;let g=Math.floor((s-l)/f)+1,b=Math.ceil((s+e-r)/f)-1,y=Math.floor((i-c)/d)+1,v=Math.ceil((i+n-a)/d)-1;return b<=g&&v<=y?[g,y]:null}updatePatternDims(e,n){let s=ft.inverseTransform(this.patternBaseMatrix),i=[e[0],e[1]],r=[e[2],e[3]];ft.applyTransform(i,s),ft.applyTransform(r,s),n[0]=Math.abs(r[0]-i[0]),n[1]=Math.abs(r[1]-i[1]),n[2]=Math.min(i[0],r[0]),n[3]=Math.min(i[1],r[1])}_renderTileCanvas(e,n,s,i){let[r,a,l,c]=this.bbox,f=e.canvasFactory.create(s.size,i.size),d=f.context,g=this.canvasGraphicsFactory.createCanvasGraphics(d,n);return g.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(g,this.paintType,this.color),d.translate(-s.scale*r,-i.scale*a),g.transform(0,s.scale,0,0,i.scale,0,0),d.save(),g.dependencyTracker?.save(),this.clipBbox(g,r,a,l,c),g.baseTransform=ds(g.ctx),g.executeOperatorList(this.operatorList),g.endDrawing(),g.dependencyTracker?.restore(),d.restore(),f}_getCombinedScales(){let e=new Float32Array(2);ft.singularValueDecompose2dScale(this.matrix,e);let[n,s]=e;return ft.singularValueDecompose2dScale(this.baseTransform,e),[n*e[0],s*e[1]]}drawPattern(e,n,s=!1,[i,r],a){let[l,c,f,d]=this.bbox,g=e.dependencyTracker;if(g)e.dependencyTracker=new fu(g,a);if(e.save(),s)e.ctx.clip(n,"evenodd");else e.ctx.clip(n);if(e.ctx.setTransform(...this.patternBaseMatrix),e.ctx.translate(i*this.xstep,r*this.ystep),this.needsIsolation||e.ctx.globalAlpha!==1||e.ctx.globalCompositeOperation!=="source-over"||e.inSMaskMode){let b=f-l,y=d-c,[v,x]=this._getCombinedScales(),T=this.getSizeAndScale(b,this.ctx.canvas.width,v),R=this.getSizeAndScale(y,this.ctx.canvas.height,x),N=this._renderTileCanvas(e,a,T,R);e.ctx.drawImage(N.canvas,l,c,b,y),e.canvasFactory.destroy(N)}else this.setFillAndStrokeStyleToContext(e,this.paintType,this.color),this.clipBbox(e,l,c,f,d),e.baseTransformStack.push(e.baseTransform),e.baseTransform=ds(e.ctx),e.executeOperatorList(this.operatorList),e.baseTransform=e.baseTransformStack.pop();if(e.restore(),g)e.dependencyTracker=g}createPatternCanvas(e,n){let[s,i,r,a]=this.bbox,l=r-s,c=a-i,{xstep:f,ystep:d}=this;f=Math.abs(f),d=Math.abs(d),Sm("TilingType: "+this.tilingType);let[g,b]=this._getCombinedScales(),y=l,v=c,x=!1,T=!1;if(Math.ceil(f*g)>=Math.ceil(l*g))y=f;else x=!0;if(Math.ceil(d*b)>=Math.ceil(c*b))v=d;else T=!0;let R=this.getSizeAndScale(y,this.ctx.canvas.width,g),N=this.getSizeAndScale(v,this.ctx.canvas.height,b),U=this._renderTileCanvas(e,n,R,N);if(x||T){let X=U.canvas;if(x)y=f;if(T)v=d;let Y=this.getSizeAndScale(y,this.ctx.canvas.width,g),J=this.getSizeAndScale(v,this.ctx.canvas.height,b),ee=Y.size,te=J.size,ne=e.canvasFactory.create(ee,te),ie=ne.context,se=x?Math.floor(l/f):0,ae=T?Math.floor(c/d):0;for(let be=0;be<=se;be++)for(let ye=0;ye<=ae;ye++)ie.drawImage(X,ee*be,te*ye,ee,te,0,0,ee,te);return e.canvasFactory.destroy(U),{canvas:ne.canvas,canvasEntry:ne,scaleX:Y.scale,scaleY:J.scale,offsetX:s,offsetY:i}}return{canvas:U.canvas,canvasEntry:U,scaleX:R.scale,scaleY:N.scale,offsetX:s,offsetY:i}}getSizeAndScale(e,n,s){let i=Math.max(ru.MAX_PATTERN_SIZE,n),r=Math.ceil(e*s);if(r>=i)r=i;else s=r/e;return{scale:s,size:r}}clipBbox(e,n,s,i,r){let a=i-n,l=r-s,c=new Path2D;c.rect(n,s,a,l),ft.axialAlignedBoundingBox([n,s,i,r],ds(e.ctx),e.current.minMax),e.ctx.clip(c),e.current.updateClipFromPath()}setFillAndStrokeStyleToContext(e,n,s){let{ctx:i,current:r}=e;switch(r.patternFill=r.patternStroke=!1,n){case s7.COLORED:let{fillStyle:a,strokeStyle:l}=this.ctx;i.fillStyle=r.fillColor=a,i.strokeStyle=r.strokeColor=l;break;case s7.UNCOLORED:i.fillStyle=i.strokeStyle=s,r.fillColor=r.strokeColor=s;break;default:throw new w7(`Unsupported paint type: ${n}`)}}isModifyingCurrentTransform(){return!1}getPattern(e,n,s,i,r){let a=i!==Ti.SHADING?ft.transform(s,this.patternBaseMatrix):s,l=this.createPatternCanvas(n,r),c=new DOMMatrix(a);c=c.translate(l.offsetX,l.offsetY),c=c.scale(1/l.scaleX,1/l.scaleY);let f=e.createPattern(l.canvas,"repeat");return n.canvasFactory.destroy(l.canvasEntry),f.setTransform(c),f}}var vM=16,SM=100,kM=15,i7=10,Zi=16,Sr=new Float32Array(2);function r7(e,n){if(e._removeMirroring)throw Error("Context is already forwarding operations.");let s=new Map;for(let i of["save","restore","rotate","scale","translate","transform","setTransform","resetTransform","clip","moveTo","lineTo","bezierCurveTo","quadraticCurveTo","arc","arcTo","ellipse","rect","roundRect","closePath","beginPath"]){let r=e[i];if(typeof r!=="function"||typeof n[i]!=="function")continue;s.set(i,r),e[i]=function(...a){return n[i](...a),r.apply(this,a)}}e._removeMirroring=()=>{for(let[i,r]of s)e[i]=r;delete e._removeMirroring}}function Q0(e,n,s,i,r,a,l,c,f,d){let[g,b,y,v,x,T]=ds(e);if(b===0&&y===0){let U=l*g+x,X=Math.round(U),Y=c*v+T,J=Math.round(Y),ee=(l+f)*g+x,te=Math.abs(Math.round(ee)-X)||1,ne=(c+d)*v+T,ie=Math.abs(Math.round(ne)-J)||1;return e.setTransform(Math.sign(g),0,0,Math.sign(v),X,J),e.drawImage(n,s,i,r,a,0,0,te,ie),e.setTransform(g,b,y,v,x,T),[te,ie]}if(g===0&&v===0){let U=c*y+x,X=Math.round(U),Y=l*b+T,J=Math.round(Y),ee=(c+d)*y+x,te=Math.abs(Math.round(ee)-X)||1,ne=(l+f)*b+T,ie=Math.abs(Math.round(ne)-J)||1;return e.setTransform(0,Math.sign(b),Math.sign(y),0,X,J),e.drawImage(n,s,i,r,a,0,0,ie,te),e.setTransform(g,b,y,v,x,T),[ie,te]}e.drawImage(n,s,i,r,a,l,c,f,d);let R=Math.hypot(g,b),N=Math.hypot(y,v);return[R*f,N*d]}class n2{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=$b;leading=0;x=0;y=0;lineX=0;lineY=0;charSpacing=0;wordSpacing=0;textHScale=1;textRenderingMode=oi.FILL;textRise=0;fillColor="#000000";strokeColor="#000000";tilingPatternDims=null;patternFill=!1;patternStroke=!1;fillAlpha=1;strokeAlpha=1;lineWidth=1;activeSMask=null;transferMaps="none";minMax=lc.slice();constructor(e,n){this.clipBox=new Float32Array([0,0,e,n])}clone(){let e=Object.create(this);return e.clipBox=this.clipBox.slice(),e.minMax=this.minMax.slice(),e.tilingPatternDims=this.tilingPatternDims?.slice(),e}getPathBoundingBox(e=Ti.FILL,n=null){let s=this.minMax.slice();if(e===Ti.STROKE){if(!n)Rn("Stroke bounding box must include transform.");ft.singularValueDecompose2dScale(n,Sr);let i=Sr[0]*this.lineWidth/2,r=Sr[1]*this.lineWidth/2;s[0]-=i,s[1]-=r,s[2]+=i,s[3]+=r}return s}updateClipFromPath(){let e=ft.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(e){this.clipBox.set(e,0),this.minMax.set(lc,0)}getClippedPathBoundingBox(e=Ti.FILL,n=null){return ft.intersect(this.clipBox,this.getPathBoundingBox(e,n))}}function a7(e,n){let{width:s,height:i,kind:r}=n,a=i%Zi,l=(i-a)/Zi,c=a===0?l:l+1,f=e.createImageData(s,Zi),d=0,g=n.data,b=f.data,y;if(r===im.GRAYSCALE_1BPP)for(y=0;y<c;y++)({srcPos:d}=X7({src:g,srcPos:d,dest:b,width:s,height:y<l?Zi:a})),e.putImageData(f,0,y*Zi);else if(r===im.RGBA_32BPP){let v=0,x=s*Zi*4;for(y=0;y<l;y++)b.set(g.subarray(d,d+x)),d+=x,e.putImageData(f,0,v),v+=Zi;if(y<c)x=s*a*4,b.set(g.subarray(d,d+x)),e.putImageData(f,0,v)}else if(r===im.RGB_24BPP)for(y=0;y<c;y++)({srcPos:d}=uM({src:g,srcPos:d,dest:new Uint32Array(b.buffer),width:s,height:y<l?Zi:a})),e.putImageData(f,0,y*Zi);else throw Error(`bad image kind: ${r}`)}function o7(e,n){if(n.bitmap){e.drawImage(n.bitmap,0,0);return}let{width:s,height:i}=n,r=i%Zi,a=(i-r)/Zi,l=r===0?a:a+1,c=e.createImageData(s,Zi),f=0,d=n.data,g=c.data;for(let b=0;b<l;b++)({srcPos:f}=X7({src:d,srcPos:f,dest:g,width:s,height:b<a?Zi:r,nonBlackColor:0})),e.putImageData(c,0,b*Zi)}function rc(e,n){let s=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"];for(let i of s)if(e[i]!==void 0)n[i]=e[i];if(e.setLineDash!==void 0)n.setLineDash(e.getLineDash()),n.lineDashOffset=e.lineDashOffset}function J0(e){if(e.strokeStyle=e.fillStyle="#000000",e.fillRule="nonzero",e.globalAlpha=1,e.lineWidth=1,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=10,e.globalCompositeOperation="source-over",e.font="10px sans-serif",e.setLineDash!==void 0)e.setLineDash([]),e.lineDashOffset=0;let{filter:n}=e;if(n!=="none"&&n!=="")e.filter="none"}function l7(e,n){if(n)return!0;ft.singularValueDecompose2dScale(e,Sr);let s=Math.fround(ga.pixelRatio*hc.PDF_TO_CSS_UNITS);return Sr[0]<=s&&Sr[1]<=s}var xM=["butt","round","square"],AM=["miter","round","bevel"],TM={},c7={};class fc{static#e=null;#t=0;#n=0;#s=null;#i=null;#a=null;#r=null;#o=1;#l;#c=null;#u=[];constructor(e,n,s,i,r,{optionalContentConfig:a,markedContentStack:l=null},c,f,d,g){this.ctx=e,this.current=new n2(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.commonObjs=n,this.objs=s,this.canvasFactory=i,this.filterFactory=r,this.groupStack=[],this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.tempSMask=null,this.smaskGroupCanvases=[],this.smaskPreparedEntry=null,this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=l||[],this.optionalContentConfig=a,this.cachedPatterns=new Map,this.annotationCanvasMap=c,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=f,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map,this.dependencyTracker=d??null,this.imagesTracker=g??null}getObject(e,n,s=null){if(typeof n==="string")return this.dependencyTracker?.recordNamedDependency(e,n),n.startsWith("g_")?this.commonObjs.get(n):this.objs.get(n);return s}beginDrawing({transform:e,viewport:n,transparency:s=!1,background:i=null}){let r=this.ctx.canvas.width,a=this.ctx.canvas.height,l=this.ctx.fillStyle;if(this.ctx.fillStyle=i||"#ffffff",this.ctx.fillRect(0,0,r,a),this.ctx.fillStyle=l,s){let c=this.transparentCanvasEntry=this.canvasFactory.create(r,a);this.compositeCtx=this.ctx,{canvas:this.transparentCanvas,context:this.ctx}=c,this.ctx.save(),this.ctx.transform(...ds(this.compositeCtx))}if(this.ctx.save(),J0(this.ctx),e)this.ctx.transform(...e),this.outputScaleX=e[0],this.outputScaleY=e[3];this.ctx.transform(...n.transform),this.viewportScale=n.scale,this.baseTransform=ds(this.ctx)}executeOperatorList(e,n,s,i,r){let{argsArray:a,fnArray:l}=e,c=n||0,f=a.length;if(f===c)return c;let d=f-c>i7&&typeof s==="function",g=d?Date.now()+kM:0,b=0,y=this.commonObjs,v=this.objs,x,T;while(!0){if(i!==void 0){if(c===i.nextBreakPoint)return i.breakIt(c,s),c;if(i.shouldSkip(c)){if(++c===f)return c;continue}}if(!r||r(c))if(x=l[c],T=a[c]??null,x!==Ja.dependency)if(T===null)this[x](c);else this[x](c,...T);else for(let R of T){this.dependencyTracker?.recordNamedData(R,c);let N=R.startsWith("g_")?y:v;if(!N.has(R))return N.get(R,s),c}if(c++,c===f)return c;if(d&&++b>i7){if(Date.now()>g)return s(),c;b=0}}}#h(){while(this.stateStack.length||this.inSMaskMode)this.restore();if(this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas)this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(this.transparentCanvasEntry),this.transparentCanvas=null,this.transparentCanvasEntry=null}endDrawing(){this.#h();for(let e of this.smaskGroupCanvases)this.canvasFactory.destroy(e);this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=0;for(let e of this.#u)this.#v(e);this.#u.length=0,this.#s=null,this.#i=null,this.#a=null,this.#r=null,this.#o=1,this.#c=null,this.#n=0,this.#t=0,this.cachedPatterns.clear();for(let e of this._cachedBitmapsMap.values()){for(let n of e.values())if(typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement)n.width=n.height=0;e.clear()}this._cachedBitmapsMap.clear(),this.#d()}#d(){if(this.pageColors){let e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(e!=="none"){let n=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=n}}}_scaleImage(e,n){let s=e.width??e.displayWidth,i=e.height??e.displayHeight,r=Math.max(Math.hypot(n[0],n[1]),1),a=Math.max(Math.hypot(n[2],n[3]),1),l=[],c=r,f=a,d=s,g=i;while(c>2&&d>1||f>2&&g>1){let R=d,N=g;if(c>2&&d>1)R=Math.ceil(d/2),c/=d/R;if(f>2&&g>1)N=Math.ceil(g/2),f/=g/N;l.push({newWidth:R,newHeight:N}),d=R,g=N}if(l.length===0)return{img:e,paintWidth:s,paintHeight:i,tmpCanvas:null};if(l.length===1){let{newWidth:R,newHeight:N}=l[0],U=this.canvasFactory.create(R,N);return U.context.drawImage(e,0,0,s,i,0,0,R,N),{img:U.canvas,paintWidth:R,paintHeight:N,tmpCanvas:U}}let b=this.canvasFactory.create(1,1),y=this.canvasFactory.create(1,1),v=s,x=i,T=e;for(let{newWidth:R,newHeight:N}of l)this.canvasFactory.reset(y,R,N),y.context.drawImage(T,0,0,v,x,0,0,R,N),[b,y]=[y,b],T=b.canvas,v=R,x=N;return this.canvasFactory.destroy(y),{img:b.canvas,paintWidth:v,paintHeight:x,tmpCanvas:b}}_createMaskCanvas(e,n){let s=this.ctx,{width:i,height:r}=n,a=this.current.fillColor,l=this.current.patternFill,c=ds(s),f,d,g,b;if((n.bitmap||n.data)&&n.count>1){let se=n.bitmap||n.data.buffer;d=JSON.stringify(l?c:[c.slice(0,4),a]),f=this._cachedBitmapsMap.getOrInsertComputed(se,i2);let ae=f.get(d);if(ae&&!l){let be=Math.round(Math.min(c[0],c[2])+c[4]),ye=Math.round(Math.min(c[1],c[3])+c[5]);return this.dependencyTracker?.recordDependencies(e,Gr.transformAndFill),{canvas:ae,offsetX:be,offsetY:ye}}g=ae}if(!g)b=this.canvasFactory.create(i,r),o7(b.context,n);let y=ft.transform(c,[1/i,0,0,-1/r,0,0]);y=ft.transform(y,[1,0,0,1,0,-r]);let v=lc.slice();ft.axialAlignedBoundingBox([0,0,i,r],y,v);let[x,T,R,N]=v,U=Math.round(R-x)||1,X=Math.round(N-T)||1,Y=this.canvasFactory.create(U,X),J=Y.context,ee=x,te=T;J.translate(-ee,-te),J.transform(...y);let ne=null;if(!g){let se=this._scaleImage(b.canvas,Xa(J));if(g=se.img,ne=se.tmpCanvas,g!==b.canvas)this.canvasFactory.destroy(b),b=null;if(f&&l)f.set(d,g),ne=null,b=null}if(J.imageSmoothingEnabled=l7(ds(J),n.interpolate),Q0(J,g,0,0,g.width,g.height,0,0,i,r),ne)this.canvasFactory.destroy(ne);if(b)this.canvasFactory.destroy(b);J.globalCompositeOperation="source-in";let ie=ft.transform(Xa(J),[1,0,0,1,-ee,-te]);if(J.fillStyle=l?a.getPattern(s,this,ie,Ti.FILL,e):a,J.fillRect(0,0,i,r),f&&!l)f.set(d,Y.canvas);return this.dependencyTracker?.recordDependencies(e,Gr.transformAndFill),{canvas:Y.canvas,canvasEntry:f&&!l?null:Y,offsetX:Math.round(ee),offsetY:Math.round(te)}}setLineWidth(e,n){if(this.dependencyTracker?.recordSimpleData("lineWidth",e),n!==this.current.lineWidth)this._cachedScaleForStroking[0]=-1;this.current.lineWidth=n,this.ctx.lineWidth=n}setLineCap(e,n){this.dependencyTracker?.recordSimpleData("lineCap",e),this.ctx.lineCap=xM[n]}setLineJoin(e,n){this.dependencyTracker?.recordSimpleData("lineJoin",e),this.ctx.lineJoin=AM[n]}setMiterLimit(e,n){this.dependencyTracker?.recordSimpleData("miterLimit",e),this.ctx.miterLimit=n}setDash(e,n,s){this.dependencyTracker?.recordSimpleData("dash",e);let i=this.ctx;if(i.setLineDash!==void 0)i.setLineDash(n),i.lineDashOffset=s}setRenderingIntent(e,n){}setFlatness(e,n){}setGState(e,n){for(let[s,i]of n)switch(s){case"LW":this.setLineWidth(e,i);break;case"LC":this.setLineCap(e,i);break;case"LJ":this.setLineJoin(e,i);break;case"ML":this.setMiterLimit(e,i);break;case"D":this.setDash(e,i[0],i[1]);break;case"RI":this.setRenderingIntent(e,i);break;case"FL":this.setFlatness(e,i);break;case"Font":this.setFont(e,i[0],i[1]);break;case"CA":this.dependencyTracker?.recordSimpleData("strokeAlpha",e),this.current.strokeAlpha=i;break;case"ca":this.dependencyTracker?.recordSimpleData("fillAlpha",e),this.ctx.globalAlpha=this.current.fillAlpha=i;break;case"BM":this.dependencyTracker?.recordSimpleData("globalCompositeOperation",e),this.ctx.globalCompositeOperation=i;break;case"SMask":if(this.dependencyTracker?.recordSimpleData("SMask",e),this.current.activeSMask=i?this.tempSMask:null,this.current.activeSMask)this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation;this.tempSMask=null,this.checkSMaskState(e);break;case"TR":this.dependencyTracker?.recordSimpleData("filter",e),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(i);break}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){if(this.smaskPreparedEntry)this.canvasFactory.destroy(this.smaskPreparedEntry),this.smaskPreparedEntry=null;this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(e){if(e===this.smaskPreparedFor)return;this._clearPreparedSMask(),this._prepareSMaskCanvas(e)}checkSMaskState(e){let n=this.inSMaskMode;if(this.current.activeSMask&&!n)this.beginSMaskMode(e);else if(!this.current.activeSMask&&n)this.endSMaskMode();else if(this.current.activeSMask&&n)this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(e){let{canvas:n,subtype:s,backdrop:i,transferMap:r}=e,a=s==="Luminosity"||s==="Alpha"&&r;if(!a&&!(s==="Luminosity"&&i)){this.smaskPreparedFor=e;return}let l;if(s==="Luminosity"&&i){let[N,U,X]=vu(i),Y=Math.round(0.3*N+0.59*U+0.11*X);l=r?.[Y]??Y}else l=r?.[0]??0;let c=4,{width:f,height:d}=this.ctx.canvas,g=n.width*n.height,b=f*d<c*g,y=a?{url:s==="Alpha"?this.filterFactory.addAlphaFilter(r):this.filterFactory.addLuminosityFilter(r),subtype:s,transferMap:r}:null,v=s==="Luminosity"?i:null,x,T,R;if(b)x=this._bakeSMaskCanvas(n,e.offsetX,e.offsetY,f,d,v,y),T=0,R=0;else x=this._bakeSMaskCanvas(n,0,0,n.width,n.height,v,y),T=e.offsetX,R=e.offsetY;this.smaskPreparedEntry=x,this.smaskPreparedFor=e,this.smaskPreparedOffsetX=T,this.smaskPreparedOffsetY=R,this.smaskPreparedOOBAlpha=!b&&l!==0?l:null}_bakeSMaskCanvas(e,n,s,i,r,a,l){if(!a&&!l)Rn("_bakeSMaskCanvas with neither backdrop nor filter");let c=this.canvasFactory.create(i,r),f=c.context;if(f.drawImage(e,n,s),a)f.globalCompositeOperation="destination-atop",f.fillStyle=a,f.fillRect(0,0,i,r);if(!l)return c;let d=this.canvasFactory.create(i,r),g=d.context;g.filter=l.url;let b=Xn.isCanvasFilterSupported&&g.filter!=="none"&&g.filter!=="";if(g.drawImage(c.canvas,0,0),Xn.isCanvasFilterSupported)g.filter="none";if(!b){let y=g.getImageData(0,0,i,r),{data:v}=y,{transferMap:x}=l;if(l.subtype==="Luminosity")for(let T=0,R=v.length;T<R;T+=4){let N=0.3*v[T]+0.59*v[T+1]+0.11*v[T+2]+0.5|0;v[T]=v[T+1]=v[T+2]=0,v[T+3]=x?.[N]??N}else for(let T=3,R=v.length;T<R;T+=4)v[T]=x[v[T]];g.putImageData(y,0,0)}return this.canvasFactory.destroy(c),d}beginSMaskMode(e){if(this.inSMaskMode)throw Error("beginSMaskMode called while already in smask mode");let{width:n,height:s}=this.ctx.canvas,i=this.canvasFactory.create(n,s);this.smaskScratchCanvas=i,this.suspendedCtx=this.ctx;let r=this.ctx=i.context;r.setTransform(this.suspendedCtx.getTransform()),rc(this.suspendedCtx,r),r7(r,this.suspendedCtx),this._ensurePreparedSMask(this.current.activeSMask),this.setGState(e,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),rc(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null,this.canvasFactory.destroy(this.smaskScratchCanvas),this.smaskScratchCanvas=null,this._clearPreparedSMask()}#p(e,n=null,s=1){let{width:i,height:r}=e,a=n??this.canvasFactory.create(i,r),l=a.context;s=Math.round(s*255)/255;let c=s<1;if(c&&this.#l===void 0)this.#l=Xn.isCanvasFilterSupported?new Map:"none";let f="none";if(c&&this.#l instanceof Map)f=this.#l.getOrInsertComputed(s,()=>this.filterFactory.addKnockoutFilter(s));if(!c||f!=="none"){if(n)l.save(),l.setTransform(1,0,0,1,0,0),l.clearRect(0,0,i,r),l.restore();return l.filter=f,l.drawImage(e,0,0),l.filter="none",a}let d=e.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,i,r),g=l.createImageData(i,r),b=d.data,y=g.data,v=s>0?1/s:1e6;for(let x=3,T=b.length;x<T;x+=4)y[x]=Math.min(Math.round(b[x]*v),255);return l.putImageData(g,0,0),a}#g(e,n,s,i){let r=e?.[n]??null;if(r&&(r.canvas.width!==s||r.canvas.height!==i))this.canvasFactory.destroy(r),r=null;if(!r){if(r=this.canvasFactory.create(s,i),e)e[n]=r;return r}let a=r.context;return a.save(),a.setTransform(1,0,0,1,0,0),a.clearRect(0,0,s,i),a.restore(),r}#f(e,n,s={}){let{backdropCanvas:i=null,destTransform:r=[1,0,0,1,0,0],backdropOffset:a=[0,0],reuseMaskEntry:l=null,poolMeta:c=null,sourceAlpha:f=1,sourceFilter:d="none",knockoutAlpha:g=1}=s,{width:b,height:y}=n,v=this.#p(n,l,g),x=e.globalCompositeOperation;if(e.save(),e.setTransform(...r),e.globalAlpha=1,Xn.isCanvasFilterSupported)e.filter="none";if(e.globalCompositeOperation="destination-out",e.drawImage(v.canvas,0,0),i){let[T,R]=a,N=this.#g(c,"knockoutBackdropEntry",b,y),U=N.context;if(U.drawImage(i,T,R,b,y,0,0,b,y),U.globalCompositeOperation="destination-in",U.drawImage(v.canvas,0,0),U.globalCompositeOperation="source-over",e.globalCompositeOperation="destination-over",e.drawImage(N.canvas,0,0),!c)this.canvasFactory.destroy(N)}if(e.globalCompositeOperation=x,e.globalAlpha=f,Xn.isCanvasFilterSupported)e.filter=d??"none";if(e.drawImage(n,0,0),e.restore(),!l)this.canvasFactory.destroy(v)}#m(e=1){if(this.#t===0||this.#n>0||!this.contentVisible)return!1;this.#n++,this.#o=e;let n=this.#u.at(-1),{canvas:s}=this.ctx,i=this.#g(n,"knockoutTempEntry",s.width,s.height);this.#s=i;let r=i.context;if(r.save(),r.setTransform(this.ctx.getTransform()),rc(this.ctx,r),this.#r=r.globalCompositeOperation,r.globalCompositeOperation="source-over",r7(r,this.ctx),this.#c=n,this.#i=this.ctx,this.#a=this.suspendedCtx,this.ctx=r,this.inSMaskMode)this.suspendedCtx=r;return!0}#b(e){if(!e)return;let n=this.#s,s=this.#i,i=this.#a,r=n.context;if(this.#s=null,this.#i=null,this.#a=null,this.inSMaskMode&&this.suspendedCtx===r&&this.ctx!==r)this.endSMaskMode();if(this.inSMaskMode)this.suspendedCtx=i;this.ctx._removeMirroring(),this.ctx.globalCompositeOperation=this.#r,this.#r=null,rc(this.ctx,s),this.ctx=s;let a=this.#c;this.#c=null;let l=this.#o;this.#o=1;try{this.#f(i??s,n.canvas,{backdropCanvas:a?.backdropCtx?.canvas??null,backdropOffset:a?.backdropCtx?[a.offsetX,a.offsetY]:[0,0],reuseMaskEntry:a?.knockoutMaskEntry??null,poolMeta:a,knockoutAlpha:l})}finally{if(r.restore(),this.#n--,!a)this.canvasFactory.destroy(n)}}compose(e){if(!this.current.activeSMask)return;e=e?[Math.floor(e[0]),Math.floor(e[1]),Math.ceil(e[2]),Math.ceil(e[3])]:[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let n=this.current.activeSMask,s=this.suspendedCtx,i=this.#n>0&&s===this.ctx;if(this.composeSMask(i?null:s,n,this.ctx,e),i)return;this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,n,s,i){let r=i[0],a=i[1],l=i[2]-r,c=i[3]-a;if(l===0||c===0)return;let f=this.smaskPreparedEntry;if(f){let d=r,g=a,b=l,y=c,v=this.smaskPreparedOOBAlpha,x=v!==null;if(x){d=Math.max(r,n.offsetX),g=Math.max(a,n.offsetY);let T=Math.min(r+l,n.offsetX+n.canvas.width),R=Math.min(a+c,n.offsetY+n.canvas.height);b=T-d,y=R-g}if(b>0&&y>0){let T=d-this.smaskPreparedOffsetX,R=g-this.smaskPreparedOffsetY;s.save(),s.globalAlpha=1,s.setTransform(1,0,0,1,0,0);let N=new Path2D;N.rect(d,g,b,y),s.clip(N),s.globalCompositeOperation="destination-in",s.drawImage(f.canvas,T,R,b,y,d,g,b,y),s.restore()}if(x&&v<255)this._applySMaskOOBAlpha(s,r,a,l,c,d,g,d+b,g+y,v)}else this.genericComposeSMask(n,s,l,c,r,a);if(!e)return;e.save(),e.globalAlpha=1,e.globalCompositeOperation=n.blendMode||"source-over",e.setTransform(1,0,0,1,0,0),e.drawImage(s.canvas,r,a,l,c,r,a,l,c),e.restore()}_applySMaskOOBAlpha(e,n,s,i,r,a,l,c,f,d){let g=a<c&&l<f;if(g&&a===n&&l===s&&c===n+i&&f===s+r)return;let b=new Path2D;if(b.rect(n,s,i,r),g)b.rect(a,l,c-a,f-l);e.save(),e.globalAlpha=d/255,e.setTransform(1,0,0,1,0,0),e.clip(b,"evenodd"),e.globalCompositeOperation="destination-in",e.fillStyle="#000000",e.fillRect(n,s,i,r),e.restore()}genericComposeSMask(e,n,s,i,r,a){let{context:l,offsetX:c,offsetY:f}=e;n.save(),n.globalAlpha=1,n.setTransform(1,0,0,1,0,0);let d=new Path2D;d.rect(r,a,s,i),n.clip(d),n.globalCompositeOperation="destination-in",n.drawImage(l.canvas,r-c,a-f,s,i,r,a,s,i),n.restore()}save(e){if(this.inSMaskMode)rc(this.ctx,this.suspendedCtx);this.ctx.save();let n=this.current;this.stateStack.push(n),this.current=n.clone(),this.dependencyTracker?.save(e)}restore(e){if(this.dependencyTracker?.restore(e),this.stateStack.length===0){if(this.inSMaskMode)this.endSMaskMode();return}if(this.current=this.stateStack.pop(),this.ctx.restore(),this.inSMaskMode)rc(this.suspendedCtx,this.ctx),this.ctx.setTransform(this.suspendedCtx.getTransform());this.checkSMaskState(e),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}transform(e,n,s,i,r,a,l){this.dependencyTracker?.recordIncrementalData("transform",e),this.ctx.transform(n,s,i,r,a,l),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,n,s,i){let[r]=s;if(!i){if(r||=s[0]=new Path2D,n!==Ja.stroke&&n!==Ja.closeStroke)this.current.tilingPatternDims=null;this[n](e,r);return}if(this.dependencyTracker!==null){let l=n===Ja.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(e).recordBBox(e,this.ctx,i[0]-l,i[2]+l,i[1]-l,i[3]+l).recordDependencies(e,["transform"])}if(!(r instanceof Path2D))r=s[0]=x7(r);ft.axialAlignedBoundingBox(i,ds(this.ctx),this.current.minMax);let a=this.current.tilingPatternDims;if(a&&n!==Ja.stroke&&n!==Ja.closeStroke&&this.current.fillColor instanceof ru){let l=ft.intersect(this.current.clipBox,this.current.minMax);if(!l)this.current.tilingPatternDims=null;else this.current.fillColor.updatePatternDims(l,a)}this[n](e,r),this._pathStartIdx=e}closePath(e){this.ctx.closePath()}stroke(e,n,s=!0){let i=s&&this.#m(this.current.strokeAlpha),r=this.ctx,a=this.current.strokeColor;if(r.globalAlpha=this.current.strokeAlpha,this.contentVisible)if(typeof a==="object"&&a?.getPattern){let l=a.isModifyingCurrentTransform()?r.getTransform():null;if(r.save(),r.strokeStyle=a.getPattern(r,this,Xa(r),Ti.STROKE,e),l){let c=new Path2D;c.addPath(n,r.getTransform().invertSelf().multiplySelf(l)),n=c}this.rescaleAndStroke(n,!1),r.restore()}else this.rescaleAndStroke(n,!0);if(this.dependencyTracker?.recordDependencies(e,Gr.stroke),s)this.consumePath(e,n,this.current.getClippedPathBoundingBox(Ti.STROKE,ds(this.ctx)));r.globalAlpha=this.current.fillAlpha,this.#b(i)}closeStroke(e,n){this.stroke(e,n)}fill(e,n,s=!0){let i=s&&this.#m(this.current.fillAlpha),r=this.ctx,a=this.current.fillColor,l=this.current.patternFill,c=!1,f=this.current.getClippedPathBoundingBox();if(this.dependencyTracker?.recordDependencies(e,Gr.fill),l){let d=this.current.tilingPatternDims,g=d&&a.canSkipPatternCanvas(d);if(g){if(a.drawPattern(this,n,this.pendingEOFill,g,e),this.pendingEOFill=!1,s)this.consumePath(e,n,f);this.current.tilingPatternDims=null,this.#b(i);return}let b=a.isModifyingCurrentTransform()?r.getTransform():null;if(this.dependencyTracker?.save(e),r.save(),r.fillStyle=a.getPattern(r,this,Xa(r),Ti.FILL,e),b){let y=new Path2D;y.addPath(n,r.getTransform().invertSelf().multiplySelf(b)),n=y}c=!0}if(this.contentVisible&&f!==null)if(this.pendingEOFill)r.fill(n,"evenodd"),this.pendingEOFill=!1;else r.fill(n);if(c)r.restore(),this.dependencyTracker?.restore(e);if(s)this.consumePath(e,n,f);this.#b(i)}eoFill(e,n){this.pendingEOFill=!0,this.fill(e,n)}fillStroke(e,n){let s=this.#m(Math.min(this.current.fillAlpha,this.current.strokeAlpha));this.fill(e,n,!1),this.stroke(e,n,!1),this.consumePath(e,n),this.#b(s)}eoFillStroke(e,n){this.pendingEOFill=!0,this.fillStroke(e,n)}closeFillStroke(e,n){this.fillStroke(e,n)}closeEOFillStroke(e,n){this.pendingEOFill=!0,this.fillStroke(e,n)}endPath(e,n){this.consumePath(e,n)}rawFillPath(e,n){let s=this.#m(this.current.fillAlpha);this.ctx.fill(n),this.dependencyTracker?.recordDependencies(e,Gr.rawFillPath).recordOperation(e),this.#b(s)}clip(e){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e),this.pendingClip=TM}eoClip(e){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e),this.pendingClip=c7}beginText(e){this.current.textMatrix=null,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,this.dependencyTracker?.recordOpenMarker(e).resetIncrementalData("sameLineText").resetIncrementalData("moveText",e)}endText(e){let n=this.pendingTextPaths,s=this.ctx;if(this.dependencyTracker){let{dependencyTracker:i}=this;if(n!==void 0)i.recordFutureForcedDependency("textClip",i.getOpenMarker()).recordFutureForcedDependency("textClip",e);i.recordCloseMarker(e)}if(n!==void 0){let i=new Path2D,r=s.getTransform().invertSelf();for(let{transform:a,x:l,y:c,fontSize:f,path:d}of n){if(!d)continue;i.addPath(d,new DOMMatrix(a).preMultiplySelf(r).translate(l,c).scale(f,-f))}s.clip(i)}delete this.pendingTextPaths}setCharSpacing(e,n){this.dependencyTracker?.recordSimpleData("charSpacing",e),this.current.charSpacing=n}setWordSpacing(e,n){this.dependencyTracker?.recordSimpleData("wordSpacing",e),this.current.wordSpacing=n}setHScale(e,n){this.dependencyTracker?.recordSimpleData("hScale",e),this.current.textHScale=n/100}setLeading(e,n){this.dependencyTracker?.recordSimpleData("leading",e),this.current.leading=-n}setFont(e,n,s){this.dependencyTracker?.recordSimpleData("font",e).recordSimpleDataFromNamed("fontObj",n,e);let i=this.commonObjs.get(n),r=this.current;if(!i)throw Error(`Can't find font for ${n}`);if(r.fontMatrix=i.fontMatrix||$b,r.fontMatrix[0]===0||r.fontMatrix[3]===0)ln("Invalid font matrix for font "+n);if(s<0)s=-s,r.fontDirection=-1;else r.fontDirection=1;if(this.current.font=i,this.current.fontSize=s,i.isType3Font)return;let a=i.loadedName||"sans-serif",l=i.systemFontInfo?.css||`"${a}", ${i.fallbackName}`,c="normal";if(i.black)c="900";else if(i.bold)c="bold";let f=i.italic?"italic":"normal",d=gs(s,vM,SM);this.current.fontSizeScale=s/d,this.ctx.font=`${f} ${c} ${d}px ${l}`}setTextRenderingMode(e,n){this.dependencyTracker?.recordSimpleData("textRenderingMode",e),this.current.textRenderingMode=n}setTextRise(e,n){this.dependencyTracker?.recordSimpleData("textRise",e),this.current.textRise=n}moveText(e,n,s){this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText",e),this.current.x=this.current.lineX+=n,this.current.y=this.current.lineY+=s}setLeadingMoveText(e,n,s){this.setLeading(e,-s),this.moveText(e,n,s)}setTextMatrix(e,n){this.dependencyTracker?.resetIncrementalData("sameLineText").recordSimpleData("textMatrix",e);let{current:s}=this;s.textMatrix=n,s.textMatrixScale=Math.hypot(n[0],n[1]),s.x=s.lineX=0,s.y=s.lineY=0}nextLine(e){this.moveText(e,0,this.current.leading),this.dependencyTracker?.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??e)}#w(e,n,s){let i=new Path2D;return i.addPath(e,new DOMMatrix(s).invertSelf().multiplySelf(n)),i}paintChar(e,n,s,i,r,a){let l=this.ctx,c=this.current,{font:f,textRenderingMode:d}=c,g=c.fontSize/c.fontSizeScale,b=d&oi.FILL_STROKE_MASK,y=!!(d&oi.ADD_TO_PATH_FLAG),v=c.patternFill&&!f.missingFile,x=c.patternStroke&&!f.missingFile,T;if((f.disableFontFace||y||v||x)&&!f.missingFile)T=f.getPathGenerator(this.commonObjs,n);if(T&&(f.disableFontFace||v||x)){l.save(),l.translate(s,i),l.scale(g,-g),this.dependencyTracker?.recordCharacterBBox(e,l,f);let R;if(b===oi.FILL||b===oi.FILL_STROKE)if(r){R=l.getTransform(),l.setTransform(...r);let N=this.#w(T,R,r);l.fill(N)}else l.fill(T);if(b===oi.STROKE||b===oi.FILL_STROKE)if(a){R||=l.getTransform(),l.setTransform(...a);let{a:N,b:U,c:X,d:Y}=R,J=ft.inverseTransform(a),ee=ft.transform([N,U,X,Y,0,0],J);ft.singularValueDecompose2dScale(ee,Sr),l.lineWidth*=Math.max(Sr[0],Sr[1])/g,l.stroke(this.#w(T,R,a))}else l.lineWidth/=g,l.stroke(T);l.restore()}else{if(b===oi.FILL||b===oi.FILL_STROKE)l.fillText(n,s,i),this.dependencyTracker?.recordCharacterBBox(e,l,f,g,s,i,()=>l.measureText(n));if(b===oi.STROKE||b===oi.FILL_STROKE){if(this.dependencyTracker)this.dependencyTracker?.recordCharacterBBox(e,l,f,g,s,i,()=>l.measureText(n)).recordDependencies(e,Gr.stroke);l.strokeText(n,s,i)}}if(y)(this.pendingTextPaths||=[]).push({transform:ds(l),x:s,y:i,fontSize:g,path:T}),this.dependencyTracker?.recordCharacterBBox(e,l,f,g,s,i)}get isFontSubpixelAAEnabled(){let e=this.canvasFactory.create(10,10),n=e.context;n.scale(1.5,1),n.fillText("I",0,10);let s=n.getImageData(0,0,10,10).data;this.canvasFactory.destroy(e);let i=!1;for(let r=3;r<s.length;r+=4)if(s[r]>0&&s[r]<255){i=!0;break}return Pt(this,"isFontSubpixelAAEnabled",i)}showText(e,n){if(this.dependencyTracker){if(this.dependencyTracker.recordDependencies(e,Gr.showText).resetBBox(e),this.current.textRenderingMode&oi.ADD_TO_PATH_FLAG)this.dependencyTracker.recordFutureForcedDependency("textClip",e).inheritPendingDependenciesAsFutureForcedDependencies()}let s=this.current,i=s.font;if(i.isType3Font){let ae=this.#m(s.fillAlpha);this.showType3Text(e,n),this.dependencyTracker?.recordShowTextOperation(e),this.#b(ae);return}let r=s.fontSize;if(r===0){this.dependencyTracker?.recordOperation(e);return}let a=this.#m(s.fillAlpha),l=this.ctx,{fontSizeScale:c,charSpacing:f,wordSpacing:d,fontDirection:g}=s,b=s.textHScale*g,y=n.length,v=i.vertical,x=v?1:-1,T=i.defaultVMetrics,R=r*s.fontMatrix[0],N=s.textRenderingMode===oi.FILL&&!i.disableFontFace&&!s.patternFill;if(l.save(),s.textMatrix)l.transform(...s.textMatrix);if(l.translate(s.x,s.y+s.textRise),g>0)l.scale(b,-1);else l.scale(b,1);let U,X,Y=s.textRenderingMode&oi.FILL_STROKE_MASK,J=Y===oi.FILL||Y===oi.FILL_STROKE,ee=Y===oi.STROKE||Y===oi.FILL_STROKE,{lineWidth:te,textMatrixScale:ne}=s;if(ne===0||te===0){if(ee)te=this.getSinglePixelWidth()}else te/=ne;if(c!==1)l.scale(c,c),te/=c;if(l.lineWidth=te,J&&s.patternFill){l.save();let ae=s.fillColor.getPattern(l,this,Xa(l),Ti.FILL,e);U=ds(l),l.restore(),l.fillStyle=ae}if(ee&&s.patternStroke){l.save();let ae=s.strokeColor.getPattern(l,this,Xa(l),Ti.STROKE,e);X=ds(l),l.restore(),l.strokeStyle=ae}if(i.isInvalidPDFjsFont){let ae=[],be=0;for(let ue of n)ae.push(ue.unicode),be+=ue.width;let ye=ae.join("");if(l.fillText(ye,0,0),this.dependencyTracker!==null){let ue=l.measureText(ye);this.dependencyTracker.recordBBox(e,this.ctx,-ue.actualBoundingBoxLeft,ue.actualBoundingBoxRight,-ue.actualBoundingBoxAscent,ue.actualBoundingBoxDescent).recordShowTextOperation(e)}s.x+=be*R*b,l.restore(),this.compose(),this.#b(a);return}let ie=0,se;for(se=0;se<y;++se){let ae=n[se];if(typeof ae==="number"){ie+=x*ae*r/1000;continue}let be=!1,ye=(ae.isSpace?d:0)+f,{fontChar:ue,accent:he}=ae,oe,Se,we=ae.width;if(v){let Fe=ae.vmetric||T,Be=-(ae.vmetric?Fe[1]:we*0.5)*R,We=Fe[2]*R;we=Fe?-Fe[0]:we,oe=Be/c,Se=(ie+We)/c}else oe=ie/c,Se=0;let qe;if(i.remeasure&&we>0){qe=l.measureText(ue);let Fe=qe.width*1000/r*c;if(we<Fe&&this.isFontSubpixelAAEnabled){let Be=we/Fe;be=!0,l.save(),l.scale(Be,1),oe/=Be}else if(we!==Fe)oe+=(we-Fe)/2000*r/c}if(this.contentVisible&&(ae.isInFont||i.missingFile)){if(N&&!he)l.fillText(ue,oe,Se),this.dependencyTracker?.recordCharacterBBox(e,l,qe?{bbox:null}:i,r/c,oe,Se,()=>qe??l.measureText(ue));else if(this.paintChar(e,ue,oe,Se,U,X),he){let Fe=oe+r*he.offset.x/c,Be=Se-r*he.offset.y/c;this.paintChar(e,he.fontChar,Fe,Be,U,X)}}let De=v?we*R-ye*g:we*R+ye*g;if(ie+=De,be)l.restore()}if(v)s.y-=ie;else s.x+=ie*b;l.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(e),this.#b(a)}showType3Text(e,n){let s=this.ctx,i=this.current,{font:r,fontSize:a,fontDirection:l}=i,c=r.vertical?1:-1,{charSpacing:f,wordSpacing:d}=i,g=i.textHScale*l,b=i.fontMatrix||$b,y=n.length,v=i.textRenderingMode===oi.INVISIBLE,x,T,R,N;if(v||a===0)return;if(this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,s.save(),i.textMatrix)s.transform(...i.textMatrix);s.translate(i.x,i.y+i.textRise),s.scale(g,l);let U=this.dependencyTracker;this.dependencyTracker=U?new fu(U,e):null;for(x=0;x<y;++x){if(T=n[x],typeof T==="number"){N=c*T*a/1000,this.ctx.translate(N,0),i.x+=N*g;continue}let X=(T.isSpace?d:0)+f,Y=r.charProcOperatorList.get(T.operatorListId);if(!Y)ln(`Type3 character "${T.operatorListId}" is not available.`);else if(this.contentVisible){if(this.save(),Y.fnArray[0]===Ja.setCharWidth)i.fillAlpha=i.strokeAlpha=1,s.globalAlpha=1;s.scale(a,a),s.transform(...b),this.executeOperatorList(Y),this.restore()}let J=[T.width,0];ft.applyTransform(J,b),R=J[0]*a+X,s.translate(R,0),i.x+=R*g}if(s.restore(),U)this.dependencyTracker=U}setCharWidth(e,n,s){}setCharWidthAndBounds(e,n,s,i,r,a,l){let c=new Path2D;c.rect(i,r,a-i,l-r),this.ctx.clip(c),this.dependencyTracker?.recordBBox(e,this.ctx,i,a,r,l).recordClipBox(e,this.ctx,i,a,r,l),this.endPath(e)}getColorN_Pattern(e,n){let s;if(n[0]==="TilingPattern"){let i=this.baseTransform||ds(this.ctx),r={createCanvasGraphics:(a,l)=>new fc(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new fu(this.dependencyTracker,l,!0):null)};s=new ru(n,this.ctx,r,i)}else s=this._getPattern(e,n[1],n[2]);return s}setStrokeColorN(e,...n){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.current.strokeColor=this.getColorN_Pattern(e,n),this.current.patternStroke=!0}setFillColorN(e,...n){this.dependencyTracker?.recordSimpleData("fillColor",e);let s=this.current.fillColor=this.getColorN_Pattern(e,n);this.current.patternFill=!0,this.current.tilingPatternDims=s instanceof ru?[0,0,0,0]:null}setStrokeRGBColor(e,n){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.ctx.strokeStyle=this.current.strokeColor=n,this.current.patternStroke=!1}setStrokeTransparent(e){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(e,n){this.dependencyTracker?.recordSimpleData("fillColor",e),this.ctx.fillStyle=this.current.fillColor=n,this.current.patternFill=!1,this.current.tilingPatternDims=null}setFillTransparent(e){this.dependencyTracker?.recordSimpleData("fillColor",e),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1,this.current.tilingPatternDims=null}_getPattern(e,n,s=null){let i=this.cachedPatterns.getOrInsertComputed(n,()=>yM(this.getObject(e,n)));if(s)i.matrix=s;return i}shadingFill(e,n){if(!this.contentVisible)return;let s=this.#m(this.current.fillAlpha),i=this.ctx;this.save(e);let r=this._getPattern(e,n);i.fillStyle=r.getPattern(i,this,Xa(i),Ti.SHADING,e);let a=Xa(i);if(a){let{width:l,height:c}=i.canvas,f=lc.slice();ft.axialAlignedBoundingBox([0,0,l,c],a,f);let[d,g,b,y]=f;this.ctx.fillRect(d,g,b-d,y-g)}else this.ctx.fillRect(-10000000000,-10000000000,20000000000,20000000000);this.dependencyTracker?.resetBBox(e).recordFullPageBBox(e).recordDependencies(e,Gr.transform).recordDependencies(e,Gr.fill).recordOperation(e),this.compose(this.current.getClippedPathBoundingBox()),this.restore(e),this.#b(s)}beginInlineImage(){Rn("Should not call beginInlineImage")}beginImageData(){Rn("Should not call beginImageData")}paintFormXObjectBegin(e,n,s){if(!this.contentVisible)return;if(this.save(e),this.baseTransformStack.push(this.baseTransform),n)this.transform(e,...n);if(this.baseTransform=ds(this.ctx),s){ft.axialAlignedBoundingBox(s,this.baseTransform,this.current.minMax);let[i,r,a,l]=s,c=new Path2D;c.rect(i,r,a-i,l-r),this.ctx.clip(c),this.dependencyTracker?.recordClipBox(e,this.ctx,i,a,r,l),this.endPath(e)}}paintFormXObjectEnd(e){if(!this.contentVisible)return;this.restore(e),this.baseTransform=this.baseTransformStack.pop()}beginGroup(e,n){if(!this.contentVisible)return;this.save(e);let{inSMaskMode:s}=this;if(s)this.endSMaskMode(),this.current.activeSMask=null;let i=this.ctx;if((!n.needsIsolation||!n.isolated&&!n.hasSoftMask)&&!n.knockout&&!n.isGray&&this.#t===0&&i.globalAlpha===1&&i.globalCompositeOperation==="source-over"&&!s){if(n.bbox){let X=new Path2D,[Y,J,ee,te]=n.bbox;if(X.rect(Y,J,ee-Y,te-J),n.matrix){let ne=new Path2D;ne.addPath(X,new DOMMatrix(n.matrix)),X=ne}i.clip(X)}this.groupStack.push(null),this.#u.push(null),this.groupLevel++;return}if(!n.isolated&&!n.knockout&&this.#t===0)Sm("TODO: Fully support non-isolated non-knockout groups.");let r=ds(i);if(n.matrix)i.transform(...n.matrix);let a=[0,0,i.canvas.width,i.canvas.height],l;if(n.bbox)l=lc.slice(),ft.axialAlignedBoundingBox(n.bbox,ds(i),l),l=ft.intersect(l,a)||[0,0,0,0];else l=a;let c=Math.floor(l[0]),f=Math.floor(l[1]),d=Math.max(Math.ceil(l[2])-c,1),g=Math.max(Math.ceil(l[3])-f,1);this.current.startNewPathAndClipBox([0,0,d,g]);let b=this.canvasFactory.create(d,g);if(n.smask)this.smaskGroupCanvases.push(b);let y=b.context,v=n.knockout&&!n.isolated?i:null,x=!n.isolated&&!n.knockout&&!n.smask&&n.needsIsolation&&this.#t>0,T=n.knockout?this.canvasFactory.create(d,g):null,R=this.#t;if(n.knockout)this.#t++;else this.#t=0;y.translate(-c,-f),y.transform(...r);let N=!n.isolated&&!n.smask&&n.needsIsolation,U=N&&!s&&R===0&&!n.knockout&&!n.isGray&&n.hasSoftMask&&i.globalAlpha===1&&i.globalCompositeOperation==="source-over"&&this.current.transferMaps==="none";if(N&&(s||U))y.save(),y.setTransform(1,0,0,1,0,0),y.drawImage(i.canvas,-c,-f),y.restore();if(n.bbox){let X=new Path2D,[Y,J,ee,te]=n.bbox;if(X.rect(Y,J,ee-Y,te-J),n.matrix){let ne=new Path2D;ne.addPath(X,new DOMMatrix(n.matrix)),X=ne}y.clip(X)}if(n.smask)this.smaskStack.push({canvas:b.canvas,context:y,offsetX:c,offsetY:f,subtype:n.smask.subtype,backdrop:n.smask.backdrop,transferMap:n.smask.transferMap||null});if(!n.smask||this.dependencyTracker)i.setTransform(1,0,0,1,0,0),i.translate(c,f),i.save();rc(i,y),this.ctx=y,this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(i),this.setGState(e,[["BM","source-over"],["ca",1],["CA",1],["TR",null]]),this.groupStack.push(i),this.#u.push({backdropCtx:v,savedKnockoutLevel:R,offsetX:c,offsetY:f,hasInnerBackdrop:x,replaceBackdrop:U,knockoutMaskEntry:T,knockoutTempEntry:null,knockoutBackdropEntry:null}),this.groupLevel++}endGroup(e,n){if(!this.contentVisible)return;this.groupLevel--;let s=this.ctx,i=this.groupStack.pop(),r=this.#u.pop();if(r)this.#t=r.savedKnockoutLevel;if(i===null){this.restore(e);return}if(n.isGray)this.#y(s);if(this.ctx=i,this.ctx.imageSmoothingEnabled=!1,this.dependencyTracker?.popBaseTransform(),n.smask){if(this.tempSMask=this.smaskStack.pop(),this.restore(e),this.dependencyTracker){if(this.ctx.restore(),this.inSMaskMode)this.ctx.setTransform(this.suspendedCtx.getTransform())}this.#v(r)}else{this.ctx.restore();let a=ds(this.ctx);this.restore(e),this.ctx.save(),this.ctx.setTransform(...a);let l=lc.slice();ft.axialAlignedBoundingBox([0,0,s.canvas.width,s.canvas.height],a,l);let c=this.#u.at(-1);if(this.#t>0)if(r.hasInnerBackdrop){let{width:f,height:d}=s.canvas,g=this.canvasFactory.create(f,d),b=g.context;b.drawImage(i.canvas,r.offsetX,r.offsetY,f,d,0,0,f,d),b.globalCompositeOperation="source-over",b.drawImage(s.canvas,0,0);let y=this.#p(s.canvas);b.globalCompositeOperation="destination-in",b.drawImage(y.canvas,0,0);let v=this.ctx.globalCompositeOperation,x=this.ctx.globalAlpha,T=this.ctx.filter;if(this.ctx.save(),this.ctx.setTransform(...a),this.ctx.globalAlpha=1,Xn.isCanvasFilterSupported)this.ctx.filter="none";if(this.ctx.globalCompositeOperation="destination-out",this.ctx.drawImage(y.canvas,0,0),this.ctx.globalCompositeOperation=v,this.ctx.globalAlpha=x,Xn.isCanvasFilterSupported)this.ctx.filter=T??"none";this.ctx.drawImage(g.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(y),this.canvasFactory.destroy(g)}else{let f=c?.backdropCtx??null;this.#f(this.ctx,s.canvas,{backdropCanvas:f?.canvas??null,destTransform:a,backdropOffset:f?[c.offsetX+r.offsetX,c.offsetY+r.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}else{if(r.replaceBackdrop){let f=new Path2D;f.rect(0,0,s.canvas.width,s.canvas.height),this.ctx.clip(f),this.ctx.globalCompositeOperation="copy"}this.ctx.drawImage(s.canvas,0,0)}this.ctx.restore(),this.canvasFactory.destroy({canvas:s.canvas,context:s}),this.#v(r),this.compose(l)}}#y(e){let{canvas:n}=e,{width:s,height:i}=n;if(Xn.isCanvasFilterSupported){e.save(),e.setTransform(1,0,0,1,0,0),e.filter="grayscale(1)",e.globalAlpha=1,e.globalCompositeOperation="copy",e.drawImage(n,0,0),e.restore();return}let r=e.getImageData(0,0,s,i),{data:a}=r;for(let l=0,c=a.length;l<c;l+=4){let f=a[l]*0.2126+a[l+1]*0.7152+a[l+2]*0.0722+0.5|0;a[l]=a[l+1]=a[l+2]=f}e.putImageData(r,0,0)}#v(e){if(!e)return;if(e.knockoutMaskEntry)this.canvasFactory.destroy(e.knockoutMaskEntry),e.knockoutMaskEntry=null;if(e.knockoutTempEntry)this.canvasFactory.destroy(e.knockoutTempEntry),e.knockoutTempEntry=null;if(e.knockoutBackdropEntry)this.canvasFactory.destroy(e.knockoutBackdropEntry),e.knockoutBackdropEntry=null}beginAnnotation(e,n,s,i,r,a,l){if(this.#h(),J0(this.ctx),this.ctx.save(),this.save(e),this.baseTransform)this.ctx.setTransform(...this.baseTransform);if(s){let c=s[2]-s[0],f=s[3]-s[1];if(a&&this.annotationCanvasMap){i=i.slice(),i[4]-=s[0],i[5]-=s[1],ft.singularValueDecompose2dScale(ds(this.ctx),Sr);let{viewportScale:d}=this,g=Math.ceil(c*this.outputScaleX*d),b=Math.ceil(f*this.outputScaleY*d);this.annotationCanvas=this.canvasFactory.create(g,b);let{canvas:y,context:v}=this.annotationCanvas;if(l){let x=this.annotationCanvasMap.getOrInsertComputed(n,Af);y.setAttribute("data-canvas-name",l);let T=x.findIndex((R)=>R.getAttribute("data-canvas-name")===l);if(T===-1)x.push(y);else x[T]=y}else this.annotationCanvasMap.set(n,y);this.annotationCanvas.savedCtx=this.ctx,this.ctx=v,this.ctx.save(),this.ctx.setTransform(Sr[0],0,0,-Sr[1],0,f*Sr[1]),J0(this.ctx)}else{J0(this.ctx),this.endPath(e);let d=new Path2D;d.rect(s[0],s[1],c,f),this.ctx.clip(d)}}this.current=new n2(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(e,...i),this.transform(e,...r),this.baseTransform=ds(this.ctx)}endAnnotation(e){if(this.annotationCanvas)this.ctx.restore(),this.#d(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas;this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(e,n){if(!this.contentVisible)return;let s=n.count;n=this.getObject(e,n.data,n),n.count=s;let i=this.#m(this.current.fillAlpha),r=this.ctx,a=this._createMaskCanvas(e,n),l=a.canvas;if(r.save(),r.setTransform(1,0,0,1,0,0),r.drawImage(l,a.offsetX,a.offsetY),this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,a.offsetX,a.offsetX+l.width,a.offsetY,a.offsetY+l.height).recordOperation(e),r.restore(),a.canvasEntry)this.canvasFactory.destroy(a.canvasEntry);this.compose(),this.#b(i)}paintImageMaskXObjectRepeat(e,n,s,i=0,r=0,a,l){if(!this.contentVisible)return;n=this.getObject(e,n.data,n);let c=this.#m(this.current.fillAlpha),f=this.ctx;f.save();let d=ds(f);f.transform(s,i,r,a,0,0);let g=this._createMaskCanvas(e,n);f.setTransform(1,0,0,1,g.offsetX-d[4],g.offsetY-d[5]),this.dependencyTracker?.resetBBox(e);for(let b=0,y=l.length;b<y;b+=2){let v=ft.transform(d,[s,i,r,a,l[b],l[b+1]]);f.drawImage(g.canvas,v[4],v[5]),this.dependencyTracker?.recordBBox(e,this.ctx,v[4],v[4]+g.canvas.width,v[5],v[5]+g.canvas.height)}if(f.restore(),g.canvasEntry)this.canvasFactory.destroy(g.canvasEntry);this.compose(),this.dependencyTracker?.recordOperation(e),this.#b(c)}paintImageMaskXObjectGroup(e,n){if(!this.contentVisible)return;let s=this.#m(this.current.fillAlpha),i=this.ctx,r=this.current.fillColor,a=this.current.patternFill;this.dependencyTracker?.resetBBox(e).recordDependencies(e,Gr.transformAndFill);for(let l of n){let{data:c,width:f,height:d,transform:g}=l,b=this.canvasFactory.create(f,d),y=b.context;y.save();let v=this.getObject(e,c,l);o7(y,v),y.globalCompositeOperation="source-in",y.fillStyle=a?r.getPattern(y,this,Xa(i),Ti.FILL,e):r,y.fillRect(0,0,f,d),y.restore(),i.save(),i.transform(...g),i.scale(1,-1),Q0(i,b.canvas,0,0,f,d,0,-1,1,1),this.canvasFactory.destroy(b),this.dependencyTracker?.recordBBox(e,i,0,f,0,d),i.restore()}this.compose(),this.dependencyTracker?.recordOperation(e),this.#b(s)}paintImageXObject(e,n){if(!this.contentVisible)return;let s=this.getObject(e,n);if(!s){ln("Dependent image isn't ready yet");return}this.paintInlineImageXObject(e,s)}paintImageXObjectRepeat(e,n,s,i,r){if(!this.contentVisible)return;let a=this.getObject(e,n);if(!a){ln("Dependent image isn't ready yet");return}let{width:l,height:c}=a,f=[];for(let d=0,g=r.length;d<g;d+=2)f.push({transform:[s,0,0,i,r[d],r[d+1]],x:0,y:0,w:l,h:c});this.paintInlineImageXObjectGroup(e,a,f)}applyTransferMapsToCanvas(e){if(this.current.transferMaps!=="none")e.filter=this.current.transferMaps,e.drawImage(e.canvas,0,0),e.filter="none";return e.canvas}applyTransferMapsToBitmap(e){if(this.current.transferMaps==="none")return{img:e.bitmap,canvasEntry:null};let{bitmap:n,width:s,height:i}=e,r=this.canvasFactory.create(s,i),a=r.context;return a.filter=this.current.transferMaps,a.drawImage(n,0,0),a.filter="none",{img:r.canvas,canvasEntry:r}}paintInlineImageXObject(e,n){if(!this.contentVisible)return;let{width:s,height:i}=n,r=this.#m(this.current.fillAlpha),a=this.ctx;this.save(e);let{filter:l}=a;if(l!=="none"&&l!=="")a.filter="none";a.scale(1/s,-1/i);let c,f=null;if(n.bitmap){let g=this.applyTransferMapsToBitmap(n);c=g.img,f=g.canvasEntry}else{let g=this.canvasFactory.create(s,i);a7(g.context,n),c=this.applyTransferMapsToCanvas(g.context),f=g}let d=this._scaleImage(c,Xa(a));if(a.imageSmoothingEnabled=l7(ds(a),n.interpolate),this.dependencyTracker)this.dependencyTracker.resetBBox(e).recordBBox(e,a,0,s,-i,0).recordDependencies(e,Gr.imageXObject).recordOperation(e),this.imagesTracker?.record(a,s,i,this.dependencyTracker.clipBox);if(Q0(a,d.img,0,0,d.paintWidth,d.paintHeight,0,-i,s,i),d.tmpCanvas)this.canvasFactory.destroy(d.tmpCanvas);if(f)this.canvasFactory.destroy(f);this.compose(),this.restore(e),this.#b(r)}paintInlineImageXObjectGroup(e,n,s){if(!this.contentVisible)return;let i=this.#m(this.current.fillAlpha),r=this.ctx,a,l=null;if(n.bitmap)a=n.bitmap;else{let{width:c,height:f}=n,d=this.canvasFactory.create(c,f);a7(d.context,n),a=this.applyTransferMapsToCanvas(d.context),l=d}this.dependencyTracker?.resetBBox(e);for(let c of s)r.save(),r.transform(...c.transform),r.scale(1,-1),Q0(r,a,c.x,c.y,c.w,c.h,0,-1,1,1),this.dependencyTracker?.recordBBox(e,r,0,1,-1,0),r.restore();if(l)this.canvasFactory.destroy(l);this.dependencyTracker?.recordOperation(e),this.compose(),this.#b(i)}paintSolidColorImageMask(e){if(!this.contentVisible)return;let n=this.#m(this.current.fillAlpha);this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,0,1,0,1).recordDependencies(e,Gr.fill).recordOperation(e),this.ctx.fillRect(0,0,1,1),this.compose(),this.#b(n)}markPoint(e,n){}markPointProps(e,n,s){}beginMarkedContent(e,n){this.dependencyTracker?.beginMarkedContent(e),this.markedContentStack.push({visible:!0})}beginMarkedContentProps(e,n,s){if(this.dependencyTracker?.beginMarkedContent(e),n==="OC")this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(s)});else this.markedContentStack.push({visible:!0});this.contentVisible=this.isContentVisible()}endMarkedContent(e){this.dependencyTracker?.endMarkedContent(e),this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(e){}endCompat(e){}consumePath(e,n,s){let i=this.current.isEmptyClip();if(this.pendingClip)this.current.updateClipFromPath();if(!this.pendingClip)this.compose(s);let r=this.ctx;if(this.pendingClip){if(!i)if(this.pendingClip===c7)r.clip(n,"evenodd");else r.clip(n);this.pendingClip=null,this.dependencyTracker?.bboxToClipBoxDropOperation(e).recordFutureForcedDependency("clipPath",e)}else this.dependencyTracker?.recordOperation(e);this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){let e=ds(this.ctx);if(e[1]===0&&e[2]===0)this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(e[0]),Math.abs(e[3]));else{let n=Math.abs(e[0]*e[3]-e[2]*e[1]),s=Math.hypot(e[0],e[2]),i=Math.hypot(e[1],e[3]);this._cachedGetSinglePixelWidth=Math.max(s,i)/n}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(this._cachedScaleForStroking[0]===-1){let{lineWidth:e}=this.current,{a:n,b:s,c:i,d:r}=this.ctx.getTransform(),a,l;if(s===0&&i===0){let c=Math.abs(n),f=Math.abs(r);if(c===f)if(e===0)a=l=1/c;else{let d=c*e;a=l=d<1?1/d:1}else if(e===0)a=1/c,l=1/f;else{let d=c*e,g=f*e;a=d<1?1/d:1,l=g<1?1/g:1}}else{let c=Math.abs(n*r-s*i),f=Math.hypot(n,s),d=Math.hypot(i,r);if(e===0)a=d/c,l=f/c;else{let g=e*c;a=d>g?d/g:1,l=f>g?f/g:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=l}return this._cachedScaleForStroking}rescaleAndStroke(e,n){let{ctx:s,current:{lineWidth:i}}=this,[r,a]=this.getScaleForStroking();if(r===a){s.lineWidth=(i||1)*r,s.stroke(e);return}let l=fc.#e??=new DOMMatrix,c=s.getLineDash();if(n)s.save();s.scale(r,a),l.a=1/r,l.d=1/a;let f=new Path2D;if(f.addPath(e,l),c.length>0){let d=Math.max(r,a);s.setLineDash(c.map((g)=>g/d)),s.lineDashOffset/=d}if(s.lineWidth=i||1,s.stroke(f),n)s.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}}for(let e in Ja)if(fc.prototype[e]!==void 0)fc.prototype[Ja[e]]=fc.prototype[e];class ku{#e=null;#t=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(e,n,s){this._source=e,this.#e=n,this.#t=s}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return Ps(!this._fullReader,"BasePDFStream.getFullReader can only be called once."),this._fullReader=new this.#e(this)}getRangeReader(e,n){if(n<=this._progressiveDataLength)return null;let s=new this.#t(this,e,n);return this._rangeReaders.add(s),s}cancelAllRequests(e){this._fullReader?.cancel(e);for(let n of new Set(this._rangeReaders))n.cancel(e)}}class xu{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(e){this._stream=e}_callOnProgress(){this.onProgress?.({loaded:this._loaded,total:this._contentLength})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){Rn("Abstract method `read` called")}cancel(e){Rn("Abstract method `cancel` called")}}class Tu{_stream=null;constructor(e,n,s){this._stream=e}async read(){Rn("Abstract method `read` called")}cancel(e){Rn("Abstract method `cancel` called")}}function EM(e){let n=!0,s=i("filename\\*","i").exec(e);if(s){s=s[1];let g=c(s);return g=unescape(g),g=f(g),g=d(g),a(g)}if(s=l(e),s){let g=d(s);return a(g)}if(s=i("filename","i").exec(e),s){s=s[1];let g=c(s);return g=d(g),a(g)}function i(g,b){return new RegExp("(?:^|;)\\s*"+g+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',b)}function r(g,b){if(g){if(!/^[\x00-\xFF]+$/.test(b))return b;try{let y=new TextDecoder(g,{fatal:!0}),v=km(b);b=y.decode(v),n=!1}catch{}}return b}function a(g){if(n&&/[\x80-\xff]/.test(g)){if(g=r("utf-8",g),n)g=r("iso-8859-1",g)}return g}function l(g){let b=[],y,v=i("filename\\*((?!0\\d)\\d+)(\\*?)","ig");while((y=v.exec(g))!==null){let[,T,R,N]=y;if(T=parseInt(T,10),T in b){if(T===0)break;continue}b[T]=[R,N]}let x=[];for(let T=0;T<b.length;++T){if(!(T in b))break;let[R,N]=b[T];if(N=c(N),R){if(N=unescape(N),T===0)N=f(N)}x.push(N)}return x.join("")}function c(g){if(g.startsWith('"')){let b=g.slice(1).split("\\\"");for(let y=0;y<b.length;++y){let v=b[y].indexOf('"');if(v!==-1)b[y]=b[y].slice(0,v),b.length=y+1;b[y]=b[y].replaceAll(/\\(.)/g,"$1")}g=b.join('"')}return g}function f(g){let b=g.indexOf("'");if(b===-1)return g;let y=g.slice(0,b),x=g.slice(b+1).replace(/^[^']*'/,"");return r(y,x)}function d(g){if(!g.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(g))return g;return g.replaceAll(/=\?([\w-]*)\?([QB])\?((?:[^?]|\?(?!=))*)\?=/gi,function(b,y,v,x){if(v==="q"||v==="Q")return x=x.replaceAll("_"," "),x=x.replaceAll(/=([0-9a-f]{2})/gi,function(T,R){return String.fromCharCode(parseInt(R,16))}),r(y,x);try{x=atob(x)}catch{}return r(y,x)})}return""}function J7(e,n){let s=new Headers;if(!e||!n||typeof n!=="object")return s;for(let i in n){let r=n[i];if(r!==void 0)s.append(i,r)}return s}function CM(e){let n=e.length;while(n>0&&e[n-1]!==" "&&/\s/.test(e[n-1]))n--;return e.slice(0,n)}function jm(e){return URL.parse(e)?.origin??null}function Z7({responseHeaders:e,isHttp:n,rangeChunkSize:s,disableRange:i}){let r={contentLength:0,isRangeSupported:!1},a=parseInt(e.get("Content-Length"),10);if(!Number.isInteger(a))return r;if(r.contentLength=a,a<=2*s)return r;if(i||!n)return r;if(e.get("Accept-Ranges")!=="bytes")return r;if((e.get("Content-Encoding")||"identity")==="identity")r.isRangeSupported=!0;return r}function eS(e){let n=e.get("Content-Disposition");if(n){let s=EM(n);if(s.includes("%"))try{s=decodeURIComponent(s)}catch{}if(o2(s))return s}return null}function _m(e,n){return new au(`Unexpected server response (${e}) while retrieving PDF "${n.href}".`,e,e===404||e===0&&n.protocol==="file:")}function tS(e,n){if(e!==n)throw Error(`Expected range response-origin "${e}" to match "${n}".`)}function nS(e,n,s,i){return fetch(e,{method:"GET",headers:n,signal:i.signal,mode:"cors",credentials:s?"include":"same-origin",redirect:"follow"})}function rS(e,n){if(e!==200&&e!==206)throw _m(e,n)}function Im(e){if(e instanceof Uint8Array)return e.buffer;if(e instanceof ArrayBuffer)return e;throw Error(`getArrayBuffer - unexpected data: ${e}`)}class aS extends ku{_responseOrigin=null;constructor(e){super(e,oS,lS);let{httpHeaders:n,url:s}=e;Ps(/https?:/.test(s.protocol),"PDFFetchStream only supports http(s):// URLs."),this.headers=J7(!0,n)}}class oS extends xu{_abortController=new AbortController;_reader=null;constructor(e){super(e);let{disableRange:n,disableStream:s,rangeChunkSize:i,url:r,withCredentials:a}=e._source;this._isStreamingSupported=!s;let l=new Headers(e.headers);nS(r,l,a,this._abortController).then((c)=>{e._responseOrigin=jm(c.url),rS(c.status,r),this._reader=c.body.getReader();let f=c.headers,{contentLength:d,isRangeSupported:g}=Z7({responseHeaders:f,isHttp:!0,rangeChunkSize:i,disableRange:n});if(this._contentLength=d,this._isRangeSupported=g,this._filename=eS(f),!this._isStreamingSupported&&this._isRangeSupported)this.cancel(new Mo("Streaming is disabled."));this._headersCapability.resolve()}).catch(this._headersCapability.reject)}async read(){await this._headersCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return this._loaded+=e.byteLength,this._callOnProgress(),{value:Im(e),done:!1}}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}class lS extends Tu{_abortController=new AbortController;_readCapability=Promise.withResolvers();_reader=null;constructor(e,n,s){super(e,n,s);let{url:i,withCredentials:r}=e._source,a=new Headers(e.headers);a.append("Range",`bytes=${n}-${s-1}`),nS(i,a,r,this._abortController).then((l)=>{let c=jm(l.url);tS(c,e._responseOrigin),rS(l.status,i),this._reader=l.body.getReader(),this._readCapability.resolve()}).catch(this._readCapability.reject)}async read(){await this._readCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return{value:Im(e),done:!1}}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}function f7(e){return e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function Rm(){for(let e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}class cS extends ku{_progressiveDone=!1;_queuedChunks=[];constructor(e){super(e,fS,hS);let{pdfDataRangeTransport:n}=e,{initialData:s,progressiveDone:i}=n;if(s?.length>0){let a=f7(s);this._queuedChunks.push(a)}this._progressiveDone=i;let r=(a)=>{switch(a.type){case"range":case"progressiveRead":this.#e(a.begin,a.chunk);break;case"progressiveDone":this._fullReader?.progressiveDone(),this._progressiveDone=!0;break}};n.transportReady(r)}#e(e,n){let s=f7(n);if(e===void 0)if(this._fullReader)this._fullReader._enqueue(s);else this._queuedChunks.push(s);else{let i=this._rangeReaders.keys().find((r)=>r._begin===e);Ps(i,"#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."),i._enqueue(s)}}getFullReader(){let e=super.getFullReader();return this._queuedChunks=null,e}getRangeReader(e,n){let s=super.getRangeReader(e,n);if(s)s.onDone=()=>this._rangeReaders.delete(s),this._source.pdfDataRangeTransport.requestDataRange(e,n);return s}cancelAllRequests(e){super.cancelAllRequests(e),this._source.pdfDataRangeTransport.abort()}}class fS extends xu{#e=Rm.bind(this);_done=!1;_queuedChunks=null;_requests=[];constructor(e){super(e);let{pdfDataRangeTransport:n,disableRange:s,disableStream:i}=e._source,{length:r,contentDispositionFilename:a}=n;this._queuedChunks=e._queuedChunks||[];for(let c of this._queuedChunks)this._loaded+=c.byteLength;if(this._done=e._progressiveDone,this._contentLength=r,this._isStreamingSupported=!i,this._isRangeSupported=!s,o2(a))this._filename=a;this._headersCapability.resolve();let l=this._loaded;Promise.resolve().then(()=>{if(l>0&&this._loaded===l)this._callOnProgress()})}_enqueue(e){if(this._done)return;if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._queuedChunks.push(e);this._loaded+=e.byteLength,this._callOnProgress()}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e()}progressiveDone(){if(this._done||=!0,this._queuedChunks.length===0)this.#e()}}class hS extends Tu{#e=Rm.bind(this);onDone=null;_begin=-1;_done=!1;_queuedChunk=null;_requests=[];constructor(e,n,s){super(e,n,s);this._begin=n}_enqueue(e){if(this._done)return;if(this._requests.length===0)this._queuedChunk=e;else this._requests.shift().resolve({value:e,done:!1}),this.#e();this._done=!0,this.onDone?.()}async read(){if(this._queuedChunk){let n=this._queuedChunk;return this._queuedChunk=null,{value:n,done:!1}}if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e(),this.onDone?.()}}var Vb=200,h7=206;function jM(e){return typeof e!=="string"?e:km(e).buffer}class dS extends ku{#e=new WeakMap;_responseOrigin=null;constructor(e){super(e,mS,pS);let{httpHeaders:n,url:s}=e;this.url=s,this.isHttp=/https?:/.test(s.protocol),this.headers=J7(this.isHttp,n)}_request(e){let n=new XMLHttpRequest,s={validateStatus:null,onHeadersReceived:e.onHeadersReceived,onDone:e.onDone,onError:e.onError,onProgress:e.onProgress};this.#e.set(n,s),n.open("GET",this.url),n.withCredentials=this._source.withCredentials;for(let[i,r]of this.headers)n.setRequestHeader(i,r);if(this.isHttp&&"begin"in e&&"end"in e)n.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),s.validateStatus=(i)=>i===h7||i===Vb;else s.validateStatus=(i)=>i===Vb;return n.responseType="arraybuffer",Ps(e.onError,"Expected `onError` callback to be provided."),n.onerror=()=>e.onError(n.status),n.onreadystatechange=this.#n.bind(this,n),n.onprogress=this.#t.bind(this,n),n.send(null),n}#t(e,n){this.#e.get(e)?.onProgress?.(n)}#n(e,n){let s=this.#e.get(e);if(!s)return;if(e.readyState>=2&&s.onHeadersReceived)s.onHeadersReceived(),delete s.onHeadersReceived;if(e.readyState!==4)return;if(!this.#e.has(e))return;if(this.#e.delete(e),e.status===0&&this.isHttp){s.onError(e.status);return}let i=e.status||Vb;if(!s.validateStatus(i)){s.onError(e.status);return}let r=jM(e.response);if(i===h7){let a=e.getResponseHeader("Content-Range");if(/bytes \d+-\d+\/\d+/.test(a))s.onDone(r);else ln('Missing or invalid "Content-Range" header.'),s.onError(0)}else if(r)s.onDone(r);else s.onError(e.status)}_abortRequest(e){if(this.#e.has(e))this.#e.delete(e),e.abort()}getRangeReader(e,n){let s=super.getRangeReader(e,n);if(s)s.onClosed=()=>this._rangeReaders.delete(s);return s}}class mS extends xu{#e=Rm.bind(this);_cachedChunks=[];_done=!1;_requests=[];_storedError=null;constructor(e){super(e);this._fullRequestXhr=e._request({onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#s.bind(this),onProgress:this.#i.bind(this)})}#t(){let e=this._stream,{disableRange:n,rangeChunkSize:s}=e._source,i=this._fullRequestXhr;e._responseOrigin=jm(i.responseURL);let r=i.getAllResponseHeaders(),a=new Headers(r?CM(r.trimStart()).split(/[\r\n]+/).map((f)=>{let[d,...g]=f.split(": ");return[d,g.join(": ")]}):[]),{contentLength:l,isRangeSupported:c}=Z7({responseHeaders:a,isHttp:e.isHttp,rangeChunkSize:s,disableRange:n});if(this._contentLength=l,this._isRangeSupported=c,this._filename=eS(a),this._isRangeSupported)e._abortRequest(i);this._headersCapability.resolve()}#n(e){if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._cachedChunks.push(e);if(this._done=!0,this._cachedChunks.length===0)this.#e()}#s(e){this._storedError=_m(e,this._stream.url),this._headersCapability.reject(this._storedError);for(let n of this._requests)n.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}#i(e){this.onProgress?.({loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e),this.#e(),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}}class pS extends Tu{#e=Rm.bind(this);onClosed=null;_done=!1;_queuedChunk=null;_requests=[];_storedError=null;constructor(e,n,s){super(e,n,s);this._requestXhr=e._request({begin:n,end:s,onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#s.bind(this),onProgress:null})}#t(){let e=jm(this._requestXhr?.responseURL);try{tS(e,this._stream._responseOrigin)}catch(n){this._storedError=n,this.#s(0)}}#n(e){if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._queuedChunk=e;this._done=!0,this.#e(),this.onClosed?.()}#s(e){this._storedError??=_m(e,this._stream.url);for(let n of this._requests)n.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){let n=this._queuedChunk;return this._queuedChunk=null,{value:n,done:!1}}if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e(),this._stream._abortRequest(this._requestXhr),this.onClosed?.()}}function gS(e,n=null){let s=process.getBuiltinModule("fs"),{Readable:i}=process.getBuiltinModule("stream"),r=s.createReadStream(e,n);return i.toWeb(r)}class bS extends ku{constructor(e){super(e,wS,yS);let{url:n}=e;Ps(n.protocol==="file:","PDFNodeStream only supports file:// URLs.")}}class wS extends xu{_reader=null;constructor(e){super(e);let{disableRange:n,disableStream:s,rangeChunkSize:i,url:r}=e._source;this._isStreamingSupported=!s,process.getBuiltinModule("fs/promises").lstat(r).then((l)=>{let c=gS(r);this._reader=c.getReader();let{size:f}=l;if(this._contentLength=f,this._isRangeSupported=!n&&f>2*i,!this._isStreamingSupported&&this._isRangeSupported)this.cancel(new Mo("Streaming is disabled."));this._headersCapability.resolve()}).catch((l)=>{if(l.code==="ENOENT")l=_m(0,r);this._headersCapability.reject(l)})}async read(){await this._headersCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return this._loaded+=e.byteLength,this._callOnProgress(),{value:Im(e),done:!1}}cancel(e){this._reader?.cancel(e)}}class yS extends Tu{_readCapability=Promise.withResolvers();_reader=null;constructor(e,n,s){super(e,n,s);let{url:i}=e._source;try{let r=gS(i,{start:n,end:s-1});this._reader=r.getReader(),this._readCapability.resolve()}catch(r){this._readCapability.reject(r)}}async read(){await this._readCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return{value:Im(e),done:!1}}cancel(e){this._reader?.cancel(e)}}function _M(e){return su(e)?aS:wr?bS:dS}class qo{static#e=null;static#t="";static get workerPort(){return this.#e}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw Error("Invalid `workerPort` type.");this.#e=e}static get workerSrc(){return this.#t}static set workerSrc(e){if(typeof e!=="string")throw Error("Invalid `workerSrc` type.");this.#t=e}}class vS{#e;#t;constructor({parsedData:e,rawData:n}){this.#e=e,this.#t=n}getRaw(){return this.#t}get(e){return this.#e.get(e)??null}[Symbol.iterator](){return this.#e.entries()}}var ac=Symbol("INTERNAL");class SS{#e=!1;#t=!1;#n=!1;#s=!0;constructor(e,{name:n,intent:s,usage:i,rbGroups:r}){this.#e=!!(e&br.DISPLAY),this.#t=!!(e&br.PRINT),this.name=n,this.intent=s,this.usage=i,this.rbGroups=r}get visible(){if(this.#n)return this.#s;if(!this.#s)return!1;let{print:e,view:n}=this.usage;if(this.#e)return n?.viewState!=="OFF";else if(this.#t)return e?.printState!=="OFF";return!0}_setVisible(e,n,s=!1){if(e!==ac)Rn("Internal method `_setVisible` called.");this.#n=s,this.#s=n}get serializable(){return{userSet:this.#n,visible:this.#s}}}class p2{#e=null;#t=new Map;#n=null;#s=null;#i;creator=null;name=null;constructor(e,n=br.DISPLAY,s=null){if(this.#i=e,this.renderingIntent=n,e===null)return;this.name=e.name,this.creator=e.creator,this.#s=e.order;for(let i of e.groups)this.#t.set(i.id,new SS(n,i));if(s){if(s.size!==this.#t.size)Rn("Incorrect serialized groupState.");for(let[i,r]of s)this.#t.get(i)._setVisible(ac,r.visible,r.userSet)}else{if(e.baseState==="OFF")for(let i of this.#t.values())i._setVisible(ac,!1);for(let i of e.on)this.#t.get(i)._setVisible(ac,!0);for(let i of e.off)this.#t.get(i)._setVisible(ac,!1)}this.#n=this.getHash()}#a(e){let n=e.length;if(n<2)return!0;let s=e[0];for(let i=1;i<n;i++){let r=e[i],a;if(Array.isArray(r))a=this.#a(r);else if(this.#t.has(r))a=this.#t.get(r).visible;else return ln(`Optional content group not found: ${r}`),!0;switch(s){case"And":if(!a)return!1;break;case"Or":if(a)return!0;break;case"Not":return!a;default:return!0}}return s==="And"}isVisible(e){if(this.#t.size===0)return!0;if(!e)return Sm("Optional content group not defined."),!0;if(e.type==="OCG"){if(!this.#t.has(e.id))return ln(`Optional content group not found: ${e.id}`),!0;return this.#t.get(e.id).visible}else if(e.type==="OCMD"){if(e.expression)return this.#a(e.expression);if(!e.policy||e.policy==="AnyOn"){for(let n of e.ids){if(!this.#t.has(n))return ln(`Optional content group not found: ${n}`),!0;if(this.#t.get(n).visible)return!0}return!1}else if(e.policy==="AllOn"){for(let n of e.ids){if(!this.#t.has(n))return ln(`Optional content group not found: ${n}`),!0;if(!this.#t.get(n).visible)return!1}return!0}else if(e.policy==="AnyOff"){for(let n of e.ids){if(!this.#t.has(n))return ln(`Optional content group not found: ${n}`),!0;if(!this.#t.get(n).visible)return!0}return!1}else if(e.policy==="AllOff"){for(let n of e.ids){if(!this.#t.has(n))return ln(`Optional content group not found: ${n}`),!0;if(this.#t.get(n).visible)return!1}return!0}return ln(`Unknown optional content policy ${e.policy}.`),!0}return ln(`Unknown group type ${e.type}.`),!0}setVisibility(e,n=!0,s=!0){let i=this.#t.get(e);if(!i){ln(`Optional content group not found: ${e}`);return}if(s&&n&&i.rbGroups.length){for(let r of i.rbGroups)for(let a of r)if(a!==e)this.#t.get(a)?._setVisible(ac,!1,!0)}i._setVisible(ac,!!n,!0),this.#e=null}setOCGState({state:e,preserveRB:n}){let s;for(let i of e){switch(i){case"ON":case"OFF":case"Toggle":s=i;continue}let r=this.#t.get(i);if(!r)continue;switch(s){case"ON":this.setVisibility(i,!0,n);break;case"OFF":this.setVisibility(i,!1,n);break;case"Toggle":this.setVisibility(i,!r.visible,n);break}}this.#e=null}get hasInitialVisibility(){return this.#n===null||this.getHash()===this.#n}getOrder(){if(!this.#t.size)return null;if(this.#s)return this.#s.slice();return[...this.#t.keys()]}getGroup(e){return this.#t.get(e)||null}getHash(){if(this.#e!==null)return this.#e;let e=new um;for(let[n,s]of this.#t)e.update(`${n}:${s.visible}`);return this.#e=e.hexdigest()}[Symbol.iterator](){return this.#t.entries()}get serializable(){let e=new Map;for(let[n,s]of this.#t)e.set(n,s.serializable);return{data:this.#i,renderingIntent:this.renderingIntent,groupState:e}}static fromSerializable({data:e,renderingIntent:n,groupState:s}){return new p2(e,n,s)}}class kS{#e=null;#t=null;#n=0;#s=null;#i=null;get pagesNumber(){return this.#n}set pagesNumber(e){if(this.#n===e)return;this.#n=e,this.#e=null,this.#t=null}#a(){if(this.#e)return;let e=this.#n,n=this.#e=new Uint32Array(e);for(let s=0;s<e;s++)n[s]=s+1;this.#t=new Int32Array(n)}#r(){let e=new Map,n=this.#e;for(let s=0,i=this.#n;s<i;s++){let r=n[s],a=e.get(r);if(a)a.push(s+1);else e.set(r,[s+1])}return e}movePages(e,n,s){this.#a();let i=this.#e,r=n.length,a=new Uint32Array(r),l=0;for(let b=0;b<r;b++){let y=n[b]-1;if(a[b]=i[y],y<s)l++}let c=this.#n,f=c-r,d=new Int32Array(c),g=gs(s-l,0,f);for(let b=0,y=0;b<c;b++)if(!e.has(b+1))i[y]=i[b],d[y++]=b+1;if(i.copyWithin(g+r,g,f),i.set(a,g),d.copyWithin(g+r,g,f),d.set(n,g),this.#t=d,i.every((b,y)=>b===y+1))this.#e=null}deletePages(e){this.#a();let n=this.#e,s=this.#r();this.#i={pageNumberToId:n.slice(),pagesNumber:this.#n,prevPageNumbers:this.#t.slice()};let i=this.#n-e.length;this.#n=i;let r=this.#e=new Uint32Array(i);this.#t=new Int32Array(i);let a=0,l=0;for(let c of e){let f=c-1;if(f!==a)r.set(n.subarray(a,f),l),l+=f-a;a=f+1}if(a<n.length)r.set(n.subarray(a),l);this.#o(s,new Set(e))}cancelDelete(){if(this.#i)this.#e=this.#i.pageNumberToId,this.#n=this.#i.pagesNumber,this.#t=this.#i.prevPageNumbers,this.#i=null}cleanSavedData(){this.#i=null}copyPages(e){this.#a(),this.#s={pageNumbers:e,pageIds:e.map((n)=>this.#e[n-1])}}cancelCopy(){this.#s=null}pastePages(e){this.#a();let n=this.#e,s=this.#r(),{pageNumbers:i,pageIds:r}=this.#s,a=this.#n+i.length;this.#n=a;let l=this.#e=new Uint32Array(a);this.#t=new Int32Array(a),l.set(n.subarray(0,e),0),l.set(r,e),l.set(n.subarray(e),e+i.length),this.#o(s,null,e,i),this.#s=null}#o(e,n=null,s=-1,i=null){let r=this.#t,a=this.#e,l=s+(i?.length??0),c=new Map;for(let f=0,d=this.#n;f<d;f++){if(f>=s&&f<l){r[f]=-i[f-s];continue}let g=a[f],b=e.get(g),y=c.get(g)||0;if(n&&b)while(y<b.length&&n.has(b[y]))y++;r[f]=b?.[y],c.set(g,y+1)}}hasBeenAltered(){return this.#e!==null}#l(e=null){if(!this.#e)return null;let n=new Int32Array(this.#n).fill(-1),s=new Map;if(e)for(let i of e){let r=this.getPageId(i),a=s.get(r)??0;s.set(r,a+1),n[i-1]=a}else for(let i=0,r=this.#n;i<r;i++){let a=this.#e[i],l=s.get(a)??0;s.set(a,l+1),n[i]=l}return n}getPageMappingForSaving(e=null,n=this.#l()){e??=this.#r();let s=0;for(let r of e.values())s=Math.max(s,r.length);let i=Array(s);for(let r=0;r<s;r++)i[r]={document:null,pageIndices:[],includePages:[]};for(let[r,a]of e)for(let l=0,c=a.length;l<c;l++)i[l].includePages.push([r-1,a[l]-1]);for(let{includePages:r,pageIndices:a}of i){r.sort((l,c)=>l[0]-c[0]);for(let l=0,c=r.length;l<c;l++)a.push(r[l][1]),r[l]=r[l][0]}return{pageInfos:i,copyLevels:n}}extractPages(e){e=Array.from(e).sort((s,i)=>s-i);let n=new Map;for(let s=0,i=e.length;s<i;s++){let r=this.getPageId(e[s]);n.getOrInsertComputed(r,Af).push(s+1)}return this.getPageMappingForSaving(n,this.#l(e))}getPrevPageNumber(e){return this.#t?.[e-1]??0}getPageNumber(e){if(!this.#e)return e;let n=this.#e;for(let s=0,i=this.#n;s<i;s++)if(n[s]===e)return s+1;return 0}getPageId(e){return this.#e?.[e-1]??e}getMapping(){return this.#e?.subarray(0,this.pagesNumber)}}var Sf=Symbol("INITIAL_DATA"),u7=()=>({...Promise.withResolvers(),data:Sf});class g2{#e=new Map;get(e,n=null){if(n){let i=this.#e.getOrInsertComputed(e,u7);return i.promise.then(()=>n(i.data)),null}let s=this.#e.get(e);if(!s||s.data===Sf)throw Error(`Requesting object that isn't resolved yet ${e}.`);return s.data}has(e){let n=this.#e.get(e);return!!n&&n.data!==Sf}delete(e){let n=this.#e.get(e);if(!n||n.data===Sf)return!1;return this.#e.delete(e),!0}resolve(e,n=null){let s=this.#e.getOrInsertComputed(e,u7);if(s.data!==Sf)throw Error(`Object already resolved ${e}.`);s.data=n,s.resolve()}clear(){for(let{data:e}of this.#e.values())e?.bitmap?.close();this.#e.clear()}*[Symbol.iterator](){for(let[e,{data:n}]of this.#e)if(n!==Sf)yield[e,n]}}var IM=1e5,d7=30;class Hi{#e=Promise.withResolvers();#t=null;#n=!1;#s=!!globalThis.FontInspector?.enabled;#i=null;#a=null;#r=null;#o=0;#l=0;#c=null;#u=null;#h=0;#d=0;#p=Object.create(null);#g=[];#f=null;#m=[];#b=new WeakMap;#w=null;static#y=new Map;static#v=new Map;static#x=new WeakMap;static#k=null;static#A=new Set;constructor({textContentSource:e,images:n,container:s,viewport:i}){if(e instanceof ReadableStream)this.#f=e;else if(typeof e==="object")this.#f=new ReadableStream({start(f){f.enqueue(e),f.close()}});else throw Error('No "textContentSource" parameter specified.');this.#t=this.#u=s,this.#i=n,this.#d=i.scale*ga.pixelRatio,this.#h=i.rotation,this.#r={div:null,properties:null,ctx:null};let{pageWidth:r,pageHeight:a,pageX:l,pageY:c}=i.rawDims;this.#w=[1,0,0,-1,-l,c+a],this.#l=r,this.#o=a,Hi.#R(),s.style.setProperty("--min-font-size",Hi.#k),uc(s,i),this.#e.promise.finally(()=>{Hi.#A.delete(this),this.#r=null,this.#p=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:e,isFirefox:n}=Xn.platform;return Pt(this,"fontFamilyMap",new Map([["sans-serif",`${e&&n?"Calibri, ":""}sans-serif`],["monospace",`${e&&n?"Lucida Console, ":""}monospace`]]))}render(){if(this.#i)this.#t.append(this.#i.render());let e=()=>{this.#c.read().then(({value:n,done:s})=>{if(s){this.#e.resolve();return}this.#a??=n.lang,Object.assign(this.#p,n.styles),this.#T(n.items),e()},this.#e.reject)};return this.#c=this.#f.getReader(),Hi.#A.add(this),e(),this.#e.promise}update({viewport:e,onBefore:n=null}){let s=e.scale*ga.pixelRatio,i=e.rotation;if(i!==this.#h)n?.(),this.#h=i,uc(this.#u,{rotation:i});if(s!==this.#d){n?.(),this.#d=s;let r={div:null,properties:null,ctx:Hi.#C(this.#a)};for(let a of this.#m)r.properties=this.#b.get(a),r.div=a,this.#j(r)}}cancel(){let e=new Mo("TextLayer task cancelled.");this.#c?.cancel(e).catch(()=>{}),this.#c=null,this.#e.reject(e)}get textDivs(){return this.#m}get textContentItemsStr(){return this.#g}#T(e){if(this.#n)return;this.#r.ctx??=Hi.#C(this.#a);let n=this.#m,s=this.#g;for(let i of e){if(n.length>IM){ln("Ignoring additional textDivs for performance reasons."),this.#n=!0;return}if(i.str===void 0){if(i.type==="beginMarkedContentProps"||i.type==="beginMarkedContent"){let r=this.#t;if(this.#t=document.createElement("span"),this.#t.classList.add("markedContent"),i.id)this.#t.setAttribute("id",i.id);if(i.tag==="Artifact")this.#t.ariaHidden=!0;r.append(this.#t)}else if(i.type==="endMarkedContent")this.#t=this.#t.parentNode;continue}s.push(i.str),this.#I(i)}}#I(e){let n=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:e.str!=="",hasEOL:e.hasEOL,fontSize:0};this.#m.push(n);let i=ft.transform(this.#w,e.transform),r=Math.atan2(i[1],i[0]),a=this.#p[e.fontName];if(a.vertical)r+=Math.PI/2;let l=this.#s&&a.fontSubstitution||a.fontFamily;l=Hi.fontFamilyMap.get(l)||l;let c=Math.hypot(i[2],i[3]),f=c*Hi.#q(l,a,this.#a),d,g;if(r===0)d=i[4],g=i[5]-f;else d=i[4]+f*Math.sin(r),g=i[5]-f*Math.cos(r);let b=n.style;if(b.left=`${(100*d/this.#l).toFixed(2)}%`,b.top=`${(100*g/this.#o).toFixed(2)}%`,b.setProperty("--font-height",`${c.toFixed(2)}px`),b.fontFamily=l,s.fontSize=c,n.setAttribute("role","presentation"),n.textContent=e.str,n.dir=e.dir,this.#s)n.dataset.fontName=a.fontSubstitutionLoadedName||e.fontName;if(r!==0)s.angle=r*(180/Math.PI);let y=!1;if(e.str.length>1)y=!0;else if(e.str!==" "&&e.transform[0]!==e.transform[3]){let v=Math.abs(e.transform[0]),x=Math.abs(e.transform[3]);if(v!==x&&Math.max(v,x)/Math.min(v,x)>1.5)y=!0}if(y)s.canvasWidth=a.vertical?e.height:e.width;if(this.#b.set(n,s),this.#r.div=n,this.#r.properties=s,this.#j(this.#r),s.hasText)this.#t.append(n);if(s.hasEOL){let v=document.createElement("br");v.setAttribute("role","presentation"),this.#t.append(v)}}#j(e){let{div:n,properties:s,ctx:i}=e,{style:r}=n;if(s.canvasWidth!==0&&s.hasText){let{fontFamily:a}=r,{canvasWidth:l,fontSize:c}=s;Hi.#D(i,c*this.#d,a);let{width:f}=i.measureText(n.textContent);if(f>0)r.setProperty("--scale-x",l*this.#d/f)}if(s.angle!==0)r.setProperty("--rotate",`${s.angle}deg`)}static cleanup(){if(this.#A.size>0)return;this.#y.clear();for(let{canvas:e}of this.#v.values())e.remove();this.#v.clear()}static#C(e=null){let n=this.#v.get(e||="");if(!n){let s=document.createElement("canvas");s.style.cssText="position:absolute;top:0;left:0;width:0;height:0;display:none;letter-spacing:normal;word-spacing:normal",s.lang=e,document.body.append(s),n=s.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.#v.set(e,n),this.#x.set(n,{size:0,family:""})}return n}static#D(e,n,s){let i=this.#x.get(e);if(n===i.size&&s===i.family)return;e.font=`${n}px ${s}`,i.size=n,i.family=s}static#R(){if(this.#k!==null)return;let e=document.createElement("div");e.style.opacity=0,e.style.lineHeight=1,e.style.fontSize="1px",e.style.position="absolute",e.textContent="X",document.body.append(e),this.#k=e.getBoundingClientRect().height,e.remove()}static#q(e,n,s){let i=this.#y.get(e);if(i)return i;let r=this.#C(s);r.canvas.width=r.canvas.height=d7,this.#D(r,d7,e);let a=r.measureText(""),l=a.fontBoundingBoxAscent,c=Math.abs(a.fontBoundingBoxDescent);r.canvas.width=r.canvas.height=0;let f=0.8;if(l)f=l/(l+c);else{if(Xn.platform.isFirefox)ln("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering.");if(n.ascent)f=n.ascent;else if(n.descent)f=1+n.descent}return this.#y.set(e,f),f}}var RM=100;function b2(e={}){let n=new w2,{docId:s}=n,i=e.url?oM(e.url):null,r=e.data?lM(e.data):null,a=e.httpHeaders||null,l=e.withCredentials===!0,c=e.password??null,f=e.range instanceof y2?e.range:null,d=Number.isInteger(e.rangeChunkSize)&&e.rangeChunkSize>0?e.rangeChunkSize:65536,g=e.worker instanceof Ai?e.worker:null,b=e.verbosity,y=typeof e.docBaseUrl==="string"&&!Am(e.docBaseUrl)?e.docBaseUrl:null,v=K0(e.cMapUrl),x=e.cMapPacked!==!1,T=K0(e.iccUrl),R=K0(e.standardFontDataUrl),N=K0(e.wasmUrl),U=e.stopAtErrors!==!0,X=Number.isInteger(e.maxImageSize)&&e.maxImageSize>-1?e.maxImageSize:-1,Y=typeof e.isOffscreenCanvasSupported==="boolean"?e.isOffscreenCanvasSupported:!wr,J=typeof e.isImageDecoderSupported==="boolean"?e.isImageDecoderSupported:!wr,ee=Number.isInteger(e.canvasMaxAreaInBytes)?e.canvasMaxAreaInBytes:-1,te=typeof e.disableFontFace==="boolean"?e.disableFontFace:wr,ne=e.fontExtraProperties===!0,ie=e.enableXfa===!0,se=e.ownerDocument||globalThis.document,ae=e.disableRange===!0,be=e.disableStream===!0,ye=e.disableAutoFetch===!0,ue=e.pdfBug===!0,he=e.CanvasFactory||(wr?V7:U7),oe=e.FilterFactory||(wr?G7:z7),Se=e.BinaryDataFactory||(wr?$7:t2),we=e.enableHWA===!0,De=e.enableWebGPU===!0?mM():Promise.resolve(!1),Fe=e.useWasm!==!1,Be=e.pagesMapper||new kS,We=typeof e.useSystemFonts==="boolean"?e.useSystemFonts:!wr&&!te,st=typeof e.useWorkerFetch==="boolean"?e.useWorkerFetch:!!(Se===t2&&v&&x&&R&&N&&su(v,document.baseURI)&&su(R,document.baseURI)&&su(N,document.baseURI)),Je=null;zq(b);let vt={canvasFactory:new he({ownerDocument:se,enableHWA:we}),filterFactory:new oe({docId:s,ownerDocument:se}),binaryDataFactory:st?null:new Se({cMapUrl:v,standardFontDataUrl:R,wasmUrl:N})};if(!g)g=Ai.create({verbosity:b,port:qo.workerPort}),n._worker=g;let jt={docId:s,apiVersion:"6.3.289",data:r,password:c,disableAutoFetch:ye,rangeChunkSize:d,docBaseUrl:y,enableXfa:ie,evaluatorOptions:{maxImageSize:X,disableFontFace:te,ignoreErrors:U,isOffscreenCanvasSupported:Y,isImageDecoderSupported:J,canvasMaxAreaInBytes:ee,fontExtraProperties:ne,useSystemFonts:We,useWasm:Fe,useWorkerFetch:st,cMapUrl:v,cMapPacked:x,iccUrl:T,standardFontDataUrl:R,wasmUrl:N,hasGPU:!1}},ut={ownerDocument:se,pdfBug:ue,styleElement:Je,enableHWA:we,loadingParams:{disableAutoFetch:ye,enableXfa:ie}};return Promise.all([g.promise,De]).then(function([,Lt]){if(g.destroyed)throw Error("Worker was destroyed");jt.evaluatorOptions.hasGPU=Lt;let Jt=g.messageHandler.sendWithPromise("GetDocRequest",jt,r?[r.buffer]:null),hn;if(r);else if(f)hn=new cS({pdfDataRangeTransport:f,disableRange:ae,disableStream:be});else if(i)hn=new(_M(i))({url:i,httpHeaders:a,withCredentials:l,rangeChunkSize:d,disableRange:ae,disableStream:be});else throw Error("getDocument - expected either `data`, `range`, or `url` parameter.");return Jt.then((Wt)=>{if(g.destroyed)throw Error("Worker was destroyed");let rn=new kf(s,Wt,g.port),Wn=new AS(rn,n,hn,ut,vt,Be);if(n._transport=Wn,n.destroyed)throw Error("Loading aborted");rn.send("Ready",null)})}).catch(n._capability.reject).finally(n._setupCapability.resolve),n}class w2{static#e=0;_capability=Promise.withResolvers();_setupCapability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${w2.#e++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0,this._capability.promise.catch(()=>{});try{if(this._worker?.port)this._worker._pendingDestroy=!0;await this._setupCapability.promise,await this._transport?.destroy()}catch(e){if(this._worker?.port)delete this._worker._pendingDestroy;throw e}this._transport=null,this._worker?.destroy(),this._worker=null}async getData(){return this._transport.getData()}}class y2{#e=Promise.withResolvers();#t=null;constructor(e,n,s=!1,i=null){this.length=e,this.initialData=n,this.progressiveDone=s,this.contentDispositionFilename=i}onDataRange(e,n){this.#t({type:"range",begin:e,chunk:n})}onDataProgressiveRead(e){this.#e.promise.then(()=>{this.#t({type:"progressiveRead",chunk:e})})}onDataProgressiveDone(){this.#e.promise.then(()=>{this.#t({type:"progressiveDone"})})}transportReady(e){this.#t=e,this.#e.resolve()}requestDataRange(e,n){Rn("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class xS{constructor(e,n){this._pdfInfo=e,this._transport=n}get pagesMapper(){return this._transport.pagesMapper}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return Pt(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAttachmentContent(e){return this._transport.getAttachmentContent(e)}getAnnotationsByType(e,n){return this._transport.getAnnotationsByType(e,n)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){let{renderingIntent:n}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(n)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}extractPages(e,n=null){return this._transport.extractPages(e,n)}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}getSignatures(){return this._transport.getSignatures()}getSignatureData(e){return this._transport.getSignatureData(e)}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class v2{#e=!1;#t=null;constructor(e,n,s,i,r=!1){this._pageIndex=e,this._pageInfo=n,this._transport=s,this._stats=r?new Kb:null,this._pdfBug=r,this.commonObjs=s.commonObjs,this.objs=new g2,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,this.#t=i,this.imageCoordinates=null}clone(e){let n=new v2(e,this._pageInfo,this._transport,this.#t,this._pdfBug);return n.clonedFromIndex=this.clonedFromIndex??this._pageIndex,this._transport.updatePage(n),n}get pageNumber(){return this._pageIndex+1}set pageNumber(e){this._pageIndex=e-1,this._transport.updatePage(this)}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:n=this.rotate,offsetX:s=0,offsetY:i=0,dontFlip:r=!1}={}){return new wu({viewBox:this.view,userUnit:this.userUnit,scale:e,rotation:n,offsetX:s,offsetY:i,dontFlip:r})}getAnnotations({intent:e="display"}={}){let{renderingIntent:n}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,n)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return Pt(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:e,canvas:n=e.canvas,viewport:s,intent:i="display",annotationMode:r=kl.ENABLE,transform:a=null,background:l=null,optionalContentConfigPromise:c=null,annotationCanvasMap:f=null,pageColors:d=null,printAnnotationStorage:g=null,isEditing:b=!1,recordImages:y=!1,recordOperations:v=!1,operationsFilter:x=null}){this._stats?.time("Overall");let T=this._transport.getRenderingIntent(i,r,g,b),{renderingIntent:R,cacheKey:N}=T;this.#e=!1,c||=this._transport.getOptionalContentConfig(R);let U=this._intentStates.getOrInsertComputed(N,Wb);if(U.streamReaderCancelTimeout)clearTimeout(U.streamReaderCancelTimeout),U.streamReaderCancelTimeout=null;let X=!!(R&br.PRINT);if(!U.displayReadyCapability)U.displayReadyCapability=Promise.withResolvers(),U.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(T);let Y=!!(this._pdfBug&&globalThis.StepperManager?.enabled),J=!!n&&!this.recordedBBoxes&&(v||Y),ee=!!n&&!this.imageCoordinates&&y,te=(be)=>{if(U.renderTasks.delete(se),J){let ye=se.gfx?.dependencyTracker.take();if(ye){if(se.stepper?.setOperatorBBoxes(ye,se.gfx.dependencyTracker.takeDebugMetadata()),v)this.recordedBBoxes=ye}}if(ee&&!be)this.imageCoordinates=se.gfx?.imagesTracker.take();if(X)this.#e=!0;if(this.#n(),be)se.capability.reject(be),this._abortOperatorList({intentState:U,reason:be instanceof Error?be:Error(be)});else se.capability.resolve();if(this._stats){if(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),globalThis.Stats?.enabled)globalThis.Stats.add(this.pageNumber,this._stats)}},ne=null,ie=null;if(J||ee)ie=new I7(n,U.operatorList.length);if(J)ne=new R7(ie,Y);let se=new xf({callback:te,params:{canvas:n,canvasContext:e,dependencyTracker:ne??ie,imagesTracker:ee?new dm(n):null,viewport:s,transform:a,background:l},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:f,operatorList:U.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!X,pdfBug:this._pdfBug,pageColors:d,enableHWA:this._transport.enableHWA,operationsFilter:x});(U.renderTasks||=new Set).add(se);let ae=se.task;return Promise.all([U.displayReadyCapability.promise,c]).then(([be,ye])=>{if(this.destroyed){te();return}if(this._stats?.time("Rendering"),!(ye.renderingIntent&R))throw Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");se.initializeGraphics({transparency:be,optionalContentConfig:ye}),se.operatorListChanged()}).catch(te),ae}getOperatorList({intent:e="display",annotationMode:n=kl.ENABLE,printAnnotationStorage:s=null,isEditing:i=!1}={}){function r(){if(l.operatorList.lastChunk)l.opListReadCapability.resolve(l.operatorList),l.renderTasks.delete(c)}let a=this._transport.getRenderingIntent(e,n,s,i,!0),l=this._intentStates.getOrInsertComputed(a.cacheKey,Wb),c;if(!l.opListReadCapability)c=Object.create(null),c.operatorListChanged=r,l.opListReadCapability=Promise.withResolvers(),(l.renderTasks||=new Set).add(c),l.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(a);return l.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:n=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,includeMarkedContent:e===!0,disableNormalization:n===!0},{highWaterMark:100,size(i){return i.items.length}})}async getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then((i)=>lu.textContent(i));let n=this.streamTextContent(e),s={items:[],styles:Object.create(null),lang:null};for await(let i of n)s.lang??=i.lang,Object.assign(s.styles,i.styles),s.items.push(...i.items);return s}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;let e=[];for(let n of this._intentStates.values()){if(this._abortOperatorList({intentState:n,reason:Error("Page was destroyed."),force:!0}),n.opListReadCapability)continue;for(let s of n.renderTasks)e.push(s.completed),s.cancel()}return this.objs.clear(),this.#e=!1,Promise.all(e)}cleanup(e=!1){this.#e=!0;let n=this.#n();if(e&&n)this._stats&&=new Kb;return n}#n(){if(!this.#e||this.destroyed)return!1;for(let{renderTasks:e,operatorList:n}of this._intentStates.values())if(e.size>0||!n.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#e=!1,!0}_startRenderPage(e,n){let s=this._intentStates.get(n);if(!s)return;this._stats?.timeEnd("Page Request"),s.displayReadyCapability?.resolve(e)}_renderPageChunk(e,n){for(let s=0,i=e.length;s<i;s++)n.operatorList.fnArray.push(e.fnArray[s]),n.operatorList.argsArray.push(e.argsArray[s]);n.operatorList.lastChunk=e.lastChunk,n.operatorList.separateAnnots=e.separateAnnots;for(let s of n.renderTasks)s.operatorListChanged();if(e.lastChunk)this.#n()}_pumpOperatorList({renderingIntent:e,cacheKey:n,annotationStorageSerializable:s,modifiedIds:i}){let{map:r,transfer:a}=s,c=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,intent:e,cacheKey:n,annotationStorage:r,modifiedIds:i},void 0,a).getReader(),f=this._intentStates.get(n);f.streamReader=c;let d=()=>{c.read().then(({value:g,done:b})=>{if(b){f.streamReader=null;return}if(this._transport.destroyed)return;this._renderPageChunk(g,f),d()},(g)=>{if(f.streamReader=null,this._transport.destroyed)return;if(f.operatorList){f.operatorList.lastChunk=!0;for(let b of f.renderTasks)b.operatorListChanged();this.#n()}if(f.displayReadyCapability)f.displayReadyCapability.reject(g);else if(f.opListReadCapability)f.opListReadCapability.reject(g);else throw g})};d()}_abortOperatorList({intentState:e,reason:n,force:s=!1}){if(!e.streamReader)return;if(e.streamReaderCancelTimeout)clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null;if(!s){if(e.renderTasks.size>0)return;if(n instanceof xm){let i=RM;if(n.extraDelay>0&&n.extraDelay<1000)i+=n.extraDelay;e.streamReaderCancelTimeout=setTimeout(()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:n,force:!0})},i);return}}if(e.streamReader.cancel(new Mo(n.message)).catch(()=>{}),e.streamReader=null,this._transport.destroyed)return;for(let[i,r]of this._intentStates)if(r===e){this._intentStates.delete(i);break}this.cleanup()}get stats(){return this._stats}}class Ai{#e=Promise.withResolvers();#t=null;#n=null;#s=null;static#i=0;static#a=!1;static#r=new WeakMap;static{if(wr)this.#a=!0,qo.workerSrc||="./pdf.worker.mjs";this._isSameOrigin=(e,n)=>{let s=URL.parse(e);if(!s?.origin||s.origin==="null")return!1;let i=new URL(n,s);return s.origin===i.origin},this._createCDNWrapper=(e)=>{let n=`await import("${e}");`;return URL.createObjectURL(new Blob([n],{type:"text/javascript"}))}}constructor({name:e=null,port:n=null,verbosity:s=Gq()}={}){if(this.name=e,this.destroyed=!1,this.verbosity=s,n){if(Ai.#r.has(n))throw Error("Cannot use more than one PDFWorker per port.");Ai.#r.set(n,this),this.#l(n)}else this.#c()}get promise(){return this.#e.promise}#o(){this.#e.resolve(),this.#t.send("configure",{verbosity:this.verbosity})}get port(){return this.#n}get messageHandler(){return this.#t}#l(e){this.#n=e,this.#t=new kf("main","worker",e),this.#t.on("ready",()=>{}),this.#o()}#c(){if(Ai.#a||Ai.#h){this.#u();return}let{workerSrc:e}=Ai;try{if(!Ai._isSameOrigin(window.location,e))e=Ai._createCDNWrapper(new URL(e,window.location).href);let n=new Worker(e,{type:"module"}),s=new kf("main","worker",n),i=()=>{if(r.abort(),s.destroy(),n.terminate(),this.destroyed)this.#e.reject(Error("Worker was destroyed"));else this.#u()},r=new AbortController;n.addEventListener("error",()=>{if(!this.#s)i()},{signal:r.signal}),s.on("test",(l)=>{if(r.abort(),this.destroyed||!l){i();return}this.#t=s,this.#n=n,this.#s=n,this.#o()}),s.on("ready",(l)=>{if(r.abort(),this.destroyed){i();return}try{a()}catch{this.#u()}});let a=()=>{let l=new Uint8Array;s.send("test",l,[l.buffer])};a();return}catch{Sm("The worker has been disabled.")}this.#u()}#u(){if(!Ai.#a)ln("Setting up fake worker."),Ai.#a=!0;Ai._setupFakeWorkerGlobal.then((e)=>{if(this.destroyed){this.#e.reject(Error("Worker was destroyed"));return}let n=new H7;this.#n=n;let s=`fake${Ai.#i++}`,i=new kf(s+"_worker",s,n);e.setup(i,n),this.#t=new kf(s,s+"_worker",n),this.#o()}).catch((e)=>{this.#e.reject(Error(`Setting up fake worker failed: "${e.message}".`))})}destroy(){this.destroyed=!0,this.#s?.terminate(),this.#s=null,Ai.#r.delete(this.#n),this.#n=null,this.#t?.destroy(),this.#t=null}static create(e){let n=this.#r.get(e?.port);if(n){if(n._pendingDestroy)throw Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return n}return new Ai(e)}static get workerSrc(){if(qo.workerSrc)return qo.workerSrc;throw Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get#h(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return Pt(this,"_setupFakeWorkerGlobal",(async()=>{if(this.#h)return this.#h;return(await import(this.workerSrc)).WorkerMessageHandler})())}}class AS{downloadInfoCapability=Promise.withResolvers();#e=null;#t=new Map;#n=null;#s=new Map;#i=new Map;#a=new Map;#r=null;constructor(e,n,s,i,r,a){this.messageHandler=e,this.loadingTask=n,this.#n=s,this.commonObjs=new g2,this.fontLoader=new D7({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.enableHWA=i.enableHWA,this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.binaryDataFactory=r.binaryDataFactory,this.pagesMapper=a,this.destroyed=!1,this.destroyCapability=null,this.setupMessageHandler()}updatePage(e){let{_pageIndex:n}=e;this.#s.set(n,e),this.#i.set(n,Promise.resolve(e))}#o(e,n=null){return this.#t.getOrInsertComputed(e,()=>this.messageHandler.sendWithPromise(e,n))}#l({loaded:e,total:n}){this.loadingTask.onProgress?.({loaded:e,total:n,percent:n?gs(Math.round(e/n*100),0,100):NaN})}get annotationStorage(){return Pt(this,"annotationStorage",new Tm)}getRenderingIntent(e,n=kl.ENABLE,s=null,i=!1,r=!1){let a=br.DISPLAY,l=cu;switch(e){case"any":a=br.ANY;break;case"display":break;case"print":a=br.PRINT;break;default:ln(`getRenderingIntent - invalid intent: ${e}`)}let c=a&br.PRINT&&s instanceof h2?s:this.annotationStorage;switch(n){case kl.DISABLE:a+=br.ANNOTATIONS_DISABLE;break;case kl.ENABLE:break;case kl.ENABLE_FORMS:a+=br.ANNOTATIONS_FORMS;break;case kl.ENABLE_STORAGE:a+=br.ANNOTATIONS_STORAGE,l=c.serializable;break;default:ln(`getRenderingIntent - invalid annotationMode: ${n}`)}if(i)a+=br.IS_EDITING;if(r)a+=br.OPLIST;let{ids:f,hash:d}=c.modifiedIds,g=[a,l.hash,d];return{renderingIntent:a,cacheKey:g.join("_"),annotationStorageSerializable:l,modifiedIds:f}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#r?.reject(Error("Worker was destroyed during onPassword callback"));let e=[];for(let s of this.#s.values())e.push(s._destroy());if(this.#s.clear(),this.#i.clear(),this.#a.clear(),Object.hasOwn(this,"annotationStorage"))this.annotationStorage.resetModified();let n=this.messageHandler.sendWithPromise("Terminate",null);return e.push(n),Promise.all(e).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#t.clear(),this.filterFactory.destroy(),Hi.cleanup(),this.#n?.cancelAllRequests(new Mo("Worker was terminated.")),this.messageHandler?.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){let{messageHandler:e,loadingTask:n}=this;e.on("GetReader",(s,i)=>{Ps(this.#n,"GetReader - no `BasePDFStream` instance available."),this.#e=this.#n.getFullReader(),this.#e.onProgress=(r)=>this.#l(r),i.onPull=()=>{this.#e.read().then(function({value:r,done:a}){if(a){i.close();return}Ps(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(r),1,[r])}).catch((r)=>{i.error(r)})},i.onCancel=(r)=>{this.#e.cancel(r),i.ready.catch((a)=>{if(this.destroyed)return;throw a})}}),e.on("ReaderHeadersReady",async(s)=>{await this.#e.headersReady;let{isStreamingSupported:i,isRangeSupported:r,contentLength:a}=this.#e;if(i&&r)this.#e.onProgress=null;return{isStreamingSupported:i,isRangeSupported:r,contentLength:a}}),e.on("GetRangeReader",(s,i)=>{Ps(this.#n,"GetRangeReader - no `BasePDFStream` instance available.");let r=this.#n.getRangeReader(s.begin,s.end);if(!r){i.close();return}i.onPull=()=>{r.read().then(function({value:a,done:l}){if(l){i.close();return}Ps(a instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(a),1,[a])}).catch((a)=>{i.error(a)})},i.onCancel=(a)=>{r.cancel(a),i.ready.catch((l)=>{if(this.destroyed)return;throw l})}}),e.on("GetDoc",({pdfInfo:s})=>{this.pagesMapper.pagesNumber=s.numPages,this._numPages=s.numPages,this._htmlForXfa=s.htmlForXfa,delete s.htmlForXfa,n._capability.resolve(new xS(s,this))}),e.on("DocException",(s)=>{n._capability.reject(Ji(s))}),e.on("PasswordRequest",(s)=>{this.#r=Promise.withResolvers();try{if(!n.onPassword)throw Ji(s);let i=(r)=>{if(r instanceof Error)this.#r.reject(r);else this.#r.resolve({password:r})};n.onPassword(i,s.code)}catch(i){this.#r.reject(i)}return this.#r.promise}),e.on("DataLoaded",(s)=>{this.#l({loaded:s.length,total:s.length}),this.downloadInfoCapability.resolve(s)}),e.on("StartRenderPage",(s)=>{if(this.destroyed)return;this.#s.get(s.pageIndex)._startRenderPage(s.transparency,s.cacheKey)}),e.on("commonobj",([s,i,r])=>{if(this.destroyed)return null;if(this.commonObjs.has(s))return null;switch(i){case"Font":if("error"in r){let g=r.error;ln(`Error during font loading: ${g}`),this.commonObjs.resolve(s,g);break}let a=new P7(r),l=this._params.pdfBug&&globalThis.FontInspector?.enabled?(g,b)=>globalThis.FontInspector.fontAdded(g,b):null,c=new q7(a,l,r.charProcOperatorList,r.extra);this.fontLoader.bind(c).catch(()=>e.sendWithPromise("FontFallback",{id:s})).finally(()=>{if(!c.fontExtraProperties)c.clearData();this.commonObjs.resolve(s,c)});break;case"CopyLocalImage":let{imageRef:f}=r;Ps(f,"The imageRef must be defined.");for(let g of this.#s.values())for(let[,b]of g.objs){if(b?.ref!==f)continue;if(!b.dataLen)return null;let y=structuredClone(b);return this.commonObjs.resolve(s,y),b.dataLen}break;case"FontPath":this.commonObjs.resolve(s,new B7(r));break;case"Image":this.commonObjs.resolve(s,r);break;case"Pattern":let d=new N7(r);this.commonObjs.resolve(s,d.getIR());break;default:throw Error(`Got unknown common object type ${i}`)}return null}),e.on("obj",([s,i,r,a])=>{if(this.destroyed)return;let l=this.#s.get(i);if(l.objs.has(s))return;if(l._intentStates.size===0){a?.bitmap?.close();return}switch(r){case"Image":case"Pattern":l.objs.resolve(s,a);break;default:throw Error(`Got unknown object type ${r}`)}}),e.on("DocProgress",(s)=>{if(this.destroyed)return;this.#l(s)}),e.on("FetchBinaryData",async(s)=>{if(this.destroyed)throw Error("Worker was destroyed.");if(!this.binaryDataFactory)throw Error("`BinaryDataFactory` not initialized, see the `useWorkerFetch` parameter.");return this.binaryDataFactory.fetch(s)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){if(this.annotationStorage.size<=0)ln("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");let{map:e,transfer:n}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:this.#e?.filename??null},n).finally(()=>{this.annotationStorage.resetModified()})}extractPages(e,n=null){let s={pageInfos:e},i,r=globalThis.ImageBitmap;if(typeof r==="function"){let a=Array.isArray(e)?e:[e];for(let l of a)if(l?.image instanceof r)(i||=[]).push(l.image)}if(this.annotationStorage.size>0){let a=this.annotationStorage.serializable,{map:l}=a;if(a.transfer?.length)if(i)i.push(...a.transfer);else i=a.transfer;let c=this.pagesMapper.getMapping();if(c){let f=new Map;for(let[d,g]of l){if(g?.pageIndex!==void 0&&g.pageIndex>=0&&g.pageIndex<c.length){let b=n?.[g.pageIndex]??0,y=c[g.pageIndex]-1;if(y!==g.pageIndex||b!==0){f.set(d,{...g,pageIndex:y,copyLevel:b});continue}}f.set(d,g)}l=f}s.annotationStorage=l}return this.messageHandler.sendWithPromise("ExtractPages",s,i).finally(()=>{this.annotationStorage.resetModified()})}getPage(e){if(!Number.isInteger(e)||e<=0||e>this.pagesMapper.pagesNumber)return Promise.reject(Error("Invalid page request."));let n=e-1,s=this.pagesMapper.getPageId(e)-1,i=this.#i.get(n);if(i)return i;let r=this.messageHandler.sendWithPromise("GetPage",{pageIndex:s}).then((a)=>{if(this.destroyed)throw Error("Transport destroyed");if(a.refStr)this.#a.set(a.refStr,s);let l=new v2(n,a,this,this.pagesMapper,this._params.pdfBug);return this.#s.set(n,l),l});return this.#i.set(n,r),r}async getPageIndex(e){if(!e2(e))throw Error("Invalid pageIndex request.");let n=await this.messageHandler.sendWithPromise("GetPageIndex",{num:e.num,gen:e.gen}),s=this.pagesMapper.getPageNumber(n+1);if(s===0)throw Error("GetPageIndex: page has been removed.");return s-1}getAnnotations(e,n){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:this.pagesMapper.getPageId(e+1)-1,intent:n})}getFieldObjects(){return this.#o("GetFieldObjects")}getSignatures(){return this.#o("GetSignatures")}getSignatureData(e){return this.messageHandler.sendWithPromise("GetSignatureData",e)}hasJSActions(){return this.#o("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e){if(typeof e!=="string")return Promise.reject(Error("Invalid destination request."));return this.messageHandler.sendWithPromise("GetDestination",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAttachmentContent(e){return this.messageHandler.sendWithPromise("GetAttachmentContent",e)}getAnnotationsByType(e,n){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:e,pageIndexesToSkip:n})}getDocJSActions(){return this.#o("GetDocJSActions")}getPageJSActions(e){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:this.pagesMapper.getPageId(e+1)-1})}getStructTree(e){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:this.pagesMapper.getPageId(e+1)-1})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e){return this.#o("GetOptionalContentConfig").then((n)=>new p2(n,e))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){return this.#t.getOrInsertComputed("GetMetadata",()=>this.messageHandler.sendWithPromise("GetMetadata",null).then((n)=>({info:n[0],metadata:n[1]?new vS(n[1]):null,contentDispositionFilename:this.#e?.filename??null,contentLength:this.#e?.contentLength??null,hasStructTree:n[2]})))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(e=!1){if(this.destroyed)return;await this.messageHandler.sendWithPromise("Cleanup",null);for(let n of this.#s.values())if(!n.cleanup())throw Error(`startCleanup: Page ${n.pageNumber} is currently rendering.`);if(this.commonObjs.clear(),!e)this.fontLoader.clear();this.#t.clear(),this.filterFactory.destroy(!0),Hi.cleanup()}cachedPageNumber(e){if(!e2(e))return null;let n=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`,s=this.#a.get(n);if(s>=0){let i=this.pagesMapper.getPageNumber(s+1);if(i!==0)return i}return null}}class TS{_internalRenderTask=null;onContinue=null;onError=null;constructor(e){this._internalRenderTask=e}get promise(){return this._internalRenderTask.capability.promise}cancel(e=0){this._internalRenderTask.cancel(null,e)}get separateAnnots(){let{separateAnnots:e}=this._internalRenderTask.operatorList;if(!e)return!1;let{annotationCanvasMap:n}=this._internalRenderTask;return e.form||e.canvas&&n?.size>0}get imageCoordinates(){return this._internalRenderTask.imageCoordinates||null}}class xf{#e=null;static#t=new WeakSet;constructor({callback:e,params:n,objs:s,commonObjs:i,annotationCanvasMap:r,operatorList:a,pageIndex:l,canvasFactory:c,filterFactory:f,useRequestAnimationFrame:d=!1,pdfBug:g=!1,pageColors:b=null,enableHWA:y=!1,operationsFilter:v=null}){this.callback=e,this.params=n,this.objs=s,this.commonObjs=i,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=a,this._pageIndex=l,this.canvasFactory=c,this.filterFactory=f,this._pdfBug=g,this.pageColors=b,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=d===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new TS(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=n.canvas,this._canvasContext=n.canvas?null:n.canvasContext,this._enableHWA=y,this._dependencyTracker=n.dependencyTracker,this._imagesTracker=n.imagesTracker,this._operationsFilter=v}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:e=!1,optionalContentConfig:n}){if(this.cancelled)return;if(this._canvas){if(xf.#t.has(this._canvas))throw Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");xf.#t.add(this._canvas)}if(this._pdfBug&&globalThis.StepperManager?.enabled)this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint();let{viewport:s,transform:i,background:r,dependencyTracker:a,imagesTracker:l}=this.params,c=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new fc(c,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:n},this.annotationCanvasMap,this.pageColors,a,l),this.gfx.beginDrawing({transform:i,viewport:s,transparency:e,background:r}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(e=null,n=0){if(this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#e)window.cancelAnimationFrame(this.#e),this.#e=null;xf.#t.delete(this._canvas),e||=new xm(`Rendering cancelled, page ${this._pageIndex+1}`,n),this.callback(e),this.task.onError?.(e)}operatorListChanged(){if(!this.graphicsReady){this.graphicsReadyCallback||=this._continueBound;return}if(this.gfx.dependencyTracker?.growOperationsCount(this.operatorList.fnArray.length),this.stepper?.updateOperatorList(this.operatorList),this.running)return;this._continue()}_continue(){if(this.running=!0,this.cancelled)return;if(this.task.onContinue)this.task.onContinue(this._scheduleNextBound);else this._scheduleNext()}_scheduleNext(){if(this._useRequestAnimationFrame)this.#e=window.requestAnimationFrame(()=>{this.#e=null,this._nextBound().catch(this._cancelBound)});else Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){if(this.cancelled)return;if(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._operationsFilter),this.operatorListIdx===this.operatorList.argsArray.length){if(this.running=!1,this.operatorList.lastChunk)this.gfx.endDrawing(),xf.#t.delete(this._canvas),this.callback()}}}var DM="6.3.289",qM="1c8020a7d";class Xr{#e=null;#t=null;#n;#s=null;#i=!1;#a=!1;#r=null;#o;#l=null;#c=null;static#u=null;static get _keyboardManager(){return Pt(this,"_keyboardManager",new vr([[["Escape"],Xr.prototype._hideDropdownFromKeyboard],[["Space"],Xr.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight"],Xr.prototype._moveToNext],[["ArrowUp","ArrowLeft"],Xr.prototype._moveToPrevious],[["Home"],Xr.prototype._moveToBeginning],[["End"],Xr.prototype._moveToEnd]]))}constructor({editor:e=null,uiManager:n=null}){if(e)this.#a=!1,this.#r=e;else this.#a=!0;this.#c=e?._uiManager||n,this.#o=this.#c._eventBus,this.#n=e?.color?.toUpperCase()||this.#c?.highlightColors.values().next().value||"#FFFF98",Xr.#u||=Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"})}renderButton(){let e=this.#e=document.createElement("button");if(e.className="colorPicker",e.tabIndex="0",e.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),e.ariaHasPopup="true",this.#r)e.ariaControls=`${this.#r.id}_colorpicker_dropdown`;let n=this.#c._signal;e.addEventListener("click",this.#g.bind(this),{signal:n}),e.addEventListener("keydown",this.#p.bind(this),{signal:n});let s=this.#t=document.createElement("span");return s.className="swatch",s.ariaHidden="true",s.style.backgroundColor=this.#n,e.append(s),e}renderMainDropdown(){let e=this.#s=this.#h();return e.ariaOrientation="horizontal",e.ariaLabelledBy="highlightColorPickerLabel",e}#h(){let e=document.createElement("div"),n=this.#c._signal;if(e.addEventListener("contextmenu",ma,{signal:n}),e.className="dropdown",e.role="listbox",e.ariaMultiSelectable="false",e.ariaOrientation="vertical",e.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),this.#r)e.id=`${this.#r.id}_colorpicker_dropdown`;for(let[s,i]of this.#c.highlightColors){let r=document.createElement("button");r.tabIndex="0",r.role="option",r.setAttribute("data-color",i),r.title=s,r.setAttribute("data-l10n-id",Xr.#u[s]);let a=document.createElement("span");r.append(a),a.className="swatch",a.style.backgroundColor=i,r.ariaSelected=i===this.#n,r.addEventListener("click",this.#d.bind(this,i),{signal:n}),e.append(r)}return e.addEventListener("keydown",this.#p.bind(this),{signal:n}),e}#d(e,n){n.stopPropagation(),this.#o.dispatch("switchannotationeditorparams",{source:this,type:An.HIGHLIGHT_COLOR,value:e}),this.update(e)}_colorSelectFromKeyboard(e){if(e.target===this.#e){this.#g(e);return}let n=e.target.getAttribute("data-color");if(!n)return;this.#d(n,e)}_moveToNext(e){if(!this.#m){this.#g(e);return}if(e.target===this.#e){this.#s.firstElementChild?.focus();return}e.target.nextSibling?.focus()}_moveToPrevious(e){if(e.target===this.#s?.firstElementChild||e.target===this.#e){if(this.#m)this._hideDropdownFromKeyboard();return}if(!this.#m)this.#g(e);e.target.previousSibling?.focus()}_moveToBeginning(e){if(!this.#m){this.#g(e);return}this.#s.firstElementChild?.focus()}_moveToEnd(e){if(!this.#m){this.#g(e);return}this.#s.lastElementChild?.focus()}#p(e){Xr._keyboardManager.exec(this,e)}#g(e){if(this.#m){this.hideDropdown();return}if(this.#i=e.detail===0,!this.#l)this.#l=new AbortController,window.addEventListener("pointerdown",this.#f.bind(this),{signal:this.#c.combinedSignal(this.#l)});if(this.#e.ariaExpanded="true",this.#s){this.#s.classList.remove("hidden");return}let n=this.#s=this.#h();this.#e.append(n)}#f(e){if(this.#s?.contains(e.target))return;this.hideDropdown()}hideDropdown(){this.#s?.classList.add("hidden"),this.#e.ariaExpanded="false",this.#l?.abort(),this.#l=null}get#m(){return this.#s&&!this.#s.classList.contains("hidden")}_hideDropdownFromKeyboard(){if(this.#a)return;if(!this.#m){this.#r?.unselect();return}this.hideDropdown(),this.#e.focus({preventScroll:!0,focusVisible:this.#i})}update(e){if(this.#t)this.#t.style.backgroundColor=e;if(!this.#s)return;let n=this.#c.highlightColors.values();for(let s of this.#s.children)s.ariaSelected=n.next().value===e.toUpperCase()}destroy(){this.#e?.remove(),this.#e=null,this.#t=null,this.#s?.remove(),this.#s=null}}class du{#e=null;#t=!1;#n=null;#s=null;static#i=null;constructor(e){this.#n=e,this.#s=e._uiManager,du.#i||=Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"})}renderButton(){if(this.#e)return this.#e;let{editorType:e,colorType:n,colorAndOpacityType:s,opacityType:i,color:r,opacity:a}=this.#n,l=this.#t=Xn.isAlphaColorInputSupported&&i!==void 0,c=this.#e=document.createElement("input");if(c.type="color",l){c.setAttribute("alpha","");let f=ft.hexNums[Math.round((a??1)*255)];c.value=(r||"#000000")+f}else c.value=r||"#000000";return c.className="basicColorPicker",c.tabIndex=0,c.setAttribute("data-l10n-id",du.#i[e]),c.addEventListener("input",()=>{if(l){let f=vu(c.value);if(!f)return;let[d,g,b,y]=f,v=ft.makeHexColor(d,g,b);if(s!==void 0)this.#s.updateParams(s,{color:v,opacity:y});else this.#s.updateParams(n,v),this.#s.updateParams(i,y)}else this.#s.updateParams(n,c.value)},{signal:this.#s._signal}),c}update(e){if(!this.#e)return;if(this.#t){let n=ft.hexNums[Math.round(this.#n.opacity*255)];this.#e.value=e+n}else this.#e.value=e}updateOpacity(e){if(!this.#e||!this.#t)return;let n=ft.hexNums[Math.round(e*255)];this.#e.value=this.#n.color+n}destroy(){this.#e?.remove(),this.#e=null}hideDropdown(){}}function m7(e){return Math.floor(gs(e,0,1)*255).toString(16).padStart(2,"0")}function Zh(e){return gs(e,0,1)*255}class s2{static CMYK_G([e,n,s,i]){return["G",1-Math.min(1,0.3*e+0.59*s+0.11*n+i)]}static G_CMYK([e]){return["CMYK",0,0,0,1-e]}static G_RGB([e]){return["RGB",e,e,e]}static G_rgb([e]){return e=Zh(e),[e,e,e]}static G_HTML([e]){let n=m7(e);return`#${n}${n}${n}`}static RGB_G([e,n,s]){return["G",0.3*e+0.59*n+0.11*s]}static RGB_rgb(e){return e.map(Zh)}static RGB_HTML(e){return`#${e.map(m7).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e,n,s,i]){return["RGB",1-Math.min(1,e+i),1-Math.min(1,s+i),1-Math.min(1,n+i)]}static CMYK_rgb([e,n,s,i]){return[Zh(1-Math.min(1,e+i)),Zh(1-Math.min(1,s+i)),Zh(1-Math.min(1,n+i))]}static CMYK_HTML(e){let n=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(n)}static RGB_CMYK([e,n,s]){let i=1-e,r=1-n,a=1-s,l=Math.min(i,r,a);return["CMYK",i,r,a,l]}}class ES{create(e,n,s=!1){if(e<=0||n<=0)throw Error("Invalid SVG dimensions");let i=this._createSVG("svg:svg");if(i.setAttribute("version","1.1"),!s)i.setAttribute("width",`${e}px`),i.setAttribute("height",`${n}px`);return i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${e} ${n}`),i}createElement(e){if(typeof e!=="string")throw Error("Invalid SVG element type");return this._createSVG(e)}_createSVG(e){Rn("Abstract method `_createSVG` called.")}}class pu extends ES{_createSVG(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}}var MM=9,dc=new WeakSet,FM=new Date().getTimezoneOffset()*60*1000;class om{static create(e){switch(e.data.annotationType){case Os.LINK:return new qm(e);case Os.TEXT:return new jS(e);case Os.WIDGET:switch(e.data.fieldType){case"Tx":return new _S(e);case"Btn":if(e.data.radioButton)return new DS(e);else if(e.data.checkBox)return new RS(e);return new qS(e);case"Ch":return new MS(e);case"Sig":return new IS(e)}return new Tl(e);case Os.POPUP:return new mm(e);case Os.FREETEXT:return new S2(e);case Os.LINE:return new LS(e);case Os.SQUARE:return new OS(e);case Os.CIRCLE:return new PS(e);case Os.POLYLINE:return new k2(e);case Os.CARET:return new BS(e);case Os.INK:return new Mm(e);case Os.POLYGON:return new NS(e);case Os.HIGHLIGHT:return new x2(e);case Os.UNDERLINE:return new HS(e);case Os.SQUIGGLY:return new US(e);case Os.STRIKEOUT:return new zS(e);case Os.STAMP:return new A2(e);case Os.FILEATTACHMENT:return new GS(e);case Os.RICHMEDIA:case Os.SCREEN:case Os.SOUND:return new T2(e);default:return new _s(e)}}}class _s{#e=null;#t=!1;#n=null;constructor(e,{isRenderable:n=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){if(this.isRenderable=n,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableComment=e.enableComment,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,this.hasOwnCommentButton=!1,n)this.contentElement=this.container=this._createContainer(s);if(i)this._createQuadrilaterals()}static _hasPopupData({contentsObj:e,richText:n}){return!!(e?.str||n?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return _s._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){let{data:e}=this,n=this.annotationStorage?.getEditor(e.id);if(n)return n.getData();return e}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}get commentButtonPosition(){let e=this.annotationStorage?.getEditor(this.data.id);if(e)return e.commentButtonPositionInPage;let{quadPoints:n,inkLists:s,rect:i}=this.data,r=-1/0,a=-1/0;if(n?.length>=8){for(let l=0;l<n.length;l+=8)if(n[l+1]>a)a=n[l+1],r=n[l+2];else if(n[l+1]===a)r=Math.max(r,n[l+2]);return[r,a]}if(s?.length>=1){for(let l of s)for(let c=0,f=l.length;c<f;c+=2)if(l[c+1]>a)a=l[c+1],r=l[c];else if(l[c+1]===a)r=Math.max(r,l[c]);if(r!==1/0)return[r,a]}if(i)return[i[2],i[3]];return null}_normalizePoint(e){let{page:{view:n},viewport:{rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:a}}}=this.parent;return e[1]=n[3]-e[1]+n[1],e[0]=100*(e[0]-r)/s,e[1]=100*(e[1]-a)/i,e}get commentText(){let{data:e}=this;return this.annotationStorage.getRawValue(`pdfjs_internal_editor_${e.id}`)?.popup?.contents||e.contentsObj?.str||""}set commentText(e){let{data:n}=this,s={deleted:!e,contents:e||""};if(!this.annotationStorage.updateEditor(n.id,{popup:s}))this.annotationStorage.setValue(`pdfjs_internal_editor_${n.id}`,{id:n.id,annotationType:n.annotationType,page:this.parent.page,popup:s,popupRef:n.popupRef,modificationDate:new Date});if(!e)this.removePopup()}removePopup(){(this.#n?.popup||this.popup)?.remove(),this.#n=this.popup=null}updateEdited(e){if(!this.container)return;if(e.rect)this.#e||={rect:this.data.rect.slice(0)};let{rect:n,popup:s}=e;if(n)this.#s(n);let i=this.#n?.popup||this.popup;if(!i&&s?.text)this._createPopup(s),i=this.#n.popup;if(!i)return;if(i.updateEdited(e),s?.deleted)i.remove(),this.#n=null,this.popup=null}resetEdited(){if(!this.#e)return;this.#s(this.#e.rect),this.#n?.popup.resetEdited(),this.#e=null}#s(e){let{container:{style:n},data:{rect:s,rotation:i},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:a,pageX:l,pageY:c}}}}=this;if(s?.splice(0,4,...e),n.left=`${100*(e[0]-l)/r}%`,n.top=`${100*(a-e[3]+c)/a}%`,i===0)n.width=`${100*(e[2]-e[0])/r}%`,n.height=`${100*(e[3]-e[1])/a}%`;else this.setRotation(i)}_createContainer(e){let{data:n,parent:{page:s,viewport:i}}=this,r=document.createElement("section");if(r.setAttribute("data-annotation-id",n.id),!(this instanceof Tl)&&!(this instanceof qm)&&!(this instanceof T2))r.tabIndex=0;let{style:a}=r;if(a.zIndex=this.parent.zIndex,this.parent.zIndex+=2,n.alternativeText)r.title=n.alternativeText;if(n.noRotate)r.classList.add("norotate");if(!n.rect||this instanceof mm){let{rotation:x}=n;if(!n.hasOwnCanvas&&x!==0)this.setRotation(x,r);return r}let{width:l,height:c}=this;if(!e&&n.borderStyle.width>0){a.borderWidth=`${n.borderStyle.width}px`;let x=n.borderStyle.horizontalCornerRadius,T=n.borderStyle.verticalCornerRadius;if(x>0||T>0){let N=`calc(${x}px * var(--total-scale-factor)) / calc(${T}px * var(--total-scale-factor))`;a.borderRadius=N}switch(n.borderStyle.style){case vf.SOLID:a.borderStyle="solid";break;case vf.DASHED:a.borderStyle="dashed";break;case vf.BEVELED:ln("Unimplemented border style: beveled");break;case vf.INSET:ln("Unimplemented border style: inset");break;case vf.UNDERLINE:a.borderBottomStyle="solid";break;default:break}let R=n.borderColor||null;if(R)this.#t=!0,a.borderColor=ft.makeHexColor(...R);else a.borderWidth=0}let f=ft.normalizeRect([n.rect[0],s.view[3]-n.rect[1]+s.view[1],n.rect[2],s.view[3]-n.rect[3]+s.view[1]]),{pageWidth:d,pageHeight:g,pageX:b,pageY:y}=i.rawDims;a.left=`${100*(f[0]-b)/d}%`,a.top=`${100*(f[1]-y)/g}%`;let{rotation:v}=n;if(n.hasOwnCanvas||v===0)a.width=`${100*l/d}%`,a.height=`${100*c/g}%`;else this.setRotation(v,r);return r}setRotation(e,n=this.container){if(!this.data.rect)return;let{pageWidth:s,pageHeight:i}=this.parent.viewport.rawDims,{width:r,height:a}=this;if(e%180!==0)[r,a]=[a,r];n.style.width=`${100*r/s}%`,n.style.height=`${100*a/i}%`,n.setAttribute("data-main-rotation",(360-e)%360)}get _commonActions(){let e=(n,s,i)=>{let r=i.detail[n],a=r[0],l=r.slice(1);i.target.style[s]=s2[`${a}_HTML`](l),this.annotationStorage.setValue(this.data.id,{[s]:s2[`${a}_rgb`](l)})};return Pt(this,"_commonActions",{display:(n)=>{let{display:s}=n.detail,i=s%2===1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:s===1||s===2})},print:(n)=>{this.annotationStorage.setValue(this.data.id,{noPrint:!n.detail.print})},hidden:(n)=>{let{hidden:s}=n.detail;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:s,noView:s})},focus:(n)=>{setTimeout(()=>n.target.focus({preventScroll:!1}),0)},userName:(n)=>{n.target.title=n.detail.userName},readonly:(n)=>{n.target.disabled=n.detail.readonly},required:(n)=>{this._setRequired(n.target,n.detail.required)},bgColor:(n)=>{e("bgColor","backgroundColor",n)},fillColor:(n)=>{e("fillColor","backgroundColor",n)},fgColor:(n)=>{e("fgColor","color",n)},textColor:(n)=>{e("textColor","color",n)},borderColor:(n)=>{e("borderColor","borderColor",n)},strokeColor:(n)=>{e("strokeColor","borderColor",n)},rotation:(n)=>{let s=n.detail.rotation;this.setRotation(s),this.annotationStorage.setValue(this.data.id,{rotation:s})}})}_dispatchEventFromSandbox(e,n){let s=this._commonActions;for(let i of Object.keys(n.detail))(e[i]||s[i])?.(n)}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;let n=this.annotationStorage.getRawValue(this.data.id);if(!n)return;let s=this._commonActions;for(let[i,r]of Object.entries(n)){let a=s[i];if(a){let l={detail:{[i]:r},target:e};a(l),delete n[i]}}}_createQuadrilaterals(){if(!this.container)return;let{quadPoints:e}=this.data;if(!e)return;let[n,s,i,r]=this.data.rect.map(Math.fround);if(e.length===8){let[x,T,R,N]=e.subarray(2,6);if(i===x&&r===T&&n===R&&s===N)return}let{style:a}=this.container,l;if(this.#t){let{borderColor:x,borderWidth:T}=a;a.borderWidth=0,l=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${x}" stroke-width="${T}">`],this.container.classList.add("hasBorder")}let c=i-n,f=r-s,{svgFactory:d}=this,g=d.createElement("svg");g.classList.add("quadrilateralsContainer"),g.setAttribute("width",0),g.setAttribute("height",0),g.role="none";let b=d.createElement("defs");g.append(b);let y=d.createElement("clipPath"),v=`clippath_${this.data.id}`;y.setAttribute("id",v),y.setAttribute("clipPathUnits","objectBoundingBox"),b.append(y);for(let x=2,T=e.length;x<T;x+=8){let R=e[x],N=e[x+1],U=e[x+2],X=e[x+3],Y=d.createElement("rect"),J=(U-n)/c,ee=(r-N)/f,te=(R-U)/c,ne=(N-X)/f;Y.setAttribute("x",J),Y.setAttribute("y",ee),Y.setAttribute("width",te),Y.setAttribute("height",ne),y.append(Y),l?.push(`<rect vector-effect="non-scaling-stroke" x="${J}" y="${ee}" width="${te}" height="${ne}"/>`)}if(this.#t)l.push("</g></svg>')"),a.backgroundImage=l.join("");this.container.append(g),this.container.style.clipPath=`url(#${v})`}_createPopup(e=null){let{data:n}=this,s,i;if(e)s={str:e.text},i=e.date;else s=n.contentsObj,i=n.modificationDate;this.#n=new mm({data:{color:n.color,titleObj:n.titleObj,modificationDate:i,contentsObj:s,richText:n.richText,parentRect:n.rect,borderStyle:0,id:`popup_${n.id}`,rotation:n.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]})}get hasPopupElement(){return!!(this.#n||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#n}render(){Rn("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,n=null){let s=[];if(this._fieldObjects){let i=this._fieldObjects.get(e)||[];for(let{page:r,id:a,exportValues:l}of i){if(r===-1)continue;if(a===n)continue;let c=typeof l==="string"?l:null,f=document.querySelector(`[data-element-id="${a}"]`);if(f&&!dc.has(f)){ln(`_getElementsByName - element not allowed: ${a}`);continue}s.push({id:a,exportValue:c,domElement:f})}return s}for(let i of document.getElementsByName(e)){let{exportValue:r}=i,a=i.getAttribute("data-element-id");if(a===n)continue;if(!dc.has(i))continue;s.push({id:a,exportValue:r,domElement:i})}return s}show(){if(this.container)this.container.hidden=!1;this.popup?.maybeShow()}hide(){if(this.container)this.container.hidden=!0;this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){let e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(let n of e)n.classList.add("highlightArea");else e.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;let{annotationEditorType:e,data:{id:n}}=this;this.container.addEventListener("dblclick",()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:e,editId:n,mustEnterInEditMode:!0})})}updateOC(e){if(!this.data.oc||!e)return;if(e.isVisible(this.data.oc))this.show();else this.hide()}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}_setBackgroundColor(e){let n=this.data.backgroundColor||null;e.style.backgroundColor=n===null?"transparent":ft.makeHexColor(...n)}}class CS extends _s{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.editor=e.editor}render(){return this.container.className="editorAnnotation",this.container}createOrUpdatePopup(){let{editor:e}=this;if(!e.hasComment)return;this._createPopup(e.comment)}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(e){if(this.editor.comment=e,!e)this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.parent.removeAnnotation(this.data.id),this.container.remove(),this.container=null,this.removePopup()}}class qm extends _s{constructor(e,n=null){super(e,{isRenderable:!0,ignoreBorder:!!n?.ignoreBorder,createQuadrilaterals:!0});this.isTooltipOnly=e.data.isTooltipOnly}render(){let{data:e,linkService:n}=this,s=document.createElement("a");s.setAttribute("data-element-id",e.id);let i=!1;if(e.url)n.addLinkAttributes(s,e.url,e.newWindow),i=!0;else if(e.action)this._bindNamedAction(s,e.action,e.overlaidText),i=!0;else if(e.attachment)this.#t(s,e.attachmentId,e.attachment,e.overlaidText,e.attachmentDest),i=!0;else if(e.setOCGState)this.#n(s,e.setOCGState,e.overlaidText),i=!0;else if(e.dest)this._bindLink(s,e.dest,e.overlaidText),i=!0;else{if(e.actions&&(e.actions.has("Action")||e.actions.has("Mouse Up")||e.actions.has("Mouse Down"))&&this.enableScripting&&this.hasJSActions)this._bindJSAction(s,e),i=!0;if(e.resetForm)this._bindResetFormAction(s,e.resetForm),i=!0;else if(this.isTooltipOnly&&!i)this._bindLink(s,""),i=!0}if(this.container.classList.add("linkAnnotation"),i)this.contentElement=s,this.container.append(s);return this.container}#e(){this.container.setAttribute("data-internal-link","")}_bindLink(e,n,s=""){if(e.href=this.linkService.getDestinationHash(n),e.onclick=()=>{if(n)this.linkService.goToDestination(n);return!1},n||n==="")this.#e();if(s)e.title=s}_bindNamedAction(e,n,s=""){if(e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(n),!1),s)e.title=s;this.#e()}#t(e,n,s,i="",r=null){if(e.href=this.linkService.getAnchorUrl(""),s.description)e.title=s.description;else if(i)e.title=i;let a=async()=>{let l=await this.linkService.getAttachmentContent(n);if(l)this.downloadManager?.openOrDownloadData(l,s.filename,r)};e.onclick=()=>(a(),!1),this.#e()}#n(e,n,s=""){if(e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeSetOCGState(n),!1),s)e.title=s;this.#e()}_bindJSAction(e,{actions:n,id:s,overlaidText:i}){e.href=this.linkService.getAnchorUrl("");let r=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(let a of n.keys()){let l=r.get(a);if(!l)continue;e[l]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:s,name:a}}),!1)}if(i)e.title=i;e.onclick||=()=>!1,this.#e()}_bindResetFormAction(e,n){let s=e.onclick;if(!s)e.href=this.linkService.getAnchorUrl("");if(this.#e(),!this._fieldObjects){if(ln('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),!s)e.onclick=()=>!1;return}e.onclick=()=>{s?.();let{fields:i,refs:r,include:a}=n,l=[];if(i.length!==0||r.length!==0){let d=new Set(r);for(let g of i){let b=this._fieldObjects.get(g)||[];for(let{id:y}of b)d.add(y)}for(let g of this._fieldObjects.values())for(let b of g)if(d.has(b.id)===a)l.push(b)}else for(let d of this._fieldObjects.values())l.push(...d);let c=this.annotationStorage,f=[];for(let d of l){let{id:g}=d;switch(f.push(g),d.type){case"text":{let y=d.defaultValue||"";c.setValue(g,{value:y});break}case"checkbox":case"radiobutton":{let y=d.defaultValue===d.exportValues;c.setValue(g,{value:y});break}case"combobox":case"listbox":{let y=d.defaultValue||"";c.setValue(g,{value:y});break}default:continue}let b=document.querySelector(`[data-element-id="${g}"]`);if(!b)continue;else if(!dc.has(b)){ln(`_bindResetFormAction - element not allowed: ${g}`);continue}b.dispatchEvent(new Event("resetform"))}if(this.enableScripting)this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:f,name:"ResetForm"}});return!1}}}class jS extends _s{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");let e=document.createElement("img");if(e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container.append(e),this.container}}class Tl extends _s{render(){return this.container}_getKeyModifier(e){return Xn.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,n,s,i,r){if(s.includes("mouse"))e.addEventListener(s,(a)=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(a),shift:a.shiftKey,modifier:this._getKeyModifier(a)}})});else e.addEventListener(s,(a)=>{if(s==="blur"){if(!n.focused||!a.relatedTarget)return;n.focused=!1}else if(s==="focus"){if(n.focused)return;n.focused=!0}if(!r)return;this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(a)}})})}_setEventListeners(e,n,s,i){let{actions:r}=this.data;for(let[a,l]of s)if(l==="Action"||r?.has(l)){if(l==="Focus"||l==="Blur")n||={focused:!1};if(this._setEventListener(e,n,a,l,i),l==="Focus"&&!r?.has("Blur"))this._setEventListener(e,n,"blur","Blur",null);else if(l==="Blur"&&!r?.has("Focus"))this._setEventListener(e,n,"focus","Focus",null)}}_setTextStyle(e){let n=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||MM,r=e.style,a,l=2,c=(f)=>Math.round(10*f)/10;if(this.data.multiLine){let f=Math.abs(this.data.rect[3]-this.data.rect[1]-2),d=Math.round(f/(1.35*i))||1,g=f/d;a=Math.min(i,c(g/1.35))}else{let f=Math.abs(this.data.rect[3]-this.data.rect[1]-2);a=Math.min(i,c(f/1.35))}if(r.fontSize=`calc(${a}px * var(--total-scale-factor))`,r.color=ft.makeHexColor(...s),this.data.textAlignment!==null&&!this.data.comb)r.textAlign=n[this.data.textAlignment]}_setRequired(e,n){if(n)e.setAttribute("required",!0);else e.removeAttribute("required");e.setAttribute("aria-required",n)}}class _S extends Tl{constructor(e){let n=e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue;super(e,{isRenderable:n})}setPropertyOnSiblings(e,n,s,i){let r=this.annotationStorage;for(let a of this._getElementsByName(e.name,e.id)){if(a.domElement)a.domElement[n]=s;r.setValue(a.id,{[i]:s})}}render(){let e=this.annotationStorage,n=this.data.id;this.container.classList.add("textWidgetAnnotation");let s=null;if(this.renderForms){let i=e.getValue(n,{value:this.data.fieldValue}),r=i.value||"",a=e.getValue(n,{charLimit:this.data.maxLen}).charLimit;if(a&&r.length>a)r=r.slice(0,a);let l=i.formattedValue||this.data.textContent?.join(`
119
- `)||null;if(l&&this.data.comb)l=l.replaceAll(/\s+/g,"");let c={userValue:r,formattedValue:l,lastCommittedValue:null,commitKey:1,focused:!1};if(this.data.multiLine){if(s=document.createElement("textarea"),s.textContent=l??r,this.data.doNotScroll)s.style.overflowY="hidden"}else if(s=document.createElement("input"),s.type=this.data.password?"password":"text",s.setAttribute("value",l??r),this.data.doNotScroll)s.style.overflowX="hidden";if(this.data.hasOwnCanvas){if(this.container.classList.add("hasOwnCanvas"),e.has(n))this.container.classList.add("sandboxModified")}dc.add(s),this.contentElement=s,s.setAttribute("data-element-id",n),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=0;let{datetimeFormat:f,datetimeType:d,timeStep:g}=this.data,b=!!d&&this.enableScripting;if(f)s.title=f;if(this._setRequired(s,this.data.required),a)s.maxLength=a;s.addEventListener("input",(v)=>{e.setValue(n,{value:v.target.value}),this.setPropertyOnSiblings(s,"value",v.target.value,"value"),c.formattedValue=null}),s.addEventListener("resetform",(v)=>{let x=this.data.defaultFieldValue??"";s.value=c.userValue=x,c.formattedValue=null});let y=(v)=>{let{formattedValue:x}=c;if(x!==null&&x!==void 0)v.target.value=x;v.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){s.addEventListener("focus",(x)=>{if(c.focused)return;let{target:T}=x;if(b){if(T.type=d,g)T.step=g}if(c.userValue){let R=c.userValue;if(b)if(d==="time"){let N=new Date(R),U=[N.getHours(),N.getMinutes(),N.getSeconds()];T.value=U.map((X)=>X.toString().padStart(2,"0")).join(":")}else T.value=new Date(R-FM).toISOString().split(d==="date"?"T":".",1)[0];else T.value=R}if(c.lastCommittedValue=T.value,c.commitKey=1,!this.data.actions?.has("Focus"))c.focused=!0}),s.addEventListener("updatefromsandbox",(x)=>{this.container.classList.add("sandboxModified");let T={value(R){if(c.userValue=R.detail.value??"",!b)e.setValue(n,{value:c.userValue.toString()});R.target.value=c.userValue},formattedValue(R){let{formattedValue:N}=R.detail;if(c.formattedValue=N,N!==null&&N!==void 0&&R.target!==document.activeElement)R.target.value=N;let U={formattedValue:N};if(b)U.value=N;e.setValue(n,U)},selRange(R){R.target.setSelectionRange(...R.detail.selRange)},charLimit:(R)=>{let{charLimit:N}=R.detail,{target:U}=R;if(N===0){U.removeAttribute("maxLength");return}U.setAttribute("maxLength",N);let X=c.userValue;if(!X||X.length<=N)return;X=X.slice(0,N),U.value=c.userValue=X,e.setValue(n,{value:X}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:X,willCommit:!0,commitKey:1,selStart:U.selectionStart,selEnd:U.selectionEnd}})}};this._dispatchEventFromSandbox(T,x)}),s.addEventListener("keydown",(x)=>{c.commitKey=1;let T=-1;if(x.key==="Escape")T=0;else if(x.key==="Enter"&&!this.data.multiLine)T=2;else if(x.key==="Tab")c.commitKey=3;if(T===-1)return;let{value:R}=x.target;if(c.lastCommittedValue===R)return;c.lastCommittedValue=R,c.userValue=R,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:R,willCommit:!0,commitKey:T,selStart:x.target.selectionStart,selEnd:x.target.selectionEnd}})});let v=y;if(y=null,s.addEventListener("blur",(x)=>{if(!c.focused||!x.relatedTarget)return;if(!this.data.actions?.has("Blur"))c.focused=!1;let{target:T}=x,{value:R}=T;if(b){if(R&&d==="time"){let N=R.split(":").map((U)=>parseInt(U,10));R=new Date(2000,0,1,N[0],N[1],N[2]||0).valueOf(),T.step=""}else{if(!R.includes("T"))R=`${R}T00:00`;R=new Date(R).valueOf()}T.type="text"}if(c.userValue=R,c.lastCommittedValue!==R)this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:R,willCommit:!0,commitKey:c.commitKey,selStart:x.target.selectionStart,selEnd:x.target.selectionEnd}});v(x)}),this.data.actions?.has("Keystroke"))s.addEventListener("beforeinput",(x)=>{c.lastCommittedValue=null;let{data:T,target:R}=x,{value:N,selectionStart:U,selectionEnd:X}=R,Y=U,J=X;switch(x.inputType){case"deleteWordBackward":{let ee=/\w/;while(Y>0&&!ee.test(N[Y-1]))Y--;while(Y>0&&ee.test(N[Y-1]))Y--;break}case"deleteWordForward":{let ee=N.substring(U).match(/^\W*\w*/);if(ee)J+=ee[0].length;break}case"deleteContentBackward":if(U===X)Y-=1;break;case"deleteContentForward":if(U===X)J+=1;break}x.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:N,change:T||"",willCommit:!1,selStart:Y,selEnd:J}})});this._setEventListeners(s,c,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(x)=>x.target.value)}if(y)s.addEventListener("blur",y);if(this.data.comb){let x=(this.data.rect[2]-this.data.rect[0])/a;s.classList.add("comb"),s.style.setProperty("--comb-width",`calc(${x}px * var(--total-scale-factor))`);let T=this.data.textAlignment;if(T===1||T===2){let R=()=>{let N=a-s.value.length;s.style.setProperty("--comb-offset",`${T===1?N>>1:N}`)};R();for(let N of["input","blur","resetform","updatefromsandbox"])s.addEventListener(N,R)}}}else if(s=document.createElement("div"),s.textContent=this.data.fieldValue,s.style.verticalAlign="middle",s.style.display="table-cell",this.data.hasOwnCanvas)s.hidden=!0;return this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class IS extends Tl{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class RS extends Tl{constructor(e){super(e,{isRenderable:e.renderForms})}render(){let e=this.annotationStorage,n=this.data,s=n.id,i=e.getValue(s,{value:n.exportValue===n.fieldValue}).value;if(typeof i==="string")i=i!=="Off",e.setValue(s,{value:i});this.container.classList.add("buttonWidgetAnnotation","checkBox");let r=document.createElement("input");if(dc.add(r),r.setAttribute("data-element-id",s),r.disabled=n.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=n.fieldName,i)r.setAttribute("checked",!0);if(r.setAttribute("exportValue",n.exportValue),r.tabIndex=0,r.addEventListener("change",(a)=>{let{name:l,checked:c}=a.target;for(let f of this._getElementsByName(l,s)){let d=c&&f.exportValue===n.exportValue;if(f.domElement)f.domElement.checked=d;e.setValue(f.id,{value:d})}e.setValue(s,{value:c})}),r.addEventListener("resetform",(a)=>{let l=n.defaultFieldValue||"Off";a.target.checked=l===n.exportValue}),this.enableScripting&&this.hasJSActions)r.addEventListener("updatefromsandbox",(a)=>{let l={value(c){c.target.checked=c.detail.value!=="Off",e.setValue(s,{value:c.target.checked})}};this._dispatchEventFromSandbox(l,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(a)=>a.target.checked);return this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class DS extends Tl{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");let e=this.annotationStorage,n=this.data,s=n.id,i=e.getValue(s,{value:n.buttonValue!==null&&n.fieldValue===n.buttonValue}).value;if(typeof i==="string")i=i!==n.buttonValue,e.setValue(s,{value:i});if(i)for(let a of this._getElementsByName(n.fieldName,s))e.setValue(a.id,{value:!1});let r=document.createElement("input");if(dc.add(r),r.setAttribute("data-element-id",s),r.disabled=n.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=n.fieldName,i)r.setAttribute("checked",!0);if(r.tabIndex=0,r.addEventListener("change",(a)=>{let{name:l,checked:c}=a.target;for(let f of this._getElementsByName(l,s))e.setValue(f.id,{value:!1});e.setValue(s,{value:c})}),r.addEventListener("resetform",(a)=>{let l=n.defaultFieldValue;a.target.checked=l!==null&&l!==void 0&&l===n.buttonValue}),this.enableScripting&&this.hasJSActions){let a=n.buttonValue;r.addEventListener("updatefromsandbox",(l)=>{let c={value:(f)=>{let d=a===f.detail.value;for(let g of this._getElementsByName(f.target.name)){let b=d&&g.id===s;if(g.domElement)g.domElement.checked=b;e.setValue(g.id,{value:b})}}};this._dispatchEventFromSandbox(c,l)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(l)=>l.target.checked)}return this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class qS extends qm{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){let e=super.render();e.classList.add("buttonWidgetAnnotation","pushButton");let n=e.lastChild;if(this.enableScripting&&this.hasJSActions&&n)this._setDefaultPropertiesFromJS(n),n.addEventListener("updatefromsandbox",(s)=>{this._dispatchEventFromSandbox({},s)});return e}}class MS extends Tl{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");let e=this.annotationStorage,n=this.data.id,s=e.getValue(n,{value:this.data.fieldValue}),i=document.createElement("select");dc.add(i),i.setAttribute("data-element-id",n),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=0;let r=this.data.combo&&this.data.options.length>0;if(!this.data.combo){if(i.size=this.data.options.length,this.data.multiSelect)i.multiple=!0}i.addEventListener("resetform",(g)=>{let b=this.data.defaultFieldValue;for(let y of i.options)y.selected=y.value===b});let a=(g,b)=>{let y=b.replaceAll(" "," ");if(g.textContent=y,y!==b)g.setAttribute("display-value",b)};for(let g of this.data.options){let b=document.createElement("option");if(a(b,g.displayValue),b.value=g.exportValue,s.value.includes(g.exportValue))b.setAttribute("selected",!0),r=!1;i.append(b)}let l=null;if(r){let g=document.createElement("option");g.value=" ",g.setAttribute("hidden",!0),g.setAttribute("selected",!0),i.prepend(g),l=()=>{g.remove(),i.removeEventListener("input",l),l=null},i.addEventListener("input",l)}let c=(g)=>{let b=g?"value":"textContent",{options:y,multiple:v}=i;if(!v)return y.selectedIndex===-1?null:y[y.selectedIndex][b];return Array.prototype.filter.call(y,(x)=>x.selected).map((x)=>x[b])},f=c(!1),d=(g)=>{let b=g.target.options;return Array.prototype.map.call(b,(y)=>({displayValue:y.getAttribute("display-value")||y.textContent,exportValue:y.value}))};if(this.enableScripting&&this.hasJSActions)i.addEventListener("updatefromsandbox",(g)=>{let b={value(y){l?.();let v=y.detail.value,x=new Set(Array.isArray(v)?v:[v]);for(let T of i.options)T.selected=x.has(T.value);e.setValue(n,{value:c(!0)}),f=c(!1)},multipleSelection(y){i.multiple=!0},remove(y){let v=i.options,x=y.detail.remove;if(v[x].selected=!1,i.remove(x),v.length>0){if(Array.prototype.findIndex.call(v,(R)=>R.selected)===-1)v[0].selected=!0}e.setValue(n,{value:c(!0),items:d(y)}),f=c(!1)},clear(y){while(i.length!==0)i.remove(0);e.setValue(n,{value:null,items:[]}),f=c(!1)},insert(y){let{index:v,displayValue:x,exportValue:T}=y.detail.insert,R=i.children[v],N=document.createElement("option");if(a(N,x),N.value=T,R)R.before(N);else i.append(N);e.setValue(n,{value:c(!0),items:d(y)}),f=c(!1)},items(y){let{items:v}=y.detail;while(i.length!==0)i.remove(0);for(let x of v){let{displayValue:T,exportValue:R}=x,N=document.createElement("option");a(N,T),N.value=R,i.append(N)}if(i.options.length>0)i.options[0].selected=!0;e.setValue(n,{value:c(!0),items:d(y)}),f=c(!1)},indices(y){let v=new Set(y.detail.indices);for(let x of y.target.options)x.selected=v.has(x.index);e.setValue(n,{value:c(!0)}),f=c(!1)},editable(y){y.target.disabled=!y.detail.editable}};this._dispatchEventFromSandbox(b,g)}),i.addEventListener("input",(g)=>{let b=c(!0),y=c(!1);e.setValue(n,{value:b}),g.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:f,change:y,changeEx:b,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(i,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],(g)=>g.target.value);else i.addEventListener("input",function(g){e.setValue(n,{value:c(!0)})});if(this.data.combo)this._setTextStyle(i);return this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class mm extends _s{constructor(e){let{data:n,elements:s,parent:i}=e,r=!!i._commentManager;super(e,{isRenderable:!r&&_s._hasPopupData(n)});if(this.elements=s,r&&_s._hasPopupData(n)){let a=this.popup=this.#e();for(let l of s)l.popup=a}else this.popup=null}#e(){return new FS({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,commentManager:this.parent._commentManager})}render(){let{container:e}=this;e.classList.add("popupAnnotation"),e.role="comment";let n=this.popup=this.#e(),s=[];for(let i of this.elements)i.popup=n,i.container.ariaHasPopup="dialog",s.push(i.data.id),i.addHighlightArea();return this.container.setAttribute("aria-controls",s.map((i)=>`pdfjs_internal_id_${i}`).join(",")),this.container}}class FS{#e=null;#t=this.#G.bind(this);#n=this.#S.bind(this);#s=this.#E.bind(this);#i=this.#H.bind(this);#a=null;#r=null;#o=null;#l=null;#c=null;#u=null;#h=null;#d=!1;#p=null;#g=null;#f=null;#m=null;#b=null;#w=null;#y=null;#v=null;#x=null;#k=null;#A=!1;#T=null;#I=null;constructor({container:e,color:n,elements:s,titleObj:i,modificationDate:r,contentsObj:a,richText:l,parent:c,rect:f,parentRect:d,open:g,commentManager:b=null}){if(this.#r=e,this.#x=i,this.#o=a,this.#v=l,this.#u=c,this.#a=n,this.#y=f,this.#h=d,this.#c=s,this.#e=b,this.#T=s[0],this.#l=fm.toDateObject(r),this.trigger=s.flatMap((y)=>y.getElementsToTriggerPopup()),!b){if(this.#j(),this.#r.hidden=!0,g)this.#H()}}#j(){if(this.#g)return;this.#g=new AbortController;let{signal:e}=this.#g;for(let n of this.trigger)n.addEventListener("click",this.#i,{signal:e}),n.addEventListener("pointerenter",this.#s,{signal:e}),n.addEventListener("pointerleave",this.#n,{signal:e}),n.classList.add("popupTriggerArea");for(let n of this.#c)n.container?.addEventListener("keydown",this.#t,{signal:e})}#C(){let e=this.#c.find((n)=>n.hasCommentButton);if(!e)return;this.#b=e._normalizePoint(e.commentButtonPosition)}renderCommentButton(){if(this.#m){if(!this.#m.parentNode)this.#T.container.after(this.#m);return}if(!this.#b)this.#C();if(!this.#b)return;let{signal:e}=this.#g=new AbortController,n=this.#T.hasOwnCommentButton,s=()=>{this.#e.toggleCommentPopup(this,!0,void 0,!n)},i=()=>{this.#e.toggleCommentPopup(this,!1,!0,!n)},r=()=>{this.#e.toggleCommentPopup(this,!1,!1)};if(!n){let a=this.#m=document.createElement("button");a.className="annotationCommentButton";let l=this.#T.container;a.style.zIndex=parseInt(l.style.zIndex,10)+1,a.tabIndex=0,a.ariaHasPopup="dialog",a.ariaControls="commentPopup",a.setAttribute("data-l10n-id","pdfjs-show-comment-button"),this.#R(),this.#D(),a.addEventListener("keydown",this.#t,{signal:e}),a.addEventListener("click",s,{signal:e}),a.addEventListener("pointerenter",i,{signal:e}),a.addEventListener("pointerleave",r,{signal:e}),l.after(a)}else{this.#m=this.#T.container;for(let a of this.trigger)a.ariaHasPopup="dialog",a.ariaControls="commentPopup",a.addEventListener("keydown",this.#t,{signal:e}),a.addEventListener("click",s,{signal:e}),a.addEventListener("pointerenter",i,{signal:e}),a.addEventListener("pointerleave",r,{signal:e}),a.classList.add("popupTriggerArea")}}#D(){if(this.#T.extraPopupElement&&!this.#T.editor)return;if(!this.#m)this.renderCommentButton();let[e,n]=this.#b,{style:s}=this.#m;s.left=`calc(${e}%)`,s.top=`calc(${n}% - var(--comment-button-dim))`}#R(){if(this.#T.extraPopupElement)return;if(!this.#m)this.renderCommentButton();this.#m.style.backgroundColor=this.commentButtonColor||""}get commentButtonColor(){let{color:e,opacity:n}=this.#T.commentData;if(!e)return null;return this.#u._commentManager.makeCommentColor(e,n)}focusCommentButton(){setTimeout(()=>{this.#m?.focus()},0)}getData(){let{richText:e,color:n,opacity:s,creationDate:i,modificationDate:r}=this.#T.commentData;return{contentsObj:{str:this.comment},richText:e,color:n,opacity:s,creationDate:i,modificationDate:r}}get elementBeforePopup(){return this.#m}get comment(){return this.#I||=this.#T.commentText,this.#I}set comment(e){if(e===this.comment)return;this.#T.commentText=this.#I=e}focus(){this.#T.container?.focus()}get parentBoundingClientRect(){return this.#T.layer.getBoundingClientRect()}setCommentButtonStates({selected:e,hasPopup:n}){if(!this.#m)return;this.#m.classList.toggle("selected",e),this.#m.ariaExpanded=n}setSelectedCommentButton(e){this.#m.classList.toggle("selected",e)}get commentPopupPosition(){if(this.#w)return this.#w;let{x:e,y:n,height:s}=this.#m.getBoundingClientRect(),{x:i,y:r,width:a,height:l}=this.#T.layer.getBoundingClientRect();return[(e-i)/a,(n+s-r)/l]}set commentPopupPosition(e){this.#w=e}hasDefaultPopupPosition(){return this.#w===null}get commentButtonPosition(){return this.#b}get commentButtonWidth(){return this.#m.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(e){let[n,s]=this.#w||this.commentButtonPosition.map((f)=>f/100),i=this.parentBoundingClientRect,{x:r,y:a,width:l,height:c}=i;this.#e.showDialog(null,this,r+n*l,a+s*c,{...e,parentDimensions:i})}render(){if(this.#p)return;let e=this.#p=document.createElement("div");if(e.className="popup",this.#a){let s=e.style.outlineColor=ft.makeHexColor(...this.#a);e.style.backgroundColor=`color-mix(in srgb, ${s} 30%, white)`}let n=document.createElement("span");if(n.className="header",this.#x?.str){let s=document.createElement("span");s.className="title",n.append(s),{dir:s.dir,str:s.textContent}=this.#x}if(e.append(n),this.#l){let s=document.createElement("time");s.className="popupDate",s.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),s.setAttribute("data-l10n-args",JSON.stringify({dateObj:this.#l.valueOf()})),s.dateTime=this.#l.toISOString(),n.append(s)}k7({html:this.#q||this.#o.str,dir:this.#o?.dir,className:"popupContent"},e),this.#r.append(e)}get#q(){let e=this.#v,n=this.#o;if(e?.str&&(!n?.str||n.str===e.str))return this.#v.html||null;return null}get#B(){return this.#q?.attributes?.style?.fontSize||0}get#M(){return this.#q?.attributes?.style?.color||null}#L(e){let n=[],s={str:e,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:n}]}},i={style:{color:this.#M,fontSize:this.#B?`calc(${this.#B}px * var(--total-scale-factor))`:""}};for(let r of e.split(`
120
- `))n.push({name:"span",value:r,attributes:i});return s}#G(e){if(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)return;if(e.key==="Enter"||e.key==="Escape"&&this.#d)this.#H()}updateEdited({rect:e,popup:n,deleted:s}){if(this.#e){if(s)this.remove(),this.#I=null;else if(n)if(n.deleted)this.remove();else this.#R(),this.#I=n.text;if(e)this.#b=null,this.#C(),this.#D();return}if(s||n?.deleted){this.remove();return}if(this.#j(),this.#k||={contentsObj:this.#o,richText:this.#v},e)this.#f=null;if(n&&n.text)this.#v=this.#L(n.text),this.#l=fm.toDateObject(n.date),this.#o=null;this.#p?.remove(),this.#p=null}resetEdited(){if(!this.#k)return;({contentsObj:this.#o,richText:this.#v}=this.#k),this.#k=null,this.#p?.remove(),this.#p=null,this.#f=null}remove(){if(this.#g?.abort(),this.#g=null,this.#p?.remove(),this.#p=null,this.#A=!1,this.#d=!1,this.#m?.remove(),this.#m=null,this.trigger)for(let e of this.trigger)e.classList.remove("popupTriggerArea")}#O(){if(this.#f!==null)return;let{page:{view:e},viewport:{rawDims:{pageWidth:n,pageHeight:s,pageX:i,pageY:r}}}=this.#u,a=!!this.#h,l=a?this.#h:this.#y;for(let v of this.#c)if(!l||ft.intersect(v.data.rect,l)!==null){l=v.data.rect,a=!0;break}let c=ft.normalizeRect([l[0],e[3]-l[1]+e[1],l[2],e[3]-l[3]+e[1]]),f=5,d=a?l[2]-l[0]+f:0,g=c[0]+d,b=c[1];this.#f=[100*(g-i)/n,100*(b-r)/s];let{style:y}=this.#r;y.left=`${this.#f[0]}%`,y.top=`${this.#f[1]}%`}#H(){if(this.#e){this.#e.toggleCommentPopup(this,!1);return}if(this.#d=!this.#d,this.#d)this.#E(),this.#r.addEventListener("click",this.#i),this.#r.addEventListener("keydown",this.#t);else this.#S(),this.#r.removeEventListener("click",this.#i),this.#r.removeEventListener("keydown",this.#t)}#E(){if(!this.#p)this.render();if(!this.isVisible)this.#O(),this.#r.hidden=!1,this.#r.style.zIndex=parseInt(this.#r.style.zIndex,10)+1000;else if(this.#d)this.#r.classList.add("focused")}#S(){if(this.#r.classList.remove("focused"),this.#d||!this.isVisible)return;this.#r.hidden=!0,this.#r.style.zIndex=parseInt(this.#r.style.zIndex,10)-1000}forceHide(){if(this.#A=this.isVisible,!this.#A)return;this.#r.hidden=!0}maybeShow(){if(this.#e)return;if(this.#j(),!this.#A)return;if(!this.#p)this.#E();this.#A=!1,this.#r.hidden=!1}get isVisible(){return!this.#e&&this.#r.hidden===!1}}class S2 extends _s{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.textContent=e.data.textContent,this.textPosition=e.data.textPosition,this.annotationEditorType=sn.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){let e=this.contentElement=document.createElement("div");e.classList.add("annotationTextContent"),e.setAttribute("role","comment");for(let n of this.textContent){let s=document.createElement("span");s.textContent=n,e.append(s)}this.container.append(e)}if(!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this._editOnDoubleClick(),this.container}}class LS extends _s{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("lineAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=this.#e=this.svgFactory.createElement("svg:line");if(r.setAttribute("x1",e.rect[2]-e.lineCoordinates[0]),r.setAttribute("y1",e.rect[3]-e.lineCoordinates[1]),r.setAttribute("x2",e.rect[2]-e.lineCoordinates[2]),r.setAttribute("y2",e.rect[3]-e.lineCoordinates[3]),r.setAttribute("stroke-width",e.borderStyle.width||1),r.setAttribute("stroke","transparent"),r.setAttribute("fill","transparent"),i.append(r),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class OS extends _s{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("squareAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=e.borderStyle.width,a=this.#e=this.svgFactory.createElement("svg:rect");if(a.setAttribute("x",r/2),a.setAttribute("y",r/2),a.setAttribute("width",n-r),a.setAttribute("height",s-r),a.setAttribute("stroke-width",r||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class PS extends _s{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("circleAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=e.borderStyle.width,a=this.#e=this.svgFactory.createElement("svg:ellipse");if(a.setAttribute("cx",n/2),a.setAttribute("cy",s/2),a.setAttribute("rx",n/2-r/2),a.setAttribute("ry",s/2-r/2),a.setAttribute("stroke-width",r||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class k2 extends _s{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e,vertices:n,borderStyle:s,popupRef:i},width:r,height:a}=this;if(!n)return this.container;let l=this.svgFactory.create(r,a,!0),c=[];for(let d=0,g=n.length;d<g;d+=2){let b=n[d]-e[0],y=e[3]-n[d+1];c.push(`${b},${y}`)}c=c.join(" ");let f=this.#e=this.svgFactory.createElement(this.svgElementName);if(f.setAttribute("points",c),f.setAttribute("stroke-width",s.width||1),f.setAttribute("stroke","transparent"),f.setAttribute("fill","transparent"),l.append(f),this.container.append(l),!i&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class NS extends k2{constructor(e){super(e);this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class BS extends _s{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){if(this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}}class Mm extends _s{#e=null;#t=[];constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=this.data.it==="InkHighlight"?sn.HIGHLIGHT:sn.INK}#n(e,n){switch(e){case 90:return{transform:`rotate(90) translate(${-n[0]},${n[1]}) scale(1,-1)`,width:n[3]-n[1],height:n[2]-n[0]};case 180:return{transform:`rotate(180) translate(${-n[2]},${n[1]}) scale(1,-1)`,width:n[2]-n[0],height:n[3]-n[1]};case 270:return{transform:`rotate(270) translate(${-n[2]},${n[3]}) scale(1,-1)`,width:n[3]-n[1],height:n[2]-n[0]};default:return{transform:`translate(${-n[0]},${n[3]}) scale(1,-1)`,width:n[2]-n[0],height:n[3]-n[1]}}}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e,rotation:n,inkLists:s,borderStyle:i,popupRef:r}}=this,{transform:a,width:l,height:c}=this.#n(n,e),f=this.svgFactory.create(l,c,!0),d=this.#e=this.svgFactory.createElement("svg:g");f.append(d),d.setAttribute("stroke-width",i.width||1),d.setAttribute("stroke-linecap","round"),d.setAttribute("stroke-linejoin","round"),d.setAttribute("stroke-miterlimit",10),d.setAttribute("stroke","transparent"),d.setAttribute("fill","transparent"),d.setAttribute("transform",a);for(let g of s){let b=this.svgFactory.createElement(this.svgElementName);this.#t.push(b),b.setAttribute("points",g.join(",")),d.append(b)}if(!r&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container.append(f),this._editOnDoubleClick(),this.container}updateEdited(e){super.updateEdited(e);let{thickness:n,points:s,rect:i}=e,r=this.#e;if(n>=0)r.setAttribute("stroke-width",n||1);if(s)for(let a=0,l=this.#t.length;a<l;a++)this.#t[a].setAttribute("points",s[a].join(","));if(i){let{transform:a,width:l,height:c}=this.#n(this.data.rotation,i);r.parentElement.setAttribute("viewBox",`0 0 ${l} ${c}`),r.setAttribute("transform",a)}}getElementsToTriggerPopup(){return this.#t}addHighlightArea(){this.container.classList.add("highlightArea")}}class x2 extends _s{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0});this.annotationEditorType=sn.HIGHLIGHT}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("highlightAnnotation"),this._editOnDoubleClick(),e){let s=document.createElement("mark");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class HS extends _s{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("underlineAnnotation"),e){let s=document.createElement("u");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class US extends _s{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("squigglyAnnotation"),e){let s=document.createElement("u");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class zS extends _s{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("strikeoutAnnotation"),e){let s=document.createElement("s");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class A2 extends _s{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.annotationEditorType=sn.STAMP}render(){if(this.container.classList.add("stampAnnotation"),this.container.setAttribute("role","img"),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this._editOnDoubleClick(),this.container}}class GS extends _s{#e=null;constructor(e){super(e,{isRenderable:!0});let{fileId:n,file:s}=this.data;this.filename=s.filename,this.content=s.content,this.fileId=n,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,attachmentId:this.fileId,...s})}render(){this.container.classList.add("fileAttachmentAnnotation");let{container:e,data:n}=this,s;if(n.hasAppearance||n.fillAlpha===0)s=document.createElement("div");else if(s=document.createElement("img"),s.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(n.name)?"paperclip":"pushpin"}.svg`,n.fillAlpha&&n.fillAlpha<1)s.style=`filter: opacity(${Math.round(n.fillAlpha*100)}%);`;s.addEventListener("dblclick",this.#t.bind(this)),this.#e=s;let{isMac:i}=Xn.platform;if(e.addEventListener("keydown",(r)=>{if(r.key==="Enter"&&(i?r.metaKey:r.ctrlKey))this.#t()}),!n.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();else s.classList.add("popupTriggerArea");return e.append(s),e}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}async#t(){let{fileId:e,filename:n,content:s}=this,i=await this.linkService.getAttachmentContent(e)||s;if(i)this.downloadManager?.openOrDownloadData(i,n)}}class T2 extends _s{#e=new AbortController;#t=null;#n=null;constructor(e){super(e,{isRenderable:!!e.data.richMedia})}render(){this.container.classList.add("mediaAnnotation");let{filename:e}=this.data.richMedia,n=document.createElement("button");return n.className="mediaPlayButton",n.type="button",n.title=n.ariaLabel=e,n.addEventListener("click",()=>this.#s(n),{signal:this.#e.signal}),this.container.append(n),this.container}async#s(e){let{fileId:n,filename:s,contentType:i}=this.data.richMedia;e.disabled=!0;let r;try{r=await this.linkService.getAttachmentContent(n)}catch{return}finally{e.disabled=!1}if(!r||!e.isConnected)return;let{signal:a}=this.#e,l=URL.createObjectURL(new Blob([r],{type:i}));this.#t=l;let c=i.startsWith("audio/"),f=document.createElement(c?"audio":"video");if(this.#n=f,f.className="mediaContent",this._setBackgroundColor(f),f.src=l,f.title=s,f.controls=!0,f.autoplay=!0,f.tabIndex=0,c){let d=!1,g=!1,b=()=>{f.controls=d||g};this.container.addEventListener("pointerenter",()=>{d=!0,b()},{signal:a}),this.container.addEventListener("pointerleave",()=>{d=!1,b()},{signal:a}),this.container.addEventListener("focusin",()=>{g=!0,b()},{signal:a}),this.container.addEventListener("focusout",()=>{g=!1,b()},{signal:a})}f.addEventListener("emptied",()=>this.#i(l),{once:!0,signal:a}),e.replaceWith(f),f.play().catch(()=>{})}#i(e=this.#t){if(e&&e===this.#t)URL.revokeObjectURL(e),this.#t=null}destroy(){if(this.#e.abort(),this.#n)this.#n.pause(),this.#n.removeAttribute("src"),this.#n.load(),this.#n=null;this.#i()}}class E2{#e=null;#t=null;#n=null;#s=new Map;#i=null;#a=null;#r=[];#o=!1;zIndex=0;constructor({div:e,accessibilityManager:n,annotationCanvasMap:s,annotationEditorUIManager:i,page:r,viewport:a,structTreeLayer:l,commentManager:c,linkService:f,annotationStorage:d}){this.div=e,this.#e=n,this.#t=s,this.#i=l||null,this.#a=f||null,this.#n=d||new Tm,this.page=r,this.viewport=a,this._annotationEditorUIManager=i,this._commentManager=c||null}hasEditableAnnotations(){return this.#s.size>0}async render(e){let{annotations:n,optionalContentConfig:s}=e,i=this.div;uc(i,this.viewport);let r=new Map,a=[],l={data:null,layer:i,linkService:this.#a,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||"",renderForms:e.renderForms!==!1,svgFactory:new pu,annotationStorage:this.#n,enableComment:e.enableComment===!0,enableScripting:e.enableScripting===!0,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(let c of n){if(c.noHTML)continue;let f=c.annotationType===Os.POPUP;if(!f){if(c.rect[2]===c.rect[0]||c.rect[3]===c.rect[1])continue}else{let b=r.get(c.id);if(!b)continue;if(!this._commentManager){a.push(c);continue}l.elements=b}l.data=c;let d=om.create(l);if(!d.isRenderable)continue;if(!f){if(this.#r.push(d),c.popupRef)r.getOrInsertComputed(c.popupRef,Af).push(d)}let g=d.render();if(c.hidden)g.style.visibility="hidden";if(d.updateOC(s),d._isEditable)this.#s.set(d.data.id,d),this._annotationEditorUIManager?.renderAnnotationElement(d)}await this.#l();for(let c of a){let f=l.elements=r.get(c.id);l.data=c;let d=om.create(l);if(!d.isRenderable)continue;let g=d.render();if(d.contentElement.id=`pdfjs_internal_id_${c.id}`,c.hidden)g.style.visibility="hidden";f.at(-1).container.after(g)}this.#c()}async#l(){if(this.#r.length===0)return;this.div.replaceChildren();let e=[];if(!this.#o){this.#o=!0;for(let{contentElement:s,data:{hidden:i,id:r,oc:a}}of this.#r){let l=s.id=`pdfjs_internal_id_${r}`,c=s.localName==="a"&&!i&&!a;e.push(this.#i?.getAriaAttributes(l,{enableLinkOwnership:c}).then((f)=>{if(f)for(let[d,g]of f)s.setAttribute(d,g)}))}}this.#r.sort(({data:{rect:[s,i,r,a]}},{data:{rect:[l,c,f,d]}})=>{if(s===r&&i===a)return 1;if(l===f&&c===d)return-1;let g=a,b=i,y=(i+a)/2,v=d,x=c,T=(c+d)/2;if(y>=v&&T<=b)return-1;if(T>=g&&y<=x)return 1;let R=(s+r)/2,N=(l+f)/2;return R-N});let n=document.createDocumentFragment();for(let s of this.#r)if(n.append(s.container),this._commentManager)(s.extraPopupElement?.popup||s.popup)?.renderCommentButton();else if(s.extraPopupElement)n.append(s.extraPopupElement.render());if(this.div.append(n),await Promise.all(e),this.#e){let s=await this.#i?.getAnnotationIds();for(let{contentElement:i}of this.#r){if(s?.has(i.id))continue;this.#e.addPointerInTextLayer(i,!1)}}}async addLinkAnnotations(e){let n={data:null,layer:this.div,linkService:this.#a,svgFactory:new pu,parent:this};for(let s of e){s.borderStyle||=E2._defaultBorderStyle,n.data=s;let i=om.create(n);if(!i.isRenderable)continue;i.render(),i.contentElement.id=`pdfjs_internal_id_${s.id}`,this.#r.push(i)}await this.#l()}update({viewport:e,optionalContentConfig:n}){let s=this.div;this.viewport=e,uc(s,{rotation:e.rotation});for(let i of this.#r)i.updateOC(n);this.#c(),s.hidden=!1}destroy(){for(let e of this.#r)e.destroy?.(),this.#e?.removePointerInTextLayer(e.contentElement);this.#r.length=0,this.#s.clear(),this.div.replaceChildren()}#c(){if(!this.#t)return;let e=this.div;for(let[n,s]of this.#t){let i=e.querySelector(`[data-annotation-id="${n}"]`);if(!i)continue;if(Array.isArray(s))for(let f of s)f.className="annotationContent",f.ariaHidden=!0;else s.className="annotationContent",s.ariaHidden=!0;let r=[];for(let f of i.children)if(f.nodeName==="CANVAS")r.push(f);for(let f of r)f.remove();let a=Array.isArray(s)?s[0]:s,{firstChild:l}=i;if(!l)i.append(a);else if(!l.classList.contains("annotationContent"))l.before(a);else l.after(a);if(Array.isArray(s)){let f=a;for(let d=1,g=s.length;d<g;d++)f.after(s[d]),f=s[d]}this.#t.delete(n);let c=this.#s.get(n);if(!c)continue;if(c._hasNoCanvas)this._annotationEditorUIManager?.setMissingCanvas(n,i.id,s),c._hasNoCanvas=!1;else c.canvas=s}}refreshCanvases(){this.#c()}getEditableAnnotations(){return this.#s.values()}getEditableAnnotation(e){return this.#s.get(e)}addFakeAnnotation(e){let{div:n}=this,{id:s,rotation:i}=e,r=new CS({data:{id:s,rect:e.getPDFRect(),rotation:i},editor:e,layer:n,parent:this,enableComment:!!this._commentManager,linkService:this.#a,annotationStorage:this.#n});return r.render(),r.contentElement.id=`pdfjs_internal_id_${s}`,r.createOrUpdatePopup(),this.#r.push(r),r}removeAnnotation(e){let n=this.#r.findIndex((i)=>i.data.id===e);if(n<0)return;let[s]=this.#r.splice(n,1);this.#e?.removePointerInTextLayer(s.contentElement)}updateFakeAnnotations(e){if(e.length===0)return;for(let n of e)n.updateFakeAnnotationElement(this);this.#l()}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}static get _defaultBorderStyle(){return Pt(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:vf.SOLID,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}}var Z0=/\r\n?|\n/g;class pi extends Ft{#e="";#t=`${this.id}-editor`;#n=null;#s;_colorPicker=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let e=pi.prototype,n=(r)=>r.isEmpty(),{TRANSLATE_SMALL:s,TRANSLATE_BIG:i}=xl;return Pt(this,"_keyboardManager",new vr([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter"],e.commitOrRemove],[["Escape"],e.commitOrRemove],[["ArrowLeft"],e._translateEmpty,{args:[-s,0],checker:n}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e._translateEmpty,{args:[-i,0],checker:n}],[["ArrowRight"],e._translateEmpty,{args:[s,0],checker:n}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e._translateEmpty,{args:[i,0],checker:n}],[["ArrowUp"],e._translateEmpty,{args:[0,-s],checker:n}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e._translateEmpty,{args:[0,-i],checker:n}],[["ArrowDown"],e._translateEmpty,{args:[0,s],checker:n}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e._translateEmpty,{args:[0,i],checker:n}]]))}static _type="freetext";static _editorType=sn.FREETEXT;constructor(e){super({...e,name:"freeTextEditor"});if(this.color=e.color||pi._defaultColor||Ft._defaultLineColor,this.#s=e.fontSize||pi._defaultFontSize,!this.annotationElementId)this._uiManager.a11yAlert(Ft._l10nAlert.freetext);this.canAddComment=!1}static initialize(e,n){Ft.initialize(e,n);let s=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(s.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e,n){switch(e){case An.FREETEXT_SIZE:pi._defaultFontSize=n;break;case An.FREETEXT_COLOR:pi._defaultColor=n;break}}updateParams(e,n){switch(e){case An.FREETEXT_SIZE:this.#i(n);break;case An.FREETEXT_COLOR:this.#a(n);break}}static get defaultPropertiesToUpdate(){return[[An.FREETEXT_SIZE,pi._defaultFontSize],[An.FREETEXT_COLOR,pi._defaultColor||Ft._defaultLineColor]]}get propertiesToUpdate(){return[[An.FREETEXT_SIZE,this.#s],[An.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new du(this),[["colorPicker",this._colorPicker]]}get colorType(){return An.FREETEXT_COLOR}#i(e){let n=(i)=>{this.editorDiv.style.fontSize=`calc(${i}px * var(--total-scale-factor))`,this.translate(0,-(i-this.#s)*this.parentScale),this.#s=i,this.#o()},s=this.#s;this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:An.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#a(e){let n=(i)=>{this.color=i,this.onUpdatedColor()},s=this.color;this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:An.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(e,n){this._uiManager.translateSelectedEditors(e,n,!0)}getInitialTranslation(){let e=this.parentScale;return[-pi._internalPadding*e,-(pi._internalPadding+this.#s)*e]}rebuild(){if(!this.parent)return;if(super.rebuild(),this.div===null)return;if(!this.isAttachedToDOM)this.parent.add(this)}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),this.#n=new AbortController;let e=this._uiManager.combinedSignal(this.#n);return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:e}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:e}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:e}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:e}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:e}),!0}disableEditMode(){if(!super.disableEditMode())return!1;return this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",this.#t),this._isDraggable=!0,this.#n?.abort(),this.#n=null,this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0}focusin(e){if(!this._focusEventsAllowed)return;if(super.focusin(e),e.target!==this.editorDiv)this.editorDiv.focus()}onceAdded(e){if(this.width)return;if(this.enableEditMode(),e)this.editorDiv.focus();if(this._initialOptions?.isCentered)this.center();this._initialOptions=null}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){if(this.isEditing=!1,this.parent)this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing");super.remove()}#r(){let e=[];this.editorDiv.normalize();let n=null;for(let s of this.editorDiv.childNodes){if(n?.nodeType===Node.TEXT_NODE&&s.nodeName==="BR")continue;e.push(pi.#l(s)),n=s}return e.join(`
121
- `)}#o(){let[e,n]=this.parentDimensions,s;if(this.isAttachedToDOM)s=this.div.getBoundingClientRect();else{let{currentLayer:i,div:r}=this,a=r.style.display,l=r.classList.contains("hidden");r.classList.remove("hidden"),r.style.display="hidden",i.div.append(this.div),s=r.getBoundingClientRect(),r.remove(),r.style.display=a,r.classList.toggle("hidden",l)}if(this.rotation%180===this.parentRotation%180)this.width=s.width/e,this.height=s.height/n;else this.width=s.height/e,this.height=s.width/n;this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();let e=this.#e,n=this.#e=this.#r().trimEnd();if(e===n)return;let s=(i)=>{if(this.#e=i,!i){this.remove();return}this.#c(),this._uiManager.rebuild(this),this.#o()};this.addCommands({cmd:()=>{s(n)},undo:()=>{s(e)},mustExec:!1}),this.#o()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(e){if(e.target===this.div&&e.key==="Enter")this.enterInEditMode(),e.preventDefault()}editorDivKeydown(e){pi._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){if(this.div)return this.div;let e,n;if(this._isCopy||this.annotationElementId)e=this.x,n=this.y;super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",this.#t),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;let{style:s}=this.editorDiv;if(s.fontSize=`calc(${this.#s}px * var(--total-scale-factor))`,s.color=this.color,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){let[i,r]=this.parentDimensions;if(this.annotationElementId){let{position:a}=this._initialData,[l,c]=this.getInitialTranslation();[l,c]=this.pageTranslationToScreen(l,c);let[f,d]=this.pageDimensions,[g,b]=this.pageTranslation,y,v;switch(this.rotation){case 0:y=e+(a[0]-g)/f,v=n+this.height-(a[1]-b)/d;break;case 90:y=e+(a[0]-g)/f,v=n-(a[1]-b)/d,[l,c]=[c,-l];break;case 180:y=e-this.width+(a[0]-g)/f,v=n-(a[1]-b)/d,[l,c]=[-l,-c];break;case 270:y=e+(a[0]-g-this.height*d)/f,v=n+(a[1]-b-this.width*f)/d,[l,c]=[-c,l];break}this.setAt(y*i,v*r,l,c)}else this._moveAfterPaste(e,n);this.#c(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static#l(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(Z0,"")}editorDivPaste(e){let n=e.clipboardData||window.clipboardData,{types:s}=n;if(s.length===1&&s[0]==="text/plain")return;e.preventDefault();let i=pi.#h(n.getData("text")||"").replaceAll(Z0,`
122
- `);if(!i)return;let r=window.getSelection();if(!r.rangeCount)return;this.editorDiv.normalize(),r.deleteFromDocument();let a=r.getRangeAt(0);if(!i.includes(`
123
- `)){a.insertNode(document.createTextNode(i)),this.editorDiv.normalize(),r.collapseToStart();return}let{startContainer:l,startOffset:c}=a,f=[],d=[];if(l.nodeType===Node.TEXT_NODE){let y=l.parentElement;if(d.push(l.nodeValue.slice(c).replaceAll(Z0,"")),y!==this.editorDiv){let v=f;for(let x of this.editorDiv.childNodes){if(x===y){v=d;continue}v.push(pi.#l(x))}}f.push(l.nodeValue.slice(0,c).replaceAll(Z0,""))}else if(l===this.editorDiv){let y=f,v=0;for(let x of this.editorDiv.childNodes){if(v++===c)y=d;y.push(pi.#l(x))}}this.#e=`${f.join(`
124
- `)}${i}${d.join(`
125
- `)}`,this.#c();let g=new Range,b=Math.sumPrecise(f.map((y)=>y.length));for(let{firstChild:y}of this.editorDiv.childNodes)if(y.nodeType===Node.TEXT_NODE){let v=y.nodeValue.length;if(b<=v){g.setStart(y,b),g.setEnd(y,b);break}b-=v}r.removeAllRanges(),r.addRange(g)}#c(){if(this.editorDiv.replaceChildren(),!this.#e)return;for(let e of this.#e.split(`
126
- `)){let n=document.createElement("div");n.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(n)}}#u(){return this.#e.replaceAll(" "," ")}static#h(e){return e.replaceAll(" "," ")}get contentDiv(){return this.editorDiv}getPDFRect(){let e=pi._internalPadding*this.parentScale;return this.getRect(e,e)}static async deserialize(e,n,s){let i=null;if(e instanceof S2){let{data:{defaultAppearanceData:{fontSize:a,fontColor:l},rect:c,rotation:f,id:d,popupRef:g,richText:b,contentsObj:y,creationDate:v,modificationDate:x},textContent:T,textPosition:R,parent:{page:{pageNumber:N}}}=e;if(!T?.length)return null;i=e={annotationType:sn.FREETEXT,color:Array.from(l),fontSize:a,value:T.join(`
127
- `),position:R,pageIndex:N-1,rect:c.slice(0),rotation:f,annotationElementId:d,id:d,deleted:!1,popupRef:g,comment:y?.str||null,richText:b,creationDate:v,modificationDate:x}}let r=await super.deserialize(e,n,s);if(r.#s=e.fontSize,r.color=ft.makeHexColor(...e.color),r.#e=pi.#h(e.value),r._initialData=i,e.comment)r.setCommentData(e);return r}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let n=Ft._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),s=Object.assign(super.serialize(e),{color:n,fontSize:this.#s,value:this.#u()});if(this.addComment(s),e)return s.isCopy=!0,s;if(this.annotationElementId&&!this.#d(s))return null;return s.id=this.annotationElementId,s}#d(e){let{value:n,fontSize:s,color:i,pageIndex:r}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||e.value!==n||e.fontSize!==s||e.color.some((a,l)=>a!==i[l])||e.pageIndex!==r}renderAnnotationElement(e){let n=super.renderAnnotationElement(e);if(!n)return null;let{style:s}=n;s.fontSize=`calc(${this.#s}px * var(--total-scale-factor))`,s.color=this.color,n.replaceChildren();for(let i of this.#e.split(`
128
- `)){let r=document.createElement("div");r.append(i?document.createTextNode(i):document.createElement("br")),n.append(r)}return e.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#e}}),n}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}}class Fm{#e=Object.create(null);updateProperty(e,n){this[e]=n,this.updateSVGProperty(e,n)}updateProperties(e){if(!e)return;for(let[n,s]of Object.entries(e))if(!n.startsWith("_"))this.updateProperty(n,s)}updateSVGProperty(e,n){this.#e[e]=n}toSVGProperties(){let e=this.#e;return this.#e=Object.create(null),{root:e}}reset(){this.#e=Object.create(null)}updateAll(e=this){this.updateProperties(e)}clone(){Rn("Not implemented")}}class kn extends Ft{#e=null;#t;_clipPathId=null;_colorPicker=null;_drawId=null;_drawOutlines=null;_focusDrawId=null;static _currentDrawId=-1;static _currentParent=null;static#n=null;static#s=null;static#i=null;static#a=null;static _INNER_MARGIN=3;constructor(e){super(e);this.#t=e.mustBeCommitted||!1,this._addOutlines(e)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}onUpdatedOpacity(){this._colorPicker?.updateOpacity?.(this.opacity)}_addOutlines(e){if(e.drawOutlines)this.#r(e),this.#g()}#r({drawOutlines:e,drawId:n,drawingOptions:s,clipPathId:i}){if(this._drawOutlines=e,this._drawingOptions||=s,!this.annotationElementId)this._uiManager.a11yAlert(Ft._l10nAlert[this.editorType]);if(n>=0)this._drawId=n,this._clipPathId=i??null,this.parent.drawLayer.finalizeDraw(n,e.defaultProperties),this.#l(this.parent);else this._drawId=this.#o(e,this.parent);this.#b(e.box)}#o(e,n){let{id:s,clipPathId:i}=n.drawLayer.draw(kn._mergeSVGProperties(this._drawingOptions.toSVGProperties(),e.defaultSVGProperties),!1,this.constructor._hasClipPath);if(this.constructor._hasClipPath)this._clipPathId=i;return this.#l(n),s}#l(e){let n=this._drawOutlines.getFocusSVGProperties(this.#d);if(n)this._focusDrawId=e.drawLayer.drawOutline(n,this._drawOutlines.focusMustRemoveSelfIntersections)}#c(e=this.#d){if(this._focusDrawId===null)return;this.parent?.drawLayer.updateProperties(this._focusDrawId,this._drawOutlines.getFocusSVGProperties(e))}#u(e){if(this._focusDrawId!==null)this.parent?.drawLayer.updateProperties(this._focusDrawId,{rootClass:e})}#h(){let{parent:e,_drawId:n,_focusDrawId:s,_isVisible:i}=this;if(!e||n===null)return;let r={hidden:!i};if(e.drawLayer.updateProperties(n,{rootClass:r}),s!==null)e.drawLayer.updateProperties(s,{rootClass:r})}static _mergeSVGProperties(e,n){let s=new Set(Object.keys(e));for(let[i,r]of Object.entries(n))if(s.has(i))Object.assign(e[i],r);else e[i]=r;return e}static getDefaultDrawingOptions(e){Rn("Not implemented")}static get typesMap(){Rn("Not implemented")}static get isDrawer(){return!0}static get _hasClipPath(){return!1}static get _hasDrawClass(){return!0}static get supportMultipleDrawings(){return!1}get _drawRotation(){return this.rotation}get _opacityName(){return this.constructor.typesMap.get(this.opacityType)}get#d(){return(this.parentRotation-this._drawRotation+360)%360}static updateDefaultParams(e,n){let s=this.typesMap.get(e);if(s)this._defaultDrawingOptions.updateProperty(s,n);if(this._currentParent)kn.#n.updateProperty(s,n),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties())}updateParams(e,n){let s=this.constructor.typesMap.get(e);if(s)this._updateProperty(e,s,n)}static get defaultPropertiesToUpdate(){let e=[],n=this._defaultDrawingOptions;for(let[s,i]of this.typesMap)e.push([s,n[i]]);return e}get propertiesToUpdate(){let e=[],{_drawingOptions:n}=this;for(let[s,i]of this.constructor.typesMap)e.push([s,n[i]]);return e}_updateProperty(e,n,s){let i=this._drawingOptions,r=i[n],a=(l)=>{i.updateProperty(n,l);let c=this._drawOutlines.updateProperty(n,l);if(c)this.#b(c);if(this.parent?.drawLayer.updateProperties(this._drawId,i.toSVGProperties()),e===this.colorType)this.onUpdatedColor();else if(e===this.opacityType)this.onUpdatedOpacity()};this.addCommands({cmd:a.bind(this,s),undo:a.bind(this,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e,overwriteIfSameType:!0,keepUndo:!0})}_updateColorAndOpacity(e,n,s=this.colorAndOpacityType){let i=this.constructor.typesMap.get(this.colorType),r=this._opacityName,a=this._drawingOptions,l=a[i],c=a[r],f=(d,g)=>{a.updateProperty(i,d),a.updateProperty(r,g),this._drawOutlines.updateProperty(i,d),this._drawOutlines.updateProperty(r,g),this.parent?.drawLayer.updateProperties(this._drawId,a.toSVGProperties()),this.onUpdatedColor(),this.onUpdatedOpacity()};this.addCommands({cmd:f.bind(this,e,n),undo:f.bind(this,l,c),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:s,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,kn._mergeSVGProperties(this._drawOutlines.getPathResizingSVGProperties(this.#m()),{bbox:this.#w()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,kn._mergeSVGProperties(this._drawOutlines.getPathResizedSVGProperties(this.#m()),{bbox:this.#w()})),this.#c()}_onTranslating(e,n){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#w()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,kn._mergeSVGProperties(this._drawOutlines.getPathTranslatedSVGProperties(this.#m(),this.parentDimensions),{bbox:this.#w()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}get _mustBeDisabledOnCommit(){return!0}commit(){if(super.commit(),this._mustBeDisabledOnCommit)this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(e){if(!this.annotationElementId)this.parent.addUndoableEditor(this);if(this._isDraggable=!0,this.#t){if(this.#t=!1,this.commit(),this.parent.setSelected(this),e&&this.isOnScreen)this.div.focus()}}remove(){this._uiManager.removeShouldRescale(this),this.#p(),super.remove()}rebuild(){if(!this.parent)return;if(super.rebuild(),this.div===null)return;if(this.#g(),this.#b(this._drawOutlines.box),!this.isAttachedToDOM)this.parent.add(this)}setParent(e){let n=!1;if(this.parent&&!e)this._uiManager.removeShouldRescale(this),this.#p();else if(e)this._uiManager.addShouldRescale(this),this.#g(e),n=!this.parent&&this.div?.classList.contains("selectedEditor");if(super.setParent(e),this.#h(),n)this.select()}#p(){if(this._drawId===null||!this.parent)return;let{drawLayer:e}=this.parent;if(e.remove(this._drawId),this._drawId=null,this._focusDrawId!==null)e.remove(this._focusDrawId),this._focusDrawId=null;this._drawingOptions.reset()}#g(e=this.parent){if(this._drawId!==null&&this.parent===e)return;if(this._drawId!==null){let{drawLayer:n}=this.parent;if(n.updateParent(this._drawId,e.drawLayer),this._focusDrawId!==null)n.updateParent(this._focusDrawId,e.drawLayer);return}if(this._drawingOptions.updateAll(),this._drawId=this.#o(this._drawOutlines,e),this._clipPathId&&this.#e)this.#e.style.clipPath=this._clipPathId}#f([e,n,s,i]){let{parentDimensions:[r,a],_drawRotation:l}=this;switch(l){case 90:return[n,1-e,s*(a/r),i*(r/a)];case 180:return[1-e,1-n,s,i];case 270:return[1-n,e,s*(a/r),i*(r/a)];default:return[e,n,s,i]}}#m(){let{x:e,y:n,width:s,height:i,parentDimensions:[r,a],_drawRotation:l}=this;switch(l){case 90:return[1-n,e,s*(r/a),i*(a/r)];case 180:return[1-e,1-n,s,i];case 270:return[n,1-e,s*(r/a),i*(a/r)];default:return[e,n,s,i]}}#b(e){if([this.x,this.y,this.width,this.height]=this.#f(e),this.div)this.fixAndSetPosition(),this.setDims();this._onResized()}#w(e=this.parentRotation){let{x:n,y:s,width:i,height:r,_drawRotation:a,parentDimensions:[l,c]}=this;switch((a*4+e)/90){case 1:return[1-s-r,n,r,i];case 2:return[1-n-i,1-s-r,i,r];case 3:return[s,1-n-i,r,i];case 4:return[n,s-i*(l/c),r*(c/l),i*(l/c)];case 5:return[1-s,n,i*(l/c),r*(c/l)];case 6:return[1-n-r*(c/l),1-s,r*(c/l),i*(l/c)];case 7:return[s-i*(l/c),1-n-r*(c/l),i*(l/c),r*(c/l)];case 8:return[n-i,s-r,i,r];case 9:return[1-s,n-i,r,i];case 10:return[1-n,1-s,i,r];case 11:return[s-r,1-n,r,i];case 12:return[n-r*(c/l),s,r*(c/l),i*(l/c)];case 13:return[1-s-i*(l/c),n-r*(c/l),i*(l/c),r*(c/l)];case 14:return[1-n,1-s-i*(l/c),r*(c/l),i*(l/c)];case 15:return[s,1-n,i*(l/c),r*(c/l)];default:return[n,s,i,r]}}rotate(e=this.parentRotation){if(!this.parent||this._drawId===null)return;let n=(e-this._drawRotation+360)%360;this.parent.drawLayer.updateProperties(this._drawId,kn._mergeSVGProperties({bbox:this.#w(e)},this._drawOutlines.updateRotation(n))),this.#c(n)}show(e=this._isVisible){super.show(e),this.#h()}select(){super.select(),this.#u({hovered:!1,selected:!0})}unselect(){super.unselect(),this.#u({selected:!1})}pointerover(){if(!this.isSelected)this.#u({hovered:!0})}pointerleave(){if(!this.isSelected)this.#u({hovered:!1})}onScaleChanging(){if(!this.parent)return;let e=this._drawOutlines.updateParentDimensions(this.parentDimensions,this.parent.scale);if(e)this.#b(e)}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e,n;if(this._isCopy)e=this.x,n=this.y;let s=super.render();if(this.constructor._hasDrawClass)s.classList.add("draw");let i=this.#e=document.createElement("div");if(s.append(i),i.setAttribute("aria-hidden","true"),i.className="internal",this._clipPathId)i.style.clipPath=this._clipPathId;if(T7(this,i,["pointerover","pointerleave"]),this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy)this._moveAfterPaste(e,n);return s}static createDrawerInstance(e){Rn("Not implemented")}static _getDrawingTarget(e,{target:n}){return n}static _getPointerCoords({offsetX:e,offsetY:n,clientX:s,clientY:i},r=null){if(!r)return[e,n];let a=s-r.clientX,l=i-r.clientY;switch(this._currentParent.viewport.rotation){case 90:[a,l]=[l,-a];break;case 180:[a,l]=[-a,-l];break;case 270:[a,l]=[-l,a];break}return[r.offsetX+a,r.offsetY+l]}static _addDrawingListeners(e,n){}static _endDrawingSession(e=!1){return this._currentParent.endDrawingSession(e)}static startDrawing(e,n,s,i){let{pointerId:r,pointerType:a}=i;if(Bn.isInitializedAndDifferentPointerType(a))return;let l=this._getDrawingTarget(e,i),[c,f]=this._getPointerCoords(i),{viewport:{rotation:d}}=e,{x:g,y:b,width:y,height:v}=l.getBoundingClientRect(),x=kn.#s=new AbortController,T=e.combinedSignal(x);if(Bn.setPointer(a,r),window.addEventListener("pointerup",(U)=>{if(Bn.isSamePointerIdOrRemove(U.pointerId))this._endDraw(U)},{signal:T}),window.addEventListener("pointercancel",(U)=>{if(Bn.isSamePointerIdOrRemove(U.pointerId))this._endDrawingSession()},{signal:T}),window.addEventListener("pointerdown",(U)=>{if(!Bn.isSamePointerType(U.pointerType))return;if(Bn.initializeAndAddPointerId(U.pointerId),kn.#n.isCancellable())if(kn.#n.removeLastElement(),kn.#n.isEmpty())this._endDrawingSession(!0);else this._endDraw(null)},{capture:!0,passive:!1,signal:T}),window.addEventListener("contextmenu",ma,{signal:T}),l.addEventListener("pointermove",this._drawMove.bind(this),{signal:T}),l.addEventListener("touchmove",(U)=>{if(Bn.isSameTimeStamp(U.timeStamp))li(U)},{signal:T}),this._addDrawingListeners(l,T),e.toggleDrawing(),n._editorUndoBar?.hide(),kn.#n){e.drawLayer.updateProperties(this._currentDrawId,kn.#n.startNew(c,f,y,v,d));return}n.updateUIForDefaultProperties(this),kn.#n=this.createDrawerInstance({x:c,y:f,box:[g,b,y,v],rotation:d,parent:e,isLTR:s}),kn.#i=this.getDefaultDrawingOptions(),this._currentParent=e;let{id:R,clipPathId:N}=e.drawLayer.draw(this._mergeSVGProperties(kn.#i.toSVGProperties(),kn.#n.defaultSVGProperties),!0,this._hasClipPath);this._currentDrawId=R,kn.#a=this._hasClipPath?N:null}static _drawMove(e){if(Bn.isSameTimeStamp(e.timeStamp),!kn.#n)return;if(!Bn.isSamePointerId(e.pointerId))return;if(Bn.isUsingMultiplePointers()){this._endDraw(e);return}let n,s=e.getCoalescedEvents?.();if(s?.length){let i=[];for(let r of s)i.push(...this._getPointerCoords(r,e));n=kn.#n.addPoints(i)}else n=kn.#n.add(...this._getPointerCoords(e));this._currentParent.drawLayer.updateProperties(this._currentDrawId,n),Bn.setTimeStamp(e.timeStamp),li(e)}static _cleanup(e){if(e)this._currentDrawId=-1,this._currentParent=null,kn.#n=null,kn.#i=null,kn.#a=null,Bn.clearTimeStamp();if(kn.#s)kn.#s.abort(),kn.#s=null,Bn.clearPointerIds()}static _endDraw(e){let n=this._currentParent;if(!n)return;if(n.toggleDrawing(!0),this._cleanup(!1),n.drawLayer.updateProperties(this._currentDrawId,e?.target===n.div?kn.#n.end(...this._getPointerCoords(e)):kn.#n.end()),this.supportMultipleDrawings){let s=kn.#n,i=this._currentDrawId,r=s.getLastElement();n.addCommands({cmd:()=>{n.drawLayer.updateProperties(i,s.setLastElement(r))},undo:()=>{n.drawLayer.updateProperties(i,s.removeLastElement())},mustExec:!1,type:An.DRAW_STEP});return}this.endDrawing(!1)}static endDrawing(e){let n=this._currentParent;if(!n)return null;if(n.toggleDrawing(!0),n.cleanUndoStack(An.DRAW_STEP),!kn.#n.isEmpty()){let{pageDimensions:[s,i],scale:r}=n,a=n.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,clipPathId:kn.#a,drawOutlines:kn.#n.getOutlines(s*r,i*r,r,this._INNER_MARGIN),drawingOptions:kn.#i,mustBeCommitted:!e});return this._cleanup(!0),a}return n.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e){}static deserializeDraw(e,n,s,i,r,a,l){Rn("Not implemented")}static async deserialize(e,n,s){let{rawDims:{pageWidth:i,pageHeight:r,pageX:a,pageY:l}}=n.viewport,c=this.deserializeDraw(a,l,i,r,this._INNER_MARGIN,e,s),f=await super.deserialize(e,n,s);return f.createDrawingOptions(e),f.#r({drawOutlines:c}),f.#g(),f.onScaleChanging(),f.rotate(),f}serializeDraw(e){let[n,s]=this.pageTranslation,[i,r]=this.pageDimensions;return this._drawOutlines.serialize([n,s,i,r],e)}renderAnnotationElement(e){return e.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}}class kt{static PRECISION=0.0001;focusOutline=null;toSVGPath(){Rn("Abstract method `toSVGPath` must be implemented.")}get box(){Rn("Abstract getter `box` must be implemented.")}serialize(e,n){Rn("Abstract method `serialize` must be implemented.")}get defaultSVGProperties(){Rn("Abstract getter `defaultSVGProperties` must be implemented.")}get defaultProperties(){return this.defaultSVGProperties}getFocusSVGProperties(e){return null}get focusMustRemoveSelfIntersections(){return!1}updateProperty(e,n){return null}updateParentDimensions(e,n){return null}serializeQuadPoints(e,n){return null}updateRotation(e){return{}}getPathResizingSVGProperties(e){return{}}getPathResizedSVGProperties(e){return{}}getPathTranslatedSVGProperties(e,n){return{}}static _rotateBox([e,n,s,i],r){switch(r){case 90:return[1-n-i,e,i,s];case 180:return[1-e-s,1-n-i,s,i];case 270:return[n,1-e-s,i,s]}return[e,n,s,i]}static _rescale(e,n,s,i,r,a){a||=new Float32Array(e.length);for(let l=0,c=e.length;l<c;l+=2)a[l]=n+e[l]*i,a[l+1]=s+e[l+1]*r;return a}static _rescaleAndSwap(e,n,s,i,r,a){a||=new Float32Array(e.length);for(let l=0,c=e.length;l<c;l+=2)a[l]=n+e[l+1]*i,a[l+1]=s+e[l]*r;return a}static _translate(e,n,s,i){i||=new Float32Array(e.length);for(let r=0,a=e.length;r<a;r+=2)i[r]=n+e[r],i[r+1]=s+e[r+1];return i}static svgRound(e){return Math.round(e*1e4)}static _normalizePoint(e,n,s,i,r){switch(r){case 90:return[1-n/s,e/i];case 180:return[1-e/s,1-n/i];case 270:return[n/s,1-e/i];default:return[e/s,n/i]}}static createBezierPoints(e,n,s,i,r,a){return[(e+5*s)/6,(n+5*i)/6,(5*s+r)/6,(5*i+a)/6,(s+r)/2,(i+a)/2]}}class cc{#e;#t=[];#n;#s;#i=[];#a=new Float32Array(18);#r;#o;#l;#c;#u;#h;#d=[];static#p=8;static#g=2;static#f=cc.#p+cc.#g;constructor(e,n,s,i,r,a,l=0){this.#e=s,this.#h=r*i,this.#s=a,this.#a.set([NaN,NaN,NaN,NaN,e,n],6),this.#n=l,this.#c=cc.#p*i,this.#l=cc.#f*i,this.#u=i,this.#d.push(e,n)}isEmpty(){return isNaN(this.#a[8])}isCancellable(){return this.#d.length<=10}removeLastElement(){return this.#a.fill(NaN),this.#i.length=this.#t.length=this.#d.length=0,{path:{d:""}}}#m(){let e=this.#a.subarray(4,6),n=this.#a.subarray(16,18),[s,i,r,a]=this.#e;return[(this.#r+(e[0]-n[0])/2-s)/r,(this.#o+(e[1]-n[1])/2-i)/a,(this.#r+(n[0]-e[0])/2-s)/r,(this.#o+(n[1]-e[1])/2-i)/a]}add(e,n){this.#r=e,this.#o=n;let[s,i,r,a]=this.#e,[l,c,f,d]=this.#a.subarray(8,12),g=e-f,b=n-d,y=Math.hypot(g,b);if(y<this.#l)return!1;let v=y-this.#c,x=v/y,T=x*g,R=x*b,N=l,U=c;l=f,c=d,f+=T,d+=R,this.#d?.push(e,n);let X=-R/v,Y=T/v,J=X*this.#h,ee=Y*this.#h;if(this.#a.set(this.#a.subarray(2,8),0),this.#a.set([f+J,d+ee],4),this.#a.set(this.#a.subarray(14,18),12),this.#a.set([f-J,d-ee],16),isNaN(this.#a[6])){if(this.#i.length===0)this.#a.set([l+J,c+ee],2),this.#i.push(NaN,NaN,NaN,NaN,(l+J-s)/r,(c+ee-i)/a),this.#a.set([l-J,c-ee],14),this.#t.push(NaN,NaN,NaN,NaN,(l-J-s)/r,(c-ee-i)/a);return this.#a.set([N,U,l,c,f,d],6),!this.isEmpty()}if(this.#a.set([N,U,l,c,f,d],6),Math.abs(Math.atan2(U-c,N-l)-Math.atan2(R,T))<Math.PI/2)return[l,c,f,d]=this.#a.subarray(2,6),this.#i.push(NaN,NaN,NaN,NaN,((l+f)/2-s)/r,((c+d)/2-i)/a),[l,c,N,U]=this.#a.subarray(14,18),this.#t.push(NaN,NaN,NaN,NaN,((N+l)/2-s)/r,((U+c)/2-i)/a),!0;return[N,U,l,c,f,d]=this.#a.subarray(0,6),this.#i.push(((N+5*l)/6-s)/r,((U+5*c)/6-i)/a,((5*l+f)/6-s)/r,((5*c+d)/6-i)/a,((l+f)/2-s)/r,((c+d)/2-i)/a),[f,d,l,c,N,U]=this.#a.subarray(12,18),this.#t.push(((N+5*l)/6-s)/r,((U+5*c)/6-i)/a,((5*l+f)/6-s)/r,((5*c+d)/6-i)/a,((l+f)/2-s)/r,((c+d)/2-i)/a),!0}toSVGPath(){if(this.isEmpty())return"";let e=this.#i,n=this.#t;if(isNaN(this.#a[6])&&!this.isEmpty())return this.#b();let s=[];s.push(`M${e[4]} ${e[5]}`);for(let i=6;i<e.length;i+=6)if(isNaN(e[i]))s.push(`L${e[i+4]} ${e[i+5]}`);else s.push(`C${e[i]} ${e[i+1]} ${e[i+2]} ${e[i+3]} ${e[i+4]} ${e[i+5]}`);this.#y(s);for(let i=n.length-6;i>=6;i-=6)if(isNaN(n[i]))s.push(`L${n[i+4]} ${n[i+5]}`);else s.push(`C${n[i]} ${n[i+1]} ${n[i+2]} ${n[i+3]} ${n[i+4]} ${n[i+5]}`);return this.#w(s),s.join(" ")}#b(){let[e,n,s,i]=this.#e,[r,a,l,c]=this.#m();return`M${(this.#a[2]-e)/s} ${(this.#a[3]-n)/i} L${(this.#a[4]-e)/s} ${(this.#a[5]-n)/i} L${r} ${a} L${l} ${c} L${(this.#a[16]-e)/s} ${(this.#a[17]-n)/i} L${(this.#a[14]-e)/s} ${(this.#a[15]-n)/i} Z`}#w(e){let n=this.#t;e.push(`L${n[4]} ${n[5]} Z`)}#y(e){let[n,s,i,r]=this.#e,a=this.#a.subarray(4,6),l=this.#a.subarray(16,18),[c,f,d,g]=this.#m();e.push(`L${(a[0]-n)/i} ${(a[1]-s)/r} L${c} ${f} L${d} ${g} L${(l[0]-n)/i} ${(l[1]-s)/r}`)}newFreeDrawOutline(e,n,s,i,r,a){return new C2(e,n,s,i,r,a)}getOutlines(){let e=this.#i,n=this.#t,s=this.#a,[i,r,a,l]=this.#e,c=new Float32Array((this.#d?.length??0)+2);for(let g=0,b=c.length-2;g<b;g+=2)c[g]=(this.#d[g]-i)/a,c[g+1]=(this.#d[g+1]-r)/l;if(c[c.length-2]=(this.#r-i)/a,c[c.length-1]=(this.#o-r)/l,isNaN(s[6])&&!this.isEmpty())return this.#v(c);let f=new Float32Array(this.#i.length+24+this.#t.length),d=e.length;for(let g=0;g<d;g+=2){if(isNaN(e[g])){f[g]=f[g+1]=NaN;continue}f[g]=e[g],f[g+1]=e[g+1]}d=this.#k(f,d);for(let g=n.length-6;g>=6;g-=6)for(let b=0;b<6;b+=2){if(isNaN(n[g+b])){f[d]=f[d+1]=NaN,d+=2;continue}f[d]=n[g+b],f[d+1]=n[g+b+1],d+=2}return this.#x(f,d),this.newFreeDrawOutline(f,c,this.#e,this.#u,this.#n,this.#s)}#v(e){let n=this.#a,[s,i,r,a]=this.#e,[l,c,f,d]=this.#m(),g=new Float32Array(36);return g.set([NaN,NaN,NaN,NaN,(n[2]-s)/r,(n[3]-i)/a,NaN,NaN,NaN,NaN,(n[4]-s)/r,(n[5]-i)/a,NaN,NaN,NaN,NaN,l,c,NaN,NaN,NaN,NaN,f,d,NaN,NaN,NaN,NaN,(n[16]-s)/r,(n[17]-i)/a,NaN,NaN,NaN,NaN,(n[14]-s)/r,(n[15]-i)/a],0),this.newFreeDrawOutline(g,e,this.#e,this.#u,this.#n,this.#s)}#x(e,n){let s=this.#t;return e.set([NaN,NaN,NaN,NaN,s[4],s[5]],n),n+=6}#k(e,n){let s=this.#a.subarray(4,6),i=this.#a.subarray(16,18),[r,a,l,c]=this.#e,[f,d,g,b]=this.#m();return e.set([NaN,NaN,NaN,NaN,(s[0]-r)/l,(s[1]-a)/c,NaN,NaN,NaN,NaN,f,d,NaN,NaN,NaN,NaN,g,b,NaN,NaN,NaN,NaN,(i[0]-r)/l,(i[1]-a)/c],n),n+=24}}class C2 extends kt{#e;#t=new Float32Array(4);#n;#s;#i;#a;#r;constructor(e,n,s,i,r,a){super();this.#r=e,this.#i=n,this.#e=s,this.#a=i,this.#n=r,this.#s=a,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#o(a);let[l,c,f,d]=this.#t;for(let g=0,b=e.length;g<b;g+=2)e[g]=(e[g]-l)/f,e[g+1]=(e[g+1]-c)/d;for(let g=0,b=n.length;g<b;g+=2)n[g]=(n[g]-l)/f,n[g+1]=(n[g+1]-c)/d}toSVGPath(){let e=[`M${this.#r[4]} ${this.#r[5]}`];for(let n=6,s=this.#r.length;n<s;n+=6){if(isNaN(this.#r[n])){e.push(`L${this.#r[n+4]} ${this.#r[n+5]}`);continue}e.push(`C${this.#r[n]} ${this.#r[n+1]} ${this.#r[n+2]} ${this.#r[n+3]} ${this.#r[n+4]} ${this.#r[n+5]}`)}return e.push("Z"),e.join(" ")}serialize([e,n,s,i],r){let a=s-e,l=i-n,c,f;switch(r){case 0:c=kt._rescale(this.#r,e,i,a,-l),f=kt._rescale(this.#i,e,i,a,-l);break;case 90:c=kt._rescaleAndSwap(this.#r,e,n,a,l),f=kt._rescaleAndSwap(this.#i,e,n,a,l);break;case 180:c=kt._rescale(this.#r,s,n,-a,l),f=kt._rescale(this.#i,s,n,-a,l);break;case 270:c=kt._rescaleAndSwap(this.#r,s,i,-a,-l),f=kt._rescaleAndSwap(this.#i,s,i,-a,-l);break}return{outline:Array.from(c),points:[Array.from(f)]}}#o(e){let n=this.#r,s=n[4],i=n[5],r=[s,i,s,i],a=s,l=i,c=s,f=i,d=e?Math.max:Math.min,g=new Float32Array(4);for(let y=6,v=n.length;y<v;y+=6){let x=n[y+4],T=n[y+5];if(isNaN(n[y])){if(ft.pointBoundingBox(x,T,r),l>T)a=x,l=T;else if(l===T)a=d(a,x);if(f<T)c=x,f=T;else if(f===T)c=d(c,x)}else{if(g.set(Do,0),ft.bezierBoundingBox(s,i,...n.slice(y,y+6),g),ft.rectBoundingBox(...g,r),l>g[1])a=g[0],l=g[1];else if(l===g[1])a=d(a,g[0]);if(f<g[3])c=g[2],f=g[3];else if(f===g[3])c=d(c,g[2])}s=x,i=T}let b=this.#t;b[0]=r[0]-this.#n,b[1]=r[1]-this.#n,b[2]=r[2]-r[0]+2*this.#n,b[3]=r[3]-r[1]+2*this.#n,this.firstPoint=[a,l],this.lastPoint=[c,f]}get box(){return this.#t}newOutliner(e,n,s,i,r,a,l=0){return new cc(e,n,s,i,r,a,l)}updateThickness(e){let n=this.getNewOutline(e);return this.#r=n.#r,this.#i=n.#i,this.#t.set(n.#t),this.firstPoint=n.firstPoint,this.lastPoint=n.lastPoint,this.#t}getNewOutline(e,n){let[s,i,r,a]=this.#t,[l,c,f,d]=this.#e,g=r*f,b=a*d,y=s*f+l,v=i*d+c,x=this.#i,T=this.newOutliner(x[0]*g+y,x[1]*b+v,this.#e,this.#a,e,this.#s,n??this.#n);for(let R=2,N=x.length;R<N;R+=2)T.add(x[R]*g+y,x[R+1]*b+v);return T.getOutlines()}}function VS(e){return{bbox:e.box,root:{viewBox:"0 0 1 1"},rootClass:{highlight:!0,free:e.isFree},path:{d:e.toSVGPath()}}}function $S(e,n){let{focusOutline:s}=e;return{bbox:kt._rotateBox(s.box,n),root:{"data-main-rotation":n},rootClass:{highlightOutline:!0,free:e.isFree},path:{d:s.toSVGPath()}}}class pm{#e;#t;#n;#s=[];#i=[];constructor(e,n=0,s=0,i=!0){let r=Do.slice(),a=4,l=0.0001;for(let{x:T,y:R,width:N,height:U}of e){let X=Math.floor((T-n)/0.0001)*0.0001,Y=Math.ceil((T+N+n)/0.0001)*0.0001,J=Math.floor((R-n)/0.0001)*0.0001,ee=Math.ceil((R+U+n)/0.0001)*0.0001,te=[X,J,ee,!0],ne=[Y,J,ee,!1];this.#s.push(te,ne),ft.rectBoundingBox(X,J,Y,ee,r)}let c=r[2]-r[0]+2*s,f=r[3]-r[1]+2*s,d=r[0]-s,g=r[1]-s,b=i?-1/0:1/0,y=1/0,v=this.#s.at(i?-1:-2),x=[v[0],v[2]];for(let T of this.#s){let[R,N,U,X]=T;if(!X&&i){if(N<y)y=N,b=R;else if(N===y)b=Math.max(b,R)}else if(X&&!i){if(N<y)y=N,b=R;else if(N===y)b=Math.min(b,R)}T[0]=(R-d)/c,T[1]=(N-g)/f,T[2]=(U-g)/f}this.#e=new Float32Array([d,g,c,f]),this.#t=[b,y],this.#n=x}getOutlines(){this.#s.sort((n,s)=>n[0]-s[0]||n[1]-s[1]||n[2]-s[2]);let e=[];for(let n of this.#s)if(n[3])e.push(...this.#c(n)),this.#o(n);else this.#l(n),e.push(...this.#c(n));return this.#a(e)}#a(e){let n=[],s=new Set;for(let a of e){let[l,c,f]=a;n.push([l,c,a],[l,f,a])}n.sort((a,l)=>a[1]-l[1]||a[0]-l[0]);for(let a=0,l=n.length;a<l;a+=2){let c=n[a][2],f=n[a+1][2];c.push(f),f.push(c),s.add(c),s.add(f)}let i=[],r;while(s.size>0){let a=s.values().next().value,[l,c,f,d,g]=a;s.delete(a);let b=l,y=c;r=[l,f],i.push(r);while(!0){let v;if(s.has(d))v=d;else if(s.has(g))v=g;else break;if(s.delete(v),[l,c,f,d,g]=v,b!==l)r.push(b,y,l,y===c?c:f),b=l;y=y===c?f:c}r.push(b,y)}return new gm(i,this.#e,this.#t,this.#n)}#r(e){let n=this.#i,s=0,i=n.length-1;while(s<=i){let r=s+i>>1,a=n[r][0];if(a===e)return r;if(a<e)s=r+1;else i=r-1}return i+1}#o([,e,n]){let s=this.#r(e);this.#i.splice(s,0,[e,n])}#l([,e,n]){let s=this.#r(e);for(let i=s;i<this.#i.length;i++){let[r,a]=this.#i[i];if(r!==e)break;if(r===e&&a===n){this.#i.splice(i,1);return}}for(let i=s-1;i>=0;i--){let[r,a]=this.#i[i];if(r!==e)break;if(r===e&&a===n){this.#i.splice(i,1);return}}}#c(e){let[n,s,i]=e,r=[[n,s,i]],a=this.#r(i);for(let l=0;l<a;l++){let[c,f]=this.#i[l];for(let d=0,g=r.length;d<g;d++){let[,b,y]=r[d];if(f<=b||y<=c)continue;if(b>=c){if(y>f)r[d][1]=f;else{if(g===1)return[];r.splice(d,1),d--,g--}continue}if(r[d][2]=c,y>f)r.push([n,f,y])}}return r}}class gm extends kt{#e;#t=null;#n;constructor(e,n,s,i){super();this.#n=e,this.#e=n,this.firstPoint=s,this.lastPoint=i}static build(e,n){let s=new pm(e,0.001).getOutlines();return s.#t=e,s.focusOutline=new pm(e,0.0025,0.001,n).getOutlines(),s}get isFree(){return!1}get defaultSVGProperties(){return VS(this)}getFocusSVGProperties(e){return $S(this,e)}updateRotation(e){return{root:{"data-main-rotation":e}}}serializeQuadPoints([e,n],[s,i]){let r=this.#t,a=new Float32Array(r.length*8),l=0;for(let{x:c,y:f,width:d,height:g}of r){let b=c*s+e,y=(1-f)*i+n;a[l]=a[l+4]=b,a[l+1]=a[l+3]=y,a[l+2]=a[l+6]=b+d*s,a[l+5]=a[l+7]=y-g*i,l+=8}return a}toSVGPath(){let e=[];for(let n of this.#n){let[s,i]=n;e.push(`M${s} ${i}`);for(let r=2;r<n.length;r+=2){let a=n[r],l=n[r+1];if(a===s)e.push(`V${l}`),i=l;else if(l===i)e.push(`H${a}`),s=a}e.push("Z")}return e.join(" ")}serialize([e,n,s,i],r){let a=[],l=s-e,c=i-n;for(let f of this.#n){let d=Array(f.length);for(let g=0;g<f.length;g+=2)d[g]=e+f[g]*l,d[g+1]=i-f[g+1]*c;a.push(d)}return a}get box(){return this.#e}}class Lm extends cc{newFreeDrawOutline(e,n,s,i,r,a){return new j2(e,n,s,i,r,a)}}class XS{#e;#t;constructor(e,n,s,i,r,a,l){this.#e=new Lm(e,n,s,i,r,a,l),this.#t=r}add(e,n){return this.#e.add(e,n)?{path:{d:this.#e.toSVGPath()}}:null}addPoints(e){let n=!1;for(let s=0,i=e.length;s<i;s+=2)n=this.#e.add(e[s],e[s+1])||n;return n?{path:{d:this.#e.toSVGPath()}}:null}end(e,n){return e===void 0?null:this.add(e,n)}isEmpty(){return this.#e.isEmpty()}isCancellable(){return this.#e.isCancellable()}removeLastElement(){return this.#e.removeLastElement()}updateProperty(e,n){return null}getOutlines(){let e=this.#e.getOutlines();return e.buildFocusOutline(2*this.#t),e}get defaultSVGProperties(){return{bbox:[0,0,1,1],root:{viewBox:"0 0 1 1"},rootClass:{highlight:!0,free:!0},path:{d:this.#e.toSVGPath()}}}}class j2 extends C2{static#e=1.5;newOutliner(e,n,s,i,r,a,l=0){return new Lm(e,n,s,i,r,a,l)}get isFree(){return!0}buildFocusOutline(e){this.focusOutline=this.getNewOutline(e/2+j2.#e,0.0025)}get defaultSVGProperties(){return VS(this)}getFocusSVGProperties(e){return $S(this,e)}get focusMustRemoveSelfIntersections(){return!0}updateRotation(e){return{root:{"data-main-rotation":e}}}updateProperty(e,n){if(e!=="thickness")return null;let s=this.updateThickness(n/2);return this.buildFocusOutline(n),s}getPathResizedSVGProperties(){return{path:{d:this.toSVGPath()}}}}class _2 extends Fm{constructor(e=null){super();super.updateProperties(e)}updateSVGProperty(e,n){if(e!=="thickness")super.updateSVGProperty(e,n)}clone(){let e=new _2;return e.updateAll(this),e}}class da extends kn{#e=null;#t=0;#n=null;#s=0;#i="";#a="";static _DEFAULT_OPACITY=1;static _DEFAULT_THICKNESS=12;static _defaultDrawingOptions=null;static _type="highlight";static _editorType=sn.HIGHLIGHT;static get _keyboardManager(){let e=da.prototype;return Pt(this,"_keyboardManager",new vr([[["ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown"],e._moveCaret,{args:[3]}]]))}constructor(e){super({...e,name:"highlightEditor"});this.#e=e.anchorNode||null,this.#t=e.anchorOffset||0,this.#n=e.focusNode||null,this.#s=e.focusOffset||0,this.#i=e.methodOfCreation||(this._drawOutlines?.isFree?"main_toolbar":""),this.#a=e.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",this.rotate()}static initialize(e,n){Ft.initialize(e,n),this._defaultDrawingOptions||=new _2({fill:n.highlightColors?.values().next().value||"#fff066","fill-opacity":da._DEFAULT_OPACITY,thickness:da._DEFAULT_THICKNESS})}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get typesMap(){return Pt(this,"typesMap",new Map([[An.HIGHLIGHT_COLOR,"fill"],[An.HIGHLIGHT_THICKNESS,"thickness"]]))}static get isDrawer(){return!1}static get _hasClipPath(){return!0}static get _hasDrawClass(){return!1}_addOutlines(e){let{boxes:n,drawOutlines:s}=e;if(!n&&!s)return;if(this._drawingOptions||=e.drawingOptions||da.getDefaultDrawingOptions(),n)e={...e,drawOutlines:gm.build(n,this._uiManager.direction==="ltr")};super._addOutlines(e)}get colorType(){return An.HIGHLIGHT_COLOR}get color(){return this._drawingOptions.fill}get opacity(){return this._drawingOptions["fill-opacity"]}get _opacityName(){return"fill-opacity"}get _drawRotation(){return this._drawOutlines?.isFree?this.rotation:0}get isResizable(){return!1}get _mustBeDisabledOnCommit(){return!1}get _mustFixPosition(){return!this._drawOutlines?.isFree}get telemetryInitialData(){return{action:"added",type:this._drawOutlines.isFree?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this._drawingOptions.thickness,methodOfCreation:this.#i}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}translateInPage(e,n){}get toolbarPosition(){return this.#r(this._drawOutlines.focusOutline.lastPoint)}get commentButtonPosition(){return this.#r(this._drawOutlines.firstPoint)}#r([e,n]){let[s,i,r,a]=this._drawOutlines.box;return[(e-s)/r,(n-i)/a]}updateParams(e,n){switch(e){case An.HIGHLIGHT_COLOR:this._updateColorAndOpacity(n,da._DEFAULT_OPACITY,e),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(n)},!0);break;case An.HIGHLIGHT_THICKNESS:super.updateParams(e,n),this._reportTelemetry({action:"thickness_changed",thickness:n},!0);break}}get propertiesToUpdate(){let e=super.propertiesToUpdate;return e.push([An.HIGHLIGHT_FREE,this._drawOutlines.isFree]),e}get toolbarButtons(){if(this._uiManager.highlightColors)return this._colorPicker=new Xr({editor:this}),[["colorPicker",this._colorPicker]];return super.toolbarButtons}fixAndSetPosition(){return super.fixAndSetPosition(this._drawRotation)}getRect(e,n){return super.getRect(e,n,this._drawRotation)}onceAdded(e){if(!this.annotationElementId)this.parent.addUndoableEditor(this);if(e)this.div.focus()}remove(){this._reportTelemetry({action:"deleted"}),super.remove()}render(){if(this.div)return this.div;let e=super.render();if(this.#a)e.setAttribute("aria-label",this.#a),e.setAttribute("role","mark");if(this._drawOutlines.isFree)e.classList.add("free");else e.addEventListener("keydown",this.#o.bind(this),{signal:this._uiManager._signal});return this.enableEditing(),e}#o(e){da._keyboardManager.exec(this,e)}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:this.#l(!0);break;case 1:case 3:this.#l(!1);break}}#l(e){if(!this.#e)return;let n=window.getSelection();if(e)n.setPosition(this.#e,this.#t);else n.setPosition(this.#n,this.#s)}unselect(){if(super.unselect(),!this._drawOutlines.isFree)this.#l(!1)}static createDrawerInstance({x:e,y:n,box:s,parent:i,isLTR:r}){return new XS(e,n,s,i.scale,this._defaultDrawingOptions.thickness/2,r,0.001)}static _getDrawingTarget(e,{target:n}){return n.closest(".textLayer")}static _getPointerCoords({x:e,y:n}){return[e,n]}static _addDrawingListeners(e,n){e.classList.add("free"),n.addEventListener("abort",()=>e.classList.remove("free"),{once:!0}),window.addEventListener("blur",()=>this._endDraw(null),{signal:n}),window.addEventListener("pointerdown",li,{capture:!0,passive:!1,signal:n})}static _endDrawingSession(e=!1){return this.endDrawing(e)}createDrawingOptions({color:e,opacity:n,thickness:s}){let{_defaultDrawingOptions:i,_DEFAULT_OPACITY:r}=da;this._drawingOptions=da.getDefaultDrawingOptions({fill:ft.makeHexColor(...e),"fill-opacity":n||r,thickness:s||i.thickness})}static deserializeDraw(e,n,s,i,r,a,l){let{quadPoints:c}=a;if(c){let y=[];for(let v=0,x=c.length;v<x;v+=8)y.push({x:(c[v]-e)/s,y:1-(c[v+1]-n)/i,width:(c[v+2]-c[v])/s,height:(c[v+1]-c[v+5])/i});return gm.build(y,l.direction==="ltr")}let f=a.thickness||this._defaultDrawingOptions.thickness,d=(a.inkLists||a.outlines.points)[0],g=new Lm(d[0]-e,i-(d[1]-n),[0,0,s,i],1,f/2,!0,0.001);for(let y=0,v=d.length;y<v;y+=2)g.add(d[y]-e,i-(d[y+1]-n));let b=g.getOutlines();return b.buildFocusOutline(f),b}static async deserialize(e,n,s){let i=null;if(e instanceof x2){let{data:{quadPoints:a,rect:l,rotation:c,id:f,color:d,opacity:g,popupRef:b,richText:y,contentsObj:v,creationDate:x,modificationDate:T},parent:{page:{pageNumber:R}}}=e;i=e={annotationType:sn.HIGHLIGHT,color:Array.from(d),opacity:g,quadPoints:a,pageIndex:R-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:b,richText:y,comment:v?.str||null,creationDate:x,modificationDate:T}}else if(e instanceof Mm){let{data:{inkLists:a,rect:l,rotation:c,id:f,color:d,borderStyle:{rawWidth:g},popupRef:b,richText:y,contentsObj:v,creationDate:x,modificationDate:T},parent:{page:{pageNumber:R}}}=e;i=e={annotationType:sn.HIGHLIGHT,color:Array.from(d),thickness:g,inkLists:a,pageIndex:R-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:b,richText:y,comment:v?.str||null,creationDate:x,modificationDate:T}}let r=await super.deserialize(e,n,s);if(r._initialData=i,e.comment)r.setCommentData(e);return r}serialize(e=!1){if(this.isEmpty()||e)return null;if(this.deleted)return this.serializeDeleted();let n=super.serialize(e);if(Object.assign(n,{color:Ft._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),opacity:this.opacity,thickness:this._drawingOptions.thickness,quadPoints:this._drawOutlines.serializeQuadPoints(this.pageTranslation,this.pageDimensions),outlines:this._drawOutlines.serialize(n.rect,this._drawRotation)}),this.addComment(n),this.annotationElementId&&!this.#c(n))return null;return n.id=this.annotationElementId,n}#c(e){let{color:n}=this._initialData;return this.hasEditedComment||e.color.some((s,i)=>s!==n[i])}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;return e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class WS{#e=new Float64Array(6);#t=new Float64Array(2);#n;#s;#i;#a;#r;#o="";#l=0;#c=new Tf;#u;#h;constructor(e,n,s,i,r,a){this.#u=s,this.#h=i,this.#i=r,this.#a=a,[e,n]=this.#d(e,n);let l=this.#n=[NaN,NaN,NaN,NaN,e,n];this.#r=[e,n],this.#s=[{line:l,points:this.#r}],this.#e.set(l,0),this.#t.set([e,n],0)}updateProperty(e,n){if(e==="stroke-width")this.#a=n}#d(e,n){return kt._normalizePoint(e,n,this.#u,this.#h,this.#i)}isEmpty(){return!this.#s?.length}isCancellable(){return this.#r.length<=10}add(e,n){if(this.#p(e,n))this.toSVGPath();return{path:{d:this.#g()}}}addPoints(e){let n=!1;for(let s=0,i=e.length;s<i;s+=2){if(!this.#p(e[s],e[s+1]))continue;if(n=!0,this.#r.length<=6)this.toSVGPath(),n=!1}if(n)this.toSVGPath();return{path:{d:this.#g()}}}#p(e,n){[e,n]=this.#d(e,n),this.#t.set([e,n],0);let[s,i,r,a]=this.#e.subarray(2,6),l=e-r,c=n-a;if(Math.hypot(this.#u*l,this.#h*c)<=2)return!1;if(this.#r.push(e,n),isNaN(s))return this.#e.set([r,a,e,n],2),this.#n.push(NaN,NaN,NaN,NaN,e,n),!0;if(isNaN(this.#e[0]))this.#n.splice(6,6);return this.#e.set([s,i,r,a,e,n],0),this.#n.push(...kt.createBezierPoints(s,i,r,a,e,n)),!0}end(e,n){if(e!==void 0&&this.#p(e,n))return{path:{d:this.toSVGPath()}};if(this.#r.length===2)return{path:{d:this.toSVGPath()}};return{path:{d:this.#o}}}startNew(e,n,s,i,r){this.#u=s,this.#h=i,this.#i=r,[e,n]=this.#d(e,n);let a=this.#n=[NaN,NaN,NaN,NaN,e,n];this.#r=[e,n],this.#t.set([e,n],0);let l=this.#s.at(-1);if(l)l.line=new Float32Array(l.line),l.points=new Float32Array(l.points);return this.#s.push({line:a,points:this.#r}),this.#e.set(a,0),this.#l=0,this.toSVGPath(),null}getLastElement(){return this.#s.at(-1)}setLastElement(e){if(!this.#s)return this.#c.setLastElement(e);return this.#s.push(e),this.#n=e.line,this.#r=e.points,this.#l=0,{path:{d:this.toSVGPath()}}}removeLastElement(){if(!this.#s)return this.#c.removeLastElement();this.#s.pop(),this.#o="";for(let e=0,n=this.#s.length;e<n;e++){let{line:s,points:i}=this.#s[e];this.#n=s,this.#r=i,this.#l=0,this.toSVGPath()}return{path:{d:this.#o}}}#g(){let e=kt.svgRound(this.#t[0]),n=kt.svgRound(this.#t[1]);if(this.#r.length===2){let s=kt.svgRound(this.#n[4]),i=kt.svgRound(this.#n[5]);return`${this.#o} M ${s} ${i} L ${e} ${n}`}return`${this.#o} L ${e} ${n}`}toSVGPath(){let e=kt.svgRound(this.#n[4]),n=kt.svgRound(this.#n[5]);if(this.#r.length===2)return this.#o=`${this.#o} M ${e} ${n} Z`,this.#o;if(this.#r.length<=6){let i=this.#o.lastIndexOf("M");this.#o=`${this.#o.slice(0,i)} M ${e} ${n}`,this.#l=6}if(this.#r.length===4){let i=kt.svgRound(this.#n[10]),r=kt.svgRound(this.#n[11]);return this.#o=`${this.#o} L ${i} ${r}`,this.#l=12,this.#o}let s=[];if(this.#l===0)s.push(`M ${e} ${n}`),this.#l=6;for(let i=this.#l,r=this.#n.length;i<r;i+=6){let[a,l,c,f,d,g]=this.#n.slice(i,i+6).map(kt.svgRound);s.push(`C${a} ${l} ${c} ${f} ${d} ${g}`)}return this.#o+=s.join(" "),this.#l=this.#n.length,this.#o}getOutlines(e,n,s,i){let r=this.#s.at(-1);return r.line=new Float32Array(r.line),r.points=new Float32Array(r.points),this.#c.build(this.#s,e,n,s,this.#i,this.#a,i),this.#e=null,this.#n=null,this.#s=null,this.#o=null,this.#c}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}}class Tf extends kt{#e;#t=0;#n;#s;#i;#a;#r;#o;#l;build(e,n,s,i,r,a,l){this.#i=n,this.#a=s,this.#r=i,this.#o=r,this.#l=a,this.#n=l??0,this.#s=e,this.#h()}get thickness(){return this.#l}setLastElement(e){return this.#s.push(e),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#s.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let e=[];for(let{line:n}of this.#s){if(e.push(`M${kt.svgRound(n[4])} ${kt.svgRound(n[5])}`),n.length===6){e.push("Z");continue}if(n.length===12&&isNaN(n[6])){e.push(`L${kt.svgRound(n[10])} ${kt.svgRound(n[11])}`);continue}for(let s=6,i=n.length;s<i;s+=6){let[r,a,l,c,f,d]=n.subarray(s,s+6).map(kt.svgRound);e.push(`C${r} ${a} ${l} ${c} ${f} ${d}`)}}return e.join("")}serialize([e,n,s,i],r){let a=[],l=[],[c,f,d,g]=this.#u(),b,y,v,x,T,R,N,U,X;switch(this.#o){case 0:X=kt._rescale,b=e,y=n+i,v=s,x=-i,T=e+c*s,R=n+(1-f-g)*i,N=e+(c+d)*s,U=n+(1-f)*i;break;case 90:X=kt._rescaleAndSwap,b=e,y=n,v=s,x=i,T=e+f*s,R=n+c*i,N=e+(f+g)*s,U=n+(c+d)*i;break;case 180:X=kt._rescale,b=e+s,y=n,v=-s,x=i,T=e+(1-c-d)*s,R=n+f*i,N=e+(1-c)*s,U=n+(f+g)*i;break;case 270:X=kt._rescaleAndSwap,b=e+s,y=n+i,v=-s,x=-i,T=e+(1-f-g)*s,R=n+(1-c-d)*i,N=e+(1-f)*s,U=n+(1-c)*i;break}for(let{line:Y,points:J}of this.#s)a.push(X(Y,b,y,v,x,r?Array(Y.length):null)),l.push(X(J,b,y,v,x,r?Array(J.length):null));return{lines:a,points:l,rect:[T,R,N,U]}}static deserialize(e,n,s,i,r,{paths:{lines:a,points:l},rotation:c,thickness:f}){let d=[],g,b,y,v,x;switch(c){case 0:x=kt._rescale,g=-e/s,b=n/i+1,y=1/s,v=-1/i;break;case 90:x=kt._rescaleAndSwap,g=-n/i,b=-e/s,y=1/i,v=1/s;break;case 180:x=kt._rescale,g=e/s+1,b=-n/i,y=-1/s,v=1/i;break;case 270:x=kt._rescaleAndSwap,g=n/i+1,b=e/s+1,y=-1/i,v=-1/s;break}if(!a){a=[];for(let R of l){let N=R.length;if(N===2){a.push(new Float32Array([NaN,NaN,NaN,NaN,R[0],R[1]]));continue}if(N===4){a.push(new Float32Array([NaN,NaN,NaN,NaN,R[0],R[1],NaN,NaN,NaN,NaN,R[2],R[3]]));continue}let U=new Float32Array(3*(N-2));a.push(U);let[X,Y,J,ee]=R.subarray(0,4);U.set([NaN,NaN,NaN,NaN,X,Y],0);for(let te=4;te<N;te+=2){let ne=R[te],ie=R[te+1];U.set(kt.createBezierPoints(X,Y,J,ee,ne,ie),(te-2)*3),[X,Y,J,ee]=[J,ee,ne,ie]}}}for(let R=0,N=a.length;R<N;R++)d.push({line:x(a[R].map((U)=>U??NaN),g,b,y,v),points:x(l[R].map((U)=>U??NaN),g,b,y,v)});let T=new this.prototype.constructor;return T.build(d,s,i,1,c,f,r),T}#c(e=this.#l){let n=this.#n+e/2*this.#r;return this.#o%180===0?[n/this.#i,n/this.#a]:[n/this.#a,n/this.#i]}#u(){let[e,n,s,i]=this.#e,[r,a]=this.#c(0);return[e+r,n+a,s-2*r,i-2*a]}#h(){let e=this.#e=lc.slice();for(let{line:i}of this.#s){if(i.length<=12){for(let l=4,c=i.length;l<c;l+=6)ft.pointBoundingBox(i[l],i[l+1],e);continue}let r=i[4],a=i[5];for(let l=6,c=i.length;l<c;l+=6){let[f,d,g,b,y,v]=i.subarray(l,l+6);ft.bezierBoundingBox(r,a,f,d,g,b,y,v,e),r=y,a=v}}let[n,s]=this.#c();e[0]=gs(e[0]-n,0,1),e[1]=gs(e[1]-s,0,1),e[2]=gs(e[2]+n,0,1),e[3]=gs(e[3]+s,0,1),e[2]-=e[0],e[3]-=e[1]}get box(){return this.#e}updateProperty(e,n){return e==="stroke-width"?this.#d(n):null}#d(e){let[n,s]=this.#c();this.#l=e;let[i,r]=this.#c(),[a,l]=[i-n,r-s],c=this.#e;return c[0]-=a,c[1]-=l,c[2]+=2*a,c[3]+=2*l,c}updateParentDimensions([e,n],s){let[i,r]=this.#c();this.#i=e,this.#a=n,this.#r=s;let[a,l]=this.#c(),c=a-i,f=l-r,d=this.#e;return d[0]-=c,d[1]-=f,d[2]+=2*c,d[3]+=2*f,d}updateRotation(e){return this.#t=e,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#e.map(kt.svgRound).join(" ")}get defaultProperties(){let[e,n]=this.#e;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${kt.svgRound(e)} ${kt.svgRound(n)}`}}}get rotationTransform(){let[,,e,n]=this.#e,s=0,i=0,r=0,a=0,l=0,c=0;switch(this.#t){case 90:i=n/e,r=-e/n,l=e;break;case 180:s=-1,a=-1,l=e,c=n;break;case 270:i=-n/e,r=e/n,c=n;break;default:return""}return`matrix(${s} ${i} ${r} ${a} ${kt.svgRound(l)} ${kt.svgRound(c)})`}getPathResizingSVGProperties([e,n,s,i]){let[r,a]=this.#c(),[l,c,f,d]=this.#e;if(Math.abs(f-r)<=kt.PRECISION||Math.abs(d-a)<=kt.PRECISION){let x=e+s/2-(l+f/2),T=n+i/2-(c+d/2);return{path:{"transform-origin":`${kt.svgRound(e)} ${kt.svgRound(n)}`,transform:`${this.rotationTransform} translate(${x} ${T})`}}}let g=(s-2*r)/(f-2*r),b=(i-2*a)/(d-2*a),y=f/s,v=d/i;return{path:{"transform-origin":`${kt.svgRound(l)} ${kt.svgRound(c)}`,transform:`${this.rotationTransform} scale(${y} ${v}) translate(${kt.svgRound(r)} ${kt.svgRound(a)}) scale(${g} ${b}) translate(${kt.svgRound(-r)} ${kt.svgRound(-a)})`}}}getPathResizedSVGProperties([e,n,s,i]){let[r,a]=this.#c(),l=this.#e,[c,f,d,g]=l;if(l[0]=e,l[1]=n,l[2]=s,l[3]=i,Math.abs(d-r)<=kt.PRECISION||Math.abs(g-a)<=kt.PRECISION){let T=e+s/2-(c+d/2),R=n+i/2-(f+g/2);for(let{line:N,points:U}of this.#s)kt._translate(N,T,R,N),kt._translate(U,T,R,U);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${kt.svgRound(e)} ${kt.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let b=(s-2*r)/(d-2*r),y=(i-2*a)/(g-2*a),v=-b*(c+r)+e+r,x=-y*(f+a)+n+a;if(b!==1||y!==1||v!==0||x!==0)for(let{line:T,points:R}of this.#s)kt._rescale(T,v,x,b,y,T),kt._rescale(R,v,x,b,y,R);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${kt.svgRound(e)} ${kt.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([e,n],s){let[i,r]=s,a=this.#e,l=e-a[0],c=n-a[1];if(this.#i===i&&this.#a===r)for(let{line:f,points:d}of this.#s)kt._translate(f,l,c,f),kt._translate(d,l,c,d);else{let f=this.#i/i,d=this.#a/r;this.#i=i,this.#a=r;for(let{line:g,points:b}of this.#s)kt._rescale(g,l,c,f,d,g),kt._rescale(b,l,c,f,d,b);a[2]*=f,a[3]*=d}return a[0]=e,a[1]=n,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${kt.svgRound(e)} ${kt.svgRound(n)}`}}}get defaultSVGProperties(){let e=this.#e;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${kt.svgRound(e[0])} ${kt.svgRound(e[1])}`,transform:this.rotationTransform||null},bbox:e}}}class Om extends Fm{constructor(e){super();this._viewParameters=e,super.updateProperties({fill:"none",stroke:Ft._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(e,n){if(e==="stroke-width")n??=this["stroke-width"],n*=this._viewParameters.realScale;super.updateSVGProperty(e,n)}clone(){let e=new Om(this._viewParameters);return e.updateAll(this),e}}class I2 extends kn{static _type="ink";static _editorType=sn.INK;static _defaultDrawingOptions=null;constructor(e){super({...e,name:"inkEditor"});this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(e,n){Ft.initialize(e,n),this._defaultDrawingOptions=new Om(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!0}static get typesMap(){return Pt(this,"typesMap",new Map([[An.INK_THICKNESS,"stroke-width"],[An.INK_COLOR,"stroke"],[An.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance({x:e,y:n,box:[,,s,i],rotation:r}){return new WS(e,n,s,i,r,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(e,n,s,i,r,a){return Tf.deserialize(e,n,s,i,r,a)}static async deserialize(e,n,s){let i=null;if(e instanceof Mm){let{data:{inkLists:a,rect:l,rotation:c,id:f,color:d,opacity:g,borderStyle:{rawWidth:b},popupRef:y,richText:v,contentsObj:x,creationDate:T,modificationDate:R},parent:{page:{pageNumber:N}}}=e;i=e={annotationType:sn.INK,color:Array.from(d),thickness:b,opacity:g,paths:{points:a},boxes:null,pageIndex:N-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:y,richText:v,comment:x?.str||null,creationDate:T,modificationDate:R}}let r=await super.deserialize(e,n,s);if(r._initialData=i,e.comment)r.setCommentData(e);return r}get toolbarButtons(){return this._colorPicker||=new du(this),[["colorPicker",this._colorPicker]]}get colorType(){return An.INK_COLOR}get colorAndOpacityType(){return An.INK_COLOR_AND_OPACITY}get opacityType(){return An.INK_OPACITY}updateParams(e,n){if(e===An.INK_COLOR_AND_OPACITY){this._updateColorAndOpacity(n.color,n.opacity);return}super.updateParams(e,n)}static updateDefaultParams(e,n){if(e===An.INK_COLOR_AND_OPACITY){super.updateDefaultParams(An.INK_COLOR,n.color),super.updateDefaultParams(An.INK_OPACITY,n.opacity);return}super.updateDefaultParams(e,n)}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:e,_drawingOptions:n,parent:s}=this;n.updateSVGProperty("stroke-width"),s.drawLayer.updateProperties(e,n.toSVGProperties())}static onScaleChangingWhenDrawing(){let e=this._currentParent;if(!e)return;super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),e.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties())}createDrawingOptions({color:e,thickness:n,opacity:s}){this._drawingOptions=I2.getDefaultDrawingOptions({stroke:ft.makeHexColor(...e),"stroke-width":n,"stroke-opacity":s})}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:n,points:s}=this.serializeDraw(e),{_drawingOptions:{stroke:i,"stroke-opacity":r,"stroke-width":a}}=this,l=Object.assign(super.serialize(e),{color:Ft._colorManager.convert(i),opacity:r,thickness:a,paths:{lines:n,points:s}});if(this.addComment(l),e)return l.isCopy=!0,l;if(this.annotationElementId&&!this.#e(l))return null;return l.id=this.annotationElementId,l}#e(e){let{color:n,thickness:s,opacity:i,pageIndex:r}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||e.color.some((a,l)=>a!==n[l])||e.thickness!==s||e.opacity!==i||e.pageIndex!==r}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let{points:n,rect:s}=this.serializeDraw(!1);return e.updateEdited({rect:s,thickness:this._drawingOptions["stroke-width"],points:n,popup:this.comment}),null}}class bm extends Tf{toSVGPath(){let e=super.toSVGPath();if(!e.endsWith("Z"))e+="Z";return e}}var tm=8,eu=3;class oc{static#e={maxDim:512,sigmaSFactor:0.02,sigmaR:25,kernelSize:16};static#t(e,n,s,i){if(s-=e,i-=n,s===0)return i>0?0:4;if(s===1)return i+6;return 2-i}static#n=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static#s(e,n,s,i,r,a,l){let c=this.#t(s,i,r,a);for(let f=0;f<8;f++){let d=(-f+c-l+16)%8,g=this.#n[2*d],b=this.#n[2*d+1];if(e[(s+g)*n+(i+b)]!==0)return d}return-1}static#i(e,n,s,i,r,a,l){let c=this.#t(s,i,r,a);for(let f=0;f<8;f++){let d=(f+c+l+16)%8,g=this.#n[2*d],b=this.#n[2*d+1];if(e[(s+g)*n+(i+b)]!==0)return d}return-1}static#a(e,n,s,i){let r=e.length,a=new Int32Array(r);for(let d=0;d<r;d++)a[d]=e[d]<=i?1:0;for(let d=1;d<s-1;d++)a[d*n]=a[d*n+n-1]=0;for(let d=0;d<n;d++)a[d]=a[n*s-1-d]=0;let l=1,c,f=[];for(let d=1;d<s-1;d++){c=1;for(let g=1;g<n-1;g++){let b=d*n+g,y=a[b];if(y===0)continue;let v=d,x=g;if(y===1&&a[b-1]===0)l+=1,x-=1;else if(y>=1&&a[b+1]===0){if(l+=1,x+=1,y>1)c=y}else{if(y!==1)c=Math.abs(y);continue}let T=[g,d],R=x===g+1,N={isHole:R,points:T,id:l,parent:0};f.push(N);let U;for(let se of f)if(se.id===c){U=se;break}if(!U)N.parent=R?c:0;else if(U.isHole)N.parent=R?U.parent:c;else N.parent=R?c:U.parent;let X=this.#s(a,n,d,g,v,x,0);if(X===-1){if(a[b]=-l,a[b]!==1)c=Math.abs(a[b]);continue}let Y=this.#n[2*X],J=this.#n[2*X+1],ee=d+Y,te=g+J;v=ee,x=te;let ne=d,ie=g;while(!0){let se=this.#i(a,n,ne,ie,v,x,1);Y=this.#n[2*se],J=this.#n[2*se+1];let ae=ne+Y,be=ie+J;T.push(be,ae);let ye=ne*n+ie;if(a[ye+1]===0)a[ye]=-l;else if(a[ye]===1)a[ye]=l;if(ae===d&&be===g&&ne===ee&&ie===te){if(a[b]!==1)c=Math.abs(a[b]);break}else v=ne,x=ie,ne=ae,ie=be}}}return f}static#r(e,n,s,i){if(s-n<=4){for(let ee=n;ee<s-2;ee+=2)i.push(e[ee],e[ee+1]);return}let r=e[n],a=e[n+1],l=e[s-4]-r,c=e[s-3]-a,f=Math.hypot(l,c),d=l/f,g=c/f,b=d*a-g*r,y=c/l,v=1/f,x=Math.atan(y),T=Math.cos(x),R=Math.sin(x),N=v*(Math.abs(T)+Math.abs(R)),U=v*(1-N+N**2),X=Math.max(Math.atan(Math.abs(R+T)*U),Math.atan(Math.abs(R-T)*U)),Y=0,J=n;for(let ee=n+2;ee<s-2;ee+=2){let te=Math.abs(b-d*e[ee+1]+g*e[ee]);if(te>Y)J=ee,Y=te}if(Y>(f*X)**2)this.#r(e,n,J+2,i),this.#r(e,J,s,i);else i.push(r,a)}static#o(e){let n=[],s=e.length;return this.#r(e,0,s,n),n.push(e[s-2],e[s-1]),n.length<=4?null:n}static#l(e,n,s,i,r,a){let l=new Float32Array(a**2),c=-2*i**2,f=a>>1;for(let x=0;x<a;x++){let T=(x-f)**2;for(let R=0;R<a;R++)l[x*a+R]=Math.exp((T+(R-f)**2)/c)}let d=new Float32Array(256),g=-2*r**2;for(let x=0;x<256;x++)d[x]=Math.exp(x**2/g);let b=e.length,y=new Uint8Array(b),v=new Uint32Array(256);for(let x=0;x<s;x++)for(let T=0;T<n;T++){let R=x*n+T,N=e[R],U=0,X=0;for(let J=0;J<a;J++){let ee=x+J-f;if(ee<0||ee>=s)continue;for(let te=0;te<a;te++){let ne=T+te-f;if(ne<0||ne>=n)continue;let ie=e[ee*n+ne],se=l[J*a+te]*d[Math.abs(ie-N)];U+=ie*se,X+=se}}let Y=y[R]=Math.round(U/X);v[Y]++}return[y,v]}static#c(e){let n=new Uint32Array(256);for(let s of e)n[s]++;return n}static#u(e){let n=e.length,s=new Uint8ClampedArray(n>>2),i=-1/0,r=1/0;for(let l=0,c=s.length;l<c;l++){let f=s[l]=e[l<<2];i=Math.max(i,f),r=Math.min(r,f)}let a=255/(i-r);for(let l=0,c=s.length;l<c;l++)s[l]=(s[l]-r)*a;return s}static#h(e){let n,s=-1/0,i=-1/0,r=e.findIndex((c)=>c!==0),a=r,l=r;for(n=r;n<256;n++){let c=e[n];if(c>s){if(n-a>i)i=n-a,l=n-1;s=c,a=n}}for(n=l-1;n>=0;n--)if(e[n]>e[n+1])break;return n}static#d(e){let n=e,{width:s,height:i}=e,{maxDim:r}=this.#e,a=s,l=i;if(s>r||i>r){let b=s,y=i,v=Math.log2(Math.max(s,i)/r),x=Math.floor(v);v=v===x?x-1:x;for(let R=0;R<v;R++){a=Math.ceil(b/2),l=Math.ceil(y/2);let N=new OffscreenCanvas(a,l);if(N.getContext("2d").drawImage(e,0,0,b,y,0,0,a,l),b=a,y=l,e!==n)e.close();e=N.transferToImageBitmap()}let T=Math.min(r/a,r/l);a=Math.round(a*T),l=Math.round(l*T)}let f=new OffscreenCanvas(a,l).getContext("2d",{willReadFrequently:!0});f.fillStyle="white",f.fillRect(0,0,a,l),f.filter="grayscale(1)",f.drawImage(e,0,0,e.width,e.height,0,0,a,l);let d=f.getImageData(0,0,a,l).data;return[this.#u(d),a,l]}static extractContoursFromText(e,{fontFamily:n,fontStyle:s,fontWeight:i},r,a,l,c){let f=new OffscreenCanvas(1,1),d=f.getContext("2d",{alpha:!1}),g=200,b=d.font=`${s} ${i} ${g}px ${n}`,{actualBoundingBoxLeft:y,actualBoundingBoxRight:v,actualBoundingBoxAscent:x,actualBoundingBoxDescent:T,fontBoundingBoxAscent:R,fontBoundingBoxDescent:N,width:U}=d.measureText(e),X=1.5,Y=Math.ceil(Math.max(Math.abs(y)+Math.abs(v)||0,U)*X),J=Math.ceil(Math.max(Math.abs(x)+Math.abs(T)||g,Math.abs(R)+Math.abs(N)||g)*X);f=new OffscreenCanvas(Y,J),d=f.getContext("2d",{alpha:!0,willReadFrequently:!0}),d.font=b,d.filter="grayscale(1)",d.fillStyle="white",d.fillRect(0,0,Y,J),d.fillStyle="black",d.fillText(e,Y*(X-1)/2,J*(3-X)/2);let ee=this.#u(d.getImageData(0,0,Y,J).data),te=this.#c(ee),ne=this.#h(te),ie=this.#a(ee,Y,J,ne);return this.processDrawnLines({lines:{curves:ie,width:Y,height:J},pageWidth:r,pageHeight:a,rotation:l,innerMargin:c,mustSmooth:!0,areContours:!0})}static process(e,n,s,i,r){let[a,l,c]=this.#d(e),[f,d]=this.#l(a,l,c,Math.hypot(l,c)*this.#e.sigmaSFactor,this.#e.sigmaR,this.#e.kernelSize),g=this.#h(d),b=this.#a(f,l,c,g);return this.processDrawnLines({lines:{curves:b,width:l,height:c},pageWidth:n,pageHeight:s,rotation:i,innerMargin:r,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:e,pageWidth:n,pageHeight:s,rotation:i,innerMargin:r,mustSmooth:a,areContours:l}){if(i%180!==0)[n,s]=[s,n];let{curves:c,width:f,height:d}=e,g=e.thickness??0,b=[],y=Math.min(n/f,s/d),v=y/n,x=y/s,T=[];for(let{points:N}of c){let U=a?this.#o(N):N;if(!U)continue;T.push(U);let X=U.length,Y=new Float32Array(X),J=new Float32Array(3*(X===2?2:X-2));if(b.push({line:J,points:Y}),X===2){Y[0]=U[0]*v,Y[1]=U[1]*x,J.set([NaN,NaN,NaN,NaN,Y[0],Y[1]],0);continue}let[ee,te,ne,ie]=U;ee*=v,te*=x,ne*=v,ie*=x,Y.set([ee,te,ne,ie],0),J.set([NaN,NaN,NaN,NaN,ee,te],0);for(let se=4;se<X;se+=2){let ae=Y[se]=U[se]*v,be=Y[se+1]=U[se+1]*x;J.set(kt.createBezierPoints(ee,te,ne,ie,ae,be),(se-2)*3),[ee,te,ne,ie]=[ne,ie,ae,be]}}if(b.length===0)return null;let R=l?new bm:new Tf;return R.build(b,n,s,1,i,l?0:g,r),{outline:R,newCurves:T,areContours:l,thickness:g,width:f,height:d}}static async compressSignature({outlines:e,areContours:n,thickness:s,width:i,height:r}){let a=1/0,l=-1/0,c=0;for(let N of e){c+=N.length;for(let U=2,X=N.length;U<X;U++){let Y=N[U]-N[U-2];a=Math.min(a,Y),l=Math.max(l,Y)}}let f;if(a>=-128&&l<=127)f=Int8Array;else if(a>=-32768&&l<=32767)f=Int16Array;else f=Int32Array;let d=e.length,g=tm+eu*d,b=new Uint32Array(g),y=0;b[y++]=g*Uint32Array.BYTES_PER_ELEMENT+(c-2*d)*f.BYTES_PER_ELEMENT,b[y++]=0,b[y++]=i,b[y++]=r,b[y++]=n?0:1,b[y++]=Math.max(0,Math.floor(s??0)),b[y++]=d,b[y++]=f.BYTES_PER_ELEMENT;for(let N of e)b[y++]=N.length-2,b[y++]=N[0],b[y++]=N[1];let v=new CompressionStream("deflate-raw"),x=v.writable.getWriter();await x.ready,x.write(b);let T=f.prototype.constructor;for(let N of e){let U=new T(N.length-2);for(let X=2,Y=N.length;X<Y;X++)U[X-2]=N[X]-N[X-2];x.write(U)}return x.close(),(await new Response(v.readable).bytes()).toBase64()}static async decompressSignature(e){try{let n=Uint8Array.fromBase64(e),{readable:s,writable:i}=new DecompressionStream("deflate-raw"),r=i.getWriter();await r.ready,r.write(n).then(async()=>{await r.ready,await r.close()}).catch(()=>{});let a=null,l=0;for await(let U of s)a||=new Uint8Array(new Uint32Array(U.buffer,0,4)[0]),a.set(U,l),l+=U.length;let c=new Uint32Array(a.buffer,0,a.length>>2),f=c[1];if(f!==0)throw Error(`Invalid version: ${f}`);let d=c[2],g=c[3],b=c[4]===0,y=c[5],v=c[6],x=c[7],T=[],R=(tm+eu*v)*Uint32Array.BYTES_PER_ELEMENT,N;switch(x){case Int8Array.BYTES_PER_ELEMENT:N=new Int8Array(a.buffer,R);break;case Int16Array.BYTES_PER_ELEMENT:N=new Int16Array(a.buffer,R);break;case Int32Array.BYTES_PER_ELEMENT:N=new Int32Array(a.buffer,R);break}l=0;for(let U=0;U<v;U++){let X=c[eu*U+tm],Y=new Float32Array(X+2);T.push(Y);for(let J=0;J<eu-1;J++)Y[J]=c[eu*U+tm+J+1];for(let J=0;J<X;J++)Y[J+2]=Y[J]+N[l++]}return{areContours:b,thickness:y,outlines:T,width:d,height:g}}catch(n){return ln(`decompressSignature: ${n}`),null}}}class R2 extends Fm{constructor(){super();super.updateProperties({fill:Ft._defaultLineColor,"stroke-width":0})}clone(){let e=new R2;return e.updateAll(this),e}}class D2 extends Om{constructor(e){super(e);super.updateProperties({stroke:Ft._defaultLineColor,"stroke-width":1})}clone(){let e=new D2(this._viewParameters);return e.updateAll(this),e}}class Qa extends kn{#e=!1;#t=null;#n=null;#s=null;static _type="signature";static _editorType=sn.SIGNATURE;static _defaultDrawingOptions=null;constructor(e){super({...e,mustBeCommitted:!0,name:"signatureEditor"});this._willKeepAspectRatio=!0,this.#n=e.signatureData||null,this.#t=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(e,n){Ft.initialize(e,n),this._defaultDrawingOptions=new R2,this._defaultDrawnSignatureOptions=new D2(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!1}static get typesMap(){return Pt(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#t}}static computeTelemetryFinalData(e){let n=e.get("hasDescription");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){if(this._drawId===null)return;super.onScaleChanging()}render(){if(this.div)return this.div;let e,n,{_isCopy:s}=this;if(s)this._isCopy=!1,e=this.x,n=this.y;if(super.render(),this._drawId===null)if(this.#n){let{lines:i,mustSmooth:r,areContours:a,description:l,uuid:c,heightInPage:f}=this.#n,{rawDims:{pageWidth:d,pageHeight:g},rotation:b}=this.parent.viewport,y=oc.processDrawnLines({lines:i,pageWidth:d,pageHeight:g,rotation:b,innerMargin:Qa._INNER_MARGIN,mustSmooth:r,areContours:a});this.addSignature(y,f,l,c)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:this.#t||""}));if(s)this._isCopy=!0,this._moveAfterPaste(e,n);return this.div}setUuid(e){this.#s=e,this.addEditToolbar()}getUuid(){return this.#s}get description(){return this.#t}set description(e){if(this.#t=e,!this.div)return;this.div.setAttribute("data-l10n-args",JSON.stringify({description:e})),super.addEditToolbar().then((n)=>{n?.updateEditSignatureButton(e)})}getSignaturePreview(){let{newCurves:e,areContours:n,thickness:s,width:i,height:r}=this.#n,a=Math.max(i,r),l=oc.processDrawnLines({lines:{curves:e.map((c)=>({points:c})),thickness:s,width:i,height:r},pageWidth:a,pageHeight:a,rotation:0,innerMargin:0,mustSmooth:!1,areContours:n});return{areContours:n,outline:l.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(e,n,s,i){let{x:r,y:a}=this,{outline:l}=this.#n=e;this.#e=l instanceof bm,this.description=s;let c;if(this.#e)c=Qa.getDefaultDrawingOptions();else c=Qa._defaultDrawnSignatureOptions.clone(),c.updateProperties({"stroke-width":l.thickness});this._addOutlines({drawOutlines:l,drawingOptions:c});let[,f]=this.pageDimensions,d=n/f;if(d=d>=1?0.5:d,this.width*=d/this.height,this.width>=1)d*=0.9/this.width,this.width=0.9;this.height=d,this.setDims(),this.x=r,this.y=a,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(i),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!i,hasDescription:!!s}}),this.div.hidden=!1}getFromImage(e){let{rawDims:{pageWidth:n,pageHeight:s},rotation:i}=this.parent.viewport;return oc.process(e,n,s,i,Qa._INNER_MARGIN)}getFromText(e,n){let{rawDims:{pageWidth:s,pageHeight:i},rotation:r}=this.parent.viewport;return oc.extractContoursFromText(e,n,s,i,r,Qa._INNER_MARGIN)}getDrawnSignature(e){let{rawDims:{pageWidth:n,pageHeight:s},rotation:i}=this.parent.viewport;return oc.processDrawnLines({lines:e,pageWidth:n,pageHeight:s,rotation:i,innerMargin:Qa._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:e,thickness:n}){if(e)this._drawingOptions=Qa.getDefaultDrawingOptions();else this._drawingOptions=Qa._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":n})}serialize(e=!1){if(this.isEmpty())return null;let{lines:n,points:s}=this.serializeDraw(e),{_drawingOptions:{"stroke-width":i}}=this,r=Object.assign(super.serialize(e),{isSignature:!0,areContours:this.#e,color:[0,0,0],thickness:this.#e?0:i});if(this.addComment(r),e)r.paths={lines:n,points:s},r.uuid=this.#s,r.isCopy=!0;else r.lines=n;if(this.#t)r.accessibilityData={type:"Figure",alt:this.#t};return r}static deserializeDraw(e,n,s,i,r,a){if(a.areContours)return bm.deserialize(e,n,s,i,r,a);return Tf.deserialize(e,n,s,i,r,a)}static async deserialize(e,n,s){let i=await super.deserialize(e,n,s);return i.#e=e.areContours,i.description=e.accessibilityData?.alt||"",i.#s=e.uuid,i}}class KS extends Ft{#e=null;#t=null;#n=null;#s=null;#i=null;#a="";#r=null;#o=!1;#l=null;#c=!1;#u=!1;static _type="stamp";static _editorType=sn.STAMP;constructor(e){super({...e,name:"stampEditor"});this.#s=e.bitmapUrl,this.#i=e.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(e,n){Ft.initialize(e,n)}static isHandlingMimeForPasting(e){return Yb.includes(e)}static paste(e,n){n.pasteEditor({mode:sn.STAMP},{bitmapFile:e.getAsFile()})}altTextFinish(){if(this._uiManager.useNewAltTextFlow)this.div.hidden=!1;super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(e){let n=e.get("hasAltText");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}#h(e,n=!1){if(!e){this.remove();return}if(this.#e=e.bitmap,!n)this.#t=e.id,this.#c=e.isSvg;if(e.file)this.#a=e.file.name;this.#g()}#d(){if(this.#n=null,this._uiManager.enableWaiting(!1),!this.#r)return;if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}async mlGuessAltText(e=null,n=!0){if(this.hasAltTextData())return null;let{mlManager:s}=this._uiManager;if(!s)throw Error("No ML.");if(!await s.isEnabledFor("altText"))throw Error("ML isn't enabled for alt text.");let{data:i,width:r,height:a}=e||this.copyCanvas(null,null,!0).imageData,l=await s.guess({name:"altText",request:{data:i,width:r,height:a,channels:i.length/(r*a)}});if(!l)throw Error("No response from the AI service.");if(l.error)throw Error("Error from the AI service.");if(l.cancel)return null;if(!l.output)throw Error("No valid response from the AI service.");let c=l.output;if(await this.setGuessedAltText(c),n&&!this.hasAltTextData())this.altTextData={alt:c,decorative:!1};return c}#p(){if(this.#t){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#t).then((s)=>this.#h(s,!0)).finally(()=>this.#d());return}if(this.#s){let s=this.#s;this.#s=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromUrl(s).then((i)=>this.#h(i)).finally(()=>this.#d());return}if(this.#i){let s=this.#i;this.#i=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromFile(s).then((i)=>this.#h(i)).finally(()=>this.#d());return}let e=document.createElement("input");e.type="file",e.accept=Yb.join(",");let n=this._uiManager._signal;this.#n=new Promise((s)=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);let i=await this._uiManager.imageManager.getFromFile(e.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#h(i)}s()},{signal:n}),e.addEventListener("cancel",()=>{this.remove(),s()},{signal:n})}).finally(()=>this.#d()),e.click()}remove(){if(this.#t){if(this.#e=null,this._uiManager.imageManager.deleteId(this.#t),this.#r?.remove(),this.#r=null,this.#l)clearTimeout(this.#l),this.#l=null}super.remove()}rebuild(){if(!this.parent){if(this.#t)this.#p();return}if(super.rebuild(),this.div===null)return;if(this.#t&&this.#r===null)this.#p();if(!this.isAttachedToDOM)this.parent.add(this)}onceAdded(e){if(this._isDraggable=!0,e)this.div.focus()}isEmpty(){return!(this.#n||this.#e||this.#s||this.#i||this.#t||this.#o)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e,n;if(this._isCopy)e=this.x,n=this.y;if(super.render(),this.div.hidden=!0,this.createAltText(),!this.#o)if(this.#e)this.#g();else this.#p();if(this._isCopy)this._moveAfterPaste(e,n);return this._uiManager.addShouldRescale(this),this.div}setCanvas(e,n){let{id:s,bitmap:i}=this._uiManager.imageManager.getFromCanvas(e,n);if(n.remove(),s&&this._uiManager.imageManager.isValidId(s)){if(this.#t=s,i)this.#e=i;this.#o=!1,this.#g()}}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;if(this.#l!==null)clearTimeout(this.#l);let e=200;this.#l=setTimeout(()=>{this.#l=null,this.#m()},e)}#g(){let{div:e}=this,{width:n,height:s}=this.#e,[i,r]=this.pageDimensions,a=0.75;if(this.width)n=this.width*i,s=this.height*r;else if(n>0.75*i||s>0.75*r){let c=Math.min(0.75*i/n,0.75*r/s);n*=c,s*=c}this._uiManager.enableWaiting(!1);let l=this.#r=document.createElement("canvas");if(l.setAttribute("role","img"),this.addContainer(l),this.width=n/i,this.height=s/r,this.setDims(),this._initialOptions?.isCentered)this.center();else this.fixAndSetPosition();if(this._initialOptions=null,!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)e.hidden=!1;if(this.#m(),!this.#u)this.parent.addUndoableEditor(this),this.#u=!0;if(this._reportTelemetry({action:"inserted_image"}),this.#a)this.div.setAttribute("aria-description",this.#a);if(!this.annotationElementId)this._uiManager.a11yAlert(Ft._l10nAlert.stamp)}copyCanvas(e,n,s=!1){e||=224;let{width:i,height:r}=this.#e,a=new ga,l=this.#e,c=i,f=r,d=null;if(n){if(i>n||r>n){let J=Math.min(n/i,n/r);c=Math.floor(i*J),f=Math.floor(r*J)}d=document.createElement("canvas");let b=d.width=Math.ceil(c*a.sx),y=d.height=Math.ceil(f*a.sy);if(!this.#c)l=this.#f(b,y);let v=d.getContext("2d");v.filter=this._uiManager.hcmFilter;let x="white",T="#cfcfd8";if(this._uiManager.hcmFilter!=="none")T="black";else if(v7.isDarkMode)x="#8f8f9d",T="#42414d";let R=15,N=R*a.sx,U=R*a.sy,X=new OffscreenCanvas(N*2,U*2),Y=X.getContext("2d");Y.fillStyle=x,Y.fillRect(0,0,N*2,U*2),Y.fillStyle=T,Y.fillRect(0,0,N,U),Y.fillRect(N,U,N,U),v.fillStyle=v.createPattern(X,"repeat"),v.fillRect(0,0,b,y),v.drawImage(l,0,0,l.width,l.height,0,0,b,y)}let g=null;if(s){let b,y;if(a.symmetric&&l.width<e&&l.height<e)b=l.width,y=l.height;else if(l=this.#e,i>e||r>e){let T=Math.min(e/i,e/r);if(b=Math.floor(i*T),y=Math.floor(r*T),!this.#c)l=this.#f(b,y)}let x=new OffscreenCanvas(b,y).getContext("2d",{willReadFrequently:!0});x.drawImage(l,0,0,l.width,l.height,0,0,b,y),g={width:b,height:y,data:x.getImageData(0,0,b,y).data}}return{canvas:d,width:c,height:f,imageData:g}}#f(e,n){let{width:s,height:i}=this.#e,r=s,a=i,l=this.#e;while(r>2*e||a>2*n){let c=r,f=a;if(r>2*e)r=Math.ceil(r/2);if(a>2*n)a=Math.ceil(a/2);let d=new OffscreenCanvas(r,a);d.getContext("2d").drawImage(l,0,0,c,f,0,0,r,a),l=d.transferToImageBitmap()}return l}#m(){let[e,n]=this.parentDimensions,{width:s,height:i}=this,r=new ga,a=Math.ceil(s*e*r.sx),l=Math.ceil(i*n*r.sy),c=this.#r;if(!c||c.width===a&&c.height===l)return;c.width=a,c.height=l;let f=this.#c?this.#e:this.#f(a,l),d=c.getContext("2d");d.filter=this._uiManager.hcmFilter,d.drawImage(f,0,0,f.width,f.height,0,0,a,l)}#b(e){if(e){if(this.#c){let i=this._uiManager.imageManager.getSvgUrl(this.#t);if(i)return i}let n=document.createElement("canvas");return{width:n.width,height:n.height}=this.#e,n.getContext("2d").drawImage(this.#e,0,0),n.toDataURL()}if(this.#c){let[n,s]=this.pageDimensions,i=Math.round(this.width*n*hc.PDF_TO_CSS_UNITS),r=Math.round(this.height*s*hc.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(i,r);return a.getContext("2d").drawImage(this.#e,0,0,this.#e.width,this.#e.height,0,0,i,r),a.transferToImageBitmap()}return structuredClone(this.#e)}static async deserialize(e,n,s){let i=null,r=!1;if(e instanceof A2){let{data:{rect:x,rotation:T,id:R,structParent:N,popupRef:U,richText:X,contentsObj:Y,creationDate:J,modificationDate:ee},container:te,parent:{page:{pageNumber:ne}},canvas:ie}=e,se,ae;if(ie)delete e.canvas,{id:se,bitmap:ae}=s.imageManager.getFromCanvas(te.id,ie),ie.remove();else r=!0,e._hasNoCanvas=!0;let be=(await n._structTree.getAriaAttributes(`pdfjs_internal_id_${R}`))?.get("aria-label")||"";i=e={annotationType:sn.STAMP,bitmapId:se,bitmap:ae,pageIndex:ne-1,rect:x.slice(0),rotation:T,annotationElementId:R,id:R,deleted:!1,accessibilityData:{decorative:!1,altText:be},isSvg:!1,structParent:N,popupRef:U,richText:X,comment:Y?.str||null,creationDate:J,modificationDate:ee}}let a=await super.deserialize(e,n,s),{rect:l,bitmap:c,bitmapUrl:f,bitmapId:d,isSvg:g,accessibilityData:b}=e;if(r)s.addMissingCanvas(e.id,a),a.#o=!0;else if(d&&s.imageManager.isValidId(d)){if(a.#t=d,c)a.#e=c}else a.#s=f;a.#c=g;let[y,v]=a.pageDimensions;if(a.width=(l[2]-l[0])/y,a.height=(l[3]-l[1])/v,b)a.altTextData=b;if(a._initialData=i,e.comment)a.setCommentData(e);return a.#u=!!i,a}serialize(e=!1,n=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let s=Object.assign(super.serialize(e),{bitmapId:this.#t,isSvg:this.#c});if(this.addComment(s),e)return s.bitmapUrl=this.#b(!0),s.accessibilityData=this.serializeAltText(!0),s.isCopy=!0,s;let{decorative:i,altText:r}=this.serializeAltText(!1);if(!i&&r)s.accessibilityData={type:"Figure",alt:r};if(this.annotationElementId){let l=this.#w(s);if(l.isSame)return null;if(l.isSameAltText)delete s.accessibilityData;else s.accessibilityData.structParent=this._initialData.structParent??-1;return s.id=this.annotationElementId,delete s.bitmapId,s}if(n===null)return s;n.stamps||=new Map;let a=this.#c?(s.rect[2]-s.rect[0])*(s.rect[3]-s.rect[1]):null;if(!n.stamps.has(this.#t))n.stamps.set(this.#t,{area:a,serialized:s}),s.bitmap=this.#b(!1);else if(this.#c){let l=n.stamps.get(this.#t);if(a>l.area)l.area=a,l.serialized.bitmap.close(),l.serialized.bitmap=this.#b(!1)}return s}#w(e){let{pageIndex:n,accessibilityData:{altText:s}}=this._initialData,i=e.pageIndex===n,r=(e.accessibilityData?.alt||"")===s;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&i&&r,isSameAltText:r}}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;return e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class Io{#e;#t=!1;#n=null;#s=null;#i=null;#a=new Map;#r=!1;#o=!1;#l=!1;#c=null;#u=null;#h=null;#d=null;#p=null;#g=-1;#f;static _initialized=!1;static#m=new Map([pi,I2,KS,da,Qa].map((e)=>[e._editorType,e]));constructor({uiManager:e,pageIndex:n,div:s,structTreeLayer:i,accessibilityManager:r,annotationLayer:a,drawLayer:l,textLayer:c,viewport:f,l10n:d}){let g=[...Io.#m.values()];if(!Io._initialized){Io._initialized=!0;for(let b of g)b.initialize(d,e)}e.registerEditorTypes(g),this.#f=e,this.pageIndex=n,this.div=s,this.#e=r,this.#n=a,this.viewport=f,this.#h=c,this.drawLayer=l,this._structTree=i,this.#f.addLayer(this)}get isEmpty(){return this.#a.size===0}get isInvisible(){return this.isEmpty&&this.#f.getMode()===sn.NONE}updateToolbar(e){this.#f.updateToolbar(e)}updateMode(e=this.#f.getMode()){switch(this.#k(),e){case sn.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case sn.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case sn.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:n}=this.div;if(n.toggle("nonEditing",!1),e===sn.POPUP)n.toggle("commentEditing",!0);else{n.toggle("commentEditing",!1);for(let s of Io.#m.values())n.toggle(`${s._type}Editing`,e===s._editorType)}this.div.hidden=!1}hasTextLayer(e){return e===this.#h?.div}setEditingState(e){this.#f.setEditingState(e)}addCommands(e){this.#f.addCommands(e)}cleanUndoStack(e){this.#f.cleanUndoStack(e)}toggleDrawing(e=!1){this.div.classList.toggle("drawing",!e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){this.#n?.togglePointerEvents(e)}get#b(){return this.#a.size!==0?this.#a.values():this.#f.getEditors(this.pageIndex)}async enable(){this.#l=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#p?.abort(),this.#p=null;let e=new Set;for(let s of this.#b)if(s.enableEditing(),s.show(!0),s.annotationElementId)this.#f.removeChangedExistingAnnotation(s),e.add(s.annotationElementId);let n=this.#n;if(n)for(let s of n.getEditableAnnotations()){if(s.hide(),this.#f.isDeletedAnnotationElement(s.data.id))continue;if(e.has(s.data.id))continue;let i=await this.deserialize(s);if(!i)continue;this.addOrRebuild(i),i.enableEditing()}this.#l=!1,this.#f._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#o=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#h&&!this.#p){this.#p=new AbortController;let i=this.#f.combinedSignal(this.#p);this.#h.div.addEventListener("pointerdown",(r)=>{let{clientX:l,clientY:c,timeStamp:f}=r,d=this.#g;if(f-d>500){this.#g=f;return}this.#g=-1;let{classList:g}=this.div;g.toggle("getElements",!0);let b=document.elementsFromPoint(l,c);if(g.toggle("getElements",!1),!this.div.contains(b[0]))return;let y,v=new RegExp("^pdfjs_internal_editor_[0-9]+$");for(let T of b)if(v.test(T.id)){y=T.id;break}if(!y)return;let x=this.#a.get(y);if(x?.annotationElementId===null)li(r),x.dblclick(r)},{signal:i,capture:!0})}let e=this.#n,n=[];if(e){let i=new Map,r=new Map;for(let a of this.#b){if(a.disableEditing(),!a.annotationElementId){n.push(a);continue}if(a.serialize()!==null){i.set(a.annotationElementId,a);continue}else r.set(a.annotationElementId,a);this.getEditableAnnotation(a.annotationElementId)?.show(),a.remove()}for(let a of e.getEditableAnnotations()){let{id:l}=a.data;if(this.#f.isDeletedAnnotationElement(l)){a.updateEdited({deleted:!0});continue}let c=r.get(l);if(c){c.resetAnnotationElement(a),c.show(!1),a.show();continue}if(c=i.get(l),c){if(this.#f.addChangedExistingAnnotation(c),c.renderAnnotationElement(a))c.show(!1)}a.show()}}if(this.#k(),this.isEmpty)this.div.hidden=!0;let{classList:s}=this.div;for(let i of Io.#m.values())s.remove(`${i._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),e?.updateFakeAnnotations(n),this.#o=!1}getEditableAnnotation(e){return this.#n?.getEditableAnnotation(e)||null}setActiveEditor(e){if(this.#f.getActive()===e)return;this.#f.setActiveEditor(e)}enableTextSelection(){if(this.div.tabIndex=-1,this.#h?.div&&!this.#d){this.#d=new AbortController;let e=this.#f.combinedSignal(this.#d);this.#h.div.addEventListener("pointerdown",this.#w.bind(this),{signal:e}),this.#h.div.classList.add("highlighting")}}disableTextSelection(){if(this.div.tabIndex=0,this.#h?.div&&this.#d)this.#d.abort(),this.#d=null,this.#h.div.classList.remove("highlighting")}#w(e){this.#f.unselectAll();let{target:n}=e;if(n===this.#h.div||(n.getAttribute("role")==="img"||n.classList.contains("endOfContent")||n.classList.contains("textLayerImages")||n.classList.contains("textLayerImagePlaceholder"))&&this.#h.div.contains(n)){let{isMac:s}=Xn.platform;if(e.button!==0||e.ctrlKey&&s)return;this.#f.showAllEditors("highlight",!0,!0),da.startDrawing(this,this.#f,this.#f.direction==="ltr",e),e.preventDefault()}}enableClick(){if(this.#s)return;this.#s=new AbortController;let e=this.#f.combinedSignal(this.#s);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e});let n=this.pointerup.bind(this);this.div.addEventListener("pointerup",n,{signal:e}),this.div.addEventListener("pointercancel",n,{signal:e})}disableClick(){this.#s?.abort(),this.#s=null}attach(e){this.#a.set(e.id,e);let{annotationElementId:n}=e;if(n&&this.#f.isDeletedAnnotationElement(n))this.#f.removeDeletedAnnotationElement(e)}detach(e){if(this.#a.delete(e.id),this.#e?.removePointerInTextLayer(e.contentDiv),!this.#o&&e.annotationElementId)this.#f.addDeletedAnnotationElement(e)}remove(e){this.detach(e),this.#f.removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1}changeParent(e){if(e.parent===this)return;if(e.parent&&e.annotationElementId)this.#f.addDeletedAnnotationElement(e),Ft.deleteAnnotationElement(e),e.annotationElementId=null;if(this.attach(e),e.parent?.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM)e.div.remove(),this.div.append(e.div)}add(e){if(e.parent===this&&e.isAttachedToDOM)return;if(this.changeParent(e),this.#f.addEditor(e),this.attach(e),!e.isAttachedToDOM){let n=e.render();this.div.append(n),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(!this.#l),this.#f.addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}moveEditorInDOM(e){if(!e.isAttachedToDOM)return;let{activeElement:n}=document;if(e.div.contains(n)&&!this.#i)e._focusEventsAllowed=!1,this.#i=setTimeout(()=>{if(this.#i=null,!e.div.contains(document.activeElement))e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this.#f._signal}),n.focus();else e._focusEventsAllowed=!0},0);e._structTreeParentId=this.#e?.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){if(e.needsToBeRebuilt())e.parent||=this,e.rebuild(),e.show();else this.add(e)}addUndoableEditor(e){let n=()=>e._uiManager.rebuild(e),s=()=>{e.remove()};this.addCommands({cmd:n,undo:s,mustExec:!1})}getEditorByUID(e){for(let n of this.#a.values())if(n.uid===e)return n;return null}get#y(){return Io.#m.get(this.#f.getMode())}combinedSignal(e){return this.#f.combinedSignal(e)}#v(e){let n=this.#y;return n?new n.prototype.constructor(e):null}canCreateNewEmptyEditor(){return this.#y?.canCreateNewEmptyEditor()}async pasteEditor(e,n){this.updateToolbar(e),await this.#f.updateMode(e.mode);let{offsetX:s,offsetY:i}=this.#x(),r=this.#f.getId(),a=this.#v({parent:this,id:r,x:s,y:i,uiManager:this.#f,isCentered:!0,...n});if(a)this.add(a)}async deserialize(e){return await Io.#m.get(e.annotationType??e.annotationEditorType)?.deserialize(e,this,this.#f)||null}createAndAddNewEditor(e,n,s={}){let i=this.#f.getId(),r=this.#v({parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:this.#f,isCentered:n,...s});if(r)this.add(r);return r}get boundingClientRect(){return this.div.getBoundingClientRect()}#x(){let{x:e,y:n,width:s,height:i}=this.boundingClientRect,r=Math.max(0,e),a=Math.max(0,n),l=Math.min(window.innerWidth,e+s),c=Math.min(window.innerHeight,n+i),f=(r+l)/2-e,d=(a+c)/2-n,[g,b]=this.viewport.rotation%180===0?[f,d]:[d,f];return{offsetX:g,offsetY:b}}addNewEditor(e={}){this.createAndAddNewEditor(this.#x(),!0,e)}setSelected(e){this.#f.setSelected(e)}toggleSelected(e){this.#f.toggleSelected(e)}unselect(e){this.#f.unselect(e)}pointerup(e){let{isMac:n}=Xn.platform;if(e.button!==0||e.ctrlKey&&n)return;if(e.target!==this.div)return;if(!this.#r)return;if(this.#r=!1,this.#y?.isDrawer&&this.#y.supportMultipleDrawings)return;if(!this.#t){this.#t=!0;return}let s=this.#f.getMode();if(s===sn.STAMP||s===sn.POPUP||s===sn.SIGNATURE){this.#f.unselectAll();return}this.createAndAddNewEditor(e,!1)}pointerdown(e){if(this.#f.getMode()===sn.HIGHLIGHT)this.enableTextSelection();if(this.#r){this.#r=!1;return}let{isMac:n}=Xn.platform;if(e.button!==0||e.ctrlKey&&n)return;if(e.target!==this.div)return;if(this.#r=!0,this.#y?.isDrawer){this.startDrawingSession(e);return}let s=this.#f.getActive();this.#t=!s||s.isEmpty()}startDrawingSession(e){if(this.div.focus({preventScroll:!0}),this.#c){this.#y.startDrawing(this,this.#f,!1,e);return}this.#f.setCurrentDrawingSession(this),this.#c=new AbortController;let n=this.#f.combinedSignal(this.#c);this.div.addEventListener("blur",({relatedTarget:s})=>{if(s&&!this.div.contains(s))this.#u=null,this.commitOrRemove()},{signal:n}),this.#y.startDrawing(this,this.#f,!1,e)}pause(e){if(e){let{activeElement:n}=document;if(this.div.contains(n))this.#u=n;return}if(this.#u)setTimeout(()=>{this.#u?.focus(),this.#u=null},0)}endDrawingSession(e=!1){if(!this.#c)return null;return this.#f.setCurrentDrawingSession(null),this.#c.abort(),this.#c=null,this.#u=null,this.#y.endDrawing(e)}findNewParent(e,n,s){let i=this.#f.findParent(n,s);if(i===null||i===this)return!1;return i.changeParent(e),!0}commitOrRemove(){if(this.#c)return this.endDrawingSession(),!0;return!1}onScaleChanging(){if(!this.#c)return;this.#y.onScaleChangingWhenDrawing(this)}destroy(){if(this.commitOrRemove(),this.#f.getActive()?.parent===this)this.#f.commitOrRemove(),this.#f.setActiveEditor(null);if(this.#i)clearTimeout(this.#i),this.#i=null;for(let e of this.#a.values())this.#e?.removePointerInTextLayer(e.contentDiv),e.setParent(null),e.isAttachedToDOM=!1,e.div.remove();this.div=null,this.#a.clear(),this.#f.removeLayer(this)}#k(){for(let e of this.#a.values())if(e.isEmpty())e.remove()}async render({viewport:e}){this.viewport=e,uc(this.div,e);for(let n of this.#f.getEditors(this.pageIndex))this.add(n),n.rebuild();await this.#f.findClonesForPage(this),this.div.hidden=this.isEmpty,this.updateMode()}update({viewport:e}){this.#f.commitOrRemove(),this.#k();let n=this.viewport.rotation,s=e.rotation;if(this.viewport=e,uc(this.div,{rotation:s}),n!==s)for(let i of this.#a.values())i.rotate(s)}get pageDimensions(){let{pageWidth:e,pageHeight:n}=this.viewport.rawDims;return[e,n]}get scale(){return this.#f.viewParameters.realScale}}function LM(e,n){if(e===n)return 0;return e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function nm(e){if(!e)return null;if(e.nodeType===Node.ELEMENT_NODE)return e.closest(".textLayer");return e.parentElement?.closest(".textLayer")||null}function OM(e,n,s,i){if(e===s)return n<=i;let r=e.compareDocumentPosition(s);if(r&Node.DOCUMENT_POSITION_FOLLOWING)return!0;if(r&Node.DOCUMENT_POSITION_PRECEDING)return!1;return null}function p7(e,n,s){if(e.nodeType!==Node.ELEMENT_NODE||!e.classList.contains("textLayer")||n!==e.childNodes.length)return{container:e,offset:n};let i=e.lastChild;if(i?.nodeType===Node.ELEMENT_NODE&&i.classList.contains("endOfContent"))i=i.previousSibling;if(!i||!s.contains(i))return null;if(i.nodeType===Node.TEXT_NODE)return{container:i,offset:i.textContent.length};return{container:i,offset:i.childNodes.length}}class Zt{#e=null;#t=new Map;#n=null;#s=null;#i=null;#a=null;#r=new Map;static#o=0;static#l=0;static#c=null;static#u=new Set;static#h=!1;static#d=new Set;static#p=new WeakMap;constructor({filterFactory:e=null,pageColors:n=null,pageIndex:s,textLayer:i=null}){if(this.pageIndex=s,this.#s=e,this.#i=n,i){let r=Zt.#p.get(i);if(r?.selectionDiv)r.selectionDiv.remove(),Zt.#u.delete(r.selectionDiv);if(Zt.#p.set(i,{drawLayer:this}),Zt.#d.add(i),this.#n=i,this.#a=new MutationObserver((a)=>{if(!this.#e||!this.#n?.isConnected||!Zt.#f())return;for(let{addedNodes:l}of a)for(let c of l)if(c.nodeType===Node.ELEMENT_NODE&&c.classList.contains("endOfContent")){Zt.#b();return}}),this.#a.observe(i,{childList:!0}),Zt.#c===null){Zt.#c=new AbortController;let{signal:a}=Zt.#c;document.addEventListener("selectionchange",Zt.#b.bind(Zt),{signal:a}),document.addEventListener("pointerdown",()=>{Zt.#h=!0},{signal:a}),document.addEventListener("pointerup",()=>{Zt.#h=!1},{signal:a}),window.addEventListener("blur",()=>{Zt.#h=!1},{signal:a})}}}setParent(e){if(!this.#e){if(this.#e=e,this.#n?.isConnected&&Zt.#f())Zt.#b();return}if(this.#e!==e){if(this.#t.size>0)for(let n of this.#t.values())n.remove(),e.append(n);this.#e=e}}static#g(e){let n=this.#p.get(e);if(!n?.selectionDiv)return;n.selectionDiv.remove(),this.#u.delete(n.selectionDiv),n.selectionDiv=null,n.path=null}static#f(){let e=document.getSelection();return!!e&&!e.isCollapsed}static#m(){return this.#d.keys().filter((e)=>e.isConnected).toArray().sort(LM)}static#b(){let e=document.getSelection();if(!e||e.isCollapsed){for(let a of this.#u)a.remove();this.#u.clear();return}let n=new WeakMap,s=this.#m(),i=[];for(let a=0,l=e.rangeCount;a<l;a++){let c=e.getRangeAt(a);if(c.collapsed)continue;let{startContainer:f,startOffset:d,endContainer:g,endOffset:b}=c,y=nm(f),v=nm(g),x=y===null,T=v===null;if(this.#h&&x!==T)return;if(e.rangeCount===1){let{anchorNode:U,anchorOffset:X,focusNode:Y,focusOffset:J}=e,ee=nm(U),te=nm(Y),ne=OM(U,X,Y,J);if(ee&&te&&ne!==null)if(ne)f=U,d=X,y=ee,g=Y,b=J,v=te;else f=Y,d=J,y=te,g=U,b=X,v=ee}let R=s.filter((U)=>c.intersectsNode(U));if(R.length===0)continue;let N=!1;if(!y)y=R[0],f=y,d=0,N=!0;if(!v)v=R.at(-1),g=v,b=v.childNodes.length,N=!0;if(g.nodeType===Node.ELEMENT_NODE){if(g.classList.contains("endOfContent")){let U=g.previousSibling;if(!U)continue;g=U,b=U.nodeType===Node.TEXT_NODE?U.textContent.length:U.childNodes.length}else if(g.classList.contains("textLayer")&&g.childNodes.length===b){let U=p7(g,b,v);if(!U)continue;g=U.container,b=U.offset}}if(f.nodeType===Node.ELEMENT_NODE){let U=p7(f,d,y);if(!U)continue;f=U.container,d=U.offset}if(y===v&&!N&&R.includes(y)){i.push([c,y]);continue}for(let U of R){let X=U.firstChild;if(!X)continue;let Y=document.createRange();if(U===y)Y.setStart(f,d);else Y.setStartBefore(X);if(U===v)Y.setEnd(g,b);else{let J=U.lastChild;if(!J)continue;if(J.nodeType===Node.ELEMENT_NODE&&J.classList.contains("endOfContent")){let ee=J.previousSibling;if(!ee)continue;Y.setEndAfter(ee)}else Y.setEndAfter(J)}if(!Y.collapsed)i.push([Y,U])}}let r=new Set(i.map((a)=>a[1]));for(let a of this.#d)if(!r.has(a))this.#g(a);for(let[a,l]of i){let c=Zt.#p.get(l);if(!c)continue;let f=n.get(l);if(!f){let v=l.getBoundingClientRect();f=(x,T,R,N)=>({x:(x-v.x)/v.width,y:(T-v.y)/v.height,width:R/v.width,height:N/v.height}),n.set(l,f)}let d=[];for(let{x:v,y:x,width:T,height:R}of a.getClientRects()){if(T===0||R===0)continue;if({x:v,y:x,width:T,height:R}=f(v,x,T,R),T===1&&R===1)continue;d.push(`M${v} ${x} h${T} v${R} h-${T} Z`)}if(d.length===0)continue;let{drawLayer:g,selectionDiv:b,path:y}=c;if(!b){let v=`clip_selection_${Zt.#l++}`;b=document.createElement("div"),b.className="selection",b.style.clipPath=`url(#${v})`;let x=g.#s?.createSelectionStyle(g.#i);if(x)for(let[N,U]of Object.entries(x))b.style.setProperty(N,U);let T=Zt._svgFactory.create(1,1,!0);T.setAttribute("aria-hidden","true"),T.setAttribute("width","100%"),T.setAttribute("height","100%");let R=Zt._svgFactory.createElement("clipPath");R.setAttribute("id",v),R.setAttribute("clipPathUnits","objectBoundingBox"),y=Zt._svgFactory.createElement("path"),R.append(y),T.append(R),b.append(T),c.path=y,c.selectionDiv=b}if(g.#e&&b.parentNode!==g.#e)g.#e.append(b),this.#u.add(b);y.setAttribute("d",d.join(" "))}}static get _svgFactory(){return Pt(this,"_svgFactory",new pu)}static#w(e,[n,s,i,r]){let{style:a}=e;a.top=`${100*s}%`,a.left=`${100*n}%`,a.width=`${100*i}%`,a.height=`${100*r}%`}#y(){let e=Zt._svgFactory.create(1,1,!0);return this.#e.append(e),e.setAttribute("aria-hidden","true"),e}#v(e,n){let s=Zt._svgFactory.createElement("clipPath");e.append(s);let i=`clip_${n}`;s.setAttribute("id",i),s.setAttribute("clipPathUnits","objectBoundingBox");let r=Zt._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${n}`),r.classList.add("clip"),i}#x(e,n){for(let[s,i]of Object.entries(n))if(i===null)e.removeAttribute(s);else e.setAttribute(s,i)}draw(e,n=!1,s=!1){let i=Zt.#o++,r=this.#y(),a=Zt._svgFactory.createElement("defs");r.append(a);let l=Zt._svgFactory.createElement("path");a.append(l);let c=`path_${i}`;if(l.setAttribute("id",c),l.setAttribute("vector-effect","non-scaling-stroke"),n)this.#r.set(i,l);let f=s?this.#v(a,c):null,d=Zt._svgFactory.createElement("use");return r.append(d),d.setAttribute("href",`#${c}`),this.updateProperties(r,e),this.#t.set(i,r),{id:i,clipPathId:`url(#${f})`}}drawOutline(e,n){let s=Zt.#o++,i=this.#y(),r=Zt._svgFactory.createElement("defs");i.append(r);let a=Zt._svgFactory.createElement("path");r.append(a);let l=`path_${s}`;a.setAttribute("id",l),a.setAttribute("vector-effect","non-scaling-stroke");let c;if(n){let g=Zt._svgFactory.createElement("mask");r.append(g),c=`mask_${s}`,g.setAttribute("id",c),g.setAttribute("maskUnits","objectBoundingBox");let b=Zt._svgFactory.createElement("rect");g.append(b),b.setAttribute("width","1"),b.setAttribute("height","1"),b.setAttribute("fill","white");let y=Zt._svgFactory.createElement("use");g.append(y),y.setAttribute("href",`#${l}`),y.setAttribute("stroke","none"),y.setAttribute("fill","black"),y.setAttribute("fill-rule","nonzero"),y.classList.add("mask")}let f=Zt._svgFactory.createElement("use");if(i.append(f),f.setAttribute("href",`#${l}`),c)f.setAttribute("mask",`url(#${c})`);let d=f.cloneNode();return i.append(d),f.classList.add("mainOutline"),d.classList.add("secondaryOutline"),this.updateProperties(i,e),this.#t.set(s,i),s}finalizeDraw(e,n){this.#r.delete(e),this.updateProperties(e,n)}updateProperties(e,n){if(!n)return;let{root:s,bbox:i,rootClass:r,path:a}=n,l=typeof e==="number"?this.#t.get(e):e;if(!l)return;if(s)this.#x(l,s);if(i)Zt.#w(l,i);if(r){let{classList:c}=l;for(let[f,d]of Object.entries(r))c.toggle(f,d)}if(a){let f=l.firstElementChild.firstElementChild;this.#x(f,a)}}updateParent(e,n){if(n===this)return;let s=this.#t.get(e);if(!s)return;n.#e.append(s),this.#t.delete(e),n.#t.set(e,s)}remove(e){if(this.#r.delete(e),this.#e===null)return;this.#t.get(e).remove(),this.#t.delete(e)}destroy(){this.#e=null;for(let e of this.#t.values())e.remove();if(this.#t.clear(),this.#r.clear(),this.#a?.disconnect(),this.#a=null,this.#n){if(Zt.#p.get(this.#n)?.drawLayer===this){if(Zt.#g(this.#n),Zt.#p.delete(this.#n),Zt.#d.delete(this.#n),Zt.#d.size===0)Zt.#c?.abort(),Zt.#c=null,Zt.#h=!1}this.#n=null}}}function sm(e){return`${(e*100).toFixed(2)}%`}class wm{#e=[];#t=new Map;#n=null;#s=0;#i=0;#a=0;static#r=null;constructor(e,n,s,i){this.#s=e,this.#e=n,this.#i=s.rawDims.pageWidth,this.#a=s.rawDims.pageHeight,this.#n=i}render(){let e=document.createElement("div");e.className="textLayerImages";for(let n=0;n<this.#e.length;n+=6){let s=this.#o(this.#e.subarray(n,n+6));if(s)e.append(s)}return e.addEventListener("contextmenu",(n)=>{if(!(n.target instanceof HTMLCanvasElement))return;let s=n.target,i=this.#t.get(s);if(!i)return;let r=wm.#r?.deref();if(r===s)return;if(r)r.width=0,r.height=0;wm.#r=new WeakRef(s);let{inverseTransform:a,x1:l,y1:c,width:f,height:d}=i,g=this.#n(),b=Math.ceil(l*g.width),y=Math.ceil(c*g.height),v=Math.floor((l+f/this.#i)*g.width),x=Math.floor((c+d/this.#a)*g.height);s.width=v-b,s.height=x-y;let T=s.getContext("2d");T.setTransform(...a),T.translate(-b,-y),T.drawImage(g,0,0)}),e}#o([e,n,s,i,r,a]){let l=Math.hypot((r-e)*this.#i,(a-n)*this.#a),c=Math.hypot((s-e)*this.#i,(i-n)*this.#a);if(l<this.#s||c<this.#s)return null;let f=[(r-e)*this.#i/l,(a-n)*this.#a/l,(s-e)*this.#i/c,(i-n)*this.#a/c,0,0],d=ft.inverseTransform(f),g=document.createElement("canvas");return g.className="textLayerImagePlaceholder",g.width=0,g.height=0,Object.assign(g.style,{opacity:0,position:"absolute",left:sm(e),top:sm(n),width:sm(l/this.#i),height:sm(c/this.#a),transformOrigin:"0% 0%",transform:`matrix(${f.join(",")})`}),this.#t.set(g,{inverseTransform:d,width:l,height:c,x1:e,y1:n}),g}}globalThis._pdfjsTestingUtils={HighlightOutliner:pm};globalThis.pdfjsLib={AbortException:Mo,AnnotationEditorLayer:Io,AnnotationEditorParamsType:An,AnnotationEditorType:sn,AnnotationEditorUIManager:xl,AnnotationLayer:E2,AnnotationMode:kl,AnnotationType:Os,applyOpacity:nM,build:qM,ColorPicker:Xr,createValidAbsoluteUrl:g7,CSSConstants:S7,DOMSVGFactory:pu,DrawLayer:Zt,FeatureTest:Xn,fetchData:a2,findContrastColor:sM,getDocument:b2,getFilenameFromUrl:Zq,getPdfFilenameFromUrl:eM,getRGB:Su,getRGBA:vu,getUuid:y7,GlobalWorkerOptions:qo,ImageKind:im,InvalidPDFException:cm,isDataScheme:Am,isPdfFile:o2,isValidExplicitDest:fM,makeArr:Af,makeMap:i2,makeObj:Wb,makeSet:Yq,MathClamp:gs,noContextMenu:ma,normalizeUnicode:Wq,OPS:Ja,OutputScale:ga,PasswordException:lm,PasswordResponses:Uq,PDFDataRangeTransport:y2,PDFDateString:fm,PDFWorker:Ai,PermissionFlag:Hq,PixelsPerInch:hc,RenderingCancelledException:xm,renderRichText:k7,ResponseException:au,setLayerDimensions:uc,shadow:Pt,SignatureExtractor:oc,stopEvent:li,SupportedImageMimeTypes:Yb,TextLayer:Hi,TextLayerImages:wm,TouchManager:f2,updateUrlHash:b7,Util:ft,VerbosityLevel:ym,version:DM,XfaLayer:r2};S();function YS({currentPage:e,totalPages:n,onPageChange:s,zoom:i,onZoomIn:r,onZoomOut:a,onFit:l,onDownload:c,canDownload:f,allowDownload:d=!0}){return o("div",{className:"relative px-2 py-2 sm:px-4 sm:py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-between gap-1.5 sm:gap-2 transition-colors duration-200 shrink-0",children:[o("div",{className:"flex items-center gap-1 sm:gap-1.5 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5 shrink-0",children:[t("button",{onClick:()=>s(Math.max(1,e-1)),disabled:e<=1,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors disabled:opacity-40",title:bp(),children:t(nn,{size:16})}),o("span",{className:"px-1 sm:px-2 text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none whitespace-nowrap",children:[t("span",{className:"hidden sm:inline",children:uE({current:e,total:n||1})}),o("span",{className:"inline sm:hidden",children:[e,"/",n||1]})]}),t("button",{onClick:()=>s(Math.min(n,e+1)),disabled:e>=n,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors disabled:opacity-40",title:uS(),children:t(Et,{size:16})})]}),o("div",{className:"flex items-center gap-1 sm:gap-2 shrink-0",children:[o("div",{className:"flex items-center gap-0.5 sm:gap-1 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5",children:[t("button",{onClick:a,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:em(),children:t(To,{size:16})}),o("span",{className:"w-10 sm:w-12 text-center text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none",children:[Math.round(i*100),"%"]}),t("button",{onClick:r,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:Xp(),children:t(fe,{size:16})})]}),t("button",{onClick:l,className:"text-xs font-medium px-2 py-1 sm:px-3 sm:py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent",children:Wf()}),d&&o("button",{onClick:c,disabled:!f,className:"flex items-center gap-1 text-xs font-medium px-2 py-1 sm:px-3 sm:py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50",title:hb(),children:[t(ht,{size:14}),t("span",{className:"hidden sm:inline",children:gr()})]})]})]})}var Ef="./pdf.worker.min-vf48er29.mjs";var BM=32000000,QS=16;if(typeof window<"u"&&qo)try{let e=typeof Ef==="string"?Ef.startsWith("/")?Ef:"/"+Ef.replace(/^\.\//,""):Ef;if(typeof e==="string")qo.workerSrc=e}catch{}var HM=F(({file:e,annotations:n,shareId:s,children:i,onPlay:r,onPause:a,onTimeUpdate:l,startTime:c,allowDownload:f},d)=>{let{isDrawing:g,currentTool:b,currentColor:y,addAnnotation:v,annotations:x}=Lr(),[T,R]=u(null),[N,U]=u(()=>c&&!isNaN(c)?Math.max(1,Math.round(c)):1),[X,Y]=u(1),[J,ee]=u(null),[te,ne]=u({width:800,height:1000}),[ie,se]=u(2),ae=_(null),[be,ye]=u(!0),[ue,he]=u(null);Vr(d,()=>({play:()=>{r?.()},pause:()=>{a?.()},seekTo:(Xe)=>{if(Xe&&!isNaN(Xe)){let Ze=Math.max(1,Math.min(X,Math.round(Xe)));U(Ze)}}}),[X,r,a]),m(()=>{l?.(N)},[N,l]),m(()=>{let Xe=(Ze)=>{let wt=document.activeElement;if(wt&&(wt.tagName==="INPUT"||wt.tagName==="TEXTAREA"||wt instanceof HTMLElement&&wt.isContentEditable))return;if(Ze.key==="ArrowRight"||Ze.key==="ArrowDown"||Ze.key==="PageDown")Ze.preventDefault(),U((mt)=>{let Nt=Math.min(X,mt+1);if(Nt!==mt)r?.();return Nt});else if(Ze.key==="ArrowLeft"||Ze.key==="ArrowUp"||Ze.key==="PageUp")Ze.preventDefault(),U((mt)=>{let Nt=Math.max(1,mt-1);if(Nt!==mt)r?.();return Nt});else if(Ze.key==="Home")Ze.preventDefault(),U(1),r?.();else if(Ze.key==="End")Ze.preventDefault(),U(X),r?.()};return window.addEventListener("keydown",Xe),()=>{window.removeEventListener("keydown",Xe)}},[X,r]);let[oe,Se]=u({width:0,height:0}),[we,qe]=u(1),[De,Fe]=u({x:0,y:0}),[Be,We]=u(!1);m(()=>{We(!1)},[e.id]);let st=_(null);m(()=>{let Xe=st.current;if(!Xe)return;let Ze=new ResizeObserver((wt)=>{let mt=wt[0];if(mt)Se({width:mt.contentRect.width,height:mt.contentRect.height})});return Ze.observe(Xe),()=>Ze.disconnect()},[]);let Je=e.media?.pdfTranscode?.url;m(()=>{if(!Je){he("No PDF URL available"),ye(!1);return}let Xe=!0;ye(!0),he(null);let Ze=b2({url:Je});return Ze.promise.then((wt)=>{if(!Xe)return;R(wt),Y(wt.numPages),U((mt)=>c&&!isNaN(c)?Math.max(1,Math.min(wt.numPages,Math.round(c))):mt),ye(!1)}).catch((wt)=>{if(!Xe)return;console.error("Failed to load PDF:",wt),he("Failed to load PDF document"),ye(!1)}),()=>{Xe=!1,Ze.destroy().catch(()=>{})}},[Je,c]),m(()=>{if(!T)return;let Xe=!0,Ze=null;return T.getPage(N).then((wt)=>{if(!Xe)return;let mt=wt.getViewport({scale:1}),Nt=wt.getViewport({scale:ie}),an=document.createElement("canvas");an.width=Nt.width,an.height=Nt.height;let mn=an.getContext("2d");if(!mn)return;if(Ze=wt.render({canvasContext:mn,viewport:Nt,canvas:an}),!Xe){Ze.cancel();return}Ze.promise.then(()=>{if(!Xe)return;ee(an),ne({width:mt.width,height:mt.height})}).catch((Yt)=>{if(!Xe||Yt&&typeof Yt==="object"&&"name"in Yt&&Yt.name==="RenderingCancelledException")return;console.error("Failed to render page:",Yt)})}).catch((wt)=>{if(!Xe)return;console.error("Failed to get page:",wt)}),()=>{if(Xe=!1,Ze)Ze.cancel()}},[T,N,ie]),m(()=>{let Xe=window.setTimeout(()=>{let Ze=typeof window<"u"?window.devicePixelRatio||1:1,wt=te.width*te.height,mt=wt>0?Math.sqrt(BM/wt):QS,Nt=Math.min(Math.max(0.5,we*Ze),mt,QS);se(Nt)},150);return()=>window.clearTimeout(Xe)},[we,te]),m(()=>{let Xe=ae.current;if(!T||!Xe)return;let Ze=!0,wt=null;return Xe.innerHTML="",T.getPage(N).then((mt)=>{if(!Ze)return;wt=new Hi({textContentSource:mt.streamTextContent(),container:Xe,viewport:mt.getViewport({scale:1})}),wt.render().catch(()=>{})}).catch((mt)=>{if(!Ze)return;console.error("Failed to build text layer:",mt)}),()=>{Ze=!1,wt?.cancel()}},[T,N]),m(()=>{let Xe=ae.current;if(!Xe)return;Xe.style.transform=`translate(${De.x}px, ${De.y}px) scale(${we})`},[De,we]);let{width:vt,height:jt}=oe,{width:ut,height:Lt}=te,Jt=$a(vt,jt,ut,Lt);m(()=>{if(vt<=0||jt<=0||ut<=0||Lt<=0)return;if(Be)return;qe(Jt),Fe(Ur(vt,jt,ut,Lt,Jt))},[vt,jt,Jt,ut,Lt,Be]);let hn=(Xe)=>{We(!0);let Ze=ua(we,De,Xe,vt/2,jt/2);qe(Ze.zoom),Fe(Ze.pan)},Wt=()=>{We(!1),qe(Jt),Fe(Ur(vt,jt,ut,Lt,Jt))};wl({containerRef:st,zoom:we,pan:De,baseScale:Jt,onZoomChange:(Xe)=>{We(!0),qe(Xe.zoom),Fe(Xe.pan)},onPanChange:Fe});let rn=async()=>{let Xe=e.media?.original?.key;if(!Xe||!e.id)return;try{let Ze=s?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:e.id},json:{key:Xe}}):await A.api.files["download-url"].$post({json:{key:Xe,assetId:e.id}});if(!Ze.ok)return;let{url:wt}=await Ze.json(),mt=document.createElement("a");mt.href=wt,mt.download=e.name||"document.pdf",document.body.appendChild(mt),mt.click(),document.body.removeChild(mt)}catch{}},Wn=[...n||[],...x];return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[i,o("div",{ref:st,className:"flex-1 relative overflow-hidden touch-none",children:[be?t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/40 z-20",children:t("div",{className:"w-8 h-8 border-4 border-white/30 border-t-white rounded-full animate-spin"})}):ue?t("div",{className:"absolute inset-0 flex items-center justify-center text-gray-500 text-sm",children:ue}):t(Hr,{width:vt,height:jt,mediaDimensions:te,canvasElement:J,annotations:Wn,scale:we,offset:De,className:"absolute inset-0 z-0",isDrawing:g,currentTool:b,currentColor:y,onAddAnnotation:v}),t("div",{ref:ae,className:"pdf-text-layer",onMouseDown:(Xe)=>{if(Xe.target instanceof HTMLElement&&Xe.target.tagName!=="SPAN")window.getSelection()?.removeAllRanges()},style:{transform:`translate(${De.x}px, ${De.y}px) scale(${we})`,transformOrigin:"0 0",pointerEvents:g?"none":"auto"}})]})]}),t(YS,{currentPage:N,totalPages:X,onPageChange:(Xe)=>{U(Xe),r?.()},zoom:we,onZoomIn:()=>hn(1.2),onZoomOut:()=>hn(0.8),onFit:Wt,onDownload:rn,canDownload:!!e.media?.original?.key,allowDownload:f})]})}),JS=HM;var ZS={id:"pdf",name:"PDF",match:(e)=>e.proxyType==="pdf",viewer:JS,commentsConfig:{hasTimestamp:!0,hasAnnotations:!0,formatTimestamp:(e)=>`P${Math.round(e)}`}};S();S();var _i=15,UM=20,ek=UM/_i,tk=240,nk=({currentDegree:e,onChange:n,className:s,disabled:i=!1})=>{let r=_(null),[a,l]=u(!1),[c,f]=u(null),d=_({clientX:0,startDegree:0}),g=(Math.round(e/_i)*_i%360+360)%360,b=a&&c!==null?c:g,y=(Math.round(b/_i)*_i%360+360)%360,v=P((J)=>{if(i)return;let ee=((g+J)%360+360)%360;n(ee)},[i,g,n]),x=P((J)=>{if(i||J.button!==0)return;J.preventDefault(),J.stopPropagation();let ee=r.current;if(!ee)return;ee.setPointerCapture(J.pointerId),d.current={clientX:J.clientX,startDegree:e},l(!0),f(e)},[i,e]),T=P((J)=>{if(!a||i)return;let ee=J.clientX-d.current.clientX,te=d.current.startDegree-ee/ek,ne=(Math.round(te/_i)*_i%360+360)%360;f(te),n(ne)},[a,i,n]),R=P((J)=>{if(!a)return;if(l(!1),c!==null){let ee=(Math.round(c/_i)*_i%360+360)%360;n(ee)}f(null);try{r.current?.releasePointerCapture(J.pointerId)}catch{}},[a,c,n]),N=P((J)=>{if(i)return;if(J.key==="ArrowLeft"||J.key==="ArrowDown")J.preventDefault(),J.stopPropagation(),v(-_i);else if(J.key==="ArrowRight"||J.key==="ArrowUp")J.preventDefault(),J.stopPropagation(),v(_i);else if(J.key==="Home")J.preventDefault(),J.stopPropagation(),n(0);else if(J.key==="End")J.preventDefault(),J.stopPropagation(),n(345)},[i,v,n]),U=Math.floor((b-tk)/_i),X=Math.ceil((b+tk)/_i),Y=[];for(let J=U;J<=X;J++)Y.push(J*_i);return o("div",{className:E("relative select-none flex items-center gap-1 sm:gap-2.5 w-full min-w-0 sm:min-w-[140px]",i&&"opacity-50",s),children:[t("button",{type:"button",onClick:()=>v(-_i),disabled:i,title:"Decrease 15°","aria-label":"Decrease 15°","data-testid":"ruler-step-minus",className:"p-0.5 sm:p-1 rounded text-muted-foreground hover:text-foreground transition-colors shrink-0 disabled:opacity-40 disabled:cursor-not-allowed focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:t(To,{className:"w-3.5 h-3.5"})}),o("div",{className:"relative flex-1 min-w-0",children:[a&&o("div",{"data-testid":"ruler-slider-tooltip",className:"absolute -top-7 left-1/2 -translate-x-1/2 px-1.5 py-0.5 rounded bg-primary text-primary-foreground text-[10px] font-mono font-medium shadow-md whitespace-nowrap pointer-events-none z-30 animate-in fade-in zoom-in-95 duration-100",children:[y,"°"]}),o("div",{ref:r,role:"slider","aria-label":"Turntable angle","aria-valuemin":0,"aria-valuemax":360,"aria-valuenow":y,"aria-valuetext":`${y}°`,tabIndex:i?-1:0,onPointerDown:x,onPointerMove:T,onPointerUp:R,onPointerCancel:R,onKeyDown:N,className:E("relative w-full h-7 rounded-full bg-muted border border-border overflow-hidden cursor-ew-resize touch-none select-none group focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",i&&"cursor-not-allowed"),children:[t("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:Y.map((J)=>{let ee=(J-b)*ek,te=(J%360+360)%360,ne=te%60===0;return t("div",{"data-testid":`tick-${te}`,"data-major":ne,className:E("absolute top-1/2 -translate-y-1/2 -translate-x-1/2 transition-colors pointer-events-none rounded-[0.5px]",ne?"w-0.5 h-2.5 bg-foreground/75":"w-px h-1.5 bg-muted-foreground/45 group-hover:bg-muted-foreground/65"),style:{left:`calc(50% + ${ee}px)`}},`tick-${J}`)})}),t("div",{"data-testid":"ruler-center-indicator",className:"absolute inset-y-0 left-1/2 -translate-x-1/2 w-0.5 flex items-center justify-center pointer-events-none z-20",children:t("div",{className:"w-full h-full bg-[#ea3349] rounded-full"})})]})]}),t("button",{type:"button",onClick:()=>v(_i),disabled:i,title:"Increase 15°","aria-label":"Increase 15°","data-testid":"ruler-step-plus",className:"p-0.5 sm:p-1 rounded text-muted-foreground hover:text-foreground transition-colors shrink-0 disabled:opacity-40 disabled:cursor-not-allowed focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:t(fe,{className:"w-3.5 h-3.5"})})]})};var sk=({isPlaying:e,currentDegree:n,zoom:s,isFullScreen:i,allowDownload:r=!0,onDownload:a,togglePlay:l,onSeekDegree:c,onZoomChange:f,onZoomReset:d,toggleFullScreen:g})=>t("div",{className:E("transition-all duration-300 ease-in-out z-20 text-foreground",i?"absolute bottom-0 left-0 right-0 px-2 py-2 sm:px-4 sm:py-2.5 bg-card/90 backdrop-blur-md border-t border-border":"relative w-full bg-card border-t border-border px-2 py-2 sm:px-4 sm:py-2.5 z-10 transition-colors duration-200"),children:o("div",{className:"flex items-center justify-between text-foreground gap-1.5 sm:gap-3 md:gap-4",children:[o("div",{className:"flex items-center gap-1.5 sm:gap-3 justify-start min-w-0 flex-1",children:[t("button",{type:"button",onClick:l,"aria-label":e?"Pause":"Play",className:"hover:text-primary transition-colors shrink-0 p-0.5 sm:p-1","data-testid":"play-toggle","data-playing":e,children:e?t($c,{className:"w-4 h-4 sm:w-5 sm:h-5 fill-current"}):t(Ta,{className:"w-4 h-4 sm:w-5 sm:h-5 fill-current"})}),t("div",{className:"flex items-center text-xs sm:text-sm font-medium tabular-nums select-none shrink-0","data-testid":"degree-readout",children:o("span",{className:"text-muted-foreground font-mono",children:[n,"° / 360°"]})})]}),t("div",{className:"flex items-center w-full max-w-[130px] sm:max-w-[220px] md:max-w-[320px] justify-center mx-auto shrink min-w-0",children:t(nk,{currentDegree:n,onChange:c,className:"w-full"})}),o("div",{className:"flex items-center gap-1 sm:gap-2 justify-end min-w-0 flex-1",children:[o("div",{className:"flex items-center gap-0.5 sm:gap-1 bg-muted/60 rounded-lg p-0.5 border border-border/40 shrink-0",children:[t("button",{type:"button",onClick:()=>f(Math.max(0.2,s-0.2)),"aria-label":"Zoom out",className:"p-1 rounded hover:bg-background/80 text-muted-foreground hover:text-foreground transition-colors",children:t(To,{className:"w-3.5 h-3.5"})}),o("button",{type:"button",onClick:d,"aria-label":"Reset zoom",className:"px-1 sm:px-1.5 py-0.5 text-[10px] sm:text-[11px] font-mono text-muted-foreground hover:text-foreground transition-colors",children:[Math.round(s*100),"%"]}),t("button",{type:"button",onClick:()=>f(Math.min(5,s+0.2)),"aria-label":"Zoom in",className:"p-1 rounded hover:bg-background/80 text-muted-foreground hover:text-foreground transition-colors",children:t(fe,{className:"w-3.5 h-3.5"})})]}),r&&a&&t("button",{type:"button",onClick:a,title:"Download asset","aria-label":"Download asset",className:"p-1 sm:p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors shrink-0",children:t(ht,{className:"w-4 h-4"})}),t("button",{type:"button",onClick:g,title:i?"Exit fullscreen":"Fullscreen","aria-label":i?"Exit fullscreen":"Fullscreen",className:"p-1 sm:p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors shrink-0",children:i?t(xs,{className:"w-4 h-4"}):t(ws,{className:"w-4 h-4"})})]})]})});var Cf=24;var ik=0.16666666666666666;function rk(e){let n=(e%24+24)%24;if(n===23)return n*0.16666666666666666+0.041666666666666664;return(n+0.5)*0.16666666666666666}function jf(e){return Math.min(Math.max(0,Math.floor(e*6+0.0001)),23)}function Eu(e){return jf(e)*15%360}var ak=F(({file:e,onPlay:n,onPause:s,onTimeUpdate:i,onSeek:r,annotations:a,startTime:l,shareId:c,children:f,allowDownload:d=!0,autoPlay:g=!1},b)=>{let y=_(null),v=_(null),x=_(null),[T,R]=u({width:0,height:0}),[N,U]=u(!1),[X,Y]=u(l||0),[J,ee]=u(!0),[te,ne]=u(null),[ie,se]=u(!1),[ae,be]=u(1),[ye,ue]=u({x:0,y:0}),[he,oe]=u(!1);m(()=>{oe(!1)},[e.id]);let[Se,we]=u(!1),qe=_({clientX:0,frame:0}),De=_(!1),Fe=e.media?.videoTranscodes?.[0]?.url||e.media?.videoPreview?.url||"",Be=async()=>{let xt=e.media?.original?.key;if(!xt||!e.id)return;try{let it=c?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:c,fileId:e.id},json:{key:xt}}):await A.api.files["download-url"].$post({json:{key:xt,assetId:e.id}});if(!it.ok)return;let{url:on}=await it.json(),Bt=document.createElement("a");Bt.href=on,Bt.download=e.name||"model.glb",document.body.appendChild(Bt),Bt.click(),document.body.removeChild(Bt)}catch{}},{isDrawing:We,currentTool:st,currentColor:Je,addAnnotation:vt,annotations:jt}=Lr(),ut=[...a||[],...jt],Lt=We,Jt=e.media?.metadata?.originalWidth||1080,hn=e.media?.metadata?.originalHeight||1080,Wt=$a(T.width,T.height,Jt,hn);m(()=>{if(!x.current)return;let xt=new ResizeObserver((it)=>{let on=it[0];if(on)R({width:on.contentRect.width,height:on.contentRect.height})});return xt.observe(x.current),()=>xt.disconnect()},[]),m(()=>{if(T.width>0&&T.height>0&&!he)be(Wt),ue(Ur(T.width,T.height,Jt,hn,Wt))},[T,Jt,hn,Wt,he]),wl({containerRef:x,zoom:ae,pan:ye,baseScale:Wt,onZoomChange:(xt)=>{oe(!0),be(xt.zoom),ue(xt.pan)},onPanChange:ue});let rn=Eu(X),Wn=_(i);m(()=>{Wn.current=i},[i]);let Xe=_(r);m(()=>{Xe.current=r},[r]),m(()=>{if(!N)return;let xt=v.current;if(!xt)return;let it=null,on=null,Bt=!1,qn=xt,as=typeof qn.requestVideoFrameCallback==="function",Rs=(Gs)=>{if(!Se)Y(Gs),Wn.current?.(Gs)};if(as){let Gs=(ba,Ii)=>{if(Bt)return;Rs(Ii.mediaTime),on=qn.requestVideoFrameCallback(Gs)};on=qn.requestVideoFrameCallback(Gs)}else{let Gs=()=>{if(Bt)return;if(v.current)Rs(v.current.currentTime);it=requestAnimationFrame(Gs)};it=requestAnimationFrame(Gs)}return()=>{if(Bt=!0,on!==null&&typeof qn.cancelVideoFrameCallback==="function")qn.cancelVideoFrameCallback(on);if(it!==null)cancelAnimationFrame(it)}},[N,Se]);let Ze=P((xt)=>{let it=(xt%Cf+Cf)%Cf,on=it*ik,Bt=rk(it);if(v.current)v.current.currentTime=Bt;Y(on),i?.(on)},[i]),wt=P((xt)=>{Xe.current?.(),v.current?.pause();let it=Math.round((xt%360+360)%360/15)%Cf;Ze(it)},[Ze]),mt=P(()=>{let xt=v.current;if(!xt)return;if(xt.paused||xt.ended)xt.play().catch(()=>{});else xt.pause()},[]);Vr(b,()=>({play:()=>{v.current?.play().catch(()=>{})},pause:()=>{v.current?.pause()},seekTo:(xt)=>{Ze(jf(xt))},getCurrentTime:()=>v.current?.currentTime||0,getDuration:()=>4}),[Ze]),m(()=>{let xt=(it)=>{let on=document.activeElement;if(on&&(on.tagName==="INPUT"||on.tagName==="TEXTAREA"||on instanceof HTMLElement&&on.isContentEditable))return;if(it.key===" ")it.preventDefault(),mt();else if(it.key==="ArrowLeft"){it.preventDefault(),Xe.current?.();let Bt=jf(X);Ze(Bt-1)}else if(it.key==="ArrowRight"){it.preventDefault(),Xe.current?.();let Bt=jf(X);Ze(Bt+1)}};return window.addEventListener("keydown",xt),()=>window.removeEventListener("keydown",xt)},[X,Ze,mt]);let Nt=(xt)=>{if(Lt||xt.button!==0)return;xt.currentTarget.setPointerCapture(xt.pointerId),v.current?.pause();let on=Math.round(rn/15)%Cf;qe.current={clientX:xt.clientX,frame:on},De.current=!1,we(!0)},an=(xt)=>{if(!Se)return;let it=xt.clientX-qe.current.clientX,on=Math.round(it/12);if(on!==0&&!De.current)De.current=!0,Xe.current?.();let Bt=qe.current.frame-on;Ze(Bt)},mn=(xt)=>{if(!Se)return;De.current=!1,we(!1);try{xt.currentTarget.releasePointerCapture(xt.pointerId)}catch{}},Yt=()=>{if(!y.current)return;if(!document.fullscreenElement)y.current.requestFullscreen().catch(()=>{});else document.exitFullscreen().catch(()=>{})};m(()=>{let xt=()=>{se(Boolean(document.fullscreenElement))};return document.addEventListener("fullscreenchange",xt),()=>document.removeEventListener("fullscreenchange",xt)},[]);let Dn=(xt)=>{oe(!0);let it=ua(ae,ye,xt/ae,T.width/2,T.height/2);be(it.zoom),ue(it.pan)},is=()=>{if(oe(!1),T.width>0&&T.height>0)be(Wt),ue(Ur(T.width,T.height,Jt,hn,Wt))};return o("div",{ref:y,"data-testid":"model-viewer-container",className:E("group shadow-2xl font-sans select-none flex flex-col mx-auto relative",ie?"h-full w-full rounded-none bg-black":"w-full h-full"),children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[!ie&&f,o("div",{ref:x,"data-testid":"model-viewer-surface",onPointerDown:Nt,onPointerMove:an,onPointerUp:mn,onPointerCancel:mn,className:E("flex-1 bg-black relative flex items-center justify-center overflow-hidden min-h-0 touch-none",Lt?"cursor-crosshair":Se?"cursor-grabbing":"cursor-grab"),children:[t("div",{className:"absolute pointer-events-none",style:{left:0,top:0,width:Jt,height:hn,transform:`translate(${ye.x}px, ${ye.y}px) scale(${ae})`,transformOrigin:"0 0"},children:Fe&&t("video",{ref:v,src:Fe,playsInline:!0,loop:N,muted:!0,autoPlay:g,preload:"auto",onLoadedData:()=>{if(ee(!1),l&&l>0)Ze(jf(l))},onPlay:()=>{U(!0),n?.()},onPause:()=>{U(!1),s?.()},onEnded:()=>{U(!1)},onError:()=>{ee(!1),ne("Failed to load turntable video")},className:"w-full h-full block object-contain pointer-events-none"})}),T.width>0&&T.height>0&&t(Hr,{width:T.width,height:T.height,mediaDimensions:{width:Jt,height:hn},annotations:ut,scale:ae,offset:ye,className:"absolute inset-0 pointer-events-none",isDrawing:We,currentTool:st,currentColor:Je,onAddAnnotation:vt}),J&&!te&&t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 pointer-events-none z-10",children:t("div",{className:"w-14 h-14 bg-background/80 backdrop-blur-md rounded-full flex items-center justify-center border border-border shadow-lg",children:t(O,{className:"w-7 h-7 text-primary animate-spin"})})}),te&&o("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-2 text-destructive z-10 bg-background/90 p-4 text-center",children:[t(nr,{className:"w-10 h-10"}),t("p",{className:"text-sm font-medium",children:te})]})]})]}),t(sk,{isPlaying:N,currentDegree:rn,zoom:ae,isFullScreen:ie,allowDownload:d,onDownload:e.media?.original?.key?Be:void 0,togglePlay:mt,onSeekDegree:wt,onZoomChange:Dn,onZoomReset:is,toggleFullScreen:Yt})]})});ak.displayName="ModelViewer";var ok=ak;var lk={id:"3d",name:"3D Model",match:(e)=>e.proxyType==="3d",viewer:ok,commentsConfig:{hasTimestamp:!0,hasAnnotations:!0,formatTimestamp:(e)=>`${Eu(e)}°`}};S();var zM=F(({file:e,shareId:n,children:s,allowDownload:i=!0},r)=>{Vr(r,()=>({play:()=>{},pause:()=>{},seekTo:()=>{}}));let a=async()=>{let f=e.media?.original?.key;if(!f||!e.id)return;try{let d=n?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:n,fileId:e.id},json:{key:f}}):await A.api.files["download-url"].$post({json:{key:f,assetId:e.id}});if(!d.ok)return;let{url:g}=await d.json(),b=document.createElement("a");b.href=g,b.download="",document.body.appendChild(b),b.click(),document.body.removeChild(b)}catch{}},l=e.status==="failed",c=e.media?.error;return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[s,t("div",{className:"flex-1 flex items-center justify-center p-6 text-center",children:l?o("div",{"data-testid":"default-viewer-failed-state",className:"flex flex-col items-center justify-center gap-3 max-w-md",children:[t(nr,{className:"h-12 w-12 text-destructive/80"}),o("div",{className:"space-y-1",children:[t("h3",{className:"text-base font-semibold text-foreground",children:og()}),t("p",{className:"text-sm text-muted-foreground",children:sg()}),c&&t("div",{title:c,className:"mt-3 rounded-lg border border-destructive/20 bg-destructive/10 p-3 text-xs text-destructive text-left line-clamp-3 break-words",children:c})]})]}):t("p",{className:"text-muted-foreground",children:"Preview unavailable"})})]}),t("div",{className:"relative px-4 py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-end gap-2 transition-colors duration-200",children:i&&o("button",{onClick:a,disabled:!e.media?.original?.key,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:"Download original file",children:[t(ht,{size:14}),"Download"]})})]})}),ck=zM;var q2={id:"default",name:"Default",match:()=>!0,viewer:ck,commentsConfig:{hasTimestamp:!1,hasAnnotations:!1}};var GM=[lk,ZS,N8,U8];function rs(e){if(!e)return q2;return GM.find((s)=>s.match(e))||q2}function ns({file:e,mediaControllerRef:n,onPlay:s,onPause:i,onTimeUpdate:r,onSeek:a,annotations:l,startTime:c,shareId:f,allowDownload:d,autoPlay:g,children:b}){let y=rs(e),v=y.viewer;return t(v,{ref:n,file:e,onPlay:s,onPause:i,onTimeUpdate:r,onSeek:a,annotations:l,startTime:c,shareId:f,allowDownload:d,autoPlay:g,children:b},y.id)}function VM(e){let n=e.lastIndexOf(".");if(n>0)return[0,n];return[0,e.length]}function Ss(e){e.focus();let[n,s]=VM(e.value);if(typeof e.setSelectionRange==="function")e.setSelectionRange(n,s);else e.select()}var Fr=Rr((e)=>({fields:[],loadedProjectId:null,setFields:(n,s)=>e({fields:n,loadedProjectId:s}),updateFields:(n)=>e({fields:n})}));function fk(e,n){let{start:s,end:i}=Zl(n?.in,e),r=+s>+i,a=r?+s:+i,l=r?i:s;l.setHours(0,0,0,0);let c=n?.step??1;if(!c)return[];if(c<0)c=-c,r=!r;let f=[];while(+l<=a)f.push(dt(s,l)),l.setDate(l.getDate()+c),l.setHours(0,0,0,0);return r?f.reverse():f}function Pm(e,n){return xe(e,n?.in).getDate()}function hk(e,n){return xe(e,n?.in).getDay()}function M2(e,n){return xe(e,n?.in).getHours()}function F2(e,n){return xe(e,n?.in).getMinutes()}S();var $M=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.date,[a,l]=u(!1),c=_(null),f=e?new Date(e):new Date,d=sa(f)?f:new Date,[g,b]=u(d);m(()=>{if(a&&e){let ee=new Date(e);if(sa(ee))b(ee)}},[a,e]),m(()=>{let ee=(te)=>{if(c.current&&!c.current.contains(te.target)){if(a)l(!1)}};return document.addEventListener("mousedown",ee),()=>document.removeEventListener("mousedown",ee)},[a]);let y=()=>{if(!i)l(!0)},v=(ee)=>{if(!ee)return"";let te=new Date(ee);if(!sa(te))return"Invalid Date";let ne="PPP";if(r?.displayFormat==="usa")ne="MM/dd/yyyy";else if(r?.displayFormat==="euro")ne="dd/MM/yyyy";else if(r?.displayFormat==="iso")ne="yyyy-MM-dd";if(r?.includeTime)if(r?.timeFormat==="twenty_four_hour")ne+=" HH:mm";else ne+=" p";let ie=Ar(te,ne);if(r?.displayTimezone)ie+=` (${Intl.DateTimeFormat().resolvedOptions().timeZone})`;return ie},x=new Date(g.getFullYear(),g.getMonth(),1),T=Kd(g),R=fk({start:x,end:T}),N=hk(x),U=(ee)=>{let te=new Date(ee);if(r?.includeTime)te.setHours(M2(d)),te.setMinutes(F2(d));let ne=te.toISOString();if(s(ne),!r?.includeTime)l(!1)},X=(ee,te)=>{let ne=e?new Date(e):new Date;if(!sa(ne))ne.setTime(new Date().getTime());if(ee==="hour")ne.setHours(te);if(ee==="minute")ne.setMinutes(te);let ie=ne.toISOString();s(ie)},Y=Array.from({length:24},(ee,te)=>te),J=Array.from({length:12},(ee,te)=>te*5);if(a)return o("div",{className:"relative w-full",ref:c,children:[t("div",{className:"w-full px-2 py-1 border border-ring rounded bg-background text-sm shadow-sm min-h-[28px] flex items-center",children:e?v(e):t("span",{className:"text-muted-foreground",children:"Select date..."})}),o("div",{className:"absolute z-50 top-full left-0 mt-1 bg-popover border border-border rounded-lg shadow-xl flex flex-col md:flex-row overflow-hidden min-w-[280px]",children:[o("div",{className:"p-4 w-64",children:[o("div",{className:"flex justify-between items-center mb-4",children:[t("button",{onClick:()=>b(ja(g,-1)),className:"p-1 hover:bg-accent rounded",children:t(nn,{className:"w-4 h-4"})}),t("span",{className:"font-semibold text-sm",children:Ar(g,"MMMM yyyy")}),t("button",{onClick:()=>b(ja(g,1)),className:"p-1 hover:bg-accent rounded",children:t(Et,{className:"w-4 h-4"})})]}),t("div",{className:"grid grid-cols-7 gap-1 text-center text-xs mb-2 text-muted-foreground",children:["Su","Mo","Tu","We","Th","Fr","Sa"].map((ee)=>t("div",{children:ee},ee))}),o("div",{className:"grid grid-cols-7 gap-1 text-center text-sm",children:[Array.from({length:N}).map((ee,te)=>t("div",{},`empty-${te}`)),R.map((ee)=>{let te=e?new Date(e):null,ne=te&&sa(te)&&Pm(te)===Pm(ee)&&nu(te)===nu(ee)&&ou(te)===ou(ee);return t("button",{onClick:()=>U(ee),className:`w-8 h-8 rounded-full flex items-center justify-center hover:bg-accent transition-colors ${ne?"bg-primary text-primary-foreground hover:bg-primary/90":"text-foreground"}`,children:Pm(ee)},ee.toString())})]})]}),r?.includeTime&&o("div",{className:"border-l border-border bg-muted w-32 flex flex-col",children:[o("div",{className:"p-2 border-b border-border text-xs font-semibold text-muted-foreground flex items-center justify-center gap-1",children:[t(er,{className:"w-3 h-3"})," Time"]}),o("div",{className:"flex flex-1 h-64",children:[t("div",{className:"flex-1 overflow-y-auto scrollbar-hide border-r border-border",children:Y.map((ee)=>t("div",{onClick:()=>X("hour",ee),className:`px-2 py-1 text-center text-sm cursor-pointer hover:bg-accent ${M2(d)===ee?"bg-primary/10 font-medium text-primary":""}`,children:ee.toString().padStart(2,"0")},ee))}),t("div",{className:"flex-1 overflow-y-auto scrollbar-hide",children:J.map((ee)=>t("div",{onClick:()=>X("minute",ee),className:`px-2 py-1 text-center text-sm cursor-pointer hover:bg-accent ${F2(d)===ee?"bg-primary/10 font-medium text-primary":""}`,children:ee.toString().padStart(2,"0")},ee))})]})]})]})]});return t("div",{onClick:y,className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded border border-transparent transition-colors ${!i?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e?v(e):t("span",{className:"text-muted-foreground italic",children:"Empty"})})},uk=$M;S();var XM=({value:e,onSave:n,readOnly:s})=>{let[i,r]=u(!1),[a,l]=u(e||""),c=_(null),f=_(null),[d,g]=u(!1);m(()=>{l(e||"")},[e]),m(()=>{if(i&&c.current)c.current.focus(),g(!1)},[i]),m(()=>{let x=(T)=>{if(d&&f.current&&!f.current.contains(T.target))g(!1)};if(d)document.addEventListener("mousedown",x);return()=>{document.removeEventListener("mousedown",x)}},[d]);let b=()=>{r(!1),n(a)},y=(x)=>{x.stopPropagation(),g(!0)},v=(x)=>{if(x.stopPropagation(),!s)r(!0)};if(i)return t("textarea",{ref:c,value:a,onChange:(x)=>l(x.target.value),onBlur:b,className:"w-full min-h-[80px] p-2 border border-ring rounded bg-background text-sm outline-none shadow-sm resize-none"});return o("div",{ref:f,className:"relative w-full text-sm",children:[t("div",{onClick:y,className:`w-full text-foreground rounded border border-transparent transition-all px-2 py-1 h-[48px] line-clamp-2 whitespace-pre-wrap overflow-hidden ${!s?"cursor-pointer hover:bg-accent hover:border-border":"cursor-pointer"}`,title:"Click to expand",children:e?e:t("span",{className:"text-muted-foreground italic",children:"Empty"})}),d&&t("div",{onClick:v,className:`absolute top-0 left-0 w-full min-h-full h-auto z-50 bg-background border border-ring rounded shadow-lg px-2 py-1 whitespace-pre-wrap ${!s?"cursor-text":""}`,children:e?e:t("span",{className:"text-muted-foreground italic",children:"Empty"})})]})},dk=XM;S();var WM=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.number,[a,l]=u(!1),[c,f]=u(""),d=_(null);m(()=>{f(e!==void 0&&e!==null?e.toString():"")},[e]),m(()=>{if(a&&d.current)d.current.focus()},[a]);let g=()=>{if(!i)l(!0)},b=()=>{if(l(!1),c==="")s(void 0);else{let x=parseFloat(c);s(isNaN(x)?void 0:x)}},y=(x)=>{if(x.key==="Enter")x.stopPropagation(),d.current?.blur()},v=(x)=>{if(x===void 0||x===null||isNaN(x))return"";return x.toFixed(r?.scale)};if(a)return t("input",{ref:d,type:"number",step:1/Math.pow(10,r?.scale||0),value:c,onChange:(x)=>f(x.target.value),onBlur:b,onKeyDown:y,onDoubleClick:(x)=>x.stopPropagation(),className:"w-full px-2 py-1 border border-ring rounded bg-background text-sm outline-none shadow-sm text-left font-mono"});return t("div",{onClick:g,onDoubleClick:(x)=>x.stopPropagation(),className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded border border-transparent transition-colors text-left font-mono ${!i?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e!==void 0&&e!==null?v(e):t("span",{className:"text-muted-foreground italic font-sans text-left block",children:"Empty"})})},mk=WM;S();var KM=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.rating,a=Math.max(2,Math.min(6,r?.maxValue||5)),[l,c]=u(null),f=(g,b)=>{if(g.stopPropagation(),i)return;let y;if(e===b)y=0;else y=b;s(y)},d=Array.from({length:a},(g,b)=>b+1);return t("div",{className:"flex items-center gap-1 h-[28px]",onMouseLeave:()=>!i&&c(null),onDoubleClick:(g)=>g.stopPropagation(),children:d.map((g)=>{let b=l!==null?g<=l:g<=(e||0);return t("button",{onClick:(y)=>f(y,g),onMouseEnter:()=>!i&&c(g),className:`focus:outline-none transition-transform ${!i?"cursor-pointer hover:scale-110":"cursor-default"}`,type:"button",disabled:i,children:t(Ad,{className:`w-5 h-5 transition-colors ${b?"fill-yellow-400 text-yellow-400":"fill-muted text-muted-foreground/30"}`})},g)})})},Au=KM;S();var pc;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(pc||(pc={}));class _f extends Error{constructor(e,n){super(`${n} (${e})`);this.name="ULIDError",this.code=e}}function YM(e){let n=Math.floor(e()*32)%32;return"0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(n)}function QM(e){let n=JM(),s=n&&(n.crypto||n.msCrypto)||null;if(typeof s?.getRandomValues==="function")return()=>{let i=new Uint8Array(1);return s.getRandomValues(i),i[0]/256};else if(typeof s?.randomBytes==="function")return()=>s.randomBytes(1).readUInt8()/256;throw new _f(pc.PRNGDetectFailure,"Failed to find a reliable PRNG")}function JM(){if(tF())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function ZM(e,n){let s="";for(;e>0;e--)s=YM(n)+s;return s}function eF(e,n=10){if(isNaN(e))throw new _f(pc.EncodeTimeValueMalformed,`Time must be a number: ${e}`);else if(e>281474976710655)throw new _f(pc.EncodeTimeSizeExceeded,`Cannot encode a time larger than 281474976710655: ${e}`);else if(e<0)throw new _f(pc.EncodeTimeNegative,`Time must be positive: ${e}`);else if(Number.isInteger(e)===!1)throw new _f(pc.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let s,i="";for(let r=n;r>0;r--)s=e%32,i="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(s)+i,e=(e-s)/32;return i}function tF(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Uo(e,n){let s=n||QM(),i=!e||isNaN(e)?Date.now():e;return eF(i,10)+ZM(16,s)}function nF(e,n,s){let i=e.slice();return i.splice(s,0,i.splice(n,1)[0]),i}function mu(e,n,s,i){if(s===i)return e;let r=nF(n,s,i),a=new Set(n.map((c)=>c.id)),l=0;return e.map((c)=>a.has(c.id)?r[l++]:c)}async function Ya(e){let n=[],s=[],i=e.items;if(i)for(let l=0;l<i.length;l++){let c=i[l];if(c.kind==="file"){let f=c.webkitGetAsEntry?.();if(f)s.push({entry:f,path:""})}}else return Array.from(e.files);let r=(l)=>new Promise((c)=>{l.readEntries((f)=>c(f),()=>c([]))}),a=(l)=>new Promise((c,f)=>{l.file((d)=>c(d),(d)=>f(d))});while(s.length>0){let l=s.shift();if(!l)continue;let{entry:c,path:f}=l;if(c.isFile)try{let d=await a(c),g=f?`${f}/${d.name}`:d.name;Object.defineProperty(d,"webkitRelativePath",{value:g,writable:!1,configurable:!0}),n.push(d)}catch(d){console.error("Error reading file entry:",d)}else if(c.isDirectory){let d=c.createReader(),g=[],b=await r(d);while(b.length>0)g=g.concat(b),b=await r(d);let y=f?`${f}/${c.name}`:c.name;for(let v of g)s.push({entry:v,path:y})}}return n}S();S();function Wl(){let[e,n]=u(!1);return o(de,{open:e,onOpenChange:n,children:[t(PA,{asChild:!0,children:o(C,{type:"button",variant:"ghost",size:"icon",className:"h-4 w-4 p-0 hover:bg-transparent text-muted-foreground hover:text-foreground inline-flex items-center justify-center shrink-0 ml-1",title:Nf(),children:[t(wg,{className:"h-3.5 w-3.5"}),t("span",{className:"sr-only",children:Nf()})]})}),o(le,{className:"sm:max-w-[500px]",children:[o(me,{children:[o(ce,{className:"flex items-center gap-2",children:[t(wg,{className:"h-5 w-5 text-muted-foreground"}),Nf()]}),t(Mt,{children:C_()})]}),o("div",{className:"space-y-4 py-2",children:[o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(y5,{className:"h-4 w-4 text-muted-foreground shrink-0"}),t("span",{children:zc()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:I_()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:T_()})]}),o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(dn,{className:"h-4 w-4 text-amber-500 shrink-0"}),t("span",{children:Bc()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:w_()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:x_()})]}),o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(Tt,{className:"h-4 w-4 text-blue-500 shrink-0"}),t("span",{children:Uc()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:S_()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:E_()})]})]})]})]})}var fa=["red","orange","yellow","green","blue","purple","gray"],Pi={red:{bg:"rgba(239, 68, 68, 0.15)",text:"#ef4444",hex:"#ef4444"},orange:{bg:"rgba(249, 115, 22, 0.15)",text:"#f97316",hex:"#f97316"},yellow:{bg:"rgba(234, 179, 8, 0.15)",text:"#ca8a04",hex:"#eab308"},green:{bg:"rgba(34, 197, 94, 0.15)",text:"#16a34a",hex:"#22c55e"},blue:{bg:"rgba(59, 130, 246, 0.15)",text:"#2563eb",hex:"#3b82f6"},purple:{bg:"rgba(168, 85, 247, 0.15)",text:"#9333ea",hex:"#a855f7"},gray:{bg:"rgba(128, 128, 128, 0.15)",text:"#4b5563",hex:"#808080"},system:{bg:"rgba(128, 128, 128, 0.1)",text:"#6b7280",hex:"#808080"}};function Es(e){if(!e)return{backgroundColor:"rgba(128, 128, 128, 0.1)",color:"#6b7280"};let n=e.toLowerCase(),s=Pi[n];if(s)return{backgroundColor:s.bg,color:s.text};if(e.startsWith("#"))return{backgroundColor:`${e}33`,color:e};return{backgroundColor:"rgba(128, 128, 128, 0.1)",color:e}}function Ni(e=[]){let n=new Set(e.map((i)=>i.color?.toLowerCase()).filter(Boolean)),s=fa.filter((i)=>!n.has(i.toLowerCase()));if(s.length>0)return s[Math.floor(Math.random()*s.length)];return fa[Math.floor(Math.random()*fa.length)]}var pa={[Pr.text]:Wa,[Pr.longText]:w5,[Pr.select]:Lo,[Pr.selectMulti]:S5,[Pr.rating]:Ad,[Pr.number]:v5,[Pr.toggle]:k5,[Pr.date]:jn,[Pr.user]:Kn,[Pr.userMulti]:co};function sF({field:e,index:n,onVisibilityChange:s}){let{ref:i,handleRef:r}=Ha({id:e.id,index:n}),a=e.config?.type?pa[e.config.type]:null;return o("div",{ref:i,className:"flex items-center justify-between p-2 rounded-md hover:bg-muted",children:[o("div",{className:"flex items-center gap-2",children:[t("div",{ref:r,className:"cursor-grab",children:t(js,{className:"h-4 w-4 text-muted-foreground"})}),a&&t(a,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===Cr.CONTENT&&t(dn,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===Cr.CREATION_CONTEXT&&t(Tt,{className:"h-4 w-4 text-muted-foreground shrink-0"}),t("span",{className:"text-sm truncate",children:e.config?.name})]}),t(Me,{checked:e.visible,onCheckedChange:(l)=>s(e.id,l)})]})}function hm({projectId:e,onManageFields:n,onSave:s}){let{fields:i,updateFields:r}=Fr(),[a,l]=u(""),[c,f]=u("list"),[d,g]=u(""),[b,y]=u(""),[v,x]=u(Cr.NONE),[T,R]=u(""),[N,U]=u([]),X=G();m(()=>{X.invalidateQueries({queryKey:["fields",e]})},[e,X]);let Y=A.api.projects[":projectId"].fields.order.$patch,{mutate:J}=B({mutationFn:async(ye)=>{if(!(await Y(ye)).ok)throw Error(Gf());return null}}),ee=A.api.projects[":projectId"].fields.$post,{mutate:te}=B({mutationFn:async(ye)=>{let ue=await ee(ye);if(!ue.ok)throw Error(Hf());return await ue.json()},onSuccess:(ye)=>{let ue={...ye,visible:!0},he=[...i,ue];r(he),g(""),U([]),J({param:{projectId:e},json:he.map((oe)=>({fieldId:oe.id,visible:oe.visible||!1}))}),s?.()}}),ne=D(()=>i.filter((ye)=>ye.config?.name?.toLowerCase().includes(a.toLowerCase())),[i,a]),ie=(ye)=>{if(ye.canceled)return;let{source:ue}=ye.operation;if(!so(ue))return;let{initialIndex:he,index:oe}=ue;if(he===oe)return;let Se=mu(i,ne,he,oe);r(Se),J({param:{projectId:e},json:Se.map((we)=>({fieldId:we.id,visible:we.visible||!1}))})},se=(ye,ue)=>{let he=i.map((oe)=>oe.id===ye?{...oe,visible:ue}:oe);r(he),J({param:{projectId:e},json:he.map((oe)=>({fieldId:oe.id,visible:oe.visible||!1}))})},ae=()=>{if(!d||!b)return;let ye=b===Pr.select?{select:{options:N}}:b===Pr.selectMulti?{selectMulti:{options:N}}:{};te({param:{projectId:e},json:{config:{name:d,type:b,autofillSource:v,...ye},label:d,description:T}})},be=i.filter((ye)=>ye.visible).length;if(c==="create")return t("div",{className:"w-80 p-4",children:o("div",{className:"space-y-4",children:[o("div",{className:"space-y-2",children:[t(W,{htmlFor:"field-name",children:Qf()}),t(z,{id:"field-name",placeholder:iS(),value:d,onChange:(ye)=>g(ye.target.value),autoFocus:!0})]}),o("div",{className:"space-y-2",children:[t(W,{children:Kf()}),o(ge,{children:[t(Ae,{asChild:!0,children:o(C,{variant:"outline",className:"w-full justify-between font-normal",children:[b?t("span",{className:"capitalize",children:b.replace(/_/g," ")}):t("span",{className:"text-muted-foreground border-dashed",children:fI()}),t(ve,{className:"ml-2 h-4 w-4 opacity-50"})]})}),t(_e,{className:"w-[--radix-dropdown-menu-trigger-width]",children:Object.values(Pr).map((ye)=>t(K,{onClick:()=>{y(ye),U([])},className:"capitalize",children:ye.replace(/_/g," ")},ye))})]})]}),o("div",{className:"space-y-2",children:[t(W,{htmlFor:"field-desc",children:Sl()}),t(z,{id:"field-desc",placeholder:hd(),value:T,onChange:(ye)=>R(ye.target.value)})]}),o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center gap-1",children:[t(W,{children:pd()}),t(Wl,{})]}),o(Ro,{type:"single",value:v,onValueChange:(ye)=>{if(ye)x(ye)},className:"w-full grid grid-cols-3 border rounded-md p-1 gap-1",children:[t(yr,{value:Cr.NONE,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:zc()}),t(yr,{value:Cr.CONTENT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:Bc()}),t(yr,{value:Cr.CREATION_CONTEXT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:Uc()})]})]}),(b===Pr.select||b===Pr.selectMulti)&&o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center justify-between",children:[t(W,{className:"text-sm font-medium",children:Rd()}),o(C,{variant:"ghost",size:"sm",className:"h-8 px-2",onClick:()=>{let ye={id:Uo(),displayName:Td(),color:Ni(N)};U([...N,ye])},children:[t(fe,{className:"h-4 w-4 mr-1"})," ",cd()]})]}),t("div",{className:"space-y-2 max-h-40 overflow-y-auto pr-1",children:N.map((ye,ue)=>o("div",{className:"flex items-center gap-2",children:[t(z,{value:ye.displayName,onChange:(he)=>{let oe=[...N];oe[ue]={...ye,displayName:he.target.value},U(oe)},placeholder:gp(),className:"h-8 flex-1"}),o(At,{children:[t(_t,{asChild:!0,children:t("button",{type:"button",className:"w-6 h-6 rounded-full border shrink-0 cursor-pointer focus:outline-none hover:scale-105 transition-transform",style:{backgroundColor:Pi[ye.color||""]?.hex||ye.color||"#808080"}})}),t(yt,{className:"p-2 w-auto",align:"end",children:t("div",{className:"flex gap-1",children:fa.map((he)=>t("button",{type:"button",className:"w-5 h-5 rounded-full border cursor-pointer hover:scale-110 transition-transform",style:{backgroundColor:Pi[he]?.hex||he},onClick:()=>{let oe=[...N];oe[ue]={...ye,color:he},U(oe)}},he))})})]}),t(C,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:()=>{U(N.filter((he,oe)=>oe!==ue))},children:t(Pe,{className:"h-4 w-4"})})]},ye.id))})]}),o("div",{className:"flex gap-2 pt-2",children:[t(C,{variant:"secondary",className:"flex-1",onClick:()=>{f("list"),g(""),y(""),x(Cr.NONE),R(""),U([])},children:Ne()}),t(C,{className:"flex-1",onClick:ae,disabled:!d||!b,children:Gn()})]})]})});return o("div",{className:"w-80 p-4",children:[t("div",{className:"flex items-center justify-between mb-4",children:o("h3",{className:"font-semibold",children:[Fa()," ",t("span",{className:"text-muted-foreground text-sm font-normal",children:j1({count:be})})]})}),o("div",{className:"relative mb-4",children:[t(Ut,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),t(z,{placeholder:nI(),value:a,onChange:(ye)=>l(ye.target.value),className:"pl-8"})]}),t("div",{className:"max-h-60 overflow-y-auto pr-2",children:t(Vn,{sensors:[_n.configure({activationConstraints:[new Dr.Distance({value:8})]}),es],onDragEnd:ie,children:ne.map((ye,ue)=>t(sF,{field:ye,index:ue,onVisibilityChange:se},ye.id))})}),n&&o("div",{className:"mt-4 space-y-2",children:[o(C,{variant:"secondary",className:"w-full",onClick:n,children:[t(Ri,{className:"h-4 w-4 mr-2"}),tp()]}),o(C,{className:"w-full",onClick:()=>f("create"),children:[t(fe,{className:"h-4 w-4 mr-2"}),sS()]})]})]})}var iF=({value:e,config:n,onSave:s,readOnly:i,fieldId:r})=>{let a=n?.select,l=a?.options||[],[c,f]=u(!1),[d,g]=u(""),b=l.find((Y)=>Y.id===e),y=d.trim(),v=l.filter((Y)=>Y.displayName.toLowerCase().includes(y.toLowerCase())),x=l.some((Y)=>Y.displayName.trim().toLowerCase()===y.toLowerCase()||Y.id.toLowerCase()===y.toLowerCase()),T=()=>{if(!i)f(!0)},R=(Y)=>{s(Y),f(!1),g("")},N=(Y)=>{if(i)return;if(f(Y),!Y)g("")},U=async()=>{if(!y)return;let Y={id:y.toLowerCase().replace(/\s+/g,"-"),displayName:y,color:Ni(l)},J=[...l,Y],ee={...n,select:{...a,options:J}};if(r)try{let te=await A.api.fields[":fieldId"].$put({param:{fieldId:r},json:{config:ee}});if(!te.ok){M.error(Cl());return}let ne=await te.json(),se=Fr.getState().fields.map((ae)=>ae.id===ne.id?{...ae,...ne,visible:ae.visible}:ae);Fr.getState().updateFields(se)}catch{M.error(Cl());return}s(Y.id),g(""),f(!1)};return t("div",{className:"relative w-full",onClick:(Y)=>Y.stopPropagation(),children:o(At,{open:!i&&c,onOpenChange:N,children:[t(_t,{asChild:!0,children:o("div",{onClick:T,className:`flex items-center justify-between w-full h-[28px] px-2 rounded border border-transparent transition-colors ${!i?"cursor-pointer hover:bg-accent hover:border-border group":""}`,children:[((Y)=>{if(!Y)return t("span",{className:"text-muted-foreground italic text-sm",children:"Select an option"});return t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium h-[22px]",style:Es(Y.color),children:Y.displayName})})(b),!i&&t(ve,{className:"w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100"})]})}),o(yt,{side:"bottom",align:"start",sideOffset:4,className:"p-1.5 w-64 max-h-72 flex flex-col bg-popover border border-border rounded-lg shadow-lg",children:[o("div",{className:"relative pb-1.5 border-b border-border mb-1",onClick:(Y)=>Y.stopPropagation(),children:[t(Ut,{className:"w-3.5 h-3.5 absolute left-2 top-2 text-muted-foreground"}),t("input",{type:"text",className:"w-full pl-7 pr-2 py-1 text-xs bg-muted/50 border border-input rounded-md focus:outline-none focus:ring-1 focus:ring-ring text-foreground",placeholder:oA(),value:d,onChange:(Y)=>g(Y.target.value),autoFocus:!0})]}),o("div",{className:"overflow-y-auto max-h-48 min-h-[120px] space-y-0.5",children:[d===""&&o("div",{onClick:()=>R(""),className:"px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground rounded cursor-pointer flex items-center gap-2",children:[t(Pe,{className:"w-3.5 h-3.5"})," Clear"]}),v.map((Y)=>t("div",{onClick:()=>R(Y.id),className:`px-2.5 py-1.5 text-xs hover:bg-accent rounded cursor-pointer flex items-center justify-between ${e===Y.id?"bg-accent/50 font-medium":""}`,children:t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:Es(Y.color),children:Y.displayName})},Y.id)),v.length===0&&!y&&t("div",{className:"px-2.5 py-2 text-xs text-muted-foreground italic text-center",children:bg()}),y!==""&&!x&&o("div",{onClick:U,className:"px-2.5 py-1.5 text-xs text-primary hover:bg-accent rounded cursor-pointer flex items-center gap-1.5 font-medium border-t border-border mt-1 pt-1.5",children:[t(fe,{className:"w-3.5 h-3.5 shrink-0"}),t("span",{className:"truncate",children:Dm({name:y})})]})]})]})]})})},pk=iF;S();var rF=({value:e=[],config:n,onSave:s,readOnly:i,fieldId:r})=>{let a=n?.selectMulti,l=a?.options||[],c=_(null),[f,d]=u(!1),[g,b]=u(e.length),[y,v]=u(""),x=l.filter((te)=>(e||[]).includes(te.id))||[],T=y.trim(),R=l.filter((te)=>te.displayName.toLowerCase().includes(T.toLowerCase())),N=l.some((te)=>te.displayName.trim().toLowerCase()===T.toLowerCase()||te.id.toLowerCase()===T.toLowerCase());$e(()=>{if(f){b(x.length);return}if(c.current){let te=c.current.clientWidth-8,ie=document.createElement("canvas").getContext("2d");if(ie&&te>0){ie.font="500 12px ui-sans-serif, system-ui, sans-serif";let se=4,ae=x.map((Se)=>Math.ceil(ie.measureText(Se.displayName).width)+18);if(ae.reduce((Se,we)=>Se+we,0)+Math.max(0,ae.length-1)*se<=te){b(x.length);return}let ue=te-32-se,he=0,oe=0;for(let Se=0;Se<ae.length;Se++){let we=oe>0?he+se+ae[Se]:ae[Se];if(we>ue)break;he=we,oe++}b(oe)}}},[x,f,e]);let U=(te)=>{let ne=e||[],ie;if(ne.includes(te))ie=ne.filter((se)=>se!==te);else ie=[...ne,te];s(ie)},X=async()=>{if(!T)return;let te={id:T.toLowerCase().replace(/\s+/g,"-"),displayName:T,color:Ni(l)},ne=[...l,te],ie={...n,selectMulti:{...a,options:ne}};if(r)try{let se=await A.api.fields[":fieldId"].$put({param:{fieldId:r},json:{config:ie}});if(!se.ok){M.error(Cl());return}let ae=await se.json(),ye=Fr.getState().fields.map((ue)=>ue.id===ae.id?{...ue,...ae,visible:ue.visible}:ue);Fr.getState().updateFields(ye)}catch{M.error(Cl());return}s([...e||[],te.id]),v("")},Y=(te)=>{if(te.stopPropagation(),!i)d(!0)},J=x.length-g;return t("div",{className:"relative w-full",onClick:(te)=>te.stopPropagation(),children:o(At,{open:!i&&f,onOpenChange:(te)=>{if(i)return;if(d(te),!te)v("")},children:[t(_t,{asChild:!0,children:o("div",{ref:c,onClick:Y,className:`w-full px-1 py-1 flex flex-wrap gap-1 rounded border border-transparent transition-all box-border h-[32px] overflow-hidden ${!i||J>0?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:[x.length===0&&t("span",{className:"text-muted-foreground text-sm italic px-1 pt-0.5",children:"Empty"}),x.slice(0,g).map((te)=>t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium border border-transparent whitespace-nowrap h-[22px]",style:Es(te.color),children:te.displayName},te.id)),J>0&&o("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-xs font-medium bg-muted text-muted-foreground h-[22px]",children:["+",J]})]})}),o(yt,{side:"bottom",align:"start",sideOffset:4,className:"p-1.5 w-64 max-h-72 flex flex-col bg-popover border border-border rounded-lg shadow-lg",children:[o("div",{className:"relative pb-1.5 border-b border-border mb-1",onClick:(te)=>te.stopPropagation(),children:[t(Ut,{className:"w-3.5 h-3.5 absolute left-2 top-2 text-muted-foreground"}),t("input",{type:"text",className:"w-full pl-7 pr-2 py-1 text-xs bg-muted/50 border border-input rounded-md focus:outline-none focus:ring-1 focus:ring-ring text-foreground",placeholder:oA(),value:y,onChange:(te)=>v(te.target.value),autoFocus:!0})]}),o("div",{className:"overflow-y-auto max-h-48 min-h-[120px] space-y-0.5",children:[R.map((te)=>{let ne=(e||[]).includes(te.id);return o("div",{onClick:()=>U(te.id),className:`px-2.5 py-1.5 hover:bg-accent rounded cursor-pointer flex items-center justify-between text-xs ${ne?"bg-accent/30 font-medium":""}`,children:[t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:Es(te.color),children:te.displayName}),ne&&t(Re,{className:"w-3.5 h-3.5 text-primary"})]},te.id)}),R.length===0&&!T&&t("div",{className:"px-2.5 py-2 text-xs text-muted-foreground italic text-center",children:bg()}),T!==""&&!N&&o("div",{onClick:X,className:"px-2.5 py-1.5 text-xs text-primary hover:bg-accent rounded cursor-pointer flex items-center gap-1.5 font-medium border-t border-border mt-1 pt-1.5",children:[t(fe,{className:"w-3.5 h-3.5 shrink-0"}),t("span",{className:"truncate",children:Dm({name:T})})]})]})]})]})})},gk=rF;S();var aF=({value:e,onSave:n,readOnly:s})=>{let[i,r]=u(!1),[a,l]=u(e||""),c=_(null);m(()=>{l(e||"")},[e]),m(()=>{if(i&&c.current)c.current.focus()},[i]);let f=()=>{if(!s)r(!0)},d=()=>{r(!1),n(a)},g=(b)=>{if(b.key==="Enter")c.current?.blur()};if(i)return t("input",{ref:c,type:"text",value:a,onChange:(b)=>l(b.target.value),onBlur:d,onKeyDown:g,className:"w-full px-2 py-1 border border-ring rounded bg-background text-sm outline-none shadow-sm"});return t("div",{onClick:f,className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded truncate border border-transparent transition-colors ${!s?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e||t("span",{className:"text-muted-foreground italic",children:"Empty"})})},bk=aF;var oF=({value:e,onSave:n,readOnly:s})=>t("div",{className:"flex items-center h-[28px] w-full",onClick:(r)=>r.stopPropagation(),children:t(Me,{checked:e,onCheckedChange:(r)=>{if(!s)n(r)},disabled:s,className:"cursor-pointer"})}),wk=oF;S();var lF=({value:e,onSave:n,readOnly:s})=>{let i=As(),{members:r,fetchMembers:a}=jr(),[l,c]=u(!1);m(()=>{if(i)a(i)},[i,a]);let f=r.find((x)=>x.id===e),d=()=>{if(!s)c(!0)},g=(x)=>{n(x),c(!1)},b=(x)=>{if(s)return;c(x)},y=(x)=>x.split(" ").map((T)=>T[0]).slice(0,2).join("").toUpperCase();return t("div",{className:"relative w-full",onClick:(x)=>x.stopPropagation(),children:o(At,{open:!s&&l,onOpenChange:b,children:[t(_t,{asChild:!0,children:o("div",{onClick:d,className:`flex items-center justify-between w-full h-[28px] px-2 rounded border border-transparent transition-colors ${!s?"cursor-pointer hover:bg-accent hover:border-border group":""}`,children:[((x)=>{if(!x)return t("span",{className:"text-muted-foreground italic text-sm",children:"Select user"});return o("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-muted text-foreground border h-[22px]",children:[o(Ce,{className:"w-4 h-4",children:[t(Ie,{src:x.image,alt:x.name,className:"object-cover"}),t(Te,{className:"text-[8px] bg-rose-400 text-black font-semibold",children:y(x.name)})]}),t("span",{className:"truncate max-w-[120px]",children:x.name})]})})(f),!s&&t(ve,{className:"w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100"})]})}),o(yt,{className:"p-1 w-[--radix-popover-trigger-width] min-w-[200px] max-h-60 overflow-auto bg-popover border border-border rounded-lg shadow-lg",align:"start",children:[o("div",{onClick:()=>g(""),className:"px-3 py-2 text-sm text-muted-foreground hover:bg-accent cursor-pointer flex items-center gap-2 rounded-sm",children:[t(Pe,{className:"w-3 h-3"})," Clear"]}),r.map((x)=>o("div",{onClick:()=>g(x.id),className:"px-3 py-2 hover:bg-accent cursor-pointer flex items-center gap-2 rounded-sm",children:[o(Ce,{className:"w-5 h-5",children:[t(Ie,{src:x.image,alt:x.name,className:"object-cover"}),t(Te,{className:"text-[10px] bg-rose-400 text-black font-semibold",children:y(x.name)})]}),t("span",{className:"text-sm font-medium text-foreground",children:x.name})]},x.id))]})]})})},yk=lF;S();var cF=({value:e=[],onSave:n,readOnly:s})=>{let i=As(),{members:r,fetchMembers:a}=jr(),l=_(null),[c,f]=u(!1),[d,g]=u(e.length);m(()=>{if(i)a(i)},[i,a]);let b=r.filter((U)=>(e||[]).includes(U.id)),y=(U)=>U.split(" ").map((X)=>X[0]).slice(0,2).join("").toUpperCase();$e(()=>{if(c){g(b.length);return}if(l.current){let U=l.current.clientWidth-8,Y=document.createElement("canvas").getContext("2d");if(Y&&U>0){Y.font="500 12px ui-sans-serif, system-ui, sans-serif";let J=4,ee=b.map((be)=>Math.min(100,Math.ceil(Y.measureText(be.name).width))+40);if(ee.reduce((be,ye)=>be+ye,0)+Math.max(0,ee.length-1)*J<=U){g(b.length);return}let ie=U-32-J,se=0,ae=0;for(let be=0;be<ee.length;be++){let ye=ae>0?se+J+ee[be]:ee[be];if(ye>ie)break;se=ye,ae++}g(ae)}}},[b,c,e]);let v=(U)=>{let X=e||[],Y;if(X.includes(U))Y=X.filter((J)=>J!==U);else Y=[...X,U];n(Y)},x=(U)=>{if(U.stopPropagation(),!s)f(!0)},T=b.length-d,R=(U)=>{if(s)return;f(U)},N=(U)=>o("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-muted text-foreground border whitespace-nowrap h-[22px]",children:[o(Ce,{className:"w-4 h-4",children:[t(Ie,{src:U.image,alt:U.name,className:"object-cover"}),t(Te,{className:"text-[8px] bg-rose-400 text-black font-semibold",children:y(U.name)})]}),t("span",{className:"truncate max-w-[100px]",children:U.name})]},U.id);return t("div",{className:"relative w-full",onClick:(U)=>U.stopPropagation(),children:o(At,{open:!s&&c,onOpenChange:R,children:[t(_t,{asChild:!0,children:o("div",{ref:l,onClick:x,className:`w-full px-1 py-1 flex flex-wrap gap-1 rounded border border-transparent transition-all box-border h-[32px] overflow-hidden ${!s||T>0?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:[b.length===0&&t("span",{className:"text-muted-foreground text-sm italic px-1 pt-0.5",children:"Empty"}),b.slice(0,d).map(N),T>0&&o("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-xs font-medium bg-muted text-muted-foreground h-[22px]",children:["+",T]})]})}),t(yt,{className:"p-1 w-[--radix-popover-trigger-width] min-w-[200px] max-h-60 overflow-auto bg-popover border border-border rounded-lg shadow-lg",align:"start",children:r.map((U)=>{let X=(e||[]).includes(U.id);return o("div",{onClick:()=>v(U.id),className:"px-3 py-2 hover:bg-accent cursor-pointer flex items-center justify-between rounded-sm",children:[o("div",{className:"flex items-center gap-2",children:[o(Ce,{className:"w-5 h-5",children:[t(Ie,{src:U.image,alt:U.name,className:"object-cover"}),t(Te,{className:"text-[10px] bg-rose-400 text-black font-semibold",children:y(U.name)})]}),t("span",{className:"text-sm font-medium text-foreground",children:U.name})]}),X&&t(Re,{className:"w-4 h-4 text-primary"})]},U.id)})})]})})},vk=cF;var fF=(e)=>{if(!e.config)return t("div",{children:"Unknown Field Type"});switch(e.config.type){case"text":return t(bk,{...e,value:e.value,onSave:e.onSave});case"longText":return t(dk,{...e,value:e.value,onSave:e.onSave});case"select":return t(pk,{...e,value:e.value,onSave:e.onSave});case"selectMulti":return t(gk,{...e,value:e.value,onSave:e.onSave});case"rating":return t(Au,{...e,value:e.value,onSave:e.onSave});case"number":return t(mk,{...e,value:e.value,onSave:e.onSave});case"toggle":return t(wk,{...e,value:e.value,onSave:e.onSave});case"date":return t(uk,{...e,value:e.value,onSave:e.onSave});case"user":return t(yk,{...e,value:e.value,onSave:e.onSave});case"userMulti":return t(vk,{...e,value:e.value,onSave:e.onSave});default:return t("div",{children:"Unknown Field Type"})}},Cs=fF;
129
- export{ts,ws,xs,Ri,Wa,mu,Ya,Fr,Uo,hu,Kl,gu,rs,ns,Ss,Au,Wl,fa,Pi,Es,Ni,pa,hm,Cs};