hls-parser
Advanced tools
Comparing version 0.10.0 to 0.10.1
/*! For license information please see hls-parser.min.js.LICENSE.txt */ | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.HLS=e():t.HLS=e()}(self,(function(){return t={851:(t,e,n)=>{var a=n(771),r=a.getOptions,i=a.setOptions,o=n(463),s=n(367),c=n(890);t.exports={parse:o,stringify:s,types:c,getOptions:r,setOptions:i}},463:(t,e,n)=>{function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(t){r=!0,i=t}finally{try{a||null==s.return||s.return()}finally{if(r)throw i}}return n}}(t,e)||i(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=i(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,r=function(){};return{s:r,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw o}}}}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}var s=n(771),c=n(890),u=c.Rendition,l=c.Variant,T=c.SessionData,E=c.Key,f=c.MediaInitializationSection,I=c.DateRange,h=c.SpliceInfo,A=c.MasterPlaylist,p=c.MediaPlaylist,d=c.Segment,S=c.PartialSegment,N=c.PrefetchSegment,y=c.RenditionReport;function X(t){return s.trim(t,'"')}function v(t){var e=s.splitAt(t,",");return{duration:s.toNumber(e[0]),title:decodeURIComponent(escape(e[1]))}}function m(t){var e=s.splitAt(t,"@");return{length:s.toNumber(e[0]),offset:e[1]?s.toNumber(e[1]):-1}}function R(t){var e=s.splitAt(t,"x");return{width:s.toNumber(e[0]),height:s.toNumber(e[1])}}function L(t){var e="ALLOWED-CPC: Each entry must consit of KEYFORMAT and Content Protection Configuration",n=t.split(",");0===n.length&&s.INVALIDPLAYLIST(e);var i,o=[],c=r(n);try{for(c.s();!(i=c.n()).done;){var u=i.value,l=a(s.splitAt(u,":"),2),T=l[0],E=l[1];T&&E?o.push({format:T,cpcList:E.split("/")}):s.INVALIDPLAYLIST(e)}}catch(t){c.e(t)}finally{c.f()}return o}function D(t){return t.startsWith('"')?X(t):t.startsWith("0x")||t.startsWith("0X")?s.hexToByteSequence(t):s.toNumber(t)}function g(t,e){e.IV&&t.compatibleVersion<2&&(t.compatibleVersion=2),(e.KEYFORMAT||e.KEYFORMATVERSIONS)&&t.compatibleVersion<5&&(t.compatibleVersion=5)}function O(t){var e,n,i,o={},c=r(s.splitByCommaWithPreservingQuotes(t));try{for(c.s();!(e=c.n()).done;){var u=e.value,l=a(s.splitAt(u,"="),2),T=l[0],E=l[1],f=X(E);switch(T){case"URI":o[T]=f;break;case"START-DATE":case"END-DATE":o[T]=new Date(f);break;case"IV":o[T]=(n=f,i=void 0,16!==(i=s.hexToByteSequence(n)).length&&s.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),i);break;case"BYTERANGE":o[T]=m(f);break;case"RESOLUTION":o[T]=R(f);break;case"ALLOWED-CPC":o[T]=L(f);break;case"END-ON-NEXT":case"DEFAULT":case"AUTOSELECT":case"FORCED":case"PRECISE":case"CAN-BLOCK-RELOAD":case"INDEPENDENT":case"GAP":o[T]="YES"===f;break;case"DURATION":case"PLANNED-DURATION":case"BANDWIDTH":case"AVERAGE-BANDWIDTH":case"FRAME-RATE":case"TIME-OFFSET":case"CAN-SKIP-UNTIL":case"HOLD-BACK":case"PART-HOLD-BACK":case"PART-TARGET":case"BYTERANGE-START":case"BYTERANGE-LENGTH":case"LAST-MSN":case"LAST-PART":case"SKIPPED-SEGMENTS":case"SCORE":o[T]=s.toNumber(f);break;default:T.startsWith("SCTE35-")?o[T]=s.hexToByteSequence(f):T.startsWith("X-")?o[T]=D(E):("VIDEO-RANGE"===T&&"SDR"!==f&&"HLG"!==f&&"PQ"!==f&&s.INVALIDPLAYLIST('VIDEO-RANGE: unknown value "'.concat(f,'"')),o[T]=f)}}}catch(t){c.e(t)}finally{c.f()}return o}function P(){s.INVALIDPLAYLIST("The file contains both media and master playlist tags.")}function b(t,e,n){var a,i=(a=e.attributes,new u({type:a.TYPE,uri:a.URI,groupId:a["GROUP-ID"],language:a.LANGUAGE,assocLanguage:a["ASSOC-LANGUAGE"],name:a.NAME,isDefault:a.DEFAULT,autoselect:a.AUTOSELECT,forced:a.FORCED,instreamId:a["INSTREAM-ID"],characteristics:a.CHARACTERISTICS,channels:a.CHANNELS})),o=t[s.camelify(n)],c=function(t,e){var n,a=!1,i=r(t);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(o.name===e.name)return"All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.";o.isDefault&&(a=!0)}}catch(t){i.e(t)}finally{i.f()}return a&&e.isDefault?"EXT-X-MEDIA A Group MUST NOT have more than one member with a DEFAULT attribute of YES.":""}(o,i);c&&s.INVALIDPLAYLIST(c),o.push(i),i.isDefault&&(t.currentRenditions[s.camelify(n)]=o.length-1)}function C(t,e,n,a,i){var o,c=new l({uri:n,bandwidth:e.BANDWIDTH,averageBandwidth:e["AVERAGE-BANDWIDTH"],score:e.SCORE,codecs:e.CODECS,resolution:e.RESOLUTION,frameRate:e["FRAME-RATE"],hdcpLevel:e["HDCP-LEVEL"],allowedCpc:e["ALLOWED-CPC"],videoRange:e["VIDEO-RANGE"],stableVariantId:e["STABLE-VARIANT-ID"]}),u=r(t);try{for(u.s();!(o=u.n()).done;){var T=o.value;if("EXT-X-MEDIA"===T.name){var E=T.attributes,f=E.TYPE;if(f&&E["GROUP-ID"]||s.INVALIDPLAYLIST("EXT-X-MEDIA TYPE attribute is REQUIRED."),e[f]===E["GROUP-ID"]&&(b(c,T,f),"CLOSED-CAPTIONS"===f)){var I,h=r(c.closedCaptions);try{for(h.s();!(I=h.n()).done;){var A=I.value.instreamId;if(A&&A.startsWith("SERVICE")&&i.compatibleVersion<7){i.compatibleVersion=7;break}}}catch(t){h.e(t)}finally{h.f()}}}}}catch(t){u.e(t)}finally{u.f()}return function(t,e,n){for(var a=function(){var a=i[r];"CLOSED-CAPTIONS"===a&&"NONE"===t[a]?(n.isClosedCaptionsNone=!0,e.closedCaptions=[]):t[a]&&!e[s.camelify(a)].some((function(e){return e.groupId===t[a]}))&&s.INVALIDPLAYLIST("".concat(a," attribute MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag whose TYPE attribute is ").concat(a,"."))},r=0,i=["AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS"];r<i.length;r++)a()}(e,c,i),c.isIFrameOnly=a,c}function M(t,e){if(t.method!==e.method)return!1;if(t.uri!==e.uri)return!1;if(t.iv){if(!e.iv)return!1;if(t.iv.length!==e.iv.length)return!1;for(var n=0;n<t.iv.length;n++)if(t.iv[n]!==e.iv[n])return!1}else if(e.iv)return!1;return t.format===e.format&&t.formatVersion===e.formatVersion}function U(t,e,n,a,r,i,o){for(var c=new d({uri:e,mediaSequenceNumber:r,discontinuitySequence:i}),u=!1,l=!1,T=n;T<=a;T++){var A=t[T],p=A.name,N=A.value,y=A.attributes;if("EXTINF"===p)!Number.isInteger(N.duration)&&o.compatibleVersion<3&&(o.compatibleVersion=3),Math.round(N.duration)>o.targetDuration&&s.INVALIDPLAYLIST("EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration"),c.duration=N.duration,c.title=N.title;else if("EXT-X-BYTERANGE"===p)o.compatibleVersion<4&&(o.compatibleVersion=4),c.byterange=N;else if("EXT-X-DISCONTINUITY"===p)c.parts.length>0&&s.INVALIDPLAYLIST("EXT-X-DISCONTINUITY must appear before the first EXT-X-PART tag of the Parent Segment."),c.discontinuity=!0;else if("EXT-X-KEY"===p)c.parts.length>0&&s.INVALIDPLAYLIST("EXT-X-KEY must appear before the first EXT-X-PART tag of the Parent Segment."),g(o,y),c.key=new E({method:y.METHOD,uri:y.URI,iv:y.IV,format:y.KEYFORMAT,formatVersion:y.KEYFORMATVERSIONS});else if("EXT-X-MAP"===p)c.parts.length>0&&s.INVALIDPLAYLIST("EXT-X-MAP must appear before the first EXT-X-PART tag of the Parent Segment."),o.compatibleVersion<5&&(o.compatibleVersion=5),o.hasMap=!0,c.map=new f({uri:y.URI,byterange:y.BYTERANGE});else if("EXT-X-PROGRAM-DATE-TIME"===p)c.programDateTime=N;else if("EXT-X-DATERANGE"===p){for(var X={},v=0,m=Object.keys(y);v<m.length;v++){var R=m[v];(R.startsWith("SCTE35-")||R.startsWith("X-"))&&(X[R]=y[R])}c.dateRange=new I({id:y.ID,classId:y.CLASS,start:y["START-DATE"],end:y["END-DATE"],duration:y.DURATION,plannedDuration:y["PLANNED-DURATION"],endOnNext:y["END-ON-NEXT"],attributes:X})}else if("EXT-X-CUE-OUT"===p)c.markers.push(new h({type:"OUT",duration:N}));else if("EXT-X-CUE-IN"===p)c.markers.push(new h({type:"IN"}));else if("EXT-X-CUE-OUT-CONT"===p||"EXT-X-CUE"===p||"EXT-OATCLS-SCTE35"===p||"EXT-X-ASSET"===p||"EXT-X-SCTE35"===p)c.markers.push(new h({type:"RAW",tagName:p,value:N}));else if("EXT-X-PRELOAD-HINT"!==p||y.TYPE)if("EXT-X-PRELOAD-HINT"===p&&"PART"===y.TYPE&&l)s.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist.");else if("EXT-X-PART"!==p&&"EXT-X-PRELOAD-HINT"!==p||y.URI){if("EXT-X-PRELOAD-HINT"===p&&"MAP"===y.TYPE)u&&s.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist."),u=!0,o.hasMap=!0,c.map=new f({hint:!0,uri:y.URI,byterange:{length:y["BYTERANGE-LENGTH"],offset:y["BYTERANGE-START"]||0}});else if("EXT-X-PART"===p||"EXT-X-PRELOAD-HINT"===p&&"PART"===y.TYPE){"EXT-X-PART"!==p||y.DURATION||s.INVALIDPLAYLIST("EXT-X-PART: DURATION attribute is mandatory"),"EXT-X-PRELOAD-HINT"===p&&(l=!0);var L=new S({hint:"EXT-X-PRELOAD-HINT"===p,uri:y.URI,byterange:"EXT-X-PART"===p?y.BYTERANGE:{length:y["BYTERANGE-LENGTH"],offset:y["BYTERANGE-START"]||0},duration:y.DURATION,independent:y.INDEPENDENT,gap:y.GAP});c.parts.push(L)}}else s.INVALIDPLAYLIST("EXT-X-PART / EXT-X-PRELOAD-HINT: URI attribute is mandatory");else s.INVALIDPLAYLIST("EXT-X-PRELOAD-HINT: TYPE attribute is mandatory")}return c}function Y(t,e,n,a,r,i,o){for(var c=new N({uri:e,mediaSequenceNumber:r,discontinuitySequence:i}),u=n;u<=a;u++){var l=t[u],T=l.name,f=l.attributes;"EXTINF"===T?s.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXTINF tag."):"EXT-X-DISCONTINUITY"===T?s.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXT-X-DISCONTINUITY tag."):"EXT-X-PREFETCH-DISCONTINUITY"===T?c.discontinuity=!0:"EXT-X-KEY"===T?(g(o,f),c.key=new E({method:f.METHOD,uri:f.URI,iv:f.IV,format:f.KEYFORMAT,formatVersion:f.KEYFORMATVERSIONS})):"EXT-X-MAP"===T&&s.INVALIDPLAYLIST("Prefetch segments must not be advertised with an EXT-X-MAP tag.")}return c}function V(t,e){var n,i=new p,o=-1,c=0,u=!1,l=!1,T=0,E=null,f=null,I=!1,h=r(t.entries());try{for(h.s();!(n=h.n()).done;){var A=a(n.value,2),d=A[0],S=A[1],N=S.name,X=S.value,v=S.attributes;if("Segment"!==S.category){if("EXT-X-VERSION"===N)void 0===i.version?i.version=X:s.INVALIDPLAYLIST("A Playlist file MUST NOT contain more than one EXT-X-VERSION tag.");else if("EXT-X-TARGETDURATION"===N)i.targetDuration=e.targetDuration=X;else if("EXT-X-MEDIA-SEQUENCE"===N)i.segments.length>0&&s.INVALIDPLAYLIST("The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),i.mediaSequenceBase=c=X;else if("EXT-X-DISCONTINUITY-SEQUENCE"===N)i.segments.length>0&&s.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),u&&s.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before any EXT-X-DISCONTINUITY tag."),i.discontinuitySequenceBase=T=X;else if("EXT-X-ENDLIST"===N)i.endlist=!0;else if("EXT-X-PLAYLIST-TYPE"===N)i.playlistType=X;else if("EXT-X-I-FRAMES-ONLY"===N)e.compatibleVersion<4&&(e.compatibleVersion=4),i.isIFrame=!0;else if("EXT-X-INDEPENDENT-SEGMENTS"===N)i.independentSegments&&s.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),i.independentSegments=!0;else if("EXT-X-START"===N)i.start&&s.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),"number"!=typeof v["TIME-OFFSET"]&&s.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),i.start={offset:v["TIME-OFFSET"],precise:v.PRECISE||!1};else if("EXT-X-SERVER-CONTROL"===N)v["CAN-BLOCK-RELOAD"]||s.INVALIDPLAYLIST("EXT-X-SERVER-CONTROL: CAN-BLOCK-RELOAD=YES is mandatory for Low-Latency HLS"),i.lowLatencyCompatibility={canBlockReload:v["CAN-BLOCK-RELOAD"],canSkipUntil:v["CAN-SKIP-UNTIL"],holdBack:v["HOLD-BACK"],partHoldBack:v["PART-HOLD-BACK"]};else if("EXT-X-PART-INF"===N)v["PART-TARGET"]||s.INVALIDPLAYLIST("EXT-X-PART-INF: PART-TARGET attribute is mandatory"),i.partTargetDuration=v["PART-TARGET"];else if("EXT-X-RENDITION-REPORT"===N)v.URI||s.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI attribute is mandatory"),0===v.URI.search(/^[a-z]+:/)&&s.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI must be relative to the playlist uri"),i.renditionReports.push(new y({uri:v.URI,lastMSN:v["LAST-MSN"],lastPart:v["LAST-PART"]}));else if("EXT-X-SKIP"===N)v["SKIPPED-SEGMENTS"]||s.INVALIDPLAYLIST("EXT-X-SKIP: SKIPPED-SEGMENTS attribute is mandatory"),e.compatibleVersion<9&&(e.compatibleVersion=9),i.skip=v["SKIPPED-SEGMENTS"],c+=i.skip;else if("EXT-X-PREFETCH"===N){var m=Y(t,X,-1===o?d:o,d-1,c++,T,e);m&&(m.discontinuity&&(m.discontinuitySequence++,T=m.discontinuitySequence),m.key?E=m.key:m.key=E,i.prefetchSegments.push(m)),l=!0,o=-1}else if("string"==typeof S){-1===o&&s.INVALIDPLAYLIST("A URI line is not preceded by any segment tags"),i.targetDuration||s.INVALIDPLAYLIST("The EXT-X-TARGETDURATION tag is REQUIRED"),l&&s.INVALIDPLAYLIST("These segments must appear after all complete segments.");var R=U(t,S,o,d-1,c++,T,e);if(R){var L=a(w(i,R,T,E,f),3);T=L[0],E=L[1],f=L[2],!I&&R.parts.length>0&&(I=!0)}o=-1}}else-1===o&&(o=d),"EXT-X-DISCONTINUITY"===N&&(u=!0)}}catch(t){h.e(t)}finally{h.f()}if(-1!==o){var D=U(t,"",o,t.length-1,c++,T,e);if(D){var g=D.parts;g.length>0&&!i.endlist&&!g[g.length-1].hint&&s.INVALIDPLAYLIST("If the Playlist contains EXT-X-PART tags and does not contain an EXT-X-ENDLIST tag, the Playlist must contain an EXT-X-PRELOAD-HINT tag with a TYPE=PART attribute"),w(i,D,E,f),!I&&D.parts.length>0&&(I=!0)}}return function(t){for(var e=new Map,n=new Map,a=!1,i=!1,o=t.length-1;o>=0;o--){var c=t[o],u=c.programDateTime,l=c.dateRange;if(u&&(i=!0),l&&l.start){a=!0,l.endOnNext&&(l.end||l.duration)&&s.INVALIDPLAYLIST("An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.");var T=l.start.getTime(),E=l.duration||0;l.end&&l.duration&&T+1e3*E!==l.end.getTime()&&s.INVALIDPLAYLIST("END-DATE MUST be equal to the value of the START-DATE attribute plus the value of the DURATION"),l.endOnNext&&(l.end=e.get(l.classId)),e.set(l.classId,l.start);var f=l.end?l.end.getTime():l.start.getTime()+1e3*(l.duration||0),I=n.get(l.classId);if(I){var h,A=r(I);try{for(A.s();!(h=A.n()).done;){var p=h.value;(p.start<=T&&p.end>T||p.start>=T&&p.start<f)&&s.INVALIDPLAYLIST("DATERANGE tags with the same CLASS should not overlap")}}catch(t){A.e(t)}finally{A.f()}I.push({start:T,end:f})}else n.set(l.classId,[{start:T,end:f}])}}a&&!i&&s.INVALIDPLAYLIST("If a Playlist contains an EXT-X-DATERANGE tag, it MUST also contain at least one EXT-X-PROGRAM-DATE-TIME tag.")}(i.segments),i.lowLatencyCompatibility&&function(t,e){var n=t.lowLatencyCompatibility,i=t.targetDuration,o=t.partTargetDuration,c=t.segments,u=t.renditionReports,l=n.canSkipUntil,T=n.holdBack,E=n.partHoldBack;if(l<6*i&&s.INVALIDPLAYLIST("The Skip Boundary must be at least six times the EXT-X-TARGETDURATION."),T<3*i&&s.INVALIDPLAYLIST("HOLD-BACK must be at least three times the EXT-X-TARGETDURATION."),e){void 0===o&&s.INVALIDPLAYLIST("EXT-X-PART-INF is required if a Playlist contains one or more EXT-X-PART tags"),void 0===E&&s.INVALIDPLAYLIST("EXT-X-PART: PART-HOLD-BACK attribute is mandatory"),E<o&&s.INVALIDPLAYLIST("PART-HOLD-BACK must be at least PART-TARGET");var f,I=r(c.entries());try{for(I.s();!(f=I.n()).done;){var h=a(f.value,2),A=h[0],p=h[1].parts;p.length>0&&A<c.length-3&&s.INVALIDPLAYLIST("Remove EXT-X-PART tags from the Playlist after they are greater than three target durations from the end of the Playlist.");var d,S=r(p.entries());try{for(S.s();!(d=S.n()).done;){var N=a(d.value,2),y=N[0],X=N[1].duration;void 0!==X&&(X>o&&s.INVALIDPLAYLIST("PART-TARGET is the maximum duration of any Partial Segment"),y<p.length-1&&X<.85*o&&s.INVALIDPLAYLIST("All Partial Segments except the last part of a segment must have a duration of at least 85% of PART-TARGET"))}}catch(t){S.e(t)}finally{S.f()}}}catch(t){I.e(t)}finally{I.f()}}var v,m=r(u);try{for(m.s();!(v=m.n()).done;){var R=v.value,L=c[c.length-1];R.lastMSN||(R.lastMSN=L.mediaSequenceNumber),!R.lastPart&&L.parts.length>0&&(R.lastPart=L.parts.length-1)}}catch(t){m.e(t)}finally{m.f()}}(i,I),i}function w(t,e,n,a,r){var i=e.discontinuity,o=e.key,c=e.map,u=e.byterange,l=e.uri;if(i&&(e.discontinuitySequence=n+1),o||(e.key=a),c||(e.map=r),u&&-1===u.offset){var T=t.segments;if(T.length>0){var E=T[T.length-1];E.byterange&&E.uri===l?u.offset=E.byterange.offset+E.byterange.length:s.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST be a sub-range of the same media resource")}else s.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST appear in the Playlist file")}return t.segments.push(e),[e.discontinuitySequence,e.key,e.map]}function F(t,e){var n=a(function(t){var e=t.indexOf(":");return-1===e?[t.slice(1).trim(),null]:[t.slice(1,e).trim(),t.slice(e+1).trim()]}(t),2),r=n[0],i=n[1],o=function(t){switch(t){case"EXTM3U":case"EXT-X-VERSION":return"Basic";case"EXTINF":case"EXT-X-BYTERANGE":case"EXT-X-DISCONTINUITY":case"EXT-X-PREFETCH-DISCONTINUITY":case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-PROGRAM-DATE-TIME":case"EXT-X-DATERANGE":case"EXT-X-CUE-OUT":case"EXT-X-CUE-IN":case"EXT-X-CUE-OUT-CONT":case"EXT-X-CUE":case"EXT-OATCLS-SCTE35":case"EXT-X-ASSET":case"EXT-X-SCTE35":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":return"Segment";case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":case"EXT-X-ENDLIST":case"EXT-X-PLAYLIST-TYPE":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PREFETCH":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return"MediaPlaylist";case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":return"MasterPlaylist";case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-START":return"MediaorMasterPlaylist";default:return"Unknown"}}(r);if(function(t,e){if("Segment"===t||"MediaPlaylist"===t)return void 0===e.isMasterPlaylist?void(e.isMasterPlaylist=!1):void(e.isMasterPlaylist&&P());if("MasterPlaylist"===t){if(void 0===e.isMasterPlaylist)return void(e.isMasterPlaylist=!0);!1===e.isMasterPlaylist&&P()}}(o,e),"Unknown"===o)return null;"MediaPlaylist"===o&&"EXT-X-RENDITION-REPORT"!==r&&"EXT-X-PREFETCH"!==r&&(e.hash[r]&&s.INVALIDPLAYLIST("There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist"),e.hash[r]=!0);var c=a(function(t,e){switch(t){case"EXTM3U":case"EXT-X-DISCONTINUITY":case"EXT-X-ENDLIST":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-CUE-IN":return[null,null];case"EXT-X-VERSION":case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":return[s.toNumber(e),null];case"EXT-X-CUE-OUT":return Number.isNaN(Number(e))?[null,O(e)]:[s.toNumber(e),null];case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-DATERANGE":case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":case"EXT-X-START":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return[null,O(e)];case"EXTINF":return[v(e),null];case"EXT-X-BYTERANGE":return[m(e),null];case"EXT-X-PROGRAM-DATE-TIME":return[new Date(e),null];case"EXT-X-PLAYLIST-TYPE":default:return[e,null]}}(r,i),2);return{name:r,category:o,value:c[0],attributes:c[1]}}function G(t,e){var n;return e.isMasterPlaylist?n=function(t,e){var n,i=new A,o=!1,c=r(t.entries());try{for(c.s();!(n=c.n()).done;){var u=a(n.value,2),l=u[0],f=u[1],I=f.name,h=f.value,p=f.attributes;if("EXT-X-VERSION"===I)i.version=h;else if("EXT-X-STREAM-INF"===I){var d=t[l+1];("string"!=typeof d||d.startsWith("#EXT"))&&s.INVALIDPLAYLIST("EXT-X-STREAM-INF must be followed by a URI line");var S=C(t,p,d,!1,e);S&&("number"==typeof S.score&&(o=!0,S.score<0&&s.INVALIDPLAYLIST("SCORE attribute on EXT-X-STREAM-INF must be positive decimal-floating-point number.")),i.variants.push(S))}else if("EXT-X-I-FRAME-STREAM-INF"===I){var N=C(t,p,p.URI,!0,e);N&&i.variants.push(N)}else"EXT-X-SESSION-DATA"===I?function(){var t=new T({id:p["DATA-ID"],value:p.VALUE,uri:p.URI,language:p.LANGUAGE});i.sessionDataList.some((function(e){return e.id===t.id&&e.language===t.language}))&&s.INVALIDPLAYLIST("A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute."),i.sessionDataList.push(t)}():"EXT-X-SESSION-KEY"===I?function(){"NONE"===p.METHOD&&s.INVALIDPLAYLIST("EXT-X-SESSION-KEY: The value of the METHOD attribute MUST NOT be NONE");var t=new E({method:p.METHOD,uri:p.URI,iv:p.IV,format:p.KEYFORMAT,formatVersion:p.KEYFORMATVERSIONS});i.sessionKeyList.some((function(e){return M(e,t)}))&&s.INVALIDPLAYLIST("A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values."),g(e,p),i.sessionKeyList.push(t)}():"EXT-X-INDEPENDENT-SEGMENTS"===I?(i.independentSegments&&s.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),i.independentSegments=!0):"EXT-X-START"===I&&(i.start&&s.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),"number"!=typeof p["TIME-OFFSET"]&&s.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),i.start={offset:p["TIME-OFFSET"],precise:p.PRECISE||!1})}}catch(t){c.e(t)}finally{c.f()}if(o){var y,X=r(i.variants);try{for(X.s();!(y=X.n()).done;)"number"!=typeof y.value.score&&s.INVALIDPLAYLIST("If any Variant Stream contains the SCORE attribute, then all Variant Streams in the Master Playlist SHOULD have a SCORE attribute")}catch(t){X.e(t)}finally{X.f()}}if(e.isClosedCaptionsNone){var v,m=r(i.variants);try{for(m.s();!(v=m.n()).done;)v.value.closedCaptions.length>0&&s.INVALIDPLAYLIST("If there is a variant with CLOSED-CAPTIONS attribute of NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE")}catch(t){m.e(t)}finally{m.f()}}return i}(t,e):!(n=V(t,e)).isIFrame&&e.hasMap&&e.compatibleVersion<6&&(e.compatibleVersion=6),e.compatibleVersion>1&&(!n.version||n.version<e.compatibleVersion)&&s.INVALIDPLAYLIST("EXT-X-VERSION needs to be ".concat(e.compatibleVersion," or higher.")),n}t.exports=function(t){var e={version:void 0,isMasterPlaylist:void 0,hasMap:!1,targetDuration:0,compatibleVersion:1,isClosedCaptionsNone:!1,hash:{}},n=G(function(t,e){var n,a=[],i=r(t.split("\n"));try{for(i.s();!(n=i.n()).done;){var o=n.value.trim();if(o)if(o.startsWith("#")){if(o.startsWith("#EXT")){var c=F(o,e);c&&a.push(c)}}else a.push(o)}}catch(t){i.e(t)}finally{i.f()}return 0!==a.length&&"EXTM3U"===a[0].name||s.INVALIDPLAYLIST("The EXTM3U tag MUST be the first line."),a}(t,e),e);return n.source=t,n}},367:(t,e,n)=>{function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(t){r=!0,i=t}finally{try{a||null==s.return||s.return()}finally{if(r)throw i}}return n}}(t,e)||o(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=o(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,r=function(){};return{s:r,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,i=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw i}}}}function o(t,e){if(t){if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}function c(t,e){for(var n=0;n<e.length;n++){var a=e[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function u(t,e,n){return(u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var a=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(a){var r=Object.getOwnPropertyDescriptor(a,e);return r.get?r.get.call(n):r.value}})(t,e,n||t)}function l(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function T(t){var e="function"==typeof Map?new Map:void 0;return(T=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,a)}function a(){return E(t,arguments,h(this).constructor)}return a.prototype=Object.create(t.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),I(a,t)})(t)}function E(t,e,n){return(E=f()?Reflect.construct:function(t,e,n){var a=[null];a.push.apply(a,e);var r=new(Function.bind.apply(t,a));return n&&I(r,n.prototype),r}).apply(null,arguments)}function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function I(t,e){return(I=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var A=n(771),p=["#EXTINF","#EXT-X-BYTERANGE","#EXT-X-DISCONTINUITY","#EXT-X-STREAM-INF","#EXT-X-CUE-OUT","#EXT-X-CUE-IN","#EXT-X-KEY","#EXT-X-MAP"],d=["#EXT-X-MEDIA"],S=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&I(t,e)}(s,t);var e,n,a,r,i,o=(e=s,n=f(),function(){var t,a=h(e);if(n){var r=h(this).constructor;t=Reflect.construct(a,arguments,r)}else t=a.apply(this,arguments);return l(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),(e=o.call(this)).baseUri=t,e}return a=s,(r=[{key:"push",value:function(){for(var t=this,e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];for(var r=function(){var e=o[i];if(!e.startsWith("#"))return u(h(s.prototype),"push",t).call(t,e),"continue";if(p.some((function(t){return e.startsWith(t)})))return u(h(s.prototype),"push",t).call(t,e),"continue";if(t.includes(e)){if(d.some((function(t){return e.startsWith(t)})))return"continue";A.INVALIDPLAYLIST("Redundant item (".concat(e,")"))}u(h(s.prototype),"push",t).call(t,e)},i=0,o=n;i<o.length;i++)r()}}])&&c(a.prototype,r),i&&c(a,i),s}(T(Array));function N(t,e){var n=1e3;e&&(n=Math.pow(10,e));var a=Math.round(t*n)/n;return e?a.toFixed(e):a}function y(t){var e=t.toString(10),n=e.indexOf(".");return-1===n?0:e.length-n-1}function X(t){var e=['DATA-ID="'.concat(t.id,'"')];return t.language&&e.push('LANGUAGE="'.concat(t.language,'"')),t.value?e.push('VALUE="'.concat(t.value,'"')):t.uri&&e.push('URI="'.concat(t.uri,'"')),"#EXT-X-SESSION-DATA:".concat(e.join(","))}function v(t,e){var n=e?"#EXT-X-SESSION-KEY":"#EXT-X-KEY",a=["METHOD=".concat(t.method)];return t.uri&&a.push('URI="'.concat(t.uri,'"')),t.iv&&(16!==t.iv.length&&A.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),a.push("IV=".concat(A.byteSequenceToHex(t.iv)))),t.format&&a.push('KEYFORMAT="'.concat(t.format,'"')),t.formatVersion&&a.push('KEYFORMATVERSIONS="'.concat(t.formatVersion,'"')),"".concat(n,":").concat(a.join(","))}function m(t,e){var n=e.isIFrameOnly?"#EXT-X-I-FRAME-STREAM-INF":"#EXT-X-STREAM-INF",a=["BANDWIDTH=".concat(e.bandwidth)];if(e.averageBandwidth&&a.push("AVERAGE-BANDWIDTH=".concat(e.averageBandwidth)),e.isIFrameOnly&&a.push('URI="'.concat(e.uri,'"')),e.codecs&&a.push('CODECS="'.concat(e.codecs,'"')),e.resolution&&a.push("RESOLUTION=".concat(e.resolution.width,"x").concat(e.resolution.height)),e.frameRate&&a.push("FRAME-RATE=".concat(N(e.frameRate,3))),e.hdcpLevel&&a.push("HDCP-LEVEL=".concat(e.hdcpLevel)),e.audio.length>0){a.push('AUDIO="'.concat(e.audio[0].groupId,'"'));var r,o=i(e.audio);try{for(o.s();!(r=o.n()).done;){var s=r.value;t.push(R(s))}}catch(t){o.e(t)}finally{o.f()}}if(e.video.length>0){a.push('VIDEO="'.concat(e.video[0].groupId,'"'));var c,u=i(e.video);try{for(u.s();!(c=u.n()).done;){var l=c.value;t.push(R(l))}}catch(t){u.e(t)}finally{u.f()}}if(e.subtitles.length>0){a.push('SUBTITLES="'.concat(e.subtitles[0].groupId,'"'));var T,E=i(e.subtitles);try{for(E.s();!(T=E.n()).done;){var f=T.value;t.push(R(f))}}catch(t){E.e(t)}finally{E.f()}}if(A.getOptions().allowClosedCaptionsNone&&0===e.closedCaptions.length)a.push("CLOSED-CAPTIONS=NONE");else if(e.closedCaptions.length>0){a.push('CLOSED-CAPTIONS="'.concat(e.closedCaptions[0].groupId,'"'));var I,h=i(e.closedCaptions);try{for(h.s();!(I=h.n()).done;){var p=I.value;t.push(R(p))}}catch(t){h.e(t)}finally{h.f()}}if(e.score&&a.push("SCORE=".concat(e.score)),e.allowedCpc){var d,S=[],y=i(e.allowedCpc);try{for(y.s();!(d=y.n()).done;){var X=d.value,v=X.format,m=X.cpcList;S.push("".concat(v,":").concat(m.join("/")))}}catch(t){y.e(t)}finally{y.f()}a.push('ALLOWED-CPC="'.concat(S.join(","),'"'))}e.videoRange&&a.push("VIDEO-RANGE=".concat(e.videoRange)),e.stableVariantId&&a.push('STABLE-VARIANT-ID="'.concat(e.stableVariantId,'"')),t.push("".concat(n,":").concat(a.join(","))),e.isIFrameOnly||t.push("".concat(e.uri))}function R(t){var e=["TYPE=".concat(t.type),'GROUP-ID="'.concat(t.groupId,'"'),'NAME="'.concat(t.name,'"')];return void 0!==t.isDefault&&e.push("DEFAULT=".concat(t.isDefault?"YES":"NO")),void 0!==t.autoselect&&e.push("AUTOSELECT=".concat(t.autoselect?"YES":"NO")),void 0!==t.forced&&e.push("FORCED=".concat(t.forced?"YES":"NO")),t.language&&e.push('LANGUAGE="'.concat(t.language,'"')),t.assocLanguage&&e.push('ASSOC-LANGUAGE="'.concat(t.assocLanguage,'"')),t.instreamId&&e.push('INSTREAM-ID="'.concat(t.instreamId,'"')),t.characteristics&&e.push('CHARACTERISTICS="'.concat(t.characteristics,'"')),t.channels&&e.push('CHANNELS="'.concat(t.channels,'"')),t.uri&&e.push('URI="'.concat(t.uri,'"')),"#EXT-X-MEDIA:".concat(e.join(","))}function L(t,e,n,a){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,i=!1,o="";if(e.byterange&&t.push("#EXT-X-BYTERANGE:".concat(g(e.byterange))),e.discontinuity&&t.push("#EXT-X-DISCONTINUITY"),e.key){var s=v(e.key);s!==n&&(t.push(s),n=s)}if(e.map){var c=D(e.map);c!==a&&(t.push(c),a=c)}if(e.programDateTime&&t.push("#EXT-X-PROGRAM-DATE-TIME:".concat(A.formatDate(e.programDateTime))),e.dateRange&&t.push(O(e.dateRange)),e.markers.length>0&&(o=P(t,e.markers)),e.parts.length>0&&(i=b(t,e.parts)),i)return[n,a];var u=r<3?Math.round(e.duration):N(e.duration,y(e.duration));return t.push("#EXTINF:".concat(u,",").concat(unescape(encodeURIComponent(e.title||"")))),Array.prototype.push.call(t,"".concat(e.uri)),[n,a,o]}function D(t){var e=['URI="'.concat(t.uri,'"')];return t.byterange&&e.push('BYTERANGE="'.concat(g(t.byterange),'"')),"#EXT-X-MAP:".concat(e.join(","))}function g(t){var e=t.offset,n=t.length;return"".concat(n,"@").concat(e)}function O(t){var e=['ID="'.concat(t.id,'"')];t.start&&e.push('START-DATE="'.concat(A.formatDate(t.start),'"')),t.end&&e.push('END-DATE="'.concat(t.end,'"')),t.duration&&e.push("DURATION=".concat(t.duration)),t.plannedDuration&&e.push("PLANNED-DURATION=".concat(t.plannedDuration)),t.classId&&e.push('CLASS="'.concat(t.classId,'"')),t.endOnNext&&e.push("END-ON-NEXT=YES");for(var n=0,a=Object.keys(t.attributes);n<a.length;n++){var r=a[n];r.startsWith("X-")?"number"==typeof t.attributes[r]?e.push("".concat(r,"=").concat(t.attributes[r])):e.push("".concat(r,'="').concat(t.attributes[r],'"')):r.startsWith("SCTE35-")&&e.push("".concat(r,"=").concat(A.byteSequenceToHex(t.attributes[r])))}return"#EXT-X-DATERANGE:".concat(e.join(","))}function P(t,e){var n,a="",r=i(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if("OUT"===o.type)a="OUT",t.push("#EXT-X-CUE-OUT:DURATION=".concat(o.duration));else if("IN"===o.type)a="IN",t.push("#EXT-X-CUE-IN");else if("RAW"===o.type){var s=o.value?":".concat(o.value):"";t.push("#".concat(o.tagName).concat(s))}}}catch(t){r.e(t)}finally{r.f()}return a}function b(t,e){var n,a=!1,r=i(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.hint){var s=[];if(s.push("TYPE=PART",'URI="'.concat(o.uri,'"')),o.byterange){var c=o.byterange,u=c.offset,l=c.length;s.push("BYTERANGE-START=".concat(u)),l&&s.push("BYTERANGE-LENGTH=".concat(l))}t.push("#EXT-X-PRELOAD-HINT:".concat(s.join(","))),a=!0}else{var T=[];T.push("DURATION=".concat(o.duration),'URI="'.concat(o.uri,'"')),o.byterange&&T.push("BYTERANGE=".concat(g(o.byterange))),o.independent&&T.push("INDEPENDENT=YES"),o.gap&&T.push("GAP=YES"),t.push("#EXT-X-PART:".concat(T.join(",")))}}}catch(t){r.e(t)}finally{r.f()}return a}t.exports=function(t){A.PARAMCHECK(t),A.ASSERT("Not a playlist","playlist"===t.type);var e=new S(t.uri);return e.push("#EXTM3U"),t.version&&e.push("#EXT-X-VERSION:".concat(t.version)),t.independentSegments&&e.push("#EXT-X-INDEPENDENT-SEGMENTS"),t.start&&e.push("#EXT-X-START:TIME-OFFSET=".concat(N(t.start.offset)).concat(t.start.precise?",PRECISE=YES":"")),t.isMasterPlaylist?function(t,e){var n,a=i(e.sessionDataList);try{for(a.s();!(n=a.n()).done;){var r=n.value;t.push(X(r))}}catch(t){a.e(t)}finally{a.f()}var o,s=i(e.sessionKeyList);try{for(s.s();!(o=s.n()).done;){var c=o.value;t.push(v(c,!0))}}catch(t){s.e(t)}finally{s.f()}var u,l=i(e.variants);try{for(l.s();!(u=l.n()).done;)m(t,u.value)}catch(t){l.e(t)}finally{l.f()}}(e,t):function(t,e){var n="",a="",o=!1;if(e.targetDuration&&t.push("#EXT-X-TARGETDURATION:".concat(e.targetDuration)),e.lowLatencyCompatibility){var s=e.lowLatencyCompatibility,c=s.canBlockReload,u=s.canSkipUntil,l=s.holdBack,T=s.partHoldBack,E=[];E.push("CAN-BLOCK-RELOAD=".concat(c?"YES":"NO")),void 0!==u&&E.push("CAN-SKIP-UNTIL=".concat(u)),void 0!==l&&E.push("HOLD-BACK=".concat(l)),void 0!==T&&E.push("PART-HOLD-BACK=".concat(T)),t.push("#EXT-X-SERVER-CONTROL:".concat(E.join(",")))}e.partTargetDuration&&t.push("#EXT-X-PART-INF:PART-TARGET=".concat(e.partTargetDuration)),e.mediaSequenceBase&&t.push("#EXT-X-MEDIA-SEQUENCE:".concat(e.mediaSequenceBase)),e.discontinuitySequenceBase&&t.push("#EXT-X-DISCONTINUITY-SEQUENCE:".concat(e.discontinuitySequenceBase)),e.playlistType&&t.push("#EXT-X-PLAYLIST-TYPE:".concat(e.playlistType)),e.isIFrame&&t.push("#EXT-X-I-FRAMES-ONLY"),e.skip>0&&t.push("#EXT-X-SKIP:SKIPPED-SEGMENTS=".concat(e.skip));var f,I=i(e.segments);try{for(I.s();!(f=I.n()).done;){var h,p=r(L(t,f.value,n,a,e.version),3);n=p[0],a=p[1],"OUT"===(h=p[2])?o=!0:"IN"===h&&o&&(o=!1)}}catch(t){I.e(t)}finally{I.f()}"VOD"===e.playlistType&&o&&t.push("#EXT-X-CUE-IN"),e.prefetchSegments.length>2&&A.INVALIDPLAYLIST("The server must deliver no more than two prefetch segments");var d,S=i(e.prefetchSegments);try{for(S.s();!(d=S.n()).done;){var N=d.value;N.discontinuity&&t.push("#EXT-X-PREFETCH-DISCONTINUITY"),t.push("#EXT-X-PREFETCH:".concat(N.uri))}}catch(t){S.e(t)}finally{S.f()}e.endlist&&t.push("#EXT-X-ENDLIST");var y,X=i(e.renditionReports);try{for(X.s();!(y=X.n()).done;){var v=y.value,m=[];m.push('URI="'.concat(v.uri,'"'),"LAST-MSN=".concat(v.lastMSN)),void 0!==v.lastPart&&m.push("LAST-PART=".concat(v.lastPart)),t.push("#EXT-X-RENDITION-REPORT:".concat(m.join(",")))}}catch(t){X.e(t)}finally{X.f()}}(e,t),e.join("\n")}},890:(t,e,n)=>{function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function o(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,a=c(t);if(e){var r=c(this).constructor;n=Reflect.construct(a,arguments,r)}else n=a.apply(this,arguments);return s(this,n)}}function s(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function c(t){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var l=n(771),T=function t(e){u(this,t),l.PARAMCHECK(e),this.type=e},E=function(t){r(n,t);var e=o(n);function n(t){var a,r=t.isMasterPlaylist,i=t.uri,o=t.version,s=t.independentSegments,c=void 0!==s&&s,T=t.start,E=t.source;return u(this,n),a=e.call(this,"playlist"),l.PARAMCHECK(r),a.isMasterPlaylist=r,a.uri=i,a.version=o,a.independentSegments=c,a.start=T,a.source=E,a}return n}(T),f=function(t){r(n,t);var e=o(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};u(this,n),a.isMasterPlaylist=!0,t=e.call(this,a);var r=a.variants,i=void 0===r?[]:r,o=a.currentVariant,s=a.sessionDataList,c=void 0===s?[]:s,l=a.sessionKeyList,T=void 0===l?[]:l;return t.variants=i,t.currentVariant=o,t.sessionDataList=c,t.sessionKeyList=T,t}return n}(E),I=function(t){r(n,t);var e=o(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};u(this,n),a.isMasterPlaylist=!1,t=e.call(this,a);var r=a.targetDuration,i=a.mediaSequenceBase,o=void 0===i?0:i,s=a.discontinuitySequenceBase,c=void 0===s?0:s,l=a.endlist,T=void 0!==l&&l,E=a.playlistType,f=a.isIFrame,I=a.segments,h=void 0===I?[]:I,A=a.prefetchSegments,p=void 0===A?[]:A,d=a.lowLatencyCompatibility,S=a.partTargetDuration,N=a.renditionReports,y=void 0===N?[]:N,X=a.skip,v=void 0===X?0:X,m=a.hash;return t.targetDuration=r,t.mediaSequenceBase=o,t.discontinuitySequenceBase=c,t.endlist=T,t.playlistType=E,t.isIFrame=f,t.segments=h,t.prefetchSegments=p,t.lowLatencyCompatibility=d,t.partTargetDuration=S,t.renditionReports=y,t.skip=v,t.hash=m,t}return n}(E),h=function(t){r(n,t);var e=o(n);function n(t){var a,r=t.uri,i=t.mimeType,o=t.data,s=t.duration,c=t.title,l=t.byterange,T=t.discontinuity,E=t.mediaSequenceNumber,f=void 0===E?0:E,I=t.discontinuitySequence,h=void 0===I?0:I,A=t.key,p=t.map,d=t.programDateTime,S=t.dateRange,N=t.markers,y=void 0===N?[]:N,X=t.parts,v=void 0===X?[]:X;return u(this,n),(a=e.call(this,"segment")).uri=r,a.mimeType=i,a.data=o,a.duration=s,a.title=c,a.byterange=l,a.discontinuity=T,a.mediaSequenceNumber=f,a.discontinuitySequence=h,a.key=A,a.map=p,a.programDateTime=d,a.dateRange=S,a.markers=y,a.parts=v,a}return n}(T),A=function(t){r(n,t);var e=o(n);function n(t){var a,r=t.hint,i=void 0!==r&&r,o=t.uri,s=t.duration,c=t.independent,T=t.byterange,E=t.gap;return u(this,n),a=e.call(this,"part"),l.PARAMCHECK(o),a.hint=i,a.uri=o,a.duration=s,a.independent=c,a.duration=s,a.byterange=T,a.gap=E,a}return n}(T),p=function(t){r(n,t);var e=o(n);function n(t){var a,r=t.uri,i=t.discontinuity,o=t.mediaSequenceNumber,s=void 0===o?0:o,c=t.discontinuitySequence,T=void 0===c?0:c,E=t.key;return u(this,n),a=e.call(this,"prefetch"),l.PARAMCHECK(r),a.uri=r,a.discontinuity=i,a.mediaSequenceNumber=s,a.discontinuitySequence=T,a.key=E,a}return n}(T);t.exports={Rendition:function t(e){var n=e.type,a=e.uri,r=e.groupId,i=e.language,o=e.assocLanguage,s=e.name,c=e.isDefault,T=e.autoselect,E=e.forced,f=e.instreamId,I=e.characteristics,h=e.channels;u(this,t),l.PARAMCHECK(n,r,s),l.CONDITIONALASSERT(["SUBTITLES"===n,a],["CLOSED-CAPTIONS"===n,f],["CLOSED-CAPTIONS"===n,!a],[E,"SUBTITLES"===n]),this.type=n,this.uri=a,this.groupId=r,this.language=i,this.assocLanguage=o,this.name=s,this.isDefault=c,this.autoselect=T,this.forced=E,this.instreamId=f,this.characteristics=I,this.channels=h},Variant:function t(e){var n=e.uri,a=e.isIFrameOnly,r=void 0!==a&&a,i=e.bandwidth,o=e.averageBandwidth,s=e.score,c=e.codecs,T=e.resolution,E=e.frameRate,f=e.hdcpLevel,I=e.allowedCpc,h=e.videoRange,A=e.stableVariantId,p=e.audio,d=void 0===p?[]:p,S=e.video,N=void 0===S?[]:S,y=e.subtitles,X=void 0===y?[]:y,v=e.closedCaptions,m=void 0===v?[]:v,R=e.currentRenditions,L=void 0===R?{audio:0,video:0,subtitles:0,closedCaptions:0}:R;u(this,t),l.PARAMCHECK(n,i),this.uri=n,this.isIFrameOnly=r,this.bandwidth=i,this.averageBandwidth=o,this.score=s,this.codecs=c,this.resolution=T,this.frameRate=E,this.hdcpLevel=f,this.allowedCpc=I,this.videoRange=h,this.stableVariantId=A,this.audio=d,this.video=N,this.subtitles=X,this.closedCaptions=m,this.currentRenditions=L},SessionData:function t(e){var n=e.id,a=e.value,r=e.uri,i=e.language;u(this,t),l.PARAMCHECK(n,a||r),l.ASSERT("SessionData cannot have both value and uri, shoud be either.",!(a&&r)),this.id=n,this.value=a,this.uri=r,this.language=i},Key:function t(e){var n=e.method,a=e.uri,r=e.iv,i=e.format,o=e.formatVersion;u(this,t),l.PARAMCHECK(n),l.CONDITIONALPARAMCHECK(["NONE"!==n,a]),l.CONDITIONALASSERT(["NONE"===n,!(a||r||i||o)]),this.method=n,this.uri=a,this.iv=r,this.format=i,this.formatVersion=o},MediaInitializationSection:function t(e){var n=e.hint,a=void 0!==n&&n,r=e.uri,i=e.mimeType,o=e.byterange;u(this,t),l.PARAMCHECK(r),this.hint=a,this.uri=r,this.mimeType=i,this.byterange=o},DateRange:function t(e){var n=e.id,a=e.classId,r=e.start,i=e.end,o=e.duration,s=e.plannedDuration,c=e.endOnNext,T=e.attributes,E=void 0===T?{}:T;u(this,t),l.PARAMCHECK(n),l.CONDITIONALPARAMCHECK([!0===c,a]),l.CONDITIONALASSERT([i,r],[i,r<=i],[o,o>=0],[s,s>=0]),this.id=n,this.classId=a,this.start=r,this.end=i,this.duration=o,this.plannedDuration=s,this.endOnNext=c,this.attributes=E},SpliceInfo:function t(e){var n=e.type,a=e.duration,r=e.tagName,i=e.value;u(this,t),l.PARAMCHECK(n),l.CONDITIONALPARAMCHECK(["OUT"===n,a]),l.CONDITIONALPARAMCHECK(["RAW"===n,r]),this.type=n,this.duration=a,this.tagName=r,this.value=i},Playlist:E,MasterPlaylist:f,MediaPlaylist:I,Segment:h,PartialSegment:A,PrefetchSegment:p,RenditionReport:function t(e){var n=e.uri,a=e.lastMSN,r=e.lastPart;u(this,t),l.PARAMCHECK(n),this.uri=n,this.lastMSN=a,this.lastPart=r}}},771:t=>{function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(t){r=!0,i=t}finally{try{a||null==s.return||s.return()}finally{if(r)throw i}}return n}}(t,e)||a(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=a(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw o}}}}function a(t,e){if(t){if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}var i={};function o(t){if(i.strictMode)throw t;i.silent||console.error(t.message)}function s(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;if("number"==typeof t)return t;var n=10===e?Number.parseFloat(t,e):Number.parseInt(t,e);return Number.isNaN(n)?0:n}t.exports={THROW:o,ASSERT:function(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),i=1;i<a;i++)r[i-1]=arguments[i];var s,c=n(r.entries());try{for(c.s();!(s=c.n()).done;){var u=e(s.value,2),l=u[0],T=u[1];T||o(new Error("".concat(t," : Failed at [").concat(l,"]")))}}catch(t){c.e(t)}finally{c.f()}},CONDITIONALASSERT:function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];var i,s=n(a.entries());try{for(s.s();!(i=s.n()).done;){var c=e(i.value,2),u=c[0],l=e(c[1],2),T=l[0],E=l[1];T&&(E||o(new Error("Conditional Assert : Failed at [".concat(u,"]"))))}}catch(t){s.e(t)}finally{s.f()}},PARAMCHECK:function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];var i,s=n(a.entries());try{for(s.s();!(i=s.n()).done;){var c=e(i.value,2),u=c[0],l=c[1];void 0===l&&o(new Error("Param Check : Failed at [".concat(u,"]")))}}catch(t){s.e(t)}finally{s.f()}},CONDITIONALPARAMCHECK:function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];var i,s=n(a.entries());try{for(s.s();!(i=s.n()).done;){var c=e(i.value,2),u=c[0],l=e(c[1],2),T=l[0],E=l[1];T&&void 0===E&&o(new Error("Conditional Param Check : Failed at [".concat(u,"]")))}}catch(t){s.e(t)}finally{s.f()}},INVALIDPLAYLIST:function(t){o(new Error("Invalid Playlist : ".concat(t)))},toNumber:s,hexToByteSequence:function(t){(t.startsWith("0x")||t.startsWith("0X"))&&(t=t.slice(2));for(var e=[],n=0;n<t.length;n+=2)e.push(s(t.slice(n,n+2),16));return Buffer.from(e)},byteSequenceToHex:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length;n<=e&&o(new Error("end must be larger than start : start=".concat(e,", end=").concat(n)));for(var a=[],r=e;r<n;r++)a.push("0".concat((255&t[r]).toString(16).toUpperCase()).slice(-2));return"0x".concat(a.join(""))},tryCatch:function(t,e){try{return t()}catch(t){return e(t)}},splitAt:function(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=-1,r=0,i=0;r<t.length;r++)if(t[r]===e){if(i++===n)return[t.slice(0,r),t.slice(r+1)];a=r}return-1!==a?[t.slice(0,a),t.slice(a+1)]:[t]},trim:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";return t?(t=t.trim()," "===e||(t.startsWith(e)&&(t=t.slice(1)),t.endsWith(e)&&(t=t.slice(0,-1))),t):t},splitByCommaWithPreservingQuotes:function(t){for(var e=[],n=!0,a=0,r=[],i=0;i<t.length;i++){var o=t[i];n&&","===o?(e.push(t.slice(a,i).trim()),a=i+1):'"'!==o&&"'"!==o||(n?(r.push(o),n=!1):o===r[r.length-1]?(r.pop(),n=!0):r.push(o))}return e.push(t.slice(a).trim()),e},camelify:function(t){var e,a=[],r=!1,i=n(t);try{for(i.s();!(e=i.n()).done;){var o=e.value;"-"!==o&&"_"!==o?r?(a.push(o.toUpperCase()),r=!1):a.push(o.toLowerCase()):r=!0}}catch(t){i.e(t)}finally{i.f()}return a.join("")},formatDate:function(t){var e=t.getUTCFullYear(),n=("0"+(t.getUTCMonth()+1)).slice(-2),a=("0"+t.getUTCDate()).slice(-2),r=("0"+t.getUTCHours()).slice(-2),i=("0"+t.getUTCMinutes()).slice(-2),o=("0"+t.getUTCSeconds()).slice(-2),s=("00"+t.getUTCMilliseconds()).slice(-3);return"".concat(e,"-").concat(n,"-").concat(a,"T").concat(r,":").concat(i,":").concat(o,".").concat(s,"Z")},hasOwnProp:function(t,e){return Object.hasOwnProperty.call(t,e)},setOptions:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i=Object.assign(i,t)},getOptions:function(){return Object.assign({},i)}}}},e={},function n(a){if(e[a])return e[a].exports;var r=e[a]={exports:{}};return t[a](r,r.exports,n),r.exports}(851);var t,e})); | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.HLS=e():t.HLS=e()}(self,(function(){return t={851:(t,e,n)=>{var a=n(771),r=a.getOptions,i=a.setOptions,o=n(463),s=n(367),c=n(890);t.exports={parse:o,stringify:s,types:c,getOptions:r,setOptions:i}},463:(t,e,n)=>{function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(t){r=!0,i=t}finally{try{a||null==s.return||s.return()}finally{if(r)throw i}}return n}}(t,e)||i(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=i(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,r=function(){};return{s:r,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw o}}}}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}var s=n(771),c=n(890),u=c.Rendition,l=c.Variant,T=c.SessionData,E=c.Key,f=c.MediaInitializationSection,I=c.DateRange,h=c.SpliceInfo,A=c.MasterPlaylist,p=c.MediaPlaylist,d=c.Segment,S=c.PartialSegment,N=c.PrefetchSegment,y=c.RenditionReport;function X(t){return s.trim(t,'"')}function v(t){var e=s.splitAt(t,",");return{duration:s.toNumber(e[0]),title:decodeURIComponent(escape(e[1]))}}function m(t){var e=s.splitAt(t,"@");return{length:s.toNumber(e[0]),offset:e[1]?s.toNumber(e[1]):-1}}function R(t){var e=s.splitAt(t,"x");return{width:s.toNumber(e[0]),height:s.toNumber(e[1])}}function L(t){var e="ALLOWED-CPC: Each entry must consit of KEYFORMAT and Content Protection Configuration",n=t.split(",");0===n.length&&s.INVALIDPLAYLIST(e);var i,o=[],c=r(n);try{for(c.s();!(i=c.n()).done;){var u=i.value,l=a(s.splitAt(u,":"),2),T=l[0],E=l[1];T&&E?o.push({format:T,cpcList:E.split("/")}):s.INVALIDPLAYLIST(e)}}catch(t){c.e(t)}finally{c.f()}return o}function D(t){return t.startsWith('"')?X(t):t.startsWith("0x")||t.startsWith("0X")?s.hexToByteSequence(t):s.toNumber(t)}function g(t,e){e.IV&&t.compatibleVersion<2&&(t.compatibleVersion=2),(e.KEYFORMAT||e.KEYFORMATVERSIONS)&&t.compatibleVersion<5&&(t.compatibleVersion=5)}function O(t){var e,n,i,o={},c=r(s.splitByCommaWithPreservingQuotes(t));try{for(c.s();!(e=c.n()).done;){var u=e.value,l=a(s.splitAt(u,"="),2),T=l[0],E=l[1],f=X(E);switch(T){case"URI":o[T]=f;break;case"START-DATE":case"END-DATE":o[T]=new Date(f);break;case"IV":o[T]=(n=f,i=void 0,16!==(i=s.hexToByteSequence(n)).length&&s.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),i);break;case"BYTERANGE":o[T]=m(f);break;case"RESOLUTION":o[T]=R(f);break;case"ALLOWED-CPC":o[T]=L(f);break;case"END-ON-NEXT":case"DEFAULT":case"AUTOSELECT":case"FORCED":case"PRECISE":case"CAN-BLOCK-RELOAD":case"INDEPENDENT":case"GAP":o[T]="YES"===f;break;case"DURATION":case"PLANNED-DURATION":case"BANDWIDTH":case"AVERAGE-BANDWIDTH":case"FRAME-RATE":case"TIME-OFFSET":case"CAN-SKIP-UNTIL":case"HOLD-BACK":case"PART-HOLD-BACK":case"PART-TARGET":case"BYTERANGE-START":case"BYTERANGE-LENGTH":case"LAST-MSN":case"LAST-PART":case"SKIPPED-SEGMENTS":case"SCORE":o[T]=s.toNumber(f);break;default:T.startsWith("SCTE35-")?o[T]=s.hexToByteSequence(f):T.startsWith("X-")?o[T]=D(E):("VIDEO-RANGE"===T&&"SDR"!==f&&"HLG"!==f&&"PQ"!==f&&s.INVALIDPLAYLIST('VIDEO-RANGE: unknown value "'.concat(f,'"')),o[T]=f)}}}catch(t){c.e(t)}finally{c.f()}return o}function P(){s.INVALIDPLAYLIST("The file contains both media and master playlist tags.")}function b(t,e,n){var a,i=(a=e.attributes,new u({type:a.TYPE,uri:a.URI,groupId:a["GROUP-ID"],language:a.LANGUAGE,assocLanguage:a["ASSOC-LANGUAGE"],name:a.NAME,isDefault:a.DEFAULT,autoselect:a.AUTOSELECT,forced:a.FORCED,instreamId:a["INSTREAM-ID"],characteristics:a.CHARACTERISTICS,channels:a.CHANNELS})),o=t[s.camelify(n)],c=function(t,e){var n,a=!1,i=r(t);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(o.name===e.name)return"All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.";o.isDefault&&(a=!0)}}catch(t){i.e(t)}finally{i.f()}return a&&e.isDefault?"EXT-X-MEDIA A Group MUST NOT have more than one member with a DEFAULT attribute of YES.":""}(o,i);c&&s.INVALIDPLAYLIST(c),o.push(i),i.isDefault&&(t.currentRenditions[s.camelify(n)]=o.length-1)}function C(t,e,n,a,i){var o,c=new l({uri:n,bandwidth:e.BANDWIDTH,averageBandwidth:e["AVERAGE-BANDWIDTH"],score:e.SCORE,codecs:e.CODECS,resolution:e.RESOLUTION,frameRate:e["FRAME-RATE"],hdcpLevel:e["HDCP-LEVEL"],allowedCpc:e["ALLOWED-CPC"],videoRange:e["VIDEO-RANGE"],stableVariantId:e["STABLE-VARIANT-ID"]}),u=r(t);try{for(u.s();!(o=u.n()).done;){var T=o.value;if("EXT-X-MEDIA"===T.name){var E=T.attributes,f=E.TYPE;if(f&&E["GROUP-ID"]||s.INVALIDPLAYLIST("EXT-X-MEDIA TYPE attribute is REQUIRED."),e[f]===E["GROUP-ID"]&&(b(c,T,f),"CLOSED-CAPTIONS"===f)){var I,h=r(c.closedCaptions);try{for(h.s();!(I=h.n()).done;){var A=I.value.instreamId;if(A&&A.startsWith("SERVICE")&&i.compatibleVersion<7){i.compatibleVersion=7;break}}}catch(t){h.e(t)}finally{h.f()}}}}}catch(t){u.e(t)}finally{u.f()}return function(t,e,n){for(var a=function(){var a=i[r];"CLOSED-CAPTIONS"===a&&"NONE"===t[a]?(n.isClosedCaptionsNone=!0,e.closedCaptions=[]):t[a]&&!e[s.camelify(a)].some((function(e){return e.groupId===t[a]}))&&s.INVALIDPLAYLIST("".concat(a," attribute MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag whose TYPE attribute is ").concat(a,"."))},r=0,i=["AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS"];r<i.length;r++)a()}(e,c,i),c.isIFrameOnly=a,c}function M(t,e){if(t.method!==e.method)return!1;if(t.uri!==e.uri)return!1;if(t.iv){if(!e.iv)return!1;if(t.iv.length!==e.iv.length)return!1;for(var n=0;n<t.iv.length;n++)if(t.iv[n]!==e.iv[n])return!1}else if(e.iv)return!1;return t.format===e.format&&t.formatVersion===e.formatVersion}function U(t,e,n,a,r,i,o){for(var c=new d({uri:e,mediaSequenceNumber:r,discontinuitySequence:i}),u=!1,l=!1,T=n;T<=a;T++){var A=t[T],p=A.name,N=A.value,y=A.attributes;if("EXTINF"===p)!Number.isInteger(N.duration)&&o.compatibleVersion<3&&(o.compatibleVersion=3),Math.round(N.duration)>o.targetDuration&&s.INVALIDPLAYLIST("EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration"),c.duration=N.duration,c.title=N.title;else if("EXT-X-BYTERANGE"===p)o.compatibleVersion<4&&(o.compatibleVersion=4),c.byterange=N;else if("EXT-X-DISCONTINUITY"===p)c.parts.length>0&&s.INVALIDPLAYLIST("EXT-X-DISCONTINUITY must appear before the first EXT-X-PART tag of the Parent Segment."),c.discontinuity=!0;else if("EXT-X-KEY"===p)c.parts.length>0&&s.INVALIDPLAYLIST("EXT-X-KEY must appear before the first EXT-X-PART tag of the Parent Segment."),g(o,y),c.key=new E({method:y.METHOD,uri:y.URI,iv:y.IV,format:y.KEYFORMAT,formatVersion:y.KEYFORMATVERSIONS});else if("EXT-X-MAP"===p)c.parts.length>0&&s.INVALIDPLAYLIST("EXT-X-MAP must appear before the first EXT-X-PART tag of the Parent Segment."),o.compatibleVersion<5&&(o.compatibleVersion=5),o.hasMap=!0,c.map=new f({uri:y.URI,byterange:y.BYTERANGE});else if("EXT-X-PROGRAM-DATE-TIME"===p)c.programDateTime=N;else if("EXT-X-DATERANGE"===p){for(var X={},v=0,m=Object.keys(y);v<m.length;v++){var R=m[v];(R.startsWith("SCTE35-")||R.startsWith("X-"))&&(X[R]=y[R])}c.dateRange=new I({id:y.ID,classId:y.CLASS,start:y["START-DATE"],end:y["END-DATE"],duration:y.DURATION,plannedDuration:y["PLANNED-DURATION"],endOnNext:y["END-ON-NEXT"],attributes:X})}else if("EXT-X-CUE-OUT"===p)c.markers.push(new h({type:"OUT",duration:N}));else if("EXT-X-CUE-IN"===p)c.markers.push(new h({type:"IN"}));else if("EXT-X-CUE-OUT-CONT"===p||"EXT-X-CUE"===p||"EXT-OATCLS-SCTE35"===p||"EXT-X-ASSET"===p||"EXT-X-SCTE35"===p)c.markers.push(new h({type:"RAW",tagName:p,value:N}));else if("EXT-X-PRELOAD-HINT"!==p||y.TYPE)if("EXT-X-PRELOAD-HINT"===p&&"PART"===y.TYPE&&l)s.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist.");else if("EXT-X-PART"!==p&&"EXT-X-PRELOAD-HINT"!==p||y.URI){if("EXT-X-PRELOAD-HINT"===p&&"MAP"===y.TYPE)u&&s.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist."),u=!0,o.hasMap=!0,c.map=new f({hint:!0,uri:y.URI,byterange:{length:y["BYTERANGE-LENGTH"],offset:y["BYTERANGE-START"]||0}});else if("EXT-X-PART"===p||"EXT-X-PRELOAD-HINT"===p&&"PART"===y.TYPE){"EXT-X-PART"!==p||y.DURATION||s.INVALIDPLAYLIST("EXT-X-PART: DURATION attribute is mandatory"),"EXT-X-PRELOAD-HINT"===p&&(l=!0);var L=new S({hint:"EXT-X-PRELOAD-HINT"===p,uri:y.URI,byterange:"EXT-X-PART"===p?y.BYTERANGE:{length:y["BYTERANGE-LENGTH"],offset:y["BYTERANGE-START"]||0},duration:y.DURATION,independent:y.INDEPENDENT,gap:y.GAP});c.parts.push(L)}}else s.INVALIDPLAYLIST("EXT-X-PART / EXT-X-PRELOAD-HINT: URI attribute is mandatory");else s.INVALIDPLAYLIST("EXT-X-PRELOAD-HINT: TYPE attribute is mandatory")}return c}function Y(t,e,n,a,r,i,o){for(var c=new N({uri:e,mediaSequenceNumber:r,discontinuitySequence:i}),u=n;u<=a;u++){var l=t[u],T=l.name,f=l.attributes;"EXTINF"===T?s.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXTINF tag."):"EXT-X-DISCONTINUITY"===T?s.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXT-X-DISCONTINUITY tag."):"EXT-X-PREFETCH-DISCONTINUITY"===T?c.discontinuity=!0:"EXT-X-KEY"===T?(g(o,f),c.key=new E({method:f.METHOD,uri:f.URI,iv:f.IV,format:f.KEYFORMAT,formatVersion:f.KEYFORMATVERSIONS})):"EXT-X-MAP"===T&&s.INVALIDPLAYLIST("Prefetch segments must not be advertised with an EXT-X-MAP tag.")}return c}function V(t,e){var n,i=new p,o=-1,c=0,u=!1,l=!1,T=0,E=null,f=null,I=!1,h=r(t.entries());try{for(h.s();!(n=h.n()).done;){var A=a(n.value,2),d=A[0],S=A[1],N=S.name,X=S.value,v=S.attributes;if("Segment"!==S.category){if("EXT-X-VERSION"===N)void 0===i.version?i.version=X:s.INVALIDPLAYLIST("A Playlist file MUST NOT contain more than one EXT-X-VERSION tag.");else if("EXT-X-TARGETDURATION"===N)i.targetDuration=e.targetDuration=X;else if("EXT-X-MEDIA-SEQUENCE"===N)i.segments.length>0&&s.INVALIDPLAYLIST("The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),i.mediaSequenceBase=c=X;else if("EXT-X-DISCONTINUITY-SEQUENCE"===N)i.segments.length>0&&s.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),u&&s.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before any EXT-X-DISCONTINUITY tag."),i.discontinuitySequenceBase=T=X;else if("EXT-X-ENDLIST"===N)i.endlist=!0;else if("EXT-X-PLAYLIST-TYPE"===N)i.playlistType=X;else if("EXT-X-I-FRAMES-ONLY"===N)e.compatibleVersion<4&&(e.compatibleVersion=4),i.isIFrame=!0;else if("EXT-X-INDEPENDENT-SEGMENTS"===N)i.independentSegments&&s.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),i.independentSegments=!0;else if("EXT-X-START"===N)i.start&&s.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),"number"!=typeof v["TIME-OFFSET"]&&s.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),i.start={offset:v["TIME-OFFSET"],precise:v.PRECISE||!1};else if("EXT-X-SERVER-CONTROL"===N)v["CAN-BLOCK-RELOAD"]||s.INVALIDPLAYLIST("EXT-X-SERVER-CONTROL: CAN-BLOCK-RELOAD=YES is mandatory for Low-Latency HLS"),i.lowLatencyCompatibility={canBlockReload:v["CAN-BLOCK-RELOAD"],canSkipUntil:v["CAN-SKIP-UNTIL"],holdBack:v["HOLD-BACK"],partHoldBack:v["PART-HOLD-BACK"]};else if("EXT-X-PART-INF"===N)v["PART-TARGET"]||s.INVALIDPLAYLIST("EXT-X-PART-INF: PART-TARGET attribute is mandatory"),i.partTargetDuration=v["PART-TARGET"];else if("EXT-X-RENDITION-REPORT"===N)v.URI||s.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI attribute is mandatory"),0===v.URI.search(/^[a-z]+:/)&&s.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI must be relative to the playlist uri"),i.renditionReports.push(new y({uri:v.URI,lastMSN:v["LAST-MSN"],lastPart:v["LAST-PART"]}));else if("EXT-X-SKIP"===N)v["SKIPPED-SEGMENTS"]||s.INVALIDPLAYLIST("EXT-X-SKIP: SKIPPED-SEGMENTS attribute is mandatory"),e.compatibleVersion<9&&(e.compatibleVersion=9),i.skip=v["SKIPPED-SEGMENTS"],c+=i.skip;else if("EXT-X-PREFETCH"===N){var m=Y(t,X,-1===o?d:o,d-1,c++,T,e);m&&(m.discontinuity&&(m.discontinuitySequence++,T=m.discontinuitySequence),m.key?E=m.key:m.key=E,i.prefetchSegments.push(m)),l=!0,o=-1}else if("string"==typeof S){-1===o&&s.INVALIDPLAYLIST("A URI line is not preceded by any segment tags"),i.targetDuration||s.INVALIDPLAYLIST("The EXT-X-TARGETDURATION tag is REQUIRED"),l&&s.INVALIDPLAYLIST("These segments must appear after all complete segments.");var R=U(t,S,o,d-1,c++,T,e);if(R){var L=a(w(i,R,T,E,f),3);T=L[0],E=L[1],f=L[2],!I&&R.parts.length>0&&(I=!0)}o=-1}}else-1===o&&(o=d),"EXT-X-DISCONTINUITY"===N&&(u=!0)}}catch(t){h.e(t)}finally{h.f()}if(-1!==o){var D=U(t,"",o,t.length-1,c++,T,e);if(D){var g=D.parts;g.length>0&&!i.endlist&&!g[g.length-1].hint&&s.INVALIDPLAYLIST("If the Playlist contains EXT-X-PART tags and does not contain an EXT-X-ENDLIST tag, the Playlist must contain an EXT-X-PRELOAD-HINT tag with a TYPE=PART attribute"),w(i,D,E,f),!I&&D.parts.length>0&&(I=!0)}}return function(t){for(var e=new Map,n=new Map,a=!1,i=!1,o=t.length-1;o>=0;o--){var c=t[o],u=c.programDateTime,l=c.dateRange;if(u&&(i=!0),l&&l.start){a=!0,l.endOnNext&&(l.end||l.duration)&&s.INVALIDPLAYLIST("An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.");var T=l.start.getTime(),E=l.duration||0;l.end&&l.duration&&T+1e3*E!==l.end.getTime()&&s.INVALIDPLAYLIST("END-DATE MUST be equal to the value of the START-DATE attribute plus the value of the DURATION"),l.endOnNext&&(l.end=e.get(l.classId)),e.set(l.classId,l.start);var f=l.end?l.end.getTime():l.start.getTime()+1e3*(l.duration||0),I=n.get(l.classId);if(I){var h,A=r(I);try{for(A.s();!(h=A.n()).done;){var p=h.value;(p.start<=T&&p.end>T||p.start>=T&&p.start<f)&&s.INVALIDPLAYLIST("DATERANGE tags with the same CLASS should not overlap")}}catch(t){A.e(t)}finally{A.f()}I.push({start:T,end:f})}else n.set(l.classId,[{start:T,end:f}])}}a&&!i&&s.INVALIDPLAYLIST("If a Playlist contains an EXT-X-DATERANGE tag, it MUST also contain at least one EXT-X-PROGRAM-DATE-TIME tag.")}(i.segments),i.lowLatencyCompatibility&&function(t,e){var n=t.lowLatencyCompatibility,i=t.targetDuration,o=t.partTargetDuration,c=t.segments,u=t.renditionReports,l=n.canSkipUntil,T=n.holdBack,E=n.partHoldBack;if(l<6*i&&s.INVALIDPLAYLIST("The Skip Boundary must be at least six times the EXT-X-TARGETDURATION."),T<3*i&&s.INVALIDPLAYLIST("HOLD-BACK must be at least three times the EXT-X-TARGETDURATION."),e){void 0===o&&s.INVALIDPLAYLIST("EXT-X-PART-INF is required if a Playlist contains one or more EXT-X-PART tags"),void 0===E&&s.INVALIDPLAYLIST("EXT-X-PART: PART-HOLD-BACK attribute is mandatory"),E<o&&s.INVALIDPLAYLIST("PART-HOLD-BACK must be at least PART-TARGET");var f,I=r(c.entries());try{for(I.s();!(f=I.n()).done;){var h=a(f.value,2),A=h[0],p=h[1].parts;p.length>0&&A<c.length-3&&s.INVALIDPLAYLIST("Remove EXT-X-PART tags from the Playlist after they are greater than three target durations from the end of the Playlist.");var d,S=r(p.entries());try{for(S.s();!(d=S.n()).done;){var N=a(d.value,2),y=N[0],X=N[1].duration;void 0!==X&&(X>o&&s.INVALIDPLAYLIST("PART-TARGET is the maximum duration of any Partial Segment"),y<p.length-1&&X<.85*o&&s.INVALIDPLAYLIST("All Partial Segments except the last part of a segment must have a duration of at least 85% of PART-TARGET"))}}catch(t){S.e(t)}finally{S.f()}}}catch(t){I.e(t)}finally{I.f()}}var v,m=r(u);try{for(m.s();!(v=m.n()).done;){var R=v.value,L=c[c.length-1];R.lastMSN||(R.lastMSN=L.mediaSequenceNumber),!R.lastPart&&L.parts.length>0&&(R.lastPart=L.parts.length-1)}}catch(t){m.e(t)}finally{m.f()}}(i,I),i}function w(t,e,n,a,r){var i=e.discontinuity,o=e.key,c=e.map,u=e.byterange,l=e.uri;if(i&&(e.discontinuitySequence=n+1),o||(e.key=a),c||(e.map=r),u&&-1===u.offset){var T=t.segments;if(T.length>0){var E=T[T.length-1];E.byterange&&E.uri===l?u.offset=E.byterange.offset+E.byterange.length:s.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST be a sub-range of the same media resource")}else s.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST appear in the Playlist file")}return t.segments.push(e),[e.discontinuitySequence,e.key,e.map]}function F(t,e){var n=a(function(t){var e=t.indexOf(":");return-1===e?[t.slice(1).trim(),null]:[t.slice(1,e).trim(),t.slice(e+1).trim()]}(t),2),r=n[0],i=n[1],o=function(t){switch(t){case"EXTM3U":case"EXT-X-VERSION":return"Basic";case"EXTINF":case"EXT-X-BYTERANGE":case"EXT-X-DISCONTINUITY":case"EXT-X-PREFETCH-DISCONTINUITY":case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-PROGRAM-DATE-TIME":case"EXT-X-DATERANGE":case"EXT-X-CUE-OUT":case"EXT-X-CUE-IN":case"EXT-X-CUE-OUT-CONT":case"EXT-X-CUE":case"EXT-OATCLS-SCTE35":case"EXT-X-ASSET":case"EXT-X-SCTE35":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":return"Segment";case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":case"EXT-X-ENDLIST":case"EXT-X-PLAYLIST-TYPE":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PREFETCH":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return"MediaPlaylist";case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":return"MasterPlaylist";case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-START":return"MediaorMasterPlaylist";default:return"Unknown"}}(r);if(function(t,e){if("Segment"===t||"MediaPlaylist"===t)return void 0===e.isMasterPlaylist?void(e.isMasterPlaylist=!1):void(e.isMasterPlaylist&&P());if("MasterPlaylist"===t){if(void 0===e.isMasterPlaylist)return void(e.isMasterPlaylist=!0);!1===e.isMasterPlaylist&&P()}}(o,e),"Unknown"===o)return null;"MediaPlaylist"===o&&"EXT-X-RENDITION-REPORT"!==r&&"EXT-X-PREFETCH"!==r&&(e.hash[r]&&s.INVALIDPLAYLIST("There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist"),e.hash[r]=!0);var c=a(function(t,e){switch(t){case"EXTM3U":case"EXT-X-DISCONTINUITY":case"EXT-X-ENDLIST":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-CUE-IN":return[null,null];case"EXT-X-VERSION":case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":return[s.toNumber(e),null];case"EXT-X-CUE-OUT":return Number.isNaN(Number(e))?[null,O(e)]:[s.toNumber(e),null];case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-DATERANGE":case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":case"EXT-X-START":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return[null,O(e)];case"EXTINF":return[v(e),null];case"EXT-X-BYTERANGE":return[m(e),null];case"EXT-X-PROGRAM-DATE-TIME":return[new Date(e),null];case"EXT-X-PLAYLIST-TYPE":default:return[e,null]}}(r,i),2);return{name:r,category:o,value:c[0],attributes:c[1]}}function G(t,e){var n;return e.isMasterPlaylist?n=function(t,e){var n,i=new A,o=!1,c=r(t.entries());try{for(c.s();!(n=c.n()).done;){var u=a(n.value,2),l=u[0],f=u[1],I=f.name,h=f.value,p=f.attributes;if("EXT-X-VERSION"===I)i.version=h;else if("EXT-X-STREAM-INF"===I){var d=t[l+1];("string"!=typeof d||d.startsWith("#EXT"))&&s.INVALIDPLAYLIST("EXT-X-STREAM-INF must be followed by a URI line");var S=C(t,p,d,!1,e);S&&("number"==typeof S.score&&(o=!0,S.score<0&&s.INVALIDPLAYLIST("SCORE attribute on EXT-X-STREAM-INF must be positive decimal-floating-point number.")),i.variants.push(S))}else if("EXT-X-I-FRAME-STREAM-INF"===I){var N=C(t,p,p.URI,!0,e);N&&i.variants.push(N)}else"EXT-X-SESSION-DATA"===I?function(){var t=new T({id:p["DATA-ID"],value:p.VALUE,uri:p.URI,language:p.LANGUAGE});i.sessionDataList.some((function(e){return e.id===t.id&&e.language===t.language}))&&s.INVALIDPLAYLIST("A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute."),i.sessionDataList.push(t)}():"EXT-X-SESSION-KEY"===I?function(){"NONE"===p.METHOD&&s.INVALIDPLAYLIST("EXT-X-SESSION-KEY: The value of the METHOD attribute MUST NOT be NONE");var t=new E({method:p.METHOD,uri:p.URI,iv:p.IV,format:p.KEYFORMAT,formatVersion:p.KEYFORMATVERSIONS});i.sessionKeyList.some((function(e){return M(e,t)}))&&s.INVALIDPLAYLIST("A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values."),g(e,p),i.sessionKeyList.push(t)}():"EXT-X-INDEPENDENT-SEGMENTS"===I?(i.independentSegments&&s.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),i.independentSegments=!0):"EXT-X-START"===I&&(i.start&&s.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),"number"!=typeof p["TIME-OFFSET"]&&s.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),i.start={offset:p["TIME-OFFSET"],precise:p.PRECISE||!1})}}catch(t){c.e(t)}finally{c.f()}if(o){var y,X=r(i.variants);try{for(X.s();!(y=X.n()).done;)"number"!=typeof y.value.score&&s.INVALIDPLAYLIST("If any Variant Stream contains the SCORE attribute, then all Variant Streams in the Master Playlist SHOULD have a SCORE attribute")}catch(t){X.e(t)}finally{X.f()}}if(e.isClosedCaptionsNone){var v,m=r(i.variants);try{for(m.s();!(v=m.n()).done;)v.value.closedCaptions.length>0&&s.INVALIDPLAYLIST("If there is a variant with CLOSED-CAPTIONS attribute of NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE")}catch(t){m.e(t)}finally{m.f()}}return i}(t,e):!(n=V(t,e)).isIFrame&&e.hasMap&&e.compatibleVersion<6&&(e.compatibleVersion=6),e.compatibleVersion>1&&(!n.version||n.version<e.compatibleVersion)&&s.INVALIDPLAYLIST("EXT-X-VERSION needs to be ".concat(e.compatibleVersion," or higher.")),n}t.exports=function(t){var e={version:void 0,isMasterPlaylist:void 0,hasMap:!1,targetDuration:0,compatibleVersion:1,isClosedCaptionsNone:!1,hash:{}},n=G(function(t,e){var n,a=[],i=r(t.split("\n"));try{for(i.s();!(n=i.n()).done;){var o=n.value,c=Buffer.from(o.trim()).toString();if(c)if(c.startsWith("#")){if(c.startsWith("#EXT")){var u=F(c,e);u&&a.push(u)}}else a.push(c)}}catch(t){i.e(t)}finally{i.f()}return 0!==a.length&&"EXTM3U"===a[0].name||s.INVALIDPLAYLIST("The EXTM3U tag MUST be the first line."),a}(t,e),e);return n.source=t,n}},367:(t,e,n)=>{function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(t){r=!0,i=t}finally{try{a||null==s.return||s.return()}finally{if(r)throw i}}return n}}(t,e)||o(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=o(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,r=function(){};return{s:r,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,i=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw i}}}}function o(t,e){if(t){if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}function c(t,e){for(var n=0;n<e.length;n++){var a=e[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function u(t,e,n){return(u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var a=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(a){var r=Object.getOwnPropertyDescriptor(a,e);return r.get?r.get.call(n):r.value}})(t,e,n||t)}function l(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function T(t){var e="function"==typeof Map?new Map:void 0;return(T=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,a)}function a(){return E(t,arguments,h(this).constructor)}return a.prototype=Object.create(t.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),I(a,t)})(t)}function E(t,e,n){return(E=f()?Reflect.construct:function(t,e,n){var a=[null];a.push.apply(a,e);var r=new(Function.bind.apply(t,a));return n&&I(r,n.prototype),r}).apply(null,arguments)}function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function I(t,e){return(I=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var A=n(771),p=["#EXTINF","#EXT-X-BYTERANGE","#EXT-X-DISCONTINUITY","#EXT-X-STREAM-INF","#EXT-X-CUE-OUT","#EXT-X-CUE-IN","#EXT-X-KEY","#EXT-X-MAP"],d=["#EXT-X-MEDIA"],S=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&I(t,e)}(s,t);var e,n,a,r,i,o=(e=s,n=f(),function(){var t,a=h(e);if(n){var r=h(this).constructor;t=Reflect.construct(a,arguments,r)}else t=a.apply(this,arguments);return l(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),(e=o.call(this)).baseUri=t,e}return a=s,(r=[{key:"push",value:function(){for(var t=this,e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];for(var r=function(){var e=o[i];if(!e.startsWith("#"))return u(h(s.prototype),"push",t).call(t,e),"continue";if(p.some((function(t){return e.startsWith(t)})))return u(h(s.prototype),"push",t).call(t,e),"continue";if(t.includes(e)){if(d.some((function(t){return e.startsWith(t)})))return"continue";A.INVALIDPLAYLIST("Redundant item (".concat(e,")"))}u(h(s.prototype),"push",t).call(t,e)},i=0,o=n;i<o.length;i++)r()}}])&&c(a.prototype,r),i&&c(a,i),s}(T(Array));function N(t,e){var n=1e3;e&&(n=Math.pow(10,e));var a=Math.round(t*n)/n;return e?a.toFixed(e):a}function y(t){var e=t.toString(10),n=e.indexOf(".");return-1===n?0:e.length-n-1}function X(t){var e=['DATA-ID="'.concat(t.id,'"')];return t.language&&e.push('LANGUAGE="'.concat(t.language,'"')),t.value?e.push('VALUE="'.concat(t.value,'"')):t.uri&&e.push('URI="'.concat(t.uri,'"')),"#EXT-X-SESSION-DATA:".concat(e.join(","))}function v(t,e){var n=e?"#EXT-X-SESSION-KEY":"#EXT-X-KEY",a=["METHOD=".concat(t.method)];return t.uri&&a.push('URI="'.concat(t.uri,'"')),t.iv&&(16!==t.iv.length&&A.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),a.push("IV=".concat(A.byteSequenceToHex(t.iv)))),t.format&&a.push('KEYFORMAT="'.concat(t.format,'"')),t.formatVersion&&a.push('KEYFORMATVERSIONS="'.concat(t.formatVersion,'"')),"".concat(n,":").concat(a.join(","))}function m(t,e){var n=e.isIFrameOnly?"#EXT-X-I-FRAME-STREAM-INF":"#EXT-X-STREAM-INF",a=["BANDWIDTH=".concat(e.bandwidth)];if(e.averageBandwidth&&a.push("AVERAGE-BANDWIDTH=".concat(e.averageBandwidth)),e.isIFrameOnly&&a.push('URI="'.concat(e.uri,'"')),e.codecs&&a.push('CODECS="'.concat(e.codecs,'"')),e.resolution&&a.push("RESOLUTION=".concat(e.resolution.width,"x").concat(e.resolution.height)),e.frameRate&&a.push("FRAME-RATE=".concat(N(e.frameRate,3))),e.hdcpLevel&&a.push("HDCP-LEVEL=".concat(e.hdcpLevel)),e.audio.length>0){a.push('AUDIO="'.concat(e.audio[0].groupId,'"'));var r,o=i(e.audio);try{for(o.s();!(r=o.n()).done;){var s=r.value;t.push(R(s))}}catch(t){o.e(t)}finally{o.f()}}if(e.video.length>0){a.push('VIDEO="'.concat(e.video[0].groupId,'"'));var c,u=i(e.video);try{for(u.s();!(c=u.n()).done;){var l=c.value;t.push(R(l))}}catch(t){u.e(t)}finally{u.f()}}if(e.subtitles.length>0){a.push('SUBTITLES="'.concat(e.subtitles[0].groupId,'"'));var T,E=i(e.subtitles);try{for(E.s();!(T=E.n()).done;){var f=T.value;t.push(R(f))}}catch(t){E.e(t)}finally{E.f()}}if(A.getOptions().allowClosedCaptionsNone&&0===e.closedCaptions.length)a.push("CLOSED-CAPTIONS=NONE");else if(e.closedCaptions.length>0){a.push('CLOSED-CAPTIONS="'.concat(e.closedCaptions[0].groupId,'"'));var I,h=i(e.closedCaptions);try{for(h.s();!(I=h.n()).done;){var p=I.value;t.push(R(p))}}catch(t){h.e(t)}finally{h.f()}}if(e.score&&a.push("SCORE=".concat(e.score)),e.allowedCpc){var d,S=[],y=i(e.allowedCpc);try{for(y.s();!(d=y.n()).done;){var X=d.value,v=X.format,m=X.cpcList;S.push("".concat(v,":").concat(m.join("/")))}}catch(t){y.e(t)}finally{y.f()}a.push('ALLOWED-CPC="'.concat(S.join(","),'"'))}e.videoRange&&a.push("VIDEO-RANGE=".concat(e.videoRange)),e.stableVariantId&&a.push('STABLE-VARIANT-ID="'.concat(e.stableVariantId,'"')),t.push("".concat(n,":").concat(a.join(","))),e.isIFrameOnly||t.push("".concat(e.uri))}function R(t){var e=["TYPE=".concat(t.type),'GROUP-ID="'.concat(t.groupId,'"'),'NAME="'.concat(t.name,'"')];return void 0!==t.isDefault&&e.push("DEFAULT=".concat(t.isDefault?"YES":"NO")),void 0!==t.autoselect&&e.push("AUTOSELECT=".concat(t.autoselect?"YES":"NO")),void 0!==t.forced&&e.push("FORCED=".concat(t.forced?"YES":"NO")),t.language&&e.push('LANGUAGE="'.concat(t.language,'"')),t.assocLanguage&&e.push('ASSOC-LANGUAGE="'.concat(t.assocLanguage,'"')),t.instreamId&&e.push('INSTREAM-ID="'.concat(t.instreamId,'"')),t.characteristics&&e.push('CHARACTERISTICS="'.concat(t.characteristics,'"')),t.channels&&e.push('CHANNELS="'.concat(t.channels,'"')),t.uri&&e.push('URI="'.concat(t.uri,'"')),"#EXT-X-MEDIA:".concat(e.join(","))}function L(t,e,n,a){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,i=!1,o="";if(e.byterange&&t.push("#EXT-X-BYTERANGE:".concat(g(e.byterange))),e.discontinuity&&t.push("#EXT-X-DISCONTINUITY"),e.key){var s=v(e.key);s!==n&&(t.push(s),n=s)}if(e.map){var c=D(e.map);c!==a&&(t.push(c),a=c)}if(e.programDateTime&&t.push("#EXT-X-PROGRAM-DATE-TIME:".concat(A.formatDate(e.programDateTime))),e.dateRange&&t.push(O(e.dateRange)),e.markers.length>0&&(o=P(t,e.markers)),e.parts.length>0&&(i=b(t,e.parts)),i)return[n,a];var u=r<3?Math.round(e.duration):N(e.duration,y(e.duration));return t.push("#EXTINF:".concat(u,",").concat(unescape(encodeURIComponent(e.title||"")))),Array.prototype.push.call(t,"".concat(e.uri)),[n,a,o]}function D(t){var e=['URI="'.concat(t.uri,'"')];return t.byterange&&e.push('BYTERANGE="'.concat(g(t.byterange),'"')),"#EXT-X-MAP:".concat(e.join(","))}function g(t){var e=t.offset,n=t.length;return"".concat(n,"@").concat(e)}function O(t){var e=['ID="'.concat(t.id,'"')];t.start&&e.push('START-DATE="'.concat(A.formatDate(t.start),'"')),t.end&&e.push('END-DATE="'.concat(t.end,'"')),t.duration&&e.push("DURATION=".concat(t.duration)),t.plannedDuration&&e.push("PLANNED-DURATION=".concat(t.plannedDuration)),t.classId&&e.push('CLASS="'.concat(t.classId,'"')),t.endOnNext&&e.push("END-ON-NEXT=YES");for(var n=0,a=Object.keys(t.attributes);n<a.length;n++){var r=a[n];r.startsWith("X-")?"number"==typeof t.attributes[r]?e.push("".concat(r,"=").concat(t.attributes[r])):e.push("".concat(r,'="').concat(t.attributes[r],'"')):r.startsWith("SCTE35-")&&e.push("".concat(r,"=").concat(A.byteSequenceToHex(t.attributes[r])))}return"#EXT-X-DATERANGE:".concat(e.join(","))}function P(t,e){var n,a="",r=i(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if("OUT"===o.type)a="OUT",t.push("#EXT-X-CUE-OUT:DURATION=".concat(o.duration));else if("IN"===o.type)a="IN",t.push("#EXT-X-CUE-IN");else if("RAW"===o.type){var s=o.value?":".concat(o.value):"";t.push("#".concat(o.tagName).concat(s))}}}catch(t){r.e(t)}finally{r.f()}return a}function b(t,e){var n,a=!1,r=i(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.hint){var s=[];if(s.push("TYPE=PART",'URI="'.concat(o.uri,'"')),o.byterange){var c=o.byterange,u=c.offset,l=c.length;s.push("BYTERANGE-START=".concat(u)),l&&s.push("BYTERANGE-LENGTH=".concat(l))}t.push("#EXT-X-PRELOAD-HINT:".concat(s.join(","))),a=!0}else{var T=[];T.push("DURATION=".concat(o.duration),'URI="'.concat(o.uri,'"')),o.byterange&&T.push("BYTERANGE=".concat(g(o.byterange))),o.independent&&T.push("INDEPENDENT=YES"),o.gap&&T.push("GAP=YES"),t.push("#EXT-X-PART:".concat(T.join(",")))}}}catch(t){r.e(t)}finally{r.f()}return a}t.exports=function(t){A.PARAMCHECK(t),A.ASSERT("Not a playlist","playlist"===t.type);var e=new S(t.uri);return e.push("#EXTM3U"),t.version&&e.push("#EXT-X-VERSION:".concat(t.version)),t.independentSegments&&e.push("#EXT-X-INDEPENDENT-SEGMENTS"),t.start&&e.push("#EXT-X-START:TIME-OFFSET=".concat(N(t.start.offset)).concat(t.start.precise?",PRECISE=YES":"")),t.isMasterPlaylist?function(t,e){var n,a=i(e.sessionDataList);try{for(a.s();!(n=a.n()).done;){var r=n.value;t.push(X(r))}}catch(t){a.e(t)}finally{a.f()}var o,s=i(e.sessionKeyList);try{for(s.s();!(o=s.n()).done;){var c=o.value;t.push(v(c,!0))}}catch(t){s.e(t)}finally{s.f()}var u,l=i(e.variants);try{for(l.s();!(u=l.n()).done;)m(t,u.value)}catch(t){l.e(t)}finally{l.f()}}(e,t):function(t,e){var n="",a="",o=!1;if(e.targetDuration&&t.push("#EXT-X-TARGETDURATION:".concat(e.targetDuration)),e.lowLatencyCompatibility){var s=e.lowLatencyCompatibility,c=s.canBlockReload,u=s.canSkipUntil,l=s.holdBack,T=s.partHoldBack,E=[];E.push("CAN-BLOCK-RELOAD=".concat(c?"YES":"NO")),void 0!==u&&E.push("CAN-SKIP-UNTIL=".concat(u)),void 0!==l&&E.push("HOLD-BACK=".concat(l)),void 0!==T&&E.push("PART-HOLD-BACK=".concat(T)),t.push("#EXT-X-SERVER-CONTROL:".concat(E.join(",")))}e.partTargetDuration&&t.push("#EXT-X-PART-INF:PART-TARGET=".concat(e.partTargetDuration)),e.mediaSequenceBase&&t.push("#EXT-X-MEDIA-SEQUENCE:".concat(e.mediaSequenceBase)),e.discontinuitySequenceBase&&t.push("#EXT-X-DISCONTINUITY-SEQUENCE:".concat(e.discontinuitySequenceBase)),e.playlistType&&t.push("#EXT-X-PLAYLIST-TYPE:".concat(e.playlistType)),e.isIFrame&&t.push("#EXT-X-I-FRAMES-ONLY"),e.skip>0&&t.push("#EXT-X-SKIP:SKIPPED-SEGMENTS=".concat(e.skip));var f,I=i(e.segments);try{for(I.s();!(f=I.n()).done;){var h,p=r(L(t,f.value,n,a,e.version),3);n=p[0],a=p[1],"OUT"===(h=p[2])?o=!0:"IN"===h&&o&&(o=!1)}}catch(t){I.e(t)}finally{I.f()}"VOD"===e.playlistType&&o&&t.push("#EXT-X-CUE-IN"),e.prefetchSegments.length>2&&A.INVALIDPLAYLIST("The server must deliver no more than two prefetch segments");var d,S=i(e.prefetchSegments);try{for(S.s();!(d=S.n()).done;){var N=d.value;N.discontinuity&&t.push("#EXT-X-PREFETCH-DISCONTINUITY"),t.push("#EXT-X-PREFETCH:".concat(N.uri))}}catch(t){S.e(t)}finally{S.f()}e.endlist&&t.push("#EXT-X-ENDLIST");var y,X=i(e.renditionReports);try{for(X.s();!(y=X.n()).done;){var v=y.value,m=[];m.push('URI="'.concat(v.uri,'"'),"LAST-MSN=".concat(v.lastMSN)),void 0!==v.lastPart&&m.push("LAST-PART=".concat(v.lastPart)),t.push("#EXT-X-RENDITION-REPORT:".concat(m.join(",")))}}catch(t){X.e(t)}finally{X.f()}}(e,t),e.join("\n")}},890:(t,e,n)=>{function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function o(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,a=c(t);if(e){var r=c(this).constructor;n=Reflect.construct(a,arguments,r)}else n=a.apply(this,arguments);return s(this,n)}}function s(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function c(t){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var l=n(771),T=function t(e){u(this,t),l.PARAMCHECK(e),this.type=e},E=function(t){r(n,t);var e=o(n);function n(t){var a,r=t.isMasterPlaylist,i=t.uri,o=t.version,s=t.independentSegments,c=void 0!==s&&s,T=t.start,E=t.source;return u(this,n),a=e.call(this,"playlist"),l.PARAMCHECK(r),a.isMasterPlaylist=r,a.uri=i,a.version=o,a.independentSegments=c,a.start=T,a.source=E,a}return n}(T),f=function(t){r(n,t);var e=o(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};u(this,n),a.isMasterPlaylist=!0,t=e.call(this,a);var r=a.variants,i=void 0===r?[]:r,o=a.currentVariant,s=a.sessionDataList,c=void 0===s?[]:s,l=a.sessionKeyList,T=void 0===l?[]:l;return t.variants=i,t.currentVariant=o,t.sessionDataList=c,t.sessionKeyList=T,t}return n}(E),I=function(t){r(n,t);var e=o(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};u(this,n),a.isMasterPlaylist=!1,t=e.call(this,a);var r=a.targetDuration,i=a.mediaSequenceBase,o=void 0===i?0:i,s=a.discontinuitySequenceBase,c=void 0===s?0:s,l=a.endlist,T=void 0!==l&&l,E=a.playlistType,f=a.isIFrame,I=a.segments,h=void 0===I?[]:I,A=a.prefetchSegments,p=void 0===A?[]:A,d=a.lowLatencyCompatibility,S=a.partTargetDuration,N=a.renditionReports,y=void 0===N?[]:N,X=a.skip,v=void 0===X?0:X,m=a.hash;return t.targetDuration=r,t.mediaSequenceBase=o,t.discontinuitySequenceBase=c,t.endlist=T,t.playlistType=E,t.isIFrame=f,t.segments=h,t.prefetchSegments=p,t.lowLatencyCompatibility=d,t.partTargetDuration=S,t.renditionReports=y,t.skip=v,t.hash=m,t}return n}(E),h=function(t){r(n,t);var e=o(n);function n(t){var a,r=t.uri,i=t.mimeType,o=t.data,s=t.duration,c=t.title,l=t.byterange,T=t.discontinuity,E=t.mediaSequenceNumber,f=void 0===E?0:E,I=t.discontinuitySequence,h=void 0===I?0:I,A=t.key,p=t.map,d=t.programDateTime,S=t.dateRange,N=t.markers,y=void 0===N?[]:N,X=t.parts,v=void 0===X?[]:X;return u(this,n),(a=e.call(this,"segment")).uri=r,a.mimeType=i,a.data=o,a.duration=s,a.title=c,a.byterange=l,a.discontinuity=T,a.mediaSequenceNumber=f,a.discontinuitySequence=h,a.key=A,a.map=p,a.programDateTime=d,a.dateRange=S,a.markers=y,a.parts=v,a}return n}(T),A=function(t){r(n,t);var e=o(n);function n(t){var a,r=t.hint,i=void 0!==r&&r,o=t.uri,s=t.duration,c=t.independent,T=t.byterange,E=t.gap;return u(this,n),a=e.call(this,"part"),l.PARAMCHECK(o),a.hint=i,a.uri=o,a.duration=s,a.independent=c,a.duration=s,a.byterange=T,a.gap=E,a}return n}(T),p=function(t){r(n,t);var e=o(n);function n(t){var a,r=t.uri,i=t.discontinuity,o=t.mediaSequenceNumber,s=void 0===o?0:o,c=t.discontinuitySequence,T=void 0===c?0:c,E=t.key;return u(this,n),a=e.call(this,"prefetch"),l.PARAMCHECK(r),a.uri=r,a.discontinuity=i,a.mediaSequenceNumber=s,a.discontinuitySequence=T,a.key=E,a}return n}(T);t.exports={Rendition:function t(e){var n=e.type,a=e.uri,r=e.groupId,i=e.language,o=e.assocLanguage,s=e.name,c=e.isDefault,T=e.autoselect,E=e.forced,f=e.instreamId,I=e.characteristics,h=e.channels;u(this,t),l.PARAMCHECK(n,r,s),l.CONDITIONALASSERT(["SUBTITLES"===n,a],["CLOSED-CAPTIONS"===n,f],["CLOSED-CAPTIONS"===n,!a],[E,"SUBTITLES"===n]),this.type=n,this.uri=a,this.groupId=r,this.language=i,this.assocLanguage=o,this.name=s,this.isDefault=c,this.autoselect=T,this.forced=E,this.instreamId=f,this.characteristics=I,this.channels=h},Variant:function t(e){var n=e.uri,a=e.isIFrameOnly,r=void 0!==a&&a,i=e.bandwidth,o=e.averageBandwidth,s=e.score,c=e.codecs,T=e.resolution,E=e.frameRate,f=e.hdcpLevel,I=e.allowedCpc,h=e.videoRange,A=e.stableVariantId,p=e.audio,d=void 0===p?[]:p,S=e.video,N=void 0===S?[]:S,y=e.subtitles,X=void 0===y?[]:y,v=e.closedCaptions,m=void 0===v?[]:v,R=e.currentRenditions,L=void 0===R?{audio:0,video:0,subtitles:0,closedCaptions:0}:R;u(this,t),l.PARAMCHECK(n,i),this.uri=n,this.isIFrameOnly=r,this.bandwidth=i,this.averageBandwidth=o,this.score=s,this.codecs=c,this.resolution=T,this.frameRate=E,this.hdcpLevel=f,this.allowedCpc=I,this.videoRange=h,this.stableVariantId=A,this.audio=d,this.video=N,this.subtitles=X,this.closedCaptions=m,this.currentRenditions=L},SessionData:function t(e){var n=e.id,a=e.value,r=e.uri,i=e.language;u(this,t),l.PARAMCHECK(n,a||r),l.ASSERT("SessionData cannot have both value and uri, shoud be either.",!(a&&r)),this.id=n,this.value=a,this.uri=r,this.language=i},Key:function t(e){var n=e.method,a=e.uri,r=e.iv,i=e.format,o=e.formatVersion;u(this,t),l.PARAMCHECK(n),l.CONDITIONALPARAMCHECK(["NONE"!==n,a]),l.CONDITIONALASSERT(["NONE"===n,!(a||r||i||o)]),this.method=n,this.uri=a,this.iv=r,this.format=i,this.formatVersion=o},MediaInitializationSection:function t(e){var n=e.hint,a=void 0!==n&&n,r=e.uri,i=e.mimeType,o=e.byterange;u(this,t),l.PARAMCHECK(r),this.hint=a,this.uri=r,this.mimeType=i,this.byterange=o},DateRange:function t(e){var n=e.id,a=e.classId,r=e.start,i=e.end,o=e.duration,s=e.plannedDuration,c=e.endOnNext,T=e.attributes,E=void 0===T?{}:T;u(this,t),l.PARAMCHECK(n),l.CONDITIONALPARAMCHECK([!0===c,a]),l.CONDITIONALASSERT([i,r],[i,r<=i],[o,o>=0],[s,s>=0]),this.id=n,this.classId=a,this.start=r,this.end=i,this.duration=o,this.plannedDuration=s,this.endOnNext=c,this.attributes=E},SpliceInfo:function t(e){var n=e.type,a=e.duration,r=e.tagName,i=e.value;u(this,t),l.PARAMCHECK(n),l.CONDITIONALPARAMCHECK(["OUT"===n,a]),l.CONDITIONALPARAMCHECK(["RAW"===n,r]),this.type=n,this.duration=a,this.tagName=r,this.value=i},Playlist:E,MasterPlaylist:f,MediaPlaylist:I,Segment:h,PartialSegment:A,PrefetchSegment:p,RenditionReport:function t(e){var n=e.uri,a=e.lastMSN,r=e.lastPart;u(this,t),l.PARAMCHECK(n),this.uri=n,this.lastMSN=a,this.lastPart=r}}},771:t=>{function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(t){r=!0,i=t}finally{try{a||null==s.return||s.return()}finally{if(r)throw i}}return n}}(t,e)||a(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=a(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw o}}}}function a(t,e){if(t){if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}var i={};function o(t){if(i.strictMode)throw t;i.silent||console.error(t.message)}function s(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;if("number"==typeof t)return t;var n=10===e?Number.parseFloat(t,e):Number.parseInt(t,e);return Number.isNaN(n)?0:n}t.exports={THROW:o,ASSERT:function(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),i=1;i<a;i++)r[i-1]=arguments[i];var s,c=n(r.entries());try{for(c.s();!(s=c.n()).done;){var u=e(s.value,2),l=u[0],T=u[1];T||o(new Error("".concat(t," : Failed at [").concat(l,"]")))}}catch(t){c.e(t)}finally{c.f()}},CONDITIONALASSERT:function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];var i,s=n(a.entries());try{for(s.s();!(i=s.n()).done;){var c=e(i.value,2),u=c[0],l=e(c[1],2),T=l[0],E=l[1];T&&(E||o(new Error("Conditional Assert : Failed at [".concat(u,"]"))))}}catch(t){s.e(t)}finally{s.f()}},PARAMCHECK:function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];var i,s=n(a.entries());try{for(s.s();!(i=s.n()).done;){var c=e(i.value,2),u=c[0],l=c[1];void 0===l&&o(new Error("Param Check : Failed at [".concat(u,"]")))}}catch(t){s.e(t)}finally{s.f()}},CONDITIONALPARAMCHECK:function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];var i,s=n(a.entries());try{for(s.s();!(i=s.n()).done;){var c=e(i.value,2),u=c[0],l=e(c[1],2),T=l[0],E=l[1];T&&void 0===E&&o(new Error("Conditional Param Check : Failed at [".concat(u,"]")))}}catch(t){s.e(t)}finally{s.f()}},INVALIDPLAYLIST:function(t){o(new Error("Invalid Playlist : ".concat(t)))},toNumber:s,hexToByteSequence:function(t){(t.startsWith("0x")||t.startsWith("0X"))&&(t=t.slice(2));for(var e=[],n=0;n<t.length;n+=2)e.push(s(t.slice(n,n+2),16));return Buffer.from(e)},byteSequenceToHex:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length;n<=e&&o(new Error("end must be larger than start : start=".concat(e,", end=").concat(n)));for(var a=[],r=e;r<n;r++)a.push("0".concat((255&t[r]).toString(16).toUpperCase()).slice(-2));return"0x".concat(a.join(""))},tryCatch:function(t,e){try{return t()}catch(t){return e(t)}},splitAt:function(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=-1,r=0,i=0;r<t.length;r++)if(t[r]===e){if(i++===n)return[t.slice(0,r),t.slice(r+1)];a=r}return-1!==a?[t.slice(0,a),t.slice(a+1)]:[t]},trim:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";return t?(t=t.trim()," "===e||(t.startsWith(e)&&(t=t.slice(1)),t.endsWith(e)&&(t=t.slice(0,-1))),t):t},splitByCommaWithPreservingQuotes:function(t){for(var e=[],n=!0,a=0,r=[],i=0;i<t.length;i++){var o=t[i];n&&","===o?(e.push(t.slice(a,i).trim()),a=i+1):'"'!==o&&"'"!==o||(n?(r.push(o),n=!1):o===r[r.length-1]?(r.pop(),n=!0):r.push(o))}return e.push(t.slice(a).trim()),e},camelify:function(t){var e,a=[],r=!1,i=n(t);try{for(i.s();!(e=i.n()).done;){var o=e.value;"-"!==o&&"_"!==o?r?(a.push(o.toUpperCase()),r=!1):a.push(o.toLowerCase()):r=!0}}catch(t){i.e(t)}finally{i.f()}return a.join("")},formatDate:function(t){var e=t.getUTCFullYear(),n=("0"+(t.getUTCMonth()+1)).slice(-2),a=("0"+t.getUTCDate()).slice(-2),r=("0"+t.getUTCHours()).slice(-2),i=("0"+t.getUTCMinutes()).slice(-2),o=("0"+t.getUTCSeconds()).slice(-2),s=("00"+t.getUTCMilliseconds()).slice(-3);return"".concat(e,"-").concat(n,"-").concat(a,"T").concat(r,":").concat(i,":").concat(o,".").concat(s,"Z")},hasOwnProp:function(t,e){return Object.hasOwnProperty.call(t,e)},setOptions:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i=Object.assign(i,t)},getOptions:function(){return Object.assign({},i)}}}},e={},function n(a){var r=e[a];if(void 0!==r)return r.exports;var i=e[a]={exports:{}};return t[a](i,i.exports,n),i.exports}(851);var t,e})); | ||
//# sourceMappingURL=hls-parser.min.js.map |
{ | ||
"name": "hls-parser", | ||
"version": "0.10.0", | ||
"version": "0.10.1", | ||
"description": "A simple library to read/write HLS playlists", | ||
@@ -32,4 +32,4 @@ "main": "index.js", | ||
"devDependencies": { | ||
"@babel/core": "^7.13.8", | ||
"@babel/preset-env": "^7.13.9", | ||
"@babel/core": "^7.13.10", | ||
"@babel/preset-env": "^7.13.10", | ||
"ava": "^3.15.0", | ||
@@ -41,3 +41,3 @@ "babel-loader": "^8.2.2", | ||
"terser-webpack-plugin": "^5.1.1", | ||
"webpack": "^5.24.3", | ||
"webpack": "^5.26.3", | ||
"webpack-cli": "^4.5.0", | ||
@@ -44,0 +44,0 @@ "xo": "0.38.2" |
@@ -949,3 +949,6 @@ const utils = require('./utils'); | ||
for (const l of text.split('\n')) { | ||
const line = l.trim(); | ||
// V8 has garbage collection issues when cleaning up substrings split from strings greater | ||
// than 13 characters so before we continue we need to safely copy over each line so that it | ||
// doesn't hold any reference to the containing string. | ||
const line = Buffer.from(l.trim()).toString(); | ||
if (!line) { | ||
@@ -952,0 +955,0 @@ // empty line |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
547415
4746