2020-06-10 11:36:24 +00:00
var app = function ( ) { "use strict" ; function e ( ) { } function t ( e ) { return e ( ) } function i ( ) { return Object . create ( null ) } function n ( e ) { e . forEach ( t ) } function r ( e ) { return "function" == typeof e } function s ( e , t ) { return e != e ? t == t : e !== t || e && "object" == typeof e || "function" == typeof e } function a ( t , i , n ) { t . $$ . on _destroy . push ( function ( t , ... i ) { if ( null == t ) return e ; const n = t . subscribe ( ... i ) ; return n . unsubscribe ? ( ) => n . unsubscribe ( ) : n } ( i , n ) ) } function o ( e , t ) { e . appendChild ( t ) } function u ( e , t , i ) { e . insertBefore ( t , i || null ) } function l ( e ) { e . parentNode . removeChild ( e ) } function c ( e ) { return document . createElement ( e ) } function h ( e ) { return document . createTextNode ( e ) } function d ( ) { return h ( " " ) } function p ( e , t , i , n ) { return e . addEventListener ( t , i , n ) , ( ) => e . removeEventListener ( t , i , n ) } function f ( e , t , i ) { null == i ? e . removeAttribute ( t ) : e . getAttribute ( t ) !== i && e . setAttribute ( t , i ) } function m ( e ) { return Array . from ( e . childNodes ) } function g ( e , t , i , n ) { for ( let n = 0 ; n < e . length ; n += 1 ) { const r = e [ n ] ; if ( r . nodeName === t ) { let t = 0 ; for ( ; t < r . attributes . length ; ) { const e = r . attributes [ t ] ; i [ e . name ] ? t ++ : r . removeAttribute ( e . name ) } return e . splice ( n , 1 ) [ 0 ] } } return n ? function ( e ) { return document . createElementNS ( "http://www.w3.org/2000/svg" , e ) } ( t ) : c ( t ) } function v ( e , t ) { for ( let i = 0 ; i < e . length ; i += 1 ) { const n = e [ i ] ; if ( 3 === n . nodeType ) return n . data = "" + t , e . splice ( i , 1 ) [ 0 ] } return h ( t ) } function y ( e ) { return v ( e , " " ) } function _ ( e , t ) { t = "" + t , e . data !== t && ( e . data = t ) } let b ; function T ( e ) { b = e } function S ( e ) { ( function ( ) { if ( ! b ) throw new Error ( "Function called outside component initialization" ) ; return b } ) ( ) . $$ . on _mount . push ( e ) } const k = [ ] , C = [ ] , w = [ ] , E = [ ] , x = Promise . resolve ( ) ; let A = ! 1 ; function I ( e ) { w . push ( e ) } let P = ! 1 ; const L = new Set ; function O ( ) { if ( ! P ) { P = ! 0 ; do { for ( let e = 0 ; e < k . length ; e += 1 ) { const t = k [ e ] ; T ( t ) , D ( t . $$ ) } for ( k . length = 0 ; C . length ; ) C . pop ( ) ( ) ; for ( let e = 0 ; e < w . length ; e += 1 ) { const t = w [ e ] ; L . has ( t ) || ( L . add ( t ) , t ( ) ) } w . length = 0 } while ( k . length ) ; for ( ; E . length ; ) E . pop ( ) ( ) ; A = ! 1 , P = ! 1 , L . clear ( ) } } function D ( e ) { if ( null !== e . fragment ) { e . update ( ) , n ( e . before _update ) ; const t = e . dirty ; e . dirty = [ - 1 ] , e . fragment && e . fragment . p ( e . ctx , t ) , e . after _update . forEach ( I ) } } const N = new Set ; function R ( e , t ) { e && e . i && ( N . delete ( e ) , e . i ( t ) ) } function U ( e , t , i , n ) { if ( e && e . o ) { if ( N . has ( e ) ) return ; N . add ( e ) , ( void 0 ) . c . push ( ( ) => { N . delete ( e ) , n && ( i && e . d ( 1 ) , n ( ) ) } ) , e . o ( t ) } } function M ( e ) { e && e . c ( ) } function B ( e , t ) { e && e . l ( t ) } function j ( e , i , s ) { const { fragment : a , on _mount : o , on _destroy : u , after _update : l } = e . $$ ; a && a . m ( i , s ) , I ( ( ) => { const i = o . map ( t ) . filter ( r ) ; u ? u . push ( ... i ) : n ( i ) , e . $$ . on _mount = [ ] } ) , l . forEach ( I ) } function F ( e , t ) { const i = e . $$ ; null !== i . fragment && ( n ( i . on _destroy ) , i . fragment && i . fragment . d ( t ) , i . on _destroy = i . fragment = null , i . ctx = [ ] ) } function V ( e , t ) { - 1 === e . $$ . dirty [ 0 ] && ( k . push ( e ) , A || ( A = ! 0 , x . then ( O ) ) , e . $$ . dirty . fill ( 0 ) ) , e . $$ . dirty [ t / 31 | 0 ] |= 1 << t % 31 } function H ( t , r , s , a , o , u , c = [ - 1 ] ) { const h = b ; T ( t ) ; const d = r . props || { } , p = t . $$ = { fragment : null , ctx : null , props : u , update : e , not _equal : o , bound : i ( ) , on _mount : [ ] , on _destroy : [ ] , before _update : [ ] , after _update : [ ] , context : new Map ( h ? h . $$ . context : [ ] ) , callbacks : i ( ) , dirty : c } ; let f = ! 1 ; if ( p . ctx = s ? s ( t , d , ( e , i , ... n ) => { const r = n . length ? n [ 0 ] : i ; return p . ctx && o ( p . ctx [ e ] , p . ctx [ e ] = r ) && ( p . bound [ e ] && p . bound [ e ] ( r ) , f && V ( t , e ) ) , i } ) : [ ] , p . update ( ) , f = ! 0 , n ( p . before _update ) , p . fragment = ! ! a && a ( p . ctx ) , r . target ) { if ( r . hydrate ) { const e = m ( r . target ) ; p . fragment && p . fragment . l ( e ) , e . forEach ( l ) } else p . fragment && p . fragment . c ( ) ; r . intro && R ( t . $$ . fragment ) , j ( t , r . target , r . anchor ) , O ( ) } T ( h ) } class q { $destroy ( ) { F ( this , 1 ) , this . $destroy = e } $on ( e , t ) { const i = this . $$ . callbacks [ e ] || ( this . $$ . callbacks [ e ] = [ ] ) ; return i . push ( t ) , ( ) => { const e = i . indexOf ( t ) ; - 1 !== e && i . splice ( e , 1 ) } } $set ( ) { } } const W = [ ] ; const z = function ( t , i = e ) { let n ; const r = [ ] ; function a ( e ) { if ( s ( t , e ) && ( t = e , n ) ) { const e = ! W . length ; for ( let e = 0 ; e < r . length ; e += 1 ) { const i = r [ e ] ; i [ 1 ] ( ) , W . push ( i , t ) } if ( e ) { for ( let e = 0 ; e < W . length ; e += 2 ) W [ e ] [ 0 ] ( W [ e + 1 ] ) ; W . length = 0 } } } return { set : a , update : function ( e ) { a ( e ( t ) ) } , subscribe : function ( s , o = e ) { const u = [ s , o ] ; return r . push ( u ) , 1 === r . length && ( n = i ( a ) || e ) , s ( t ) , ( ) => { const e = r . indexOf ( u ) ; - 1 !== e && r . splice ( e , 1 ) , 0 === r . length && ( n ( ) , n = null ) } } } } ( "" ) , G = { setPlaying ( e ) { console . log ( ">> setPlaying" , e ) , z . update ( t => t === e ? "" : e ) } } ; function $ ( t ) { let i , n , r , s , a , _ , b , T , S , k , C , w , E ; return { c
2020-05-28 23:03:16 +00:00
/ * !
2020-05-28 22:32:12 +00:00
* Programatically add the following
* /
2020-06-10 11:36:24 +00:00
for ( s = 97 ; s < 123 ; s ++ ) n [ String . fromCharCode ( s ) ] = s - 32 ; for ( var s = 48 ; s < 58 ; s ++ ) n [ s - 48 ] = s ; for ( s = 1 ; s < 13 ; s ++ ) n [ "f" + s ] = s + 111 ; for ( s = 0 ; s < 10 ; s ++ ) n [ "numpad " + s ] = s + 96 ; var a = t . names = t . title = { } ; for ( s in n ) a [ n [ s ] ] = s ; for ( var o in r ) n [ o ] = r [ o ] } ) ) , le = ( ue . code , ue . codes , ue . aliases , ue . names , ue . title , "undefined" != typeof window ? window : void 0 !== Y ? Y : "undefined" != typeof self ? self : { } ) , ce = function ( e ) { if ( ! e ) return ! 1 ; var t = he . call ( e ) ; return "[object Function]" === t || "function" == typeof e && "[object RegExp]" !== t || "undefined" != typeof window && ( e === window . setTimeout || e === window . alert || e === window . confirm || e === window . prompt ) }
2020-05-28 23:03:16 +00:00
/ * *
2020-05-28 22:32:12 +00:00
* @ license
* slighly modified parse - headers 2.0 . 2 < https : //github.com/kesla/parse-headers/>
* Copyright ( c ) 2014 David Björklund
* Available under the MIT license
* < https : //github.com/kesla/parse-headers/blob/master/LICENCE>
2020-06-10 11:36:24 +00:00
* / , h e = O b j e c t . p r o t o t y p e . t o S t r i n g ; v a r d e = m e , p e = m e ; f u n c t i o n f e ( e , t , i ) { v a r n = e ; r e t u r n c e ( t ) ? ( i = t , " s t r i n g " = = t y p e o f e & & ( n = { u r i : e } ) ) : n = r e ( { } , t , { u r i : e } ) , n . c a l l b a c k = i , n } f u n c t i o n m e ( e , t , i ) { r e t u r n g e ( t = f e ( e , t , i ) ) } f u n c t i o n g e ( e ) { i f ( v o i d 0 = = = e . c a l l b a c k ) t h r o w n e w E r r o r ( " c a l l b a c k a r g u m e n t m i s s i n g " ) ; v a r t = ! 1 , i = f u n c t i o n ( i , n , r ) { t | | ( t = ! 0 , e . c a l l b a c k ( i , n , r ) ) } ; f u n c t i o n n ( ) { v a r e = v o i d 0 ; i f ( e = u . r e s p o n s e ? u . r e s p o n s e : u . r e s p o n s e T e x t | | f u n c t i o n ( e ) { t r y { i f ( " d o c u m e n t " = = = e . r e s p o n s e T y p e ) r e t u r n e . r e s p o n s e X M L ; v a r t = e . r e s p o n s e X M L & & " p a r s e r e r r o r " = = = e . r e s p o n s e X M L . d o c u m e n t E l e m e n t . n o d e N a m e ; i f ( " " = = = e . r e s p o n s e T y p e & & ! t ) r e t u r n e . r e s p o n s e X M L } c a t c h ( e ) { } r e t u r n n u l l } ( u ) , m ) t r y { e = J S O N . p a r s e ( e ) } c a t c h ( e ) { } r e t u r n e } f u n c t i o n r ( e ) { r e t u r n c l e a r T i m e o u t ( l ) , e i n s t a n c e o f E r r o r | | ( e = n e w E r r o r ( " " + ( e | | " U n k n o w n X M L H t t p R e q u e s t E r r o r " ) ) ) , e . s t a t u s C o d e = 0 , i ( e , g ) } f u n c t i o n s ( ) { i f ( ! o ) { v a r t ; c l e a r T i m e o u t ( l ) , t = e . u s e X D R & & v o i d 0 = = = u . s t a t u s ? 2 0 0 : 1 2 2 3 = = = u . s t a t u s ? 2 0 4 : u . s t a t u s ; v a r r = g , s = n u l l ; r e t u r n 0 ! = = t ? ( r = { b o d y : n ( ) , s t a t u s C o d e : t , m e t h o d : h , h e a d e r s : { } , u r l : c , r a w R e q u e s t : u } , u . g e t A l l R e s p o n s e H e a d e r s & & ( r . h e a d e r s = f u n c t i o n ( e ) { v a r t = { } ; r e t u r n e ? ( e . t r i m ( ) . s p l i t ( " \ n " ) . f o r E a c h ( ( f u n c t i o n ( e ) { v a r i = e . i n d e x O f ( " : " ) , n = e . s l i c e ( 0 , i ) . t r i m ( ) . t o L o w e r C a s e ( ) , r = e . s l i c e ( i + 1 ) . t r i m ( ) ; v o i d 0 = = = t [ n ] ? t [ n ] = r : A r r a y . i s A r r a y ( t [ n ] ) ? t [ n ] . p u s h ( r ) : t [ n ] = [ t [ n ] , r ] } ) ) , t ) : t } ( u . g e t A l l R e s p o n s e H e a d e r s ( ) ) ) ) : s = n e w E r r o r ( " I n t e r n a l X M L H t t p R e q u e s t E r r o r " ) , i ( s , r , r . b o d y ) } } v a r a , o , u = e . x h r | | n u l l ; u | | ( u = e . c o r s | | e . u s e X D R ? n e w m e . X D o m a i n R e q u e s t : n e w m e . X M L H t t p R e q u e s t ) ; v a r l , c = u . u r l = e . u r i | | e . u r l , h = u . m e t h o d = e . m e t h o d | | " G E T " , d = e . b o d y | | e . d a t a , p = u . h e a d e r s = e . h e a d e r s | | { } , f = ! ! e . s y n c , m = ! 1 , g = { b o d y : v o i d 0 , h e a d e r s : { } , s t a t u s C o d e : 0 , m e t h o d : h , u r l : c , r a w R e q u e s t : u } ; i f ( " j s o n " i n e & & ! 1 ! = = e . j s o n & & ( m = ! 0 , p . a c c e p t | | p . A c c e p t | | ( p . A c c e p t = " a p p l i c a t i o n / j s o n " ) , " G E T " ! = = h & & " H E A D " ! = = h & & ( p [ " c o n t e n t - t y p e " ] | | p [ " C o n t e n t - T y p e " ] | | ( p [ " C o n t e n t - T y p e " ] = " a p p l i c a t i o n / j s o n " ) , d = J S O N . s t r i n g i f y ( ! 0 = = = e . j s o n ? d : e . j s o n ) ) ) , u . o n r e a d y s t a t e c h a n g e = f u n c t i o n ( ) { 4 = = = u . r e a d y S t a t e & & s e t T i m e o u t ( s , 0 ) } , u . o n l o a d = s , u . o n e r r o r = r , u . o n p r o g r e s s = f u n c t i o n ( ) { } , u . o n a b o r t = f u n c t i o n ( ) { o = ! 0 } , u . o n t i m e o u t = r , u . o p e n ( h , c , ! f , e . u s e r n a m e , e . p a s s w o r d ) , f | | ( u . w i t h C r e d e n t i a l s = ! ! e . w i t h C r e d e n t i a l s ) , ! f & & e . t i m e o u t > 0 & & ( l = s e t T i m e o u t ( ( f u n c t i o n ( ) { i f ( ! o ) { o = ! 0 , u . a b o r t ( " t i m e o u t " ) ; v a r e = n e w E r r o r ( " X M L H t t p R e q u e s t t i m e o u t " ) ; e . c o d e = " E T I M E D O U T " , r ( e ) } } ) , e . t i m e o u t ) ) , u . s e t R e q u e s t H e a d e r ) f o r ( a i n p ) p . h a s O w n P r o p e r t y ( a ) & & u . s e t R e q u e s t H e a d e r ( a , p [ a ] ) ; e l s e i f ( e . h e a d e r s & & ! f u n c t i o n ( e ) { f o r ( v a r t i n e ) i f ( e . h a s O w n P r o p e r t y ( t ) ) r e t u r n ! 1 ; r e t u r n ! 0 } ( e . h e a d e r s ) ) t h r o w n e w E r r o r ( " H e a d e r s c a n n o t b e s e t o n a n X D o m a i n R e q u e s t o b j e c t " ) ; r e t u r n " r e s p o n s e T y p e " i n e & & ( u . r e s p o n s e T y p e = e . r e s p o n s e T y p e ) , " b e f o r e S e n d " i n e & & " f u n c t i o n " = = t y p e o f e . b e f o r e S e n d & & e . b e f o r e S e n d ( u ) , u . s e n d ( d | | n u l l ) , u } m e . X M L H t t p R e q u e s t = l e . X M L H t t p R e q u e s t | | f u n c t i o n ( ) { } , m e . X D o m a i n R e q u e s t = " w i t h C r e d e n t i a l s " i n n e w m e . X M L H t t p R e q u e s t ? m e . X M L H t t p R e q u e s t : l e . X D o m a i n R e q u e s t , f u n c t i o n ( e , t ) { f o r ( v a r i = 0 ; i < e . l e n g t h ; i + + ) t ( e [ i ] ) } ( [ " g e t " , " p u t " , " p o s t " , " p a t c h " , " h e a d " , " d e l e t e " ] , ( f u n c t i o n ( e ) { m e [ " d e l e t e " = = = e ? " d e l " : e ] = f u n c t i o n ( t , i , n ) { r e t u r n ( i = f e ( t , i , n ) ) . m e t h o d = e . t o U p p e r C a s e ( ) , g e ( i ) } } ) ) , d e . d e f a u l t = p e ; v a r v e = O b j e c t . c r e a t e | | f u n c t i o n ( ) { f u n c t i o n e ( ) { } r e t u r n f u n c t i o n ( t ) { i f ( 1 ! = = a r g u m e n t s . l e n g t h ) t h r o w n e w E r r o r ( " O b j e c t . c r e a t e s h i m o n l y a c c e p t s o n e p a r a m e t e r . " ) ; r e t u r n e . p r o t o t y p e = t , n e w e } } ( ) ; f u n c t i o n y e ( e , t ) { t h i s . n a m e = " P a r s i n g E r r o r " , t h i s . c o d e = e . c o d e , t h i s . m e s s a g e = t | | e . m e s s a g e } f u n c t i o n _ e ( e ) { f u n c t i o n t ( e , t , i , n ) { r e t u r n 3 6 0 0 * ( 0 | e ) + 6 0 * ( 0 | t ) + ( 0 | i ) + ( 0 | n ) / 1 e 3 } v a r i = e . m a t c h ( / ^ ( \ d + ) : ( \ d { 1 , 2 } ) ( : \ d { 1 , 2 } ) ? \ . ( \ d { 3 } ) / ) ; r e t u r n i ? i [ 3 ] ? t ( i [ 1 ] , i [ 2 ] , i [ 3 ] . r e p l a c e ( " : " , " " ) , i [ 4 ] ) : i [ 1 ] > 5 9 ? t ( i [ 1 ] , i [ 2 ] , 0 , i [ 4 ] ) : t ( 0 , i [ 1 ] , i [ 2 ] , i [ 4 ] ) : n u l l } f u n c t i o n b e ( ) { t h i s . v a l u e s = v e ( n u l l ) } f u n c t i o n T e ( e , t , i , n ) { v a r r = n ? e . s p l i t ( n ) : [ e ] ; f o r ( v a r s i n r ) i f ( " s t r i n g " = = t y p e o f r [ s ] ) { v a r a = r [ s ] . s p l i t ( i ) ; i f ( 2 = = = a . l e n g t h ) t ( a [ 0 ] , a [ 1 ] ) } } f u n c t i o n S e ( e , t , i ) { v a r n = e ; f u n c t i o n r ( ) { v a r t = _ e ( e ) ; i f ( n u l l = = = t ) t h r o w n e w y e ( y e . E r r o r s . B a d T i m e S t a m p , " M a l f o r m e d t i m e s t a m p : " + n ) ; r e t u r n e = e . r e p l a c e ( / ^ [ ^ \ s a - z A - Z - ] + / , " " ) , t } f u n c t i o n s ( ) { e = e . r e p l a c e ( / ^ \ s + / , " " ) } i f ( s ( ) , t . s t a r t T i m e = r ( ) , s ( ) , " - - \ x 3 e " ! = = e . s u b s t r ( 0 , 3 ) ) t h r o w n e w y e ( y e . E r r o r s . B a d T i m e S t a m p , " M a l f o r m e d t i m e s t a m p ( t i m e s t a m p s m u s t b e s e p a r a t e d b y ' - - \ x 3 e ' ) : " + n ) ; e = e . s u b s t r ( 3 ) , s ( ) , t . e n d T i m e = r ( ) , s ( ) , f u n c t i o n ( e , t )
2020-05-28 23:03:16 +00:00
/*! @name m3u8-parser @version 4.4.0 @license Apache-2.0 */
2020-06-10 11:36:24 +00:00
function Je ( ) { return ( Je = Object . assign || function ( e ) { for ( var t = 1 ; t < arguments . length ; t ++ ) { var i = arguments [ t ] ; for ( var n in i ) Object . prototype . hasOwnProperty . call ( i , n ) && ( e [ n ] = i [ n ] ) } return e } ) . apply ( this , arguments ) } function Ze ( e , t ) { e . prototype = Object . create ( t . prototype ) , e . prototype . constructor = e , e . _ _proto _ _ = t } var et = function ( ) { function e ( ) { this . listeners = { } } var t = e . prototype ; return t . on = function ( e , t ) { this . listeners [ e ] || ( this . listeners [ e ] = [ ] ) , this . listeners [ e ] . push ( t ) } , t . off = function ( e , t ) { if ( ! this . listeners [ e ] ) return ! 1 ; var i = this . listeners [ e ] . indexOf ( t ) ; return this . listeners [ e ] . splice ( i , 1 ) , i > - 1 } , t . trigger = function ( e ) { var t , i , n , r = this . listeners [ e ] ; if ( r ) if ( 2 === arguments . length ) for ( i = r . length , t = 0 ; t < i ; ++ t ) r [ t ] . call ( this , arguments [ 1 ] ) ; else for ( n = Array . prototype . slice . call ( arguments , 1 ) , i = r . length , t = 0 ; t < i ; ++ t ) r [ t ] . apply ( this , n ) } , t . dispose = function ( ) { this . listeners = { } } , t . pipe = function ( e ) { this . on ( "data" , ( function ( t ) { e . push ( t ) } ) ) } , e } ( ) , tt = function ( e ) { function t ( ) { var t ; return ( t = e . call ( this ) || this ) . buffer = "" , t } return Ze ( t , e ) , t . prototype . push = function ( e ) { var t ; for ( this . buffer += e , t = this . buffer . indexOf ( "\n" ) ; t > - 1 ; t = this . buffer . indexOf ( "\n" ) ) this . trigger ( "data" , this . buffer . substring ( 0 , t ) ) , this . buffer = this . buffer . substring ( t + 1 ) } , t } ( et ) , it = function ( e ) { for ( var t , i = e . split ( new RegExp ( '(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))' ) ) , n = { } , r = i . length ; r -- ; ) "" !== i [ r ] && ( ( t = /([^=]*)=(.*)/ . exec ( i [ r ] ) . slice ( 1 ) ) [ 0 ] = t [ 0 ] . replace ( /^\s+|\s+$/g , "" ) , t [ 1 ] = t [ 1 ] . replace ( /^\s+|\s+$/g , "" ) , t [ 1 ] = t [ 1 ] . replace ( /^['"](.*)['"]$/g , "$1" ) , n [ t [ 0 ] ] = t [ 1 ] ) ; return n } , nt = function ( e ) { function t ( ) { var t ; return ( t = e . call ( this ) || this ) . customParsers = [ ] , t . tagMappers = [ ] , t } Ze ( t , e ) ; var i = t . prototype ; return i . push = function ( e ) { var t , i , n = this ; 0 !== ( e = e . trim ( ) ) . length && ( "#" === e [ 0 ] ? this . tagMappers . reduce ( ( function ( t , i ) { var n = i ( e ) ; return n === e ? t : t . concat ( [ n ] ) } ) , [ e ] ) . forEach ( ( function ( e ) { for ( var r = 0 ; r < n . customParsers . length ; r ++ ) if ( n . customParsers [ r ] . call ( n , e ) ) return ; if ( 0 === e . indexOf ( "#EXT" ) ) if ( e = e . replace ( "\r" , "" ) , t = /^#EXTM3U/ . exec ( e ) ) n . trigger ( "data" , { type : "tag" , tagType : "m3u" } ) ; else { if ( t = /^#EXTINF:?([0-9\.]*)?,?(.*)?$/ . exec ( e ) ) return i = { type : "tag" , tagType : "inf" } , t [ 1 ] && ( i . duration = parseFloat ( t [ 1 ] ) ) , t [ 2 ] && ( i . title = t [ 2 ] ) , void n . trigger ( "data" , i ) ; if ( t = /^#EXT-X-TARGETDURATION:?([0-9.]*)?/ . exec ( e ) ) return i = { type : "tag" , tagType : "targetduration" } , t [ 1 ] && ( i . duration = parseInt ( t [ 1 ] , 10 ) ) , void n . trigger ( "data" , i ) ; if ( t = /^#ZEN-TOTAL-DURATION:?([0-9.]*)?/ . exec ( e ) ) return i = { type : "tag" , tagType : "totalduration" } , t [ 1 ] && ( i . duration = parseInt ( t [ 1 ] , 10 ) ) , void n . trigger ( "data" , i ) ; if ( t = /^#EXT-X-VERSION:?([0-9.]*)?/ . exec ( e ) ) return i = { type : "tag" , tagType : "version" } , t [ 1 ] && ( i . version = parseInt ( t [ 1 ] , 10 ) ) , void n . trigger ( "data" , i ) ; if ( t = /^#EXT-X-MEDIA-SEQUENCE:?(\-?[0-9.]*)?/ . exec ( e ) ) return i = { type : "tag" , tagType : "media-sequence" } , t [ 1 ] && ( i . number = parseInt ( t [ 1 ] , 10 ) ) , void n . trigger ( "data" , i ) ; if ( t = /^#EXT-X-DISCONTINUITY-SEQUENCE:?(\-?[0-9.]*)?/ . exec ( e ) ) return i = { type : "tag" , tagType : "discontinuity-sequence" } , t [ 1 ] && ( i . number = parseInt ( t [ 1 ] , 10 ) ) , void n . trigger ( "data" , i ) ; if ( t = /^#EXT-X-PLAYLIST-TYPE:?(.*)?$/ . exec ( e ) ) return i = { type : "tag" , tagType : "playlist-type" } , t [ 1 ] && ( i . playlistType = t [ 1 ] ) , void n . trigger ( "data" , i ) ; if ( t = /^#EXT-X-BYTERANGE:?([0-9.]*)?@?([0-9.]*)?/ . exec ( e ) ) return i = { type : "tag" , tagType : "byterange" } , t [ 1 ] && ( i . length = parseInt ( t [ 1 ] , 10 ) ) , t [ 2 ] && ( i . offset = parseInt ( t [ 2 ] , 10 ) ) , void n . trigger ( "data" , i ) ; if ( t = /^#EXT-X-ALLOW-CACHE:?(YES|NO)?/ . exec ( e ) ) return i = { type : "tag" , tagType : "allow-cache" } , t [ 1 ] && ( i . allowed = ! /NO/ . test ( t [ 1 ] ) ) , void n . trigger ( "data" , i ) ; if ( t = /^#EXT-X-MAP:?(.*)$/ . exec ( e ) ) { if ( i = { type : "tag" , tagType : "map" } , t [ 1 ] ) { var s = it ( t [ 1 ] ) ; if ( s . URI && ( i . uri = s . URI ) , s . BYTERANGE ) { var a = s . BYTERANGE . split ( "@" ) , o = a [ 0 ] , u = a [ 1 ] ; i . byterange = { } , o && ( i . byterange . length = parseInt ( o , 10 ) ) , u && ( i . byterange . offset = parseInt ( u , 10 ) ) } } n . trigger ( "data" , i ) } else if ( t = /^#EXT-X-STREAM-INF:?(.*)$/ . exec ( e ) ) { if ( i = { type : "tag" , tagType : "stream-inf" } , t [ 1 ] ) { if ( i . attributes = it ( t [ 1 ] ) , i . attributes . RESOLUTION ) { var l = i . attributes . RESOLUTION . split ( "x" ) , c = { } ; l [ 0 ] && ( c . width = parseInt ( l [ 0 ] , 10 ) ) , l [ 1 ] && ( c . height = parseInt ( l [ 1 ] , 10 ) ) , i . attributes . RESOLUTION = c } i . attributes . BANDWIDTH && ( i . attributes . BANDWIDTH = pa
2020-05-28 23:03:16 +00:00
/ * *
2020-05-28 22:32:12 +00:00
* @ videojs / http - streaming
* @ version 1.13 . 2
* @ copyright 2020 Brightcove , Inc
* @ license Apache - 2.0
* /
2020-06-10 11:36:24 +00:00
var Ml = function ( e , t ) { return /^[a-z]+:/i . test ( t ) ? t : ( /\/\//i . test ( e ) || ( e = Qe . buildAbsoluteURL ( ee . location . href , e ) ) , Qe . buildAbsoluteURL ( e , t ) ) } , Bl = function ( e , t , i ) { return e && i . responseURL && t !== i . responseURL ? i . responseURL : t } , jl = function ( e , t ) { if ( ! ( e instanceof t ) ) throw new TypeError ( "Cannot call a class as a function" ) } , Fl = function ( ) { function e ( e , t ) { for ( var i = 0 ; i < t . length ; i ++ ) { var n = t [ i ] ; n . enumerable = n . enumerable || ! 1 , n . configurable = ! 0 , "value" in n && ( n . writable = ! 0 ) , Object . defineProperty ( e , n . key , n ) } } return function ( t , i , n ) { return i && e ( t . prototype , i ) , n && e ( t , n ) , t } } ( ) , Vl = function ( e , t ) { if ( "function" != typeof t && null !== t ) throw new TypeError ( "Super expression must either be null or a function, not " + typeof t ) ; e . prototype = Object . create ( t && t . prototype , { constructor : { value : e , enumerable : ! 1 , writable : ! 0 , configurable : ! 0 } } ) , t && ( Object . setPrototypeOf ? Object . setPrototypeOf ( e , t ) : e . _ _proto _ _ = t ) } , Hl = function ( e , t ) { if ( ! e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ; return ! t || "object" != typeof t && "function" != typeof t ? e : t } , ql = function ( e , t ) { if ( Array . isArray ( e ) ) return e ; if ( Symbol . iterator in Object ( e ) ) return function ( e , t ) { var i = [ ] , n = ! 0 , r = ! 1 , s = void 0 ; try { for ( var a , o = e [ Symbol . iterator ] ( ) ; ! ( n = ( a = o . next ( ) ) . done ) && ( i . push ( a . value ) , ! t || i . length !== t ) ; n = ! 0 ) ; } catch ( e ) { r = ! 0 , s = e } finally { try { ! n && o . return && o . return ( ) } finally { if ( r ) throw s } } return i } ( e , t ) ; throw new TypeError ( "Invalid attempt to destructure non-iterable instance" ) } , Wl = Nl . mergeOptions , zl = Nl . EventTarget , Gl = Nl . log , $l = function ( e , t ) { [ "AUDIO" , "SUBTITLES" ] . forEach ( ( function ( i ) { for ( var n in e . mediaGroups [ i ] ) for ( var r in e . mediaGroups [ i ] [ n ] ) { var s = e . mediaGroups [ i ] [ n ] [ r ] ; t ( s , i , n , r ) } } ) ) } , Xl = function ( e , t ) { var i = Wl ( e , { } ) , n = i . playlists [ t . id ] ; if ( ! n ) return null ; if ( n . segments && t . segments && n . segments . length === t . segments . length && n . endList === t . endList && n . mediaSequence === t . mediaSequence ) return null ; var r = Wl ( n , t ) ; n . segments && ( r . segments = function ( e , t , i ) { var n = t . slice ( ) ; i = i || 0 ; for ( var r = Math . min ( e . length , t . length + i ) , s = i ; s < r ; s ++ ) n [ s - i ] = Wl ( e [ s ] , n [ s - i ] ) ; return n } ( n . segments , t . segments , t . mediaSequence - n . mediaSequence ) ) , r . segments . forEach ( ( function ( e ) { ! function ( e , t ) { e . resolvedUri || ( e . resolvedUri = Ml ( t , e . uri ) ) , e . key && ! e . key . resolvedUri && ( e . key . resolvedUri = Ml ( t , e . key . uri ) ) , e . map && ! e . map . resolvedUri && ( e . map . resolvedUri = Ml ( t , e . map . uri ) ) } ( e , r . resolvedUri ) } ) ) ; for ( var s = 0 ; s < i . playlists . length ; s ++ ) i . playlists [ s ] . id === t . id && ( i . playlists [ s ] = r ) ; return i . playlists [ t . id ] = r , i . playlists [ t . uri ] = r , i } , Kl = function ( e , t ) { return e + "-" + t } , Yl = function ( e ) { for ( var t = e . playlists . length ; t -- ; ) { var i = e . playlists [ t ] ; i . resolvedUri = Ml ( e . uri , i . uri ) , i . id = Kl ( t , i . uri ) , e . playlists [ i . id ] = i , e . playlists [ i . uri ] = i , i . attributes || ( i . attributes = { } , Gl . warn ( "Invalid playlist STREAM-INF detected. Missing BANDWIDTH attribute." ) ) } } , Ql = function ( e ) { $l ( e , ( function ( t ) { t . uri && ( t . resolvedUri = Ml ( e . uri , t . uri ) ) } ) ) } , Jl = function ( e , t ) { var i = e . segments [ e . segments . length - 1 ] ; return t && i && i . duration ? 1e3 * i . duration : 500 * ( e . targetDuration || 10 ) } , Zl = function ( e ) { function t ( e , i ) { var n = arguments . length > 2 && void 0 !== arguments [ 2 ] ? arguments [ 2 ] : { } ; jl ( this , t ) ; var r = Hl ( this , ( t . _ _proto _ _ || Object . getPrototypeOf ( t ) ) . call ( this ) ) , s = n . withCredentials , a = void 0 !== s && s , o = n . handleManifestRedirects , u = void 0 !== o && o ; r . srcUrl = e , r . hls _ = i , r . withCredentials = a , r . handleManifestRedirects = u ; var l = i . options _ ; if ( r . customTagParsers = l && l . customTagParsers || [ ] , r . customTagMappers = l && l . customTagMappers || [ ] , ! r . srcUrl ) throw new Error ( "A non-empty playlist URL is required" ) ; return r . state = "HAVE_NOTHING" , r . on ( "mediaupdatetimeout" , ( function ( ) { "HAVE_METADATA" === r . state && ( r . state = "HAVE_CURRENT_METADATA" , r . request = r . hls _ . xhr ( { uri : Ml ( r . master . uri , r . media ( ) . uri ) , withCredentials : r . withCredentials } , ( function ( e , t ) { if ( r . request ) return e ? r . playlistRequestError ( r . request , r . media ( ) , "HAVE_METADATA" ) : void r . haveMetadata ( r . request , r . media ( ) . uri , r . media ( ) . id ) } ) ) ) } ) ) , r } return Vl ( t , e ) , Fl ( t , [ { key : "playlistRequestError" , value : function ( e , t , i ) { var n = t . uri , r = t . id ; this . request = null , i && ( this . state = i ) , this . error = { playlist : this . master . playlists [ r ] , status : e . status , message : "HLS playlist request error at URL: " + n + "." , responseText : e . responseT