dashjs
Version:
A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.
1 lines • 154 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.dashjs=t():e.dashjs=t()}(self,(function(){return function(){"use strict";var e={7316:function(e){e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;0!=i--;){var a=s[i];if(!e(t[a],n[a]))return!1}return!0}return t!=t&&n!=n}},3282:function(e){function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,s=-1,a=0,o=0;o<=e.length;++o){if(o<e.length)n=e.charCodeAt(o);else{if(47===n)break;n=47}if(47===n){if(s===o-1||1===a);else if(s!==o-1&&2===a){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var u=r.lastIndexOf("/");if(u!==r.length-1){-1===u?(r="",i=0):i=(r=r.slice(0,u)).length-1-r.lastIndexOf("/"),s=o,a=0;continue}}else if(2===r.length||1===r.length){r="",i=0,s=o,a=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(s+1,o):r=e.slice(s+1,o),i=o-s-1;s=o,a=0}else 46===n&&-1!==a?++a:a=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,s=arguments.length-1;s>=-1&&!i;s--){var a;s>=0?a=arguments[s]:(void 0===e&&(e=process.cwd()),a=e),t(a),0!==a.length&&(r=a+"/"+r,i=47===a.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n<arguments.length;++n){var i=arguments[n];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var s=e.length,a=s-i,o=1;o<n.length&&47===n.charCodeAt(o);++o);for(var u=n.length-o,c=a<u?a:u,l=-1,E=0;E<=c;++E){if(E===c){if(u>c){if(47===n.charCodeAt(o+E))return n.slice(o+E+1);if(0===E)return n.slice(o+E)}else a>c&&(47===e.charCodeAt(i+E)?l=E:0===E&&(l=0));break}var d=e.charCodeAt(i+E);if(d!==n.charCodeAt(o+E))break;47===d&&(l=E)}var A="";for(E=i+l+1;E<=s;++E)E!==s&&47!==e.charCodeAt(E)||(0===A.length?A+="..":A+="/..");return A.length>0?A+n.slice(o+l):(o+=l,47===n.charCodeAt(o)&&++o,n.slice(o))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,s=!0,a=e.length-1;a>=1;--a)if(47===(n=e.charCodeAt(a))){if(!s){i=a;break}}else s=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,s=-1,a=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var o=n.length-1,u=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!a){i=r+1;break}}else-1===u&&(a=!1,u=r+1),o>=0&&(c===n.charCodeAt(o)?-1==--o&&(s=r):(o=-1,s=u))}return i===s?s=u:-1===s&&(s=e.length),e.slice(i,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){i=r+1;break}}else-1===s&&(a=!1,s=r+1);return-1===s?"":e.slice(i,s)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,s=!0,a=0,o=e.length-1;o>=0;--o){var u=e.charCodeAt(o);if(47!==u)-1===i&&(s=!1,i=o+1),46===u?-1===n?n=o:1!==a&&(a=1):-1!==n&&(a=-1);else if(!s){r=o+1;break}}return-1===n||-1===i||0===a||1===a&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+"/"+r:r}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),s=47===i;s?(n.root="/",r=1):r=0;for(var a=-1,o=0,u=-1,c=!0,l=e.length-1,E=0;l>=r;--l)if(47!==(i=e.charCodeAt(l)))-1===u&&(c=!1,u=l+1),46===i?-1===a?a=l:1!==E&&(E=1):-1!==a&&(E=-1);else if(!c){o=l+1;break}return-1===a||-1===u||0===E||1===E&&a===u-1&&a===o+1?-1!==u&&(n.base=n.name=0===o&&s?e.slice(1,u):e.slice(o,u)):(0===o&&s?(n.name=e.slice(1,a),n.base=e.slice(1,u)):(n.name=e.slice(o,a),n.base=e.slice(o,u)),n.ext=e.slice(a,u)),o>0?n.dir=e.slice(0,o-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r},8735:function(e,t,n){n.d(t,{GM:function(){return K},I$:function(){return X},LA:function(){return _},PX:function(){return $},WJ:function(){return T},YM:function(){return ie},dp:function(){return Z},gz:function(){return se},hU:function(){return Q},mm:function(){return j},pv:function(){return z},tt:function(){return ne},x_:function(){return J},xq:function(){return re}});var r=n(2877),i=n(9259);const s=e=>e instanceof r.d5?new r.d5(Math.round(e.value),e.params):Math.round(e),a=e=>Array.isArray(e)?e.map(s):s(e),o=(e,t)=>Array.isArray(e)?e.map((e=>o(e,t))):e instanceof r.d5&&"string"==typeof e.value?new r.d5(o(e.value,t),e.params):(t.baseUrl&&(e=(0,i.gn)(e,(0,i.$_)(t.baseUrl))),1===t.version?encodeURIComponent(e):e),u=e=>e instanceof r.d5?new r.d5(100*Math.round(e.value/100),e.params):100*Math.round(e/100),c=e=>Array.isArray(e)?e.map(u):u(e),l={br:a,d:a,bl:c,dl:c,mtp:c,nor:(e,t)=>{let n=e;return t.version>=2&&(e instanceof r.d5&&"string"==typeof e.value?n=new r.d5([e]):"string"==typeof e&&(n=[e])),o(n,t)},rtp:c,tb:a},E=2,d="rr",A="ce",T={BITRATE_CHANGE:"bc",PLAY_STATE:"ps",ERROR:"e",TIME_INTERVAL:"t",CONTENT_ID:"c",BACKGROUNDED_MODE:"b",MUTE:"m",UNMUTE:"um",PLAYER_EXPAND:"pe",PLAYER_COLLAPSE:"pc",RESPONSE_RECEIVED:d,AD_START:"as",AD_END:"ae",AD_BREAK_START:"abs",AD_BREAK_END:"abe",SKIP:"sk",CUSTOM_EVENT:A},f="event",h="request",_={REQUEST:h,EVENT:f},p=["cen","e","h","ts"],m=["ab","bg","bl","br","bs","bsa","bsd","bsda","cdn","cid","cs","d","dfa","dl","ec","lab","lb","ltc","msd","mtp","nor","nr","ot","pb","pr","pt","rtp","sf","sid","sn","st","sta","su","tab","tb","tbl","tpb","v"],I=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function g(e){return I.test(e)}const R=new Set(m);function S(e){return R.has(e)||g(e)}const N=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],D=new Set(N);function O(e){return D.has(e)}const y=new Set(p),C=new Set(["ab","bl","br","bsa","bsd","bsda","lab","lb","mtp","pb","tab","tb","tbl","tpb"]),P=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"],M=new Set(P);function L(e){return M.has(e)||g(e)}const v=new Set(["ot","sf","st","e","sta"]);function b(e){return v.has(e)}function U(e){return"number"==typeof e?Number.isFinite(e):null!=e&&""!==e&&!1!==e}const w={[f]:function(e){return S(e)||O(e)||y.has(e)},[h]:S};function F(e,t){if(Array.isArray(e)){let n;return t&&(n=e.find((e=>e.params?.ot===t))),n||(n=e[0]),F(n)}return e instanceof r.d5?e.value:e}function G(e,t={}){const n={};if(null==e||"object"!=typeof e)return n;const i=t.version||e.v||E,s=t.reportingMode||h,a=1===i?function(e){const t={};for(const[n,i]of Object.entries(e))if(null!=i)if("nor"===n){const e=(Array.isArray(i)?i:[i])[0];e instanceof r.d5?(t.nor=e.value,e.params?.r&&(t.nrr=e.params.r)):t.nor=e}else C.has(n)?t[n]=F(i,e.ot):t[n]=i;else t[n]=i;return t}(e):e,o=1===i?L:w[s];let u=Object.keys(a).filter(o);a.e&&a.e!==d&&(u=u.filter((e=>!O(e))));const c=t.filter;"function"==typeof c&&(u=u.filter(c));const T=s===f;if(T){const e=a.e;u.includes("e")||null==e||u.push("e"),u.includes("ts")||u.push("ts"),u.includes("cen")||null==a.cen||e!==A||u.push("cen")}if(0===u.length)return n;i>1&&!u.includes("v")&&u.push("v");const _={version:i,reportingMode:s,baseUrl:t.baseUrl};u.sort();for(const e of u){let s=a[e];const o=t.formatters?.[e]??l[e];if("function"==typeof o&&(s=o(s,_)),"v"===e){if(1===i)continue;s=i}"pr"===e&&1===s||(T&&"ts"===e&&!Number.isFinite(s)&&(s=Date.now()),U(s)&&(b(e)&&"string"==typeof s&&(s=new r.P7(s)),n[e]=s))}return n}const B="CMCD-Object",x="CMCD-Request",Y="CMCD-Session",H="CMCD-Status",V={OBJECT:B,REQUEST:x,SESSION:Y,STATUS:H},q={ab:B,br:B,d:B,lab:B,lb:B,ot:B,tab:B,tb:B,tpb:B,bl:x,cs:x,dfa:x,dl:x,ltc:x,mtp:x,nor:x,nrr:x,pb:x,sn:x,sta:x,su:x,tbl:x,cid:Y,msd:Y,sf:Y,sid:Y,st:Y,v:Y,bg:H,bs:H,bsa:H,bsd:H,bsda:H,cdn:H,ec:H,nr:H,pr:H,pt:H,rtp:H};function k(e,t){const n={},i=function(e,t){const n={};if(!e)return n;const r=Object.keys(e),i=t?(s=t,Object.keys(s).reduce(((e,t)=>(s[t]?.forEach((n=>e[n]=t)),e)),{})):{};var s;for(const t of r){const r=q[t]||i[t]||V.REQUEST;(n[r]??={})[t]=e[t]}return n}(e,t);for(const[e,t]of Object.entries(i)){const i=(0,r.Of)(t,{whitespace:!1});i&&(n[e]=i)}return n}const K="CMCD";function W(e){return(0,r.Of)(e,{whitespace:!1})}const j=30,z=[...P,...m,...N,...p].filter(((e,t,n)=>n.indexOf(e)===t)),Q={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},X={STARTING:"s",PLAYING:"p",SEEKING:"k",REBUFFERING:"r",PAUSED:"a",WAITING:"w",ENDED:"e",FATAL_ERROR:"f",QUIT:"q",PRELOADING:"d"},$="query",Z="headers",J={JSON:"json",QUERY:$,HEADERS:Z};function ee(e,t,n){const r=new Set(t.enabledKeys??[]);return{version:t.version||E,reportingMode:e,filter:e=>r.has(e),baseUrl:n}}function te(e){const{url:t,...n}=e;return fetch(t,n)}var ne=class{constructor(e,t=te){this.timeOrigin=performance.timeOrigin||performance.timing?.fetchStart||Date.now()-performance.now(),this.data={},this.msd=NaN,this.eventTargets=new Map,this.requestTarget={sn:0,msdSent:!1},this.config=function(e){const{version:t=E,eventTargets:n=[],sid:r=(0,i.uR)(),transmissionMode:s=$,...a}=e;return{...a,version:t,transmissionMode:s,sid:r,eventTargets:n.reduce(((e,t)=>(t?.url&&t.events?.length&&e.push({version:t.version||E,enabledKeys:t.enabledKeys?.slice()||[],url:t.url,events:t.events.slice(),interval:t.interval??j,batchSize:t.batchSize||1}),e)),[])}}(e),this.data={cid:this.config.cid,sid:this.config.sid,v:this.config.version},this.requester=t;for(const e of this.config.eventTargets)this.eventTargets.set(e,{intervalId:void 0,sn:0,msdSent:!1,queue:[]})}start(){this.eventTargets.forEach(((e,t)=>{if(this.disarmInterval(e),0===t.interval||!t.events.includes(T.TIME_INTERVAL))return;const n=()=>{this.recordTargetEvent(e,t,"t"),this.processEventTargets()};e.intervalId=setInterval(n,1e3*t.interval),n()}))}stop(e=!1){e&&this.flush(),this.eventTargets.forEach((e=>{this.disarmInterval(e)}))}flush(){this.processEventTargets(!0)}update(e){e.sid&&e.sid!==this.data.sid&&this.resetSession(),e.msd&&!isNaN(e.msd)&&(this.msd=e.msd),this.data={...this.data,...e,msd:void 0}}recordEvent(e,t={}){this.eventTargets.forEach(((n,r)=>{this.recordTargetEvent(n,r,e,t)})),this.processEventTargets()}recordTargetEvent(e,t,n,r={}){if(!t.events.includes(n))return;const i={...this.data,...r,e:n,ts:r.ts??Date.now(),sn:e.sn++};isNaN(this.msd)||e.msdSent||(i.msd=this.msd,e.msdSent=!0),e.queue.push(i)}recordResponseReceived(e,t={}){const{request:n}=e,r=t.url??n?.url;if(!r)return;const i=new URL(r);i.searchParams.delete(K);const s={url:i.toString(),rc:e.status},a=e.resourceTiming;a&&(null!=a.startTime&&(s.ts=Math.round(this.timeOrigin+a.startTime),null!=a.responseStart&&(s.ttfb=Math.round(a.responseStart-a.startTime))),null!=a.duration&&(s.ttlb=Math.round(a.duration)));const o=n.customData?.cmcd??{};this.recordEvent(d,{...o,...s,...t})}applyRequestReport(e){return this.createRequestReport(e)??e}isRequestReportingEnabled(){return!!this.config.enabledKeys?.length}createRequestReport(e,t){const{customData:n={},headers:r={},...i}=e,s={...i,headers:{...r},customData:{...n,cmcd:{}}};if(!this.config.enabledKeys?.length||!s.url)return s;const a=new URL(s.url),o={...this.data,...t,sn:this.requestTarget.sn++},u=ee(h,this.config,s.url);isNaN(this.msd)||this.requestTarget.msdSent||(o.msd=this.msd,this.requestTarget.msdSent=!0);const c=s.customData.cmcd=G(o,u);switch(this.config.transmissionMode){case $:const e=W(c);e&&(a.searchParams.set(K,e),s.url=a.toString());break;case Z:Object.assign(s.headers,k(c,u.customHeaderMap))}return s}processEventTargets(e=!1){let t=!1;this.eventTargets.forEach(((n,r)=>{const{queue:i}=n;if(!i.length)return;if(i.length<r.batchSize&&!e)return;const s=e?i.length:r.batchSize,a=i.splice(0,s);this.sendEventReport(r,a).catch((()=>{n.queue.unshift(...a)})),t||=i.length>0})),t&&this.processEventTargets()}async sendEventReport(e,t){const n=ee(f,e),{status:r}=await this.requester({url:e.url,method:"POST",headers:{"Content-Type":"application/cmcd"},body:t.map((e=>function(e,t={}){return e?W(G(e,t)):""}(e,n))).join("\n")+"\n"});if(410===r)this.disposeEventTarget(e);else if(429===r||r>499&&r<600)throw new Error(`Event report failed with status ${r}`)}disarmInterval(e){clearInterval(e.intervalId),e.intervalId=void 0}disposeEventTarget(e){const t=this.eventTargets.get(e);t&&(this.disarmInterval(t),this.eventTargets.delete(e))}resetSession(){this.eventTargets.forEach((e=>e.sn=0)),this.requestTarget.sn=0}};const re={DASH:"d",HLS:"h",SMOOTH:"s",OTHER:"o"},ie={VOD:"v",LIVE:"l",LOW_LATENCY:"ll"};function se(e,t){return new r.d5(e,t)}new Set(P),new Set(z),new Set(["bl","dl","mtp","rtp","tbl"]),new Set(["br","d","tb"])},1103:function(e,t,n){n.d(t,{Nw:function(){return o},Pb:function(){return a},aD:function(){return c},nt:function(){return u},uu:function(){return s}});var r=n(6390),i=n(2877);const s="CMSD-Dynamic",a="CMSD-Static",o=r.QA;function u(e){return e?(0,i.Ov)(e):[]}function c(e){return e?Object.entries((0,i.A2)(e)).reduce(((e,[t,n])=>{const{value:r}=n;return e[t]="symbol"==typeof r?(0,i.rI)(r):r,e}),{}):{}}},6390:function(e,t,n){n.d(t,{QA:function(){return r}});const r={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"}},2877:function(e,t,n){n.d(t,{A2:function(){return P},Of:function(){return Y},Ov:function(){return L},P7:function(){return g},d5:function(){return i},rI:function(){return U}});var r=n(9259),i=class e{constructor(t,n){Array.isArray(t)&&(t=t.map((t=>t instanceof e?t:new e(t)))),this.value=t,this.params=n}};const s="Dict";function a(e,t){return{value:e,src:t}}function o(e,t,n,r){return new Error(`failed to ${e} "${i=t,Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":"object"==typeof i?JSON.stringify(i):String(i)}" as ${n}`,{cause:r});var i}function u(e,t,n){return o("parse",e,t,n)}const c="Inner List",l="Bare Item",E="Boolean",d="Byte Sequence",A="Date",T="Decimal",f="Integer",h=`${f} or ${T}`;function _(e){return e<-999999999999999||999999999999999<e}function p(e){let t,n=1,r="";const i=u(e,h);if("-"===e[0]&&(n=-1,e=e.substring(1)),e.length<=0)throw i;const s=/^(\d+)?/g,o=s.exec(e);if(0===o[0].length)throw i;if(r+=o[1],"."===(e=e.substring(s.lastIndex))[0]){if(r.length>12)throw i;const s=/^(\.\d+)?/g,a=s.exec(e);if(e=e.substring(s.lastIndex),0===a[0].length||a[1].length>4)throw i;if(r+=a[1],r.length>16)throw i;t=parseFloat(r)*n}else{if(r.length>15)throw i;if(t=parseInt(r)*n,_(t))throw u(r,h)}return a(t,e)}const m="String",I=/[\x00-\x1f\x7f]+/;var g=class{constructor(e){this.description=e}};const R="Token";function S(e,t){const n=e[0];if('"'===n)return function(e){let t="",n=0;if('"'!==e[n])throw u(e,m);for(n++;e.length>n;){if("\\"===e[n]){if(e.length<=n+1)throw u(e,m);if(n++,'"'!==e[n]&&"\\"!==e[n])throw u(e,m);t+=e[n]}else{if('"'===e[n])return a(t,e.substring(++n));if(I.test(e[n]))throw u(e,m);t+=e[n]}n++}throw u(e,m)}(e);if(/^[-0-9]/.test(n))return p(e);if("?"===n)return function(e){let t=0;if("?"!==e[t])throw u(e,E);if(t++,"1"===e[t])return a(!0,e.substring(++t));if("0"===e[t])return a(!1,e.substring(++t));throw u(e,E)}(e);if(":"===n)return function(e){if(":"!==e[0])throw u(e,d);if(!1===(e=e.substring(1)).includes(":"))throw u(e,d);const t=/(^.*?)(:)/g,n=t.exec(e)[1];return e=e.substring(t.lastIndex),a((0,r.y4)(n),e)}(e);if(/^[a-zA-Z*]/.test(n))return function(e,t){if(!1===/^[a-zA-Z*]$/.test(e[0]))throw u(e,R);const n=/^([!#$%&'*+\-.^_`|~\w:/]+)/g,r=n.exec(e)[1];return e=e.substring(n.lastIndex),a(!1===t?.useSymbol?new g(r):Symbol.for(r),e)}(e,t);if("@"===n)return function(e){let t=0;if("@"!==e[t])throw u(e,A);t++;const n=p(e.substring(t));if(!1===Number.isInteger(n.value))throw u(e,A);return a(new Date(1e3*n.value),n.src)}(e);throw u(e,l)}const N="Key";function D(e){let t=0;if(!1===/^[a-z*]$/.test(e[t]))throw u(e,N);let n="";for(;e.length>t;){if(!1===/^[a-z0-9_\-.*]$/.test(e[t]))return a(n,e.substring(t));n+=e[t],t++}return a(n,e.substring(t))}function O(e,t){let n;for(;e.length>0&&";"===e[0];){const r=D(e=e.substring(1).trim()),i=r.value;let s=!0;if("="===(e=r.src)[0]){const n=S(e=e.substring(1),t);s=n.value,e=n.src}null==n&&(n={}),n[i]=s}return a(n,e)}function y(e,t){const n=S(e,t),r=O(e=n.src,t);return e=r.src,a(new i(n.value,r.value),e)}function C(e,t){return"("===e[0]?function(e,t){if("("!==e[0])throw u(e,c);e=e.substring(1);const n=[];for(;e.length>0;){if(")"===(e=e.trim())[0]){const r=O(e=e.substring(1),t);return a(new i(n,r.value),r.src)}const r=y(e,t);if(n.push(r.value)," "!==(e=r.src)[0]&&")"!==e[0])throw u(e,c)}throw u(e,c)}(e,t):y(e,t)}function P(e,t){try{const{src:n,value:r}=function(e,t){const n={};for(;e.length>0;){let r;const o=D(e),c=o.value;if("="===(e=o.src)[0]){const n=C(e.substring(1),t);r=n.value,e=n.src}else{const n=O(e,t);r=new i(!0,n.value),e=n.src}if(n[c]=r,0===(e=e.trim()).length)return a(n,e);if(","!==e[0])throw u(e,s);if(0===(e=e.substring(1).trim()).length||","===e[0])throw u(e,s)}return a(n,e)}(e.trim(),t);if(""!==n)throw u(n,s);return r}catch(t){throw u(e,s,t)}}const M="List";function L(e,t){try{const{src:n,value:r}=function(e,t){const n=[];for(;e.length>0;){const r=C(e,t);if(n.push(r.value),0===(e=r.src.trim()).length)return a(n,e);if(","!==e[0])throw u(e,M);if(0===(e=e.substring(1).trim()).length||","===e[0])throw u(e,M)}return a(n,e)}(e.trim(),t);if(""!==n)throw u(n,M);return r}catch(t){throw u(e,M,t)}}function v(e,t,n){return o("serialize",e,t,n)}function b(e){if(_(e))throw v(e,f);return e.toString()}function U(e){return e.description||e.toString().slice(7,-1)}function w(e){const t=U(e);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw v(t,R);return t}function F(e){switch(typeof e){case"number":if(!Number.isFinite(e))throw v(e,l);return Number.isInteger(e)?b(e):function(e){const t=(0,r.ut)(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw v(e,T);const n=t.toString();return n.includes(".")?n:`${n}.0`}(e);case"string":return function(e){if(I.test(e))throw v(e,m);return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}(e);case"symbol":return w(e);case"boolean":return function(e){if("boolean"!=typeof e)throw v(e,E);return e?"?1":"?0"}(e);case"object":if(e instanceof Date)return function(e){return`@${b(e.getTime()/1e3)}`}(e);if(e instanceof Uint8Array)return function(e){if(!1===ArrayBuffer.isView(e))throw v(e,d);return`:${(0,r.WG)(e)}:`}(e);if(e instanceof g)return w(e);default:throw v(e,l)}}function G(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw v(e,N);return e}function B(e){return null==e?"":Object.entries(e).map((([e,t])=>!0===t?`;${G(e)}`:`;${G(e)}=${F(t)}`)).join("")}function x(e){return e instanceof i?`${F(e.value)}${B(e.params)}`:F(e)}function Y(e,t){return function(e,t={whitespace:!0}){if("object"!=typeof e||null==e)throw v(e,s);const n=e instanceof Map?e.entries():Object.entries(e),r=t?.whitespace?" ":"";return Array.from(n).map((([e,t])=>{t instanceof i==0&&(t=new i(t));let n=G(e);return!0===t.value?n+=B(t.params):(n+="=",Array.isArray(t.value)?n+=function(e){return`(${e.value.map(x).join(" ")})${B(e.params)}`}(t):n+=x(t)),n})).join(`,${r}`)}(e,t)}},9259:function(e,t,n){function r(e){return new Uint8Array([...atob(e)].map((e=>e.charCodeAt(0))))}function i(e){return btoa(String.fromCharCode(...e))}function s(e){const t="string"==typeof e?new URL(e):e;return t.origin+t.pathname.substring(0,t.pathname.lastIndexOf("/")+1)}function a(e,t){if(e<0)return-a(-e,t);const n=Math.pow(10,t);if(Math.abs(e*n%1-.5)<Number.EPSILON){const t=Math.floor(e*n);return(t%2==0?t:t+1)/n}return Math.round(e*n)/n}function o(e,t){let n;try{n=new URL(e)}catch{return e}const r=new URL(t);if(n.origin!==r.origin)return e;const i=n.pathname.split("/").slice(1),s=r.pathname.split("/").slice(1,-1),a=Math.min(i.length,s.length);for(let e=0;e<a&&i[e]===s[e];e++)i.shift(),s.shift();for(;s.length;)s.shift(),i.unshift("..");return i.join("/")+n.search+n.hash}function u(){try{return crypto.randomUUID()}catch(e){try{const e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){let t=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?n:3&n|8).toString(16)}))}}}n.d(t,{$_:function(){return s},WG:function(){return i},gn:function(){return o},uR:function(){return u},ut:function(){return a},y4:function(){return r}})},649:function(e,t,n){var r=n(8850),i=n(3621),s=n(138);function a(e){e=e||{};const t=this.context,n=(0,r.A)(t).getInstance(),s=e.settings,a=[];let o,u,c,l;function E(e){return e&&e.bind?e.bind(window.console):window.console.log.bind(window.console)}function d(...e){_(1,this,...e)}function A(...e){_(2,this,...e)}function T(...e){_(3,this,...e)}function f(...e){_(4,this,...e)}function h(...e){_(5,this,...e)}function _(e,t,...r){let o="",E=null;u&&(E=(new Date).getTime(),o+="["+(E-l)+"]"),c&&t&&t.getClassName&&(o+="["+t.getClassName()+"]",t.getType&&(o+="["+t.getType()+"]")),o.length>0&&(o+=" "),Array.apply(null,r).forEach((function(e){o+=e+" "})),a[e]&&s&&s.get().debug.logLevel>=e&&a[e](o),s&&s.get().debug.dispatchEvent&&n.trigger(i.A.LOG,{message:o,level:e})}return o={getLogger:function(e){return{fatal:d.bind(e),error:A.bind(e),warn:T.bind(e),info:f.bind(e),debug:h.bind(e)}},setLogTimestampVisible:function(e){u=e},setCalleeNameVisible:function(e){c=e}},u=!0,c=!0,l=(new Date).getTime(),"undefined"!=typeof window&&window.console&&(a[1]=E(window.console.error),a[2]=E(window.console.error),a[3]=E(window.console.warn),a[4]=E(window.console.info),a[5]=E(window.console.debug)),o}a.__dashjs_factory_name="Debug";const o=s.A.getSingletonFactory(a);o.LOG_LEVEL_NONE=0,o.LOG_LEVEL_FATAL=1,o.LOG_LEVEL_ERROR=2,o.LOG_LEVEL_WARNING=3,o.LOG_LEVEL_INFO=4,o.LOG_LEVEL_DEBUG=5,s.A.updateSingletonFactory(a.__dashjs_factory_name,o),t.A=o},8850:function(e,t,n){var r=n(138),i=n(1191);function s(){let e={};function t(t,n,i,s={},a=!1){if(!t)throw new Error("event type cannot be null or undefined");if(!n||"function"!=typeof n)throw new Error("listener must be a function: "+n);let o=s.priority||0;if(r(t,n,i)>=0)return;e[t]=e[t]||[];const u={callback:n,scope:i,priority:o,executeOnlyOnce:a};i&&i.getStreamId&&(u.streamId=i.getStreamId()),i&&i.getType&&(u.mediaType=i.getType()),s&&s.mode&&(u.mode=s.mode),e[t].some(((n,r)=>{if(n&&o>n.priority)return e[t].splice(r,0,u),!0}))||e[t].push(u)}function n(t,n,i){if(!t||!n||!e[t])return;const s=r(t,n,i);s<0||e[t].splice(s,1)}function r(t,n,r){let i=-1;return e[t]?(e[t].some(((e,t)=>{if(e&&e.callback===n&&(!r||r===e.scope))return i=t,!0})),i):i}return{on:function(e,n,r,i={}){t(e,n,r,i)},once:function(e,n,r,i={}){t(e,n,r,i,!0)},off:n,trigger:function(t,r={},s={}){if(!t||!e[t])return;if((r=r||{}).hasOwnProperty("type"))throw new Error("'type' is a reserved word for event dispatching");r.type=t,s.streamId&&(r.streamId=s.streamId),s.mediaType&&(r.mediaType=s.mediaType);const a=[];e[t].filter((e=>!(!e||s.streamId&&e.streamId&&e.streamId!==s.streamId||s.mediaType&&e.mediaType&&e.mediaType!==s.mediaType||s.mode&&e.mode&&e.mode!==s.mode||!e.mode&&s.mode&&s.mode===i.A.EVENT_MODE_ON_RECEIVE))).forEach((e=>{e&&e.callback.call(e.scope,r),e.executeOnlyOnce&&a.push(e)})),a.forEach((e=>{n(t,e.callback,e.scope)}))},reset:function(){e={}}}}s.__dashjs_factory_name="EventBus";const a=r.A.getSingletonFactory(s);a.EVENT_PRIORITY_LOW=0,a.EVENT_PRIORITY_HIGH=5e3,r.A.updateSingletonFactory(s.__dashjs_factory_name,a),t.A=a},138:function(e,t){const n=function(){let e,t=[];const n={},r={};function i(e,n){for(const r in t){const i=t[r];if(i.context===e&&i.name===n)return i.instance}return null}function s(e,t){return t[e]}function a(e,t,n){e in n&&(n[e]=t)}function o(t,n,r){let i;const s=t.__dashjs_factory_name,a=n[s];if(a){let s=a.instance;if(!a.override)return s.apply({context:n,factory:e},r);i=t.apply({context:n},r),s=s.apply({context:n,factory:e,parent:i},r);for(const e in s)i.hasOwnProperty(e)&&(i[e]=s[e])}else i=t.apply({context:n},r);return i.getClassName=function(){return s},i}return e={deleteSingletonInstances:function(e){t=t.filter((t=>t.context!==e))},extend:function(e,t,n,r){!r[e]&&t&&(r[e]={instance:t,override:n})},getClassFactory:function(e){let t=s(e.__dashjs_factory_name,r);return t||(t=function(t){return void 0===t&&(t={}),{create:function(){return o(e,t,arguments)}}},r[e.__dashjs_factory_name]=t),t},getClassFactoryByName:function(e){return s(e,r)},getSingletonFactory:function(e){let r=s(e.__dashjs_factory_name,n);return r||(r=function(n){let r;return void 0===n&&(n={}),{getInstance:function(){return r||(r=i(n,e.__dashjs_factory_name)),r||(r=o(e,n,arguments),t.push({name:e.__dashjs_factory_name,context:n,instance:r})),r}}},n[e.__dashjs_factory_name]=r),r},getSingletonFactoryByName:function(e){return s(e,n)},getSingletonInstance:i,setSingletonInstance:function(e,n,r){for(const i in t){const s=t[i];if(s.context===e&&s.name===n)return void(t[i].instance=r)}t.push({name:n,context:e,instance:r})},updateClassFactory:function(e,t){a(e,t,r)},updateSingletonFactory:function(e,t){a(e,t,n)}},e}();t.A=n},8261:function(e,t,n){var r=n(138),i=n(7263),s=n(649),a=n(5212),o=n(7568),u=n(8850),c=n(3621),l=n(4246);function E(){let e;const t=this.context,n=(0,u.A)(t).getInstance(),r={"streaming.delay.liveDelay":c.A.SETTING_UPDATED_LIVE_DELAY,"streaming.delay.liveDelayFragmentCount":c.A.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT,"streaming.liveCatchup.enabled":c.A.SETTING_UPDATED_CATCHUP_ENABLED,"streaming.liveCatchup.playbackRate.min":c.A.SETTING_UPDATED_PLAYBACK_RATE_MIN,"streaming.liveCatchup.playbackRate.max":c.A.SETTING_UPDATED_PLAYBACK_RATE_MAX,"streaming.abr.rules.throughputRule.active":c.A.SETTING_UPDATED_ABR_ACTIVE_RULES,"streaming.abr.rules.bolaRule.active":c.A.SETTING_UPDATED_ABR_ACTIVE_RULES,"streaming.abr.rules.insufficientBufferRule.active":c.A.SETTING_UPDATED_ABR_ACTIVE_RULES,"streaming.abr.rules.switchHistoryRule.active":c.A.SETTING_UPDATED_ABR_ACTIVE_RULES,"streaming.abr.rules.droppedFramesRule.active":c.A.SETTING_UPDATED_ABR_ACTIVE_RULES,"streaming.abr.rules.abandonRequestsRule.active":c.A.SETTING_UPDATED_ABR_ACTIVE_RULES,"streaming.abr.rules.l2ARule.active":c.A.SETTING_UPDATED_ABR_ACTIVE_RULES,"streaming.abr.rules.loLPRule.active":c.A.SETTING_UPDATED_ABR_ACTIVE_RULES,"streaming.abr.maxBitrate.video":c.A.SETTING_UPDATED_MAX_BITRATE,"streaming.abr.maxBitrate.audio":c.A.SETTING_UPDATED_MAX_BITRATE,"streaming.abr.minBitrate.video":c.A.SETTING_UPDATED_MIN_BITRATE,"streaming.abr.minBitrate.audio":c.A.SETTING_UPDATED_MIN_BITRATE},E={debug:{logLevel:s.A.LOG_LEVEL_WARNING,dispatchEvent:!1},streaming:{abandonLoadTimeout:1e4,wallclockTimeUpdateInterval:100,manifestUpdateRetryInterval:100,liveUpdateTimeThresholdInMilliseconds:0,cacheInitSegments:!1,cacheInitSegmentsLimit:50,applyServiceDescription:!0,applyProducerReferenceTime:!0,applyContentSteering:!0,enableManifestDurationMismatchFix:!0,parseInbandPrft:!1,enableManifestTimescaleMismatchFix:!1,capabilities:{filterUnsupportedEssentialProperties:!0,supportedEssentialProperties:[{schemeIdUri:a.A.FONT_DOWNLOAD_DVB_SCHEME},{schemeIdUri:a.A.COLOUR_PRIMARIES_SCHEME_ID_URI,value:/1|5|6|7/},{schemeIdUri:a.A.URL_QUERY_INFO_SCHEME},{schemeIdUri:a.A.EXT_URL_QUERY_INFO_SCHEME},{schemeIdUri:a.A.MATRIX_COEFFICIENTS_SCHEME_ID_URI,value:/0|1|5|6/},{schemeIdUri:a.A.TRANSFER_CHARACTERISTICS_SCHEME_ID_URI,value:/1|6|13|14|15/},{schemeIdUri:a.A.SEGMENT_SEQUENCE_REPRESENTATION_SCHEME_ID_URI},...a.A.THUMBNAILS_SCHEME_ID_URIS.map((e=>({schemeIdUri:e})))],useMediaCapabilitiesApi:!0,filterVideoColorimetryEssentialProperties:!0,filterHDRMetadataFormatEssentialProperties:!0,filterAudioChannelConfiguration:!1},events:{eventControllerRefreshDelay:100,deleteEventMessageDataTimeout:1e4},timeShiftBuffer:{calcFromSegmentTimeline:!1,fallbackToSegmentTimeline:!0},metrics:{maxListDepth:100},delay:{liveDelayFragmentCount:NaN,liveDelay:NaN,useSuggestedPresentationDelay:!0},protection:{keepProtectionMediaKeys:!1,keepProtectionMediaKeysMaximumOpenSessions:-1,ignoreEmeEncryptedEvent:!1,detectPlayreadyMessageFormat:!0,ignoreKeyStatuses:!1},buffer:{enableSeekDecorrelationFix:!1,fastSwitchEnabled:null,flushBufferAtTrackSwitch:!1,reuseExistingSourceBuffers:!0,bufferPruningInterval:10,bufferToKeep:20,bufferTimeAtTopQuality:30,bufferTimeAtTopQualityLongForm:60,initialBufferLevel:NaN,bufferTimeDefault:18,longFormContentDurationThreshold:600,stallThreshold:.3,lowLatencyStallThreshold:.3,useAppendWindow:!0,setStallState:!0,avoidCurrentTimeRangePruning:!1,useChangeType:!0,mediaSourceDurationInfinity:!0,resetSourceBuffersForTrackSwitch:!1,syntheticStallEvents:{enabled:!1,ignoreReadyState:!1}},gaps:{jumpGaps:!0,jumpLargeGaps:!0,smallGapLimit:1.5,threshold:.3,enableSeekFix:!0,enableStallFix:!1,stallSeek:.1,seekOffset:0,checkInterval:250},utcSynchronization:{enabled:!0,useManifestDateHeaderTimeSource:!0,backgroundAttempts:2,timeBetweenSyncAttempts:30,maximumTimeBetweenSyncAttempts:600,minimumTimeBetweenSyncAttempts:2,timeBetweenSyncAttemptsAdjustmentFactor:2,maximumAllowedDrift:100,enableBackgroundSyncAfterSegmentDownloadError:!0,defaultTimingSource:{scheme:"urn:mpeg:dash:utc:http-xsdate:2014",value:"https://time.akamai.com/?iso&ms"},artificialTimeOffsetToApply:0},scheduling:{defaultTimeout:500,lowLatencyTimeout:0,scheduleWhilePaused:!0},text:{defaultEnabled:!0,dispatchForManualRendering:!1,extendSegmentedCues:!0,imsc:{displayForcedOnlyMode:!1,enableRollUp:!0},webvtt:{customRenderingEnabled:!1}},liveCatchup:{maxDrift:NaN,playbackRate:{min:NaN,max:NaN},step:{start:{min:NaN,max:NaN},stop:{min:NaN,max:NaN}},liveThreshold:-1,playbackBufferMin:.5,enabled:null,mode:a.A.LIVE_CATCHUP_MODE_DEFAULT},lastBitrateCachingInfo:{enabled:!0,ttl:36e4},lastMediaSettingsCachingInfo:{enabled:!0,ttl:36e4},saveLastMediaSettingsForCurrentStreamingSession:!0,cacheLoadThresholds:{video:10,audio:5},trackSwitchMode:{audio:a.A.TRACK_SWITCH_MODE_ALWAYS_REPLACE,video:a.A.TRACK_SWITCH_MODE_NEVER_REPLACE},includePreselectionsInMediainfoArray:!0,includePreselectionsForInitialTrackSelection:!1,ignoreSelectionPriority:!1,prioritizeRoleMain:!0,assumeDefaultRoleAsMain:!0,selectionModeForInitialTrack:a.A.TRACK_SELECTION_MODE_LOWEST_STARTUP_DELAY,blacklistExpiryTime:-1,fragmentRequestTimeout:2e4,fragmentRequestProgressTimeout:-1,manifestRequestTimeout:1e4,retryIntervals:{[o.G.MPD_TYPE]:500,[o.G.XLINK_EXPANSION_TYPE]:500,[o.G.MEDIA_SEGMENT_TYPE]:1e3,[o.G.INIT_SEGMENT_TYPE]:1e3,[o.G.BITSTREAM_SWITCHING_SEGMENT_TYPE]:1e3,[o.G.INDEX_SEGMENT_TYPE]:1e3,[o.G.MSS_FRAGMENT_INFO_SEGMENT_TYPE]:1e3,[o.G.LICENSE]:1e3,[o.G.LICENSE_CERTIFICATE]:1e3,[o.G.OTHER_TYPE]:1e3,lowLatencyReductionFactor:10},retryAttempts:{[o.G.MPD_TYPE]:3,[o.G.XLINK_EXPANSION_TYPE]:1,[o.G.MEDIA_SEGMENT_TYPE]:3,[o.G.INIT_SEGMENT_TYPE]:3,[o.G.BITSTREAM_SWITCHING_SEGMENT_TYPE]:3,[o.G.INDEX_SEGMENT_TYPE]:3,[o.G.MSS_FRAGMENT_INFO_SEGMENT_TYPE]:3,[o.G.LICENSE]:3,[o.G.LICENSE_CERTIFICATE]:3,[o.G.OTHER_TYPE]:3,lowLatencyMultiplyFactor:5},abr:{limitBitrateByPortal:!1,usePixelRatioInLimitBitrateByPortal:!1,limitBitrateByPortalMinimum:0,enableSupplementalPropertyAdaptationSetSwitching:!0,rules:{throughputRule:{active:!0,priority:l.A.PRIORITY.DEFAULT},bolaRule:{active:!0,priority:l.A.PRIORITY.DEFAULT},insufficientBufferRule:{active:!0,priority:l.A.PRIORITY.DEFAULT,parameters:{throughputSafetyFactor:.7,segmentIgnoreCount:2}},switchHistoryRule:{active:!0,priority:l.A.PRIORITY.DEFAULT,parameters:{sampleSize:8,switchPercentageThreshold:.075}},droppedFramesRule:{active:!1,priority:l.A.PRIORITY.DEFAULT,parameters:{minimumSampleSize:375,droppedFramesPercentageThreshold:.15}},abandonRequestsRule:{active:!0,priority:l.A.PRIORITY.DEFAULT,parameters:{abandonDurationMultiplier:1.8,minSegmentDownloadTimeThresholdInMs:500,minThroughputSamplesThreshold:6}},l2ARule:{active:!1,priority:l.A.PRIORITY.DEFAULT},loLPRule:{active:!1,priority:l.A.PRIORITY.DEFAULT}},throughput:{averageCalculationMode:a.A.THROUGHPUT_CALCULATION_MODES.EWMA,lowLatencyDownloadTimeCalculationMode:a.A.LOW_LATENCY_DOWNLOAD_TIME_CALCULATION_MODE.MOOF_PARSING,useResourceTimingApi:!0,useNetworkInformationApi:{xhr:!1,fetch:!1},useDeadTimeLatency:!0,bandwidthSafetyFactor:.9,sampleSettings:{live:3,vod:4,enableSampleSizeAdjustment:!0,decreaseScale:.7,increaseScale:1.3,maxMeasurementsToKeep:20,averageLatencySampleAmount:4},ewma:{throughputSlowHalfLifeSeconds:8,throughputFastHalfLifeSeconds:3,latencySlowHalfLifeCount:2,latencyFastHalfLifeCount:1,weightDownloadTimeMultiplicationFactor:.0015}},maxBitrate:{audio:-1,video:-1},minBitrate:{audio:-1,video:-1},initialBitrate:{audio:-1,video:-1},autoSwitchBitrate:{audio:!0,video:!0}},cmcd:{applyParametersFromMpd:!0,enabled:!1,sid:null,cid:null,rtp:null,rtpSafetyFactor:5,mode:a.A.CMCD_MODE_QUERY,enabledKeys:a.A.CMCD_KEYS,includeInRequests:["segment","mpd"],version:1,eventTargets:[]},cmsd:{enabled:!1,abr:{applyMb:!1,etpWeightRatio:0}},enhancement:{enabled:!1,codecs:["lvc1"]},defaultSchemeIdUri:{viewpoint:"",audioChannelConfiguration:"urn:mpeg:mpegB:cicp:ChannelConfiguration",role:"urn:mpeg:dash:role:2011",accessibility:"urn:mpeg:dash:role:2011"},dvbReporting:{reportingUrl:null}},errors:{recoverAttempts:{mediaErrorDecode:5}}};let d=i.A.clone(E);function A(e,t,s){for(let a in e)e.hasOwnProperty(a)&&(t.hasOwnProperty(a)?"object"!=typeof e[a]||e[a]instanceof RegExp||e[a]instanceof Array||null===e[a]?(t[a]=i.A.clone(e[a]),r[s+a]&&n.trigger(r[s+a])):A(e[a],t[a],s.slice()+a+"."):console.error("Settings parameter "+s+a+" is not supported"))}return e={get:function(){return d},update:function(e){"object"==typeof e&&A(e,d,"")},reset:function(){d=i.A.clone(E)}},e}E.__dashjs_factory_name="Settings";let d=r.A.getSingletonFactory(E);t.A=d},7263:function(e,t,n){var r=n(3282),i=n(5212);class s{static mixin(e,t,n){let r,i={};if(e)for(let a in t)t.hasOwnProperty(a)&&(r=t[a],a in e&&(e[a]===r||a in i&&i[a]===r)||("object"==typeof e[a]&&null!==e[a]?e[a]=s.mixin(e[a],r,n):e[a]=n(r)));return e}static clone(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return new RegExp(e);let t;if(e instanceof Array){t=[];for(let n=0,r=e.length;n<r;++n)n in e&&t.push(s.clone(e[n]))}else t={};return s.mixin(t,e,s.clone)}static addAdditionalQueryParameterToUrl(e,t){try{if(!t||0===t.length)return e;let n=e;return t.forEach((({key:e,value:t})=>{const r=n.includes("?")?"&":"?";n+=`${r}${encodeURIComponent(e)}=${encodeURIComponent(t)}`})),n}catch(t){return e}}static removeQueryParameterFromUrl(e,t){if(!e||!t)return e;const n=new URL(e),r=new URLSearchParams(n.search);if(!r||0===r.size||!r.has(t))return e;r.delete(t);const i=Array.from(r.entries()).map((([e,t])=>`${e}=${t}`)).join("&"),s=`${n.origin}${n.pathname}`;return i?`${s}?${i}`:s}static parseHttpHeaders(e){let t={};if(!e)return t;let n=e.trim().split("\r\n");for(let e=0,r=n.length;e<r;e++){let r=n[e],i=r.indexOf(": ");i>0&&(t[r.substring(0,i)]=r.substring(i+2))}return t}static parseQueryParams(e){const t=[],n=new URLSearchParams(e);for(const[e,r]of n.entries())t.push({key:decodeURIComponent(e),value:decodeURIComponent(r)});return t}static generateUuid(){let e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){const n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:3&n|8).toString(16)}))}static generateHashCode(e){let t=0;if(0===e.length)return t;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return t}static getRelativeUrl(e,t){try{const n=new URL(e),i=new URL(t);if(n.protocol=i.protocol,n.origin!==i.origin)return t;let s=r.relative(n.pathname.substr(0,n.pathname.lastIndexOf("/")),i.pathname.substr(0,i.pathname.lastIndexOf("/")));const a=0===s.length?1:0;return s+=i.pathname.substr(i.pathname.lastIndexOf("/")+a,i.pathname.length-1),i.pathname.length<s.length?i.pathname:s}catch(e){return t}}static getHostFromUrl(e){try{return new URL(e).host}catch(e){return null}}static parseUserAgent(e=null){try{const t="string"==typeof e?e.toLowerCase():"undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",n={name:""};return/edg/.test(t)?n.name="edge":/opr|opios/.test(t)?n.name="opera":/chrome|crios/.test(t)?n.name="chrome":/firefox|fxios/.test(t)?n.name="firefox":/safari/.test(t)&&(n.name="safari"),{browser:n}}catch(e){return{}}}static stringHasProtocol(e){return/(http(s?)):\/\//i.test(e)}static bufferSourceToDataView(e){return s.toDataView(e,DataView)}static bufferSourceToInt8(e){return s.toDataView(e,Uint8Array)}static uint8ArrayToString(e){return new TextDecoder("utf-8").decode(e)}static bufferSourceToHex(e){const t=s.bufferSourceToInt8(e);let n="";for(let e of t)e=e.toString(16),1===e.length&&(e="0"+e),n+=e;return n}static toDataView(e,t){const n=s.getArrayBuffer(e);let r=1;"BYTES_PER_ELEMENT"in DataView&&(r=DataView.BYTES_PER_ELEMENT);const i=((e.byteOffset||0)+e.byteLength)/r,a=(e.byteOffset||0)/r,o=Math.floor(Math.max(0,Math.min(a,i)));return new t(n,o,Math.floor(Math.min(o+Math.max(1/0,0),i))-o)}static getArrayBuffer(e){return e instanceof ArrayBuffer?e:e.buffer}static getCodecFamily(e){const{base:t,profile:n}=s._getCodecParts(e);switch(t){case"mp4a":switch(n){case"69":case"6b":case"40.34":return i.A.CODEC_FAMILIES.MP3;case"66":case"67":case"68":case"40.2":case"40.02":case"40.5":case"40.05":case"40.29":case"40.42":return i.A.CODEC_FAMILIES.AAC;case"a5":return i.A.CODEC_FAMILIES.AC3;case"e6":return i.A.CODEC_FAMILIES.EC3;case"b2":return i.A.CODEC_FAMILIES.DTSX;case"a9":return i.A.CODEC_FAMILIES.DTSC}break;case"avc1":case"avc3":return i.A.CODEC_FAMILIES.AVC;case"hvc1":case"hvc3":return i.A.CODEC_FAMILIES.HEVC;default:return t}return t}static _getCodecParts(e){const[t,...n]=e.split(".");return{base:t,profile:n.join(".")}}}t.A=s},893:function(e,t,n){var r=n(8748);class i extends r.A{constructor(){super(),this.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE=10,this.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE=11,this.XLINK_LOADER_LOADING_FAILURE_ERROR_CODE=12,this.SEGMENT_BASE_LOADER_ERROR_CODE=15,this.TIME_SYNC_FAILED_ERROR_CODE=16,this.FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE=17,this.FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE=18,this.URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE=19,this.APPEND_ERROR_CODE=20,this.REMOVE_ERROR_CODE=21,this.DATA_UPDATE_FAILED_ERROR_CODE=22,this.CAPABILITY_MEDIASOURCE_ERROR_CODE=23,this.CAPABILITY_MEDIAKEYS_ERROR_CODE=24,this.DOWNLOAD_ERROR_ID_MANIFEST_CODE=25,this.DOWNLOAD_ERROR_ID_SIDX_CODE=26,this.DOWNLOAD_ERROR_ID_CONTENT_CODE=27,this.DOWNLOAD_ERROR_ID_INITIALIZATION_CODE=28,this.DOWNLOAD_ERROR_ID_XLINK_CODE=29,this.MANIFEST_ERROR_ID_PARSE_CODE=31,this.MANIFEST_ERROR_ID_NOSTREAMS_CODE=32,this.TIMED_TEXT_ERROR_ID_PARSE_CODE=33,this.MANIFEST_ERROR_ID_MULTIPLEXED_CODE=34,this.MEDIASOURCE_TYPE_UNSUPPORTED_CODE=35,this.NO_SUPPORTED_KEY_IDS=36,this.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE="parsing failed for ",this.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE="Failed loading manifest: ",this.XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE="Failed loading Xlink element: ",this.SEGMENTS_UPDATE_FAILED_ERROR_MESSAGE="Segments update failed",this.SEGMENTS_UNAVAILABLE_ERROR_MESSAGE="no segments are available yet",this.SEGMENT_BASE_LOADER_ERROR_MESSAGE="error loading segment ranges from sidx",this.TIME_SYNC_FAILED_ERROR_MESSAGE="Failed to synchronize client and server time",this.FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE="request is null",this.URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE="Failed to resolve a valid URL",this.APPEND_ERROR_MESSAGE="chunk is not defined",this.REMOVE_ERROR_MESSAGE="Removing data from the SourceBuffer",this.DATA_UPDATE_FAILED_ERROR_MESSAGE="Data update failed",this.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE="mediasource is not supported",this.CAPABILITY_MEDIAKEYS_ERROR_MESSAGE="mediakeys is not supported",this.TIMED_TEXT_ERROR_MESSAGE_PARSE="parsing error :",this.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE="Error creating source buffer of type : ",this.NO_SUPPORTED_KEY_IDS_MESSAGE="All possible Adaptation Sets have an invalid key status"}}let s=new i;t.A=s},8748:function(e,t){t.A=class{extend(e,t){if(!e)return;let n=!!t&&t.override,r=!!t&&t.publicOnly;for(const t in e)!e.hasOwnProperty(t)||this[t]&&!n||r&&-1===e[t].indexOf("public_")||(this[t]=e[t])}}},5734:function(e,t,n){var r=n(7252);class i extends r.A{constructor(){super(),this.ATTEMPT_BACKGROUND_SYNC="attemptBackgroundSync",this.BUFFERING_COMPLETED="bufferingCompleted",this.BUFFER_CLEARED="bufferCleared",this.BUFFER_REPLACEMENT_STARTED="bufferReplacementStarted",this.BYTES_APPENDED_END_FRAGMENT="bytesAppendedEndFragment",this.CHECK_FOR_EXISTENCE_COMPLETED="checkForExistenceCompleted",this.CMSD_STATIC_HEADER="cmsdStaticHeader",this.CURRENT_TRACK_CHANGED="currentTrackChanged",this.DATA_UPDATE_COMPLETED="dataUpdateCompleted",this.INBAND_EVENTS="inbandEvents",this.INITIAL_STREAM_SWITCH="initialStreamSwitch",this.INIT_FRAGMENT_LOADED="initFragmentLoaded",this.INIT_FRAGMENT_NEEDED="initFragmentNeeded",this.INTERNAL_MANIFEST_LOADED="internalManifestLoaded",this.LOADING_ABANDONED="loadingAborted",this.LOADING_COMPLETED="loadingCompleted",this.LOADING_DATA_PROGRESS="loadingDataProgress",this.LOADING_PROGRESS="loadingProgress",this.MANIFEST_UPDATED="manifestUpdated",this.MEDIAINFO_UPDATED="mediaInfoUpdated",this.MEDIA_FRAGMENT_LOADED="mediaFragmentLoaded",this.MEDIA_FRAGMENT_NEEDED="mediaFragmentNeeded",this.ORIGINAL_MANIFEST_LOADED="originalManifestLoaded",this.QUOTA_EXCEEDED="quotaExceeded",this.SEEK_TARGET="seekTarget",this.SEGMENT_LOCATION_BLACKLIST_ADD="segmentLocationBlacklistAdd",this.SEGMENT_LOCATION_BLACKLIST_CHANGED="segmentLocationBlacklistChanged",this.SERVICE_LOCATION_BASE_URL_BLACKLIST_ADD="serviceLocationBlacklistAdd",this.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED="serviceLocationBlacklistChanged",this.SERVICE_LOCATION_LOCATION_BLACKLIST_ADD="serviceLocationLocationBlacklistAdd",this.SERVICE_LOCATION_LOCATION_BLACKLIST_CHANGED="serviceLocationLocationBlacklistChanged",this.SETTING_UPDATED_ABR_ACTIVE_RULES="settingUpdatedAbrActiveRules",this.SETTING_UPDATED_CATCHUP_ENABLED="settingUpdatedCatchupEnabled",this.SETTING_UPDATED_LIVE_DELAY="settingUpdatedLiveDelay",this.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT="settingUpdatedLiveDelayFragmentCount",this.SETTING_UPDATED_MAX_BITRATE="settingUpdatedMaxBitrate",this.SETTING_UPDATED_MIN_BITRATE="settingUpdatedMinBitrate",this.SETTING_UPDATED_PLAYBACK_RATE_MAX="settingUpdatedPlaybackRateMax",this.SETTING_UPDATED_PLAYBACK_RATE_MIN="settingUpdatedPlaybackRateMin",this.SET_FRAGMENTED_TEXT_AFTER_DISABLED="setFragmentedTextAfterDisabled",this.SET_NON_FRAGMENTED_TEXT="setNonFragmentedText",this.SOURCE_BUFFER_ERROR="sourceBufferError",this.STREAMS_COMPOSED="streamsComposed",this.STREAM_BUFFERING_COMPLETED="streamBufferingCompleted",this.STREAM_REQUESTING_COMPLETED="streamRequestingCompleted",this.TEXT_TRACKS_QUEUE_INITIALIZED="textTracksQueueInitialized",this.TIME_SYNCHRONIZATION_COMPLETED="timeSynchronizationComplete",this.UPDATE_TIME_SYNC_OFFSET="updateTimeSyncOffset",this.URL_RESOLUTION_FAILED="urlResolutionFailed",this.VIDEO_CHUNK_RECEIVED="videoChunkReceived",this.VIDEO_ELEMENT_RESIZED="videoElementResized",this.WALLCLOCK_TIME_UPDATED="wallclockTimeUpdated",this.XLINK_ELEMENT_LOADED="xlinkElementLoaded",this.XLINK_READY="xlinkReady"}}t.A=i},3621:function(e,t,n){var r=n(5734);class i extends r.A{}let s=new i;t.A=s},7252:function(e,t){t.A=class{extend(e,t){if(!e)return;let n=!!t&&t.override,r=!!t&&t.publicOnly;for(const t in e)!e.hasOwnProperty(t)||this[t]&&!n||r&&-1===e[t].indexOf("public_")||(this[t]=e[t])}}},8854:function(e,t){t.A={ACCESSIBILITY:"Accessibility",ADAPTATION_SET:"AdaptationSet",ADAPTATION_SETS:"adaptationSets",ADAPTATION_SET_SWITCHING_SCHEME_ID_URI:"urn:mpeg:dash:adaptation-set-switching:2016",ADD:"add",ASSET_IDENTIFIER:"AssetIdentifier",AUDIO_CHANNEL_CONFIGURATION:"AudioChannelConfiguration",AUDIO_SAMPLING_RATE:"audioSamplingRate",AVAILABILITY_END_TIME:"availabilityEndTime",AVAILABILITY_START_TIME:"availabilityStartTime",AVAILABILITY_TIME_COMPLETE:"availabilityTimeComplete",AVAILABILITY_TIME_OFFSET:"availabilityTimeOffset",BANDWITH:"bandwidth",BASE_URL:"BaseURL",BITSTREAM_SWITCHING:"BitstreamSwitching",BITSTREAM_SWITCHING_MINUS:"bitstreamSwitching",BYTE_RANGE:"byteRange",CAPTION:"caption",CENC_DEFAULT_KID:"cenc:default_KID",CLIENT_DATA_REPORTING:"ClientDataReporting",CLIENT_REQUIREMENT:"clientRequirement",CMCD_PARAMETERS:"CMCDParameters",CODECS:"codecs",CODEC_PRIVATE_DATA:"codecPrivateData",CODING_DEPENDENCY:"codingDependency",CONTENT_COMPONENT:"ContentComponent",CONTENT_PROTECTION:"ContentProtection",CONTENT_STEERING:"ContentSteering",CONTENT_STEERING_RESPONSE:{VERSION:"VERSION",TTL:"TTL",RELOAD_URI:"RELOAD-URI",PATHWAY_PRIORITY:"PATHWAY-PRIORITY",PATHWAY_CLONES:"PATHWAY-CLONES",BASE_ID:"BASE-ID",ID:"ID",URI_REPLACEMENT:"URI-REPLACEMENT",HOST:"HOST",PARAMS:"PARAMS"},CONTENT_TYPE:"contentType",DEFAULT_SERVICE_LOCATION:"defaultServiceLocation",DEPENDENCY_ID:"dependencyId",DURATION:"duration",DVB_PRIORITY:"dvb:priority",DVB_WEIGHT:"dvb:weight",DVB_URL:"dvb:url",DVB_MIMETYPE:"dvb:mimeType",DVB_FONTFAMILY:"dvb:fontFamily",DYNAMIC:"dynamic",END_NUMBER:"endNumber",ESSENTIAL_PROPERTY:"EssentialProperty",EVENT:"Event",EVENT_STREAM:"EventStream",FORCED_SUBTITLE:"forced-subtitle",FRAMERATE:"frameRate",FRAME_PACKING:"FramePacking",GROUP_LABEL:"GroupLabel",HEIGHT:"height",ID:"id",INBAND:"inband",INBAND_EVENT_STREAM:"InbandEventStream",INDEX:"index",INDEX_RANGE:"indexRange",INITIALIZATION:"Initialization",INITIALIZATION_MINUS:"initialization",K:"k",LA_URL:"Laurl",LA_URL_LOWER_CASE:"laurl",CERT_URL:"Certurl",LABEL:"Label",LANG:"lang",LOCATION:"Location",MAIN:"main",MAXIMUM_SAP_PERIOD:"maximumSAPPeriod",MAX_PLAYOUT_RATE:"maxPlayoutRate",MAX_SEGMENT_DURATION:"maxSegmentDuration",MAX_SUBSEGMENT_DURATION:"maxSubsegmentDuration",MEDIA:"media",MEDIA_PRESENTATION_DURATION:"mediaPresentationDuration",MEDIA_RANGE:"mediaRange",MEDIA_STREAM_STRUCTURE_ID:"mediaStreamStructureId",METRICS:"Metrics",METRICS_MINUS:"metrics",MIME_TYPE:"mimeType",MINIMUM_UPDATE_PERIOD:"minimumUpdatePeriod",MIN_BUFFER_TIME:"minBufferTime",MP4_PROTECTION_SCHEME:"urn:mpeg:dash:mp4protection:2011",MPD:"MPD",MPD_TYPE:"mpd",MPD_PATCH_TYPE:"mpdpatch",ORDER:"order",ORIGINAL_MPD_ID:"mpdId",ORIGINAL_PUBLISH_TIME:"originalPublishTime",PATCH_LOCATION:"PatchLocation",PERIOD:"Period",PRESELECTION:"Preselection",PRESELECTION_COMPONENTS:"preselectionComponents",PRESENTATION_TIME:"presentationTime",PRESENTATION_TIME_OFFSET:"presentationTimeOffset",PRO:"pro",PRODUCER_REFERENCE_TIME:"ProducerReferenceTime",PRODUCER_REFERENCE_TIME_TYPE:{ENCODER:"encoder",CAPTURED:"captured",APPLICATION:"application"},PROFILES:"profiles",PSSH:"pssh",PUBLISH_TIME:"publishTime",QUALITY_RANKING:"qualityRanking",QUERY_BEFORE_START:"queryBeforeStart",QUERY_PART:"$querypart$",RANGE:"range",RATING:"Rating",REF:"ref",REF_ID:"refId",REMOVE:"remove",REPLACE:"replace",REPORTING:"Reporting",REPRESENTATION:"Representation",REPRESENTATION_INDEX:"RepresentationIndex",ROBUSTNESS:"robustness",ROLE:"Role",S:"S",SAR:"sar",SCAN_TYPE:"scanType",SEGMENT_ALIGNMENT:"segmentAlignment",SEGMENT_BASE:"SegmentBase",SEGMENT_LIST:"SegmentList",SEGMENT_PROFILES:"segmentProfiles",SEGMENT_SEQUENCE_PROPERTIES:"SegmentSequenceProperties",SEGMENT_TEMPLATE:"SegmentTemplate",SEGMENT_TIMELINE:"SegmentTimeline",SEGMENT_TYPE:"segment",SEGMENT_URL:"SegmentURL",SERVICE_DESCRIPTION:"ServiceDescription",SERVICE_DESCRIPTION_LATENCY:"Latency",SERVICE_DESCRIPTION_OPERATING_BANDWIDTH:"OperatingBandwidth",SERVICE_DESCRIPTION_OPERATING_QUALITY:"OperatingQuality",SERVICE_DESCRIPTION_PLAYBACK_RATE:"PlaybackRate",SERVICE_DESCRIPTION_SCOPE:"Scope",SERVICE_LOCATION:"serviceLocation",SERVICE_LOCATIONS:"serviceLocations",SOURCE_URL:"sourceURL",START:"start",START_NUMBER:"startNumber",START_WITH_SAP:"startWithSAP",STATIC:"static",STEERING_TYPE:"steering",SUBSET:"Subset",SUBTITLE:"subtitle",SUB_REPRESENTATION:"SubRepresentation",SUB_SEGMENT_ALIGNMENT:"subsegmentAlignment",SUGGESTED_PRESENTATION_DELAY:"suggestedPresentationDelay",SUPPLEMENTAL_PROPERTY:"SupplementalProperty",SUPPLEMENTAL_CODECS:"scte214:supplementalCodecs",TAG:"tag",TIMESCALE:"timescale",TIMESHIFT_BUFFER_DEPTH:"timeShiftBufferDepth",TTL:"ttl",TYPE:"type",UTC_TIMING:"UTCTiming",VALUE:"value",VIEWPOINT:"Viewpoint",WALL_CLOCK_TIME:"wallClockTime",WIDTH:"width"}},9302:function(e,t,n){var r=n(8062),i=n(9415),s=n(9578),a=n(4770),o=n(5212),u=n(5915),c=n(6455),l=n(8854),E=n(1944),d=n(649),A=n(1036),T=n(893),f=n(1465),h=n(7153),_=n(138),p=n(5274),m=n(6517),I=n(7393),g=n(4740),R=n(7408),S=n(2436),N=n(2655),D=n(5876),O=n(6503),y=n(5717),C=n(7263),P=n(7356);function M(){let e,t,n,_;const M=this.context,L=(0,O.A)(M).getInstance(),v=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e};function b(e,t){if(!e)throw new Error("adaptation is not defined");if(!t)throw new Error("type is not defined");if(e.Representation&&e.Representation.length){const n=j(e.Representation[0]);if(n&&n.some((