shaka-player
Version:
DASH/EME video player library
134 lines (133 loc) • 900 kB
JavaScript
/*
@license
Shaka Player
Copyright 2016 Google LLC
SPDX-License-Identifier: Apache-2.0
*/
(function(){var innerGlobal=typeof window!="undefined"?window:global;var exportTo={};(function(window,global,module){/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
var aa,ba=this||self;function w(a,b){a=a.split(".");var c=ba;a[0]in c||typeof c.execScript=="undefined"||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||b===void 0?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};/*
@license
Shaka Player
Copyright 2016 Google LLC
SPDX-License-Identifier: Apache-2.0
*/
function ca(a){const b=new C(a.type);for(const c in a)Object.defineProperty(b,c,{value:a[c],writable:!0,enumerable:!0});return b}
var C=class{constructor(a,b){if(b)if(b instanceof Map)for(const c of b.keys())Object.defineProperty(this,c,{value:b.get(c),writable:!0,enumerable:!0});else for(const c in b)Object.defineProperty(this,c,{value:b[c],writable:!0,enumerable:!0});this.defaultPrevented=this.cancelable=this.bubbles=!1;this.timeStamp=window.performance&&window.performance.now?window.performance.now():Date.now();this.type=a;this.isTrusted=!1;this.target=this.currentTarget=null;this.g=!1}preventDefault(){this.cancelable&&(this.defaultPrevented=
!0)}stopImmediatePropagation(){this.g=!0}stopPropagation(){}};w("shaka.util.FakeEvent",C);
var da={hl:"abrstatuschanged",il:"adaptation",jl:"audiotrackchanged",kl:"audiotrackschanged",ll:"boundarycrossed",ql:"buffering",ol:"bufferappending",ul:"canupdatestarttime",vl:"complete",wl:"configurationchanged",xl:"currentitemchanged",yl:"downloadcompleted",zl:"downloadfailed",Al:"downloadheadersreceived",Bl:"drmsessionupdate",Cl:"emsg",Jl:"itemsinserted",Kl:"itemsremoved",Zl:"prft",Error:"error",Dl:"expirationupdated",El:"firstquartile",Fl:"gapjumped",Ll:"keystatuschanged",Ol:"loaded",Pl:"loading",
Rl:"manifestparsed",Sl:"manifestupdated",Tl:"mediaqualitychanged",Ul:"mediasourcerecovered",Vl:"metadataadded",Metadata:"metadata",Wl:"midpoint",Xl:"nospatialvideoinfo",Yl:"onstatechange",$l:"programinformation",am:"ratechange",fm:"segmentappended",gm:"sessiondata",hm:"spatialvideoinfo",im:"stalldetected",jm:"started",lm:"statechanged",nm:"streaming",om:"textchanged",pm:"thirdquartile",qm:"timelineregionadded",rm:"timelineregionenter",sm:"timelineregionexit",tm:"trackschanged",vm:"unloading",ym:"variantchanged"};function ea(){}function fa(){}function ia(a,...b){ja.has(a)||(ja.add(a),fa(...b))}function la(){}function ma(){}function na(){}var ja=new Set;window.console&&((new Map).set(1,(...a)=>console.error(...a)).set(2,(...a)=>console.warn(...a)).set(3,(...a)=>console.info(...a)).set(4,(...a)=>console.log(...a)).set(5,(...a)=>console.debug(...a)).set(6,(...a)=>console.debug(...a)),fa=(...a)=>{console.warn(...a)},ea=(...a)=>{console.error(...a)});var oa=class{constructor(){this.g=new Map}push(a,b){this.g.getOrInsertComputed(a,()=>[]).push(b)}get(a){return this.g.has(a)?this.g.get(a).slice():null}remove(a,b){if(this.g.has(a)){var c=this.g.get(a).filter(d=>d!=b);this.g.set(a,c);c.length||this.g.delete(a)}}forEach(a){this.g.forEach((b,c)=>{a(c,b)})}size(){return this.g.size}keys(){return Array.from(this.g.keys())}};var pa=class{constructor(){this.bb=new oa;this.se=this}addEventListener(a,b){this.bb&&this.bb.push(a,b)}removeEventListener(a,b){this.bb&&this.bb.remove(a,b)}dispatchEvent(a){if(!this.bb)return!0;let b=this.bb.get(a.type)||[];const c=this.bb.get("All");c&&(b=b.concat(c));for(const d of b){a.target=this.se;a.currentTarget=this.se;try{d.handleEvent?d.handleEvent(a):d.call(this,a)}catch(e){}if(a.g)break}return a.defaultPrevented}release(){this.bb=null}};function qa(a,b){const c=[];for(const d of a)c.push(b(d));return c}function ra(a,b){for(const c of a)if(!b(c))return!1;return!0}function sa(a,b){for(const c of a)if(b(c))return!0;return!1}function ta(a,b){const c=[];for(const d of a)b(d)&&c.push(d);return c};/*
@license
Copyright 2008 The Closure Library Authors
SPDX-License-Identifier: Apache-2.0
*/
var ua=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");/*
@license
Copyright 2006 The Closure Library Authors
SPDX-License-Identifier: Apache-2.0
*/
function va(a){var b;a instanceof va?(wa(this,a.mc),this.gd=a.gd,xa(this,a.Kb),ya(this,a.Gd),this.kc=a.kc,Aa(this,a.g.clone()),this.Vc=a.Vc):a&&(b=String(a).match(ua))?(wa(this,b[1]||"",!0),this.gd=Ba(b[2]||""),xa(this,b[3]||"",!0),ya(this,b[4]),this.kc=Ba(b[5]||"",!0),Aa(this,b[6]||"",!0),this.Vc=Ba(b[7]||"")):this.g=new Ca(null)}aa=va.prototype;aa.mc="";aa.gd="";aa.Kb="";aa.Gd=null;aa.kc="";aa.Vc="";
aa.toString=function(){var a=[],b=this.mc;b&&a.push(Da(b,Ea,!0),":");if(b=this.Kb){a.push("//");var c=this.gd;c&&a.push(Da(c,Ea,!0),"@");a.push(encodeURIComponent(b).replace(/%25([0-9a-fA-F]{2})/g,"%$1"));b=this.Gd;b!=null&&a.push(":",String(b))}if(b=this.kc)this.Kb&&b.charAt(0)!="/"&&a.push("/"),a.push(Da(b,b.charAt(0)=="/"?Fa:Ga,!0));(b=this.g.toString())&&a.push("?",b);(b=this.Vc)&&a.push("#",Da(b,Ha));return a.join("")};
aa.resolve=function(a){var b=this.clone();b.mc==="data"&&(b=new va);var c=!!a.mc;c?wa(b,a.mc):c=!!a.gd;c?b.gd=a.gd:c=!!a.Kb;c?xa(b,a.Kb):c=a.Gd!=null;var d=a.kc;if(c)ya(b,a.Gd);else if(c=!!a.kc){if(d.charAt(0)!="/")if(this.Kb&&!this.kc)d="/"+d;else{var e=b.kc.lastIndexOf("/");e!=-1&&(d=b.kc.substr(0,e+1)+d)}if(d==".."||d==".")d="";else if(d.indexOf("./")!=-1||d.indexOf("/.")!=-1){e=d.lastIndexOf("/",0)==0;d=d.split("/");for(var f=[],g=0;g<d.length;){var h=d[g++];h=="."?e&&g==d.length&&f.push(""):
h==".."?((f.length>1||f.length==1&&f[0]!="")&&f.pop(),e&&g==d.length&&f.push("")):(f.push(h),e=!0)}d=f.join("/")}}c?b.kc=d:c=a.g.toString()!=="";c?Aa(b,a.g.clone()):c=!!a.Vc;c&&(b.Vc=a.Vc);return b};aa.clone=function(){return new va(this)};function wa(a,b,c){a.mc=c?Ba(b,!0):b;a.mc&&(a.mc=a.mc.replace(/:$/,""))}function xa(a,b,c){a.Kb=c?Ba(b,!0):b}function ya(a,b){if(b){b=Number(b);if(isNaN(b)||b<0)throw Error("Bad port number "+b);a.Gd=b}else a.Gd=null}
function Aa(a,b,c){b instanceof Ca?a.g=b:(c||(b=Da(b,Ia)),a.g=new Ca(b))}function Ba(a,b){return a?b?decodeURI(a):decodeURIComponent(a):""}function Da(a,b,c){return a!=null?(a=encodeURI(a).replace(b,Ja),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function Ja(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var Ea=/[#\/\?@]/g,Ga=/[#\?:]/g,Fa=/[#\?]/g,Ia=/[#\?@]/g,Ha=/#/g;function Ca(a){this.g=a||null}
function Ka(a){if(!a.jb&&(a.jb=new Map,a.Vd=0,a.g))for(var b=a.g.split("&"),c=0;c<b.length;c++){var d=b[c].indexOf("="),e=null;if(d>=0){var f=b[c].substring(0,d);e=b[c].substring(d+1)}else f=b[c];f=decodeURIComponent(f);e=e||"";a.add(f,decodeURIComponent(e))}}aa=Ca.prototype;aa.jb=null;aa.Vd=null;aa.add=function(a,b){Ka(this);this.g=null;var c=this.jb.has(a)?this.jb.get(a):null;c||this.jb.set(a,c=[]);c.push(b);this.Vd++;return this};
aa.set=function(a,b){Ka(this);this.g=null;this.jb.has(a)?this.jb.set(a,[b]):this.add(a,b);return this};aa.get=function(a){Ka(this);return this.jb.get(a)||[]};aa.toString=function(){if(this.g)return this.g;if(!this.jb||!this.jb.size)return"";var a=[];for(const f of this.jb.keys())for(var b=encodeURIComponent(f),c=this.jb.get(f),d=0;d<c.length;d++){var e=b;c[d]!==""&&(e+="="+encodeURIComponent(c[d]));a.push(e)}return this.g=a.join("&")};
aa.clone=function(){var a=new Ca;a.g=this.g;if(this.jb){var b=new Map;for(const [c,d]of this.jb)b.set(c,d.concat());a.jb=b;a.Vd=this.Vd}return a};function La(a,b){if(!a&&!b)return!0;if(!a||!b||a.byteLength!=b.byteLength)return!1;if((ArrayBuffer.isView(a)?a.buffer:a)==(ArrayBuffer.isView(b)?b.buffer:b)&&(a.byteOffset||0)==(b.byteOffset||0))return!0;const c=E(a);b=E(b);for(let d=0;d<a.byteLength;d++)if(c[d]!=b[d])return!1;return!0}function E(a,b=0,c=Infinity){return Ma(a,b,c,Uint8Array)}function Na(a){return ArrayBuffer.isView(a)?a.byteOffset==0&&a.byteLength==a.buffer.byteLength?a.buffer:(new Uint8Array(a)).buffer:a}
function Ma(a,b,c,d){const e=ArrayBuffer.isView(a)?a.buffer:a;let f=1;"BYTES_PER_ELEMENT"in d&&(f=d.BYTES_PER_ELEMENT);const g=((a.byteOffset||0)+a.byteLength)/f;a=Math.floor(Math.max(0,Math.min(((a.byteOffset||0)+b)/f,g)));return new d(e,a,Math.floor(Math.min(a+Math.max(c,0),g))-a)}function Oa(a,b=0,c=Infinity){return Ma(a,b,c,Uint16Array)}function Pa(a,b=0,c=Infinity){return Ma(a,b,c,DataView)}var Qa=class{};w("shaka.util.BufferUtils",Qa);Qa.toDataView=Pa;Qa.toUint16=Oa;Qa.toUint8=E;
Qa.toArrayBuffer=Na;Qa.equal=La;var Ra=class{constructor(a){this.h=a;this.g=void 0}value(){this.g===void 0&&(this.g=this.h());return this.g}};function Sa(a,b){if(a===b||!a.length||!b.length)return!0;for(const c of a){if(Ta(c))return!0;for(const d of b)if(c.keySystem===d.keySystem||Ta(d))return!0}return!1}function Ta(a){return(a=a.licenseServerUri)?a.startsWith("data:application/json;base64,"):!1}
function Ua(a,b){if(!a.length)return b;if(!b.length)return a;const c=[];for(const e of a)for(const f of b)if(e.keySystem==f.keySystem){a=new Map;var d=(e.initData||[]).concat(f.initData||[]);for(const g of d)a.set(g.keyId,g);a=Array.from(a.values());d=e.keyIds&&f.keyIds?new Set([...e.keyIds,...f.keyIds]):e.keyIds||f.keyIds;c.push({keySystem:e.keySystem,licenseServerUri:e.licenseServerUri||f.licenseServerUri,distinctiveIdentifierRequired:e.distinctiveIdentifierRequired||f.distinctiveIdentifierRequired,
persistentStateRequired:e.persistentStateRequired||f.persistentStateRequired,videoRobustness:e.videoRobustness||f.videoRobustness,audioRobustness:e.audioRobustness||f.audioRobustness,serverCertificate:e.serverCertificate||f.serverCertificate,serverCertificateUri:e.serverCertificateUri||f.serverCertificateUri,initData:a,keyIds:d});break}else Ta(e)?c.push(e):Ta(f)&&c.push(f);return c}function Va(a){return a?a.keySystem:""}function Wa(a){return a==="org.w3.clearkey"}
function Xa(a){return a?!!a.match(/^com\.widevine\.alpha/):!1}function Ya(a){return a?!!a.match(/^com\.(microsoft|chromecast)\.playready/):!1}function Za(a){return a?!!a.match(/^com\.apple\.fps/):!1}function $a(a,b,c,d){d=[...(new Set(d))].sort().join("#");return`${a}#${b}#${c}#${d}`}var ab=new Ra(()=>Na(new Uint8Array([0]))),bb=new Map;function cb(a){const b=a.code;let c=a.msExtendedCode;c&&(c<0&&(c+=4294967296),c=c.toString(16));return{code:b,fj:c,message:a.message}}var G=class{constructor(a,b,c,...d){this.severity=a;this.category=b;this.code=c;this.data=d;this.handled=!1;this.message="Shaka Error "+this.code;if(db)try{throw Error(this.message||"Shaka Error");}catch(e){this.stack=e.stack}}toString(){return"shaka.util.Error "+JSON.stringify(this,null," ")}};w("shaka.util.Error",G);var db=!0;G.Severity={RECOVERABLE:1,CRITICAL:2};
G.Category={NETWORK:1,TEXT:2,MEDIA:3,MANIFEST:4,STREAMING:5,DRM:6,PLAYER:7,CAST:8,STORAGE:9,ADS:10};
G.Code={UNSUPPORTED_SCHEME:1E3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,REQUEST_FILTER_ERROR:1006,RESPONSE_FILTER_ERROR:1007,MALFORMED_TEST_URI:1008,UNEXPECTED_TEST_REQUEST:1009,ATTEMPTS_EXHAUSTED:1010,SEGMENT_MISSING:1011,INVALID_TEXT_HEADER:2E3,INVALID_TEXT_CUE:2001,UNABLE_TO_DETECT_ENCODING:2003,BAD_ENCODING:2004,INVALID_XML:2005,INVALID_MP4_TTML:2007,INVALID_MP4_VTT:2008,UNABLE_TO_EXTRACT_CUE_START_TIME:2009,INVALID_MP4_CEA:2010,TEXT_COULD_NOT_GUESS_MIME_TYPE:2011,
CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS:2012,TEXT_ONLY_WEBVTT_SRC_EQUALS:2013,MISSING_TEXT_PLUGIN:2014,UNSUPPORTED_EXTERNAL_THUMBNAILS_URI:2017,BUFFER_READ_OUT_OF_BOUNDS:3E3,JS_INTEGER_OVERFLOW:3001,EBML_OVERFLOW:3002,EBML_BAD_FLOATING_POINT_SIZE:3003,MP4_SIDX_WRONG_BOX_TYPE:3004,MP4_SIDX_INVALID_TIMESCALE:3005,MP4_SIDX_TYPE_NOT_SUPPORTED:3006,WEBM_CUES_ELEMENT_MISSING:3007,WEBM_EBML_HEADER_ELEMENT_MISSING:3008,WEBM_SEGMENT_ELEMENT_MISSING:3009,WEBM_INFO_ELEMENT_MISSING:3010,WEBM_DURATION_ELEMENT_MISSING:3011,
WEBM_CUE_TRACK_POSITIONS_ELEMENT_MISSING:3012,WEBM_CUE_TIME_ELEMENT_MISSING:3013,MEDIA_SOURCE_OPERATION_FAILED:3014,MEDIA_SOURCE_OPERATION_THREW:3015,VIDEO_ERROR:3016,QUOTA_EXCEEDED_ERROR:3017,TRANSMUXING_FAILED:3018,CONTENT_TRANSFORMATION_FAILED:3019,TRANSMUXING_NO_VIDEO_DATA:3023,STREAMING_NOT_ALLOWED:3024,BUFFER_WRITE_OUT_OF_BOUNDS:3025,UNABLE_TO_GUESS_MANIFEST_TYPE:4E3,DASH_INVALID_XML:4001,DASH_NO_SEGMENT_INFO:4002,DASH_EMPTY_ADAPTATION_SET:4003,DASH_EMPTY_PERIOD:4004,DASH_WEBM_MISSING_INIT:4005,
DASH_UNSUPPORTED_CONTAINER:4006,DASH_PSSH_BAD_ENCODING:4007,DASH_NO_COMMON_KEY_SYSTEM:4008,DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED:4009,DASH_CONFLICTING_KEY_IDS:4010,RESTRICTIONS_CANNOT_BE_MET:4012,HLS_PLAYLIST_HEADER_MISSING:4015,INVALID_HLS_TAG:4016,HLS_INVALID_PLAYLIST_HIERARCHY:4017,DASH_DUPLICATE_REPRESENTATION_ID:4018,HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND:4020,HLS_REQUIRED_ATTRIBUTE_MISSING:4023,HLS_REQUIRED_TAG_MISSING:4024,HLS_COULD_NOT_GUESS_CODECS:4025,HLS_KEYFORMATS_NOT_SUPPORTED:4026,DASH_UNSUPPORTED_XLINK_ACTUATE:4027,
DASH_XLINK_DEPTH_LIMIT:4028,CONTENT_UNSUPPORTED_BY_BROWSER:4032,CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM:4033,NO_VARIANTS:4036,PERIOD_FLATTENING_FAILED:4037,INCONSISTENT_DRM_ACROSS_PERIODS:4038,HLS_VARIABLE_NOT_FOUND:4039,HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED:4040,HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED:4041,NO_WEB_CRYPTO_API:4042,CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM:4045,AES_128_INVALID_IV_LENGTH:4048,AES_128_INVALID_KEY_LENGTH:4049,DASH_CONFLICTING_AES_128:4050,DASH_UNSUPPORTED_AES_128:4051,
DASH_INVALID_PATCH:4052,HLS_EMPTY_MEDIA_PLAYLIST:4053,DASH_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED:4054,CANNOT_ADD_EXTERNAL_CHAPTERS_TO_LIVE_STREAM:4055,WEBTRANSPORT_NOT_AVAILABLE:4056,WEBTRANSPORT_INITIALIZATION_FAILED:4057,MSF_VOD_CONTENT_NOT_SUPPORTED:4058,MSF_CATALOG_TIMEOUT:4058,HLS_INVALID_KEY_IV_FOR_GCM:4059,HLS_INVALID_GCM_SEGMENT:4060,MSF_NO_CATALOG:4062,STREAMING_ENGINE_STARTUP_INVALID_STATE:5006,NO_RECOGNIZED_KEY_SYSTEMS:6E3,REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE:6001,FAILED_TO_CREATE_CDM:6002,
FAILED_TO_ATTACH_TO_VIDEO:6003,INVALID_SERVER_CERTIFICATE:6004,FAILED_TO_CREATE_SESSION:6005,FAILED_TO_GENERATE_LICENSE_REQUEST:6006,LICENSE_REQUEST_FAILED:6007,LICENSE_RESPONSE_REJECTED:6008,ENCRYPTED_CONTENT_WITHOUT_DRM_INFO:6010,NO_LICENSE_SERVER_GIVEN:6012,OFFLINE_SESSION_REMOVED:6013,EXPIRED:6014,SERVER_CERTIFICATE_REQUIRED:6015,INIT_DATA_TRANSFORM_ERROR:6016,SERVER_CERTIFICATE_REQUEST_FAILED:6017,MIN_HDCP_VERSION_NOT_MATCH:6018,ERROR_CHECKING_HDCP_VERSION:6019,MISSING_EME_SUPPORT:6020,LOAD_INTERRUPTED:7E3,
OPERATION_ABORTED:7001,NO_VIDEO_ELEMENT:7002,OBJECT_DESTROYED:7003,CONTENT_NOT_LOADED:7004,SRC_EQUALS_PRELOAD_NOT_SUPPORTED:7005,PRELOAD_DESTROYED:7006,QUEUE_INDEX_OUT_OF_BOUNDS:7007,CAST_API_UNAVAILABLE:8E3,NO_CAST_RECEIVERS:8001,ALREADY_CASTING:8002,UNEXPECTED_CAST_ERROR:8003,CAST_CANCELED_BY_USER:8004,CAST_CONNECTION_TIMED_OUT:8005,CAST_RECEIVER_APP_UNAVAILABLE:8006,STORAGE_NOT_SUPPORTED:9E3,INDEXED_DB_ERROR:9001,DEPRECATED_OPERATION_ABORTED:9002,REQUESTED_ITEM_NOT_FOUND:9003,MALFORMED_OFFLINE_URI:9004,
CANNOT_STORE_LIVE_OFFLINE:9005,NO_INIT_DATA_FOR_OFFLINE:9007,LOCAL_PLAYER_INSTANCE_REQUIRED:9008,NEW_KEY_OPERATION_NOT_SUPPORTED:9011,KEY_NOT_FOUND:9012,MISSING_STORAGE_CELL:9013,STORAGE_LIMIT_REACHED:9014,DOWNLOAD_SIZE_CALLBACK_ERROR:9015,MODIFY_OPERATION_NOT_SUPPORTED:9016,INDEXED_DB_INIT_TIMED_OUT:9017,CS_IMA_SDK_MISSING:1E4,SS_IMA_SDK_MISSING:10002,CURRENT_DAI_REQUEST_NOT_FINISHED:10004,VAST_INVALID_XML:10007,CS_AD_CONTAINER_MISSING:10008,SS_AD_CONTAINER_MISSING:10009,MEDIATAILOR_REQUEST_FAILED:10010};/*
@license
Shaka Player
Copyright 2025 Google LLC
SPDX-License-Identifier: Apache-2.0
*/
function eb(){return fb.value()}var gb=null,hb=null,fb=new Ra(()=>{let a=void 0;gb&&(a=gb());!a&&hb&&(a=hb());return a});function ib(a){if(!a)return"";a=E(a);a[0]==239&&a[1]==187&&a[2]==191&&(a=a.subarray(3));if(window.TextDecoder&&!eb().W())return a=(new TextDecoder).decode(a),a.includes("\ufffd")&&ea('Decoded string contains an "unknown character" codepoint. That probably means the UTF8 encoding was incorrect!'),a;let b="";for(let d=0;d<a.length;++d){var c=65533;(a[d]&128)==0?c=a[d]:a.length>=d+2&&(a[d]&224)==192&&(a[d+1]&192)==128?(c=(a[d]&31)<<6|a[d+1]&63,d+=1):a.length>=d+3&&(a[d]&240)==224&&(a[d+1]&192)==128&&
(a[d+2]&192)==128?(c=(a[d]&15)<<12|(a[d+1]&63)<<6|a[d+2]&63,d+=2):a.length>=d+4&&(a[d]&241)==240&&(a[d+1]&192)==128&&(a[d+2]&192)==128&&(a[d+3]&192)==128&&(c=(a[d]&7)<<18|(a[d+1]&63)<<12|(a[d+2]&63)<<6|a[d+3]&63,d+=3);if(c<=65535)b+=String.fromCharCode(c);else{c-=65536;const e=c&1023;b+=String.fromCharCode(55296+(c>>10));b+=String.fromCharCode(56320+e)}}return b}
function jb(a,b,c){if(!a)return"";if(!c&&a.byteLength%2!=0)throw new G(2,2,2004);c=Math.floor(a.byteLength/2);const d=new Uint16Array(c);a=Pa(a);for(let e=0;e<c;e++)d[e]=a.getUint16(e*2,b);return kb.value()(d)}
function lb(a){if(!a)return"";const b=E(a);if(b[0]==239&&b[1]==187&&b[2]==191)return ib(b);if(b[0]==254&&b[1]==255)return jb(b.subarray(2),!1);if(b[0]==255&&b[1]==254)return jb(b.subarray(2),!0);const c=d=>b.byteLength<=d||b[d]>=9&&b[d]<=126;if(b[0]==0&&b[2]==0)return jb(a,!1);if(b[1]==0&&b[3]==0)return jb(a,!0);if(c(0)&&c(1)&&c(2)&&c(3))return ib(a);throw new G(2,2,2003);}
function mb(a){if(window.TextEncoder&&!eb().W()){var b=new TextEncoder;return Na(b.encode(a))}a=encodeURIComponent(a);a=unescape(a);b=new Uint8Array(a.length);for(let c=0;c<a.length;c++)b[c]=a[c].charCodeAt(0);return Na(b)}function nb(a,b){const c=new ArrayBuffer(a.length*2),d=new DataView(c);for(let e=0;e<a.length;++e)d.setUint16(e*2,a.charCodeAt(e),b);return c}
function ob(a){const b={"&":"&","<":"<",">":">",""":'"',"'":"'"," ":"\u00a0","‎":"\u200e","‏":"\u200f"},c=/&(?:amp|lt|gt|quot|apos|nbsp|lrm|rlm|#[xX]?[0-9a-fA-F]+);/g,d=RegExp(c.source);return a&&d.test(a)?a.replace(c,e=>e[1]=="#"?(e=e[2]=="x"||e[2]=="X"?parseInt(e.substring(3),16):parseInt(e.substring(2),10),e>=0&&e<=1114111?String.fromCodePoint(e):""):b[e]||"'"):a||""}var pb=class{};w("shaka.util.StringUtils",pb);pb.resetFromCharCode=function(){kb.g=void 0};
pb.toUTF16=nb;pb.toUTF8=mb;pb.fromBytesAutoDetect=lb;pb.fromUTF16=jb;pb.fromUTF8=ib;var kb=new Ra(()=>{const a=b=>{try{const c=new Uint8Array(b);return String.fromCharCode.apply(null,c).length>0}catch(c){return!1}};for(let b=65536;b>0;b/=2)if(a(b))return c=>{let d="";for(let e=0;e<c.length;e+=b)d+=String.fromCharCode.apply(null,c.subarray(e,e+b));return d};return null});function qb(a){a=E(a);return Uint8Array.prototype.toBase64?a.toBase64({alphabet:"base64",omitPadding:!1}):(a=kb.value()(a),btoa(a))}function rb(a,b){b=b==void 0?!0:b;return Uint8Array.prototype.toBase64?E(a).toBase64({alphabet:"base64url",omitPadding:!b}):(a=qb(a).replace(/\+/g,"-").replace(/\//g,"_"),b?a:a.replace(/[=]*$/,""))}
function sb(a){if(!("fromBase64"in Uint8Array)){a=window.atob(a.replace(/-/g,"+").replace(/_/g,"/"));const b=new Uint8Array(a.length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}a=a.replace(/\s+/g,"");return Uint8Array.fromBase64(a,{alphabet:/[-_]/.test(a)?"base64url":"base64"})}function tb(a){if(!("fromHex"in Uint8Array)){const b=a.length/2,c=new Uint8Array(b);for(let d=0;d<b;d++)c[d]=window.parseInt(a.substr(d*2,2),16);return c}return Uint8Array.fromHex(a)}
function ub(a){a=E(a);if(!Uint8Array.prototype.toHex){let b="";for(let c of a)c=c.toString(16),c.length==1&&(c="0"+c),b+=c;return b}return a.toHex()}function vb(...a){return xb(a,0,a.length)}function xb(a,b=0,c=a.length){var d=0;for(var e=b;e<c;++e)d+=a[e].byteLength;d=new Uint8Array(d);for(e=0;b<c;++b){const f=a[b];ArrayBuffer.isView(f)&&f.BYTES_PER_ELEMENT===1?d.set(f,e):d.set(E(f),e);e+=f.byteLength}return d}var yb=class{};w("shaka.util.Uint8ArrayUtils",yb);yb.concat=vb;yb.toHex=ub;
yb.fromHex=tb;yb.fromBase64=sb;yb.toBase64=rb;yb.toStandardBase64=qb;function zb(a,b,c=""){if(b.length==0)return a;if(a.length==1&&b.length==1){var d=new va(a[0]),e=new va(b[0]);d=d.resolve(e);c&&Aa(d,c);return[d.toString()]}b=b.map(g=>new va(g));const f=[];for(d of a){a=new va(d);for(e of b){const g=a.resolve(e);c&&Aa(g,c);f.push(g.toString())}}return f}
function Ab(a,b,c,d,e){b={keySystem:a,encryptionScheme:b,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,serverCertificateUri:"",sessionType:"",initData:c||[],keyIds:new Set,mediaTypes:e};d&&(b.keySystemUris=new Set([d]));!c&&Za(a)&&b.initData.push({initDataType:"sinf",initData:new Uint8Array(0),keyId:null});return b}
function Bb(a,b="cenc"){const c=[],d=[],e=[];a.forEach((g,h)=>{let k=h;k.length!=22&&(k=rb(tb(h),!1));let l=g;l.length!=22&&(l=rb(tb(g),!1));g={kty:"oct",kid:k,k:l};c.push(g);d.push(g.kid);e.push(h)});a=JSON.stringify({keys:c});var f=JSON.stringify({kids:d});f=[{initData:E(mb(f)),initDataType:"keyids"}];return{keySystem:"org.w3.clearkey",encryptionScheme:b,licenseServerUri:"data:application/json;base64,"+window.btoa(a),distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",
videoRobustness:"",serverCertificate:null,serverCertificateUri:"",sessionType:"",initData:f,keyIds:new Set(e)}}function Cb(a,b){if(b.length==1)return b[0];a=Db(a,b);if(a!=null)return a;throw new G(2,4,4025,b);}function Db(a,b){const c=Eb.get(a);for(const d of c)for(const e of b)if(d.test(e.trim()))return e.trim();return a==I?"":null}function Fb(a,b){const c=[];a=Eb.get(a);for(const d of a)for(const e of b)d.test(e.trim())&&c.push(e.trim());return c}
var I="text",Gb={wm:"video",cl:"audio",ph:I,Il:"image",al:"application",rl:"chapter"},Hb=1/15,Ib=[/^avc/,/^hev/,/^hvc/,/^vvc/,/^vvi/,/^vp0?[89]/,/^av01/,/^mp2v/,/^dvh/,/^dva/,/^dav/],Jb=[/^vorbis$/,/^Opus$/,/^opus$/,/^fLaC$/,/^flac$/,/^mp4a/,/^[ae]c-3$/,/^ac-4/,/^dts[cehx]?$/,/^iamf/,/^mhm[12]/,/^ac3$/,/^eac3$/,/^apac$/],Eb=(new Map).set("audio",Jb).set("video",Ib).set("text",[/^vtt$/,/^wvtt/,/^stpp/]);function Kb(a,b){a=Lb(a);b=Lb(b);return a.split("-")[0]==b.split("-")[0]}function Mb(a,b){a=Lb(a);b=Lb(b);a=a.split("-");b=b.split("-");return a[0]==b[0]&&a.length==1&&b.length==2}function Nb(a,b){a=Lb(a);b=Lb(b);a=a.split("-");b=b.split("-");return a.length==2&&b.length==2&&a[0]==b[0]}function Lb(a){const [b="",c=""]=a.split("-x-"),[d="",e=""]=b.split("-");a=c?`${"x-"}${c}`:"";let f=d.toLowerCase();f=Ob.get(f)||f;const g=e.toUpperCase();return`${g?`${f}-${g}`:f}${a?`-${a}`:""}`}
function Pb(a,b){const c=Rb(a),d=Rb(b);return a!=c&&b!=d&&c==d}function Sb(a,b){a=Lb(a);b=Lb(b);return b==a?4:Mb(b,a)?3:Nb(b,a)?2:Mb(a,b)?1:0}function Rb(a){const b=a.indexOf("-");a=b>=0?a.substring(0,b):a;a=a.toLowerCase();return a=Ob.get(a)||a}function Tb(a){return a.language?Lb(a.language):a.audio&&a.audio.language?Lb(a.audio.language):a.video&&a.video.language?Lb(a.video.language):"und"}
function Ub(a,b){a=Lb(a);const c=new Set;for(const d of b)c.add(Lb(d));for(const d of c)if(d==a)return d;for(const d of c)if(Mb(d,a))return d;for(const d of c)if(Nb(d,a))return d;for(const d of c)if(Mb(a,d))return d;return null}var Vb=class{};w("shaka.util.LanguageUtils",Vb);Vb.findClosestLocale=Ub;Vb.getLocaleForVariant=Tb;Vb.getLocaleForText=function(a){return Lb(a.language||"und")};Vb.getBase=Rb;Vb.relatedness=Sb;Vb.areSiblings=Pb;Vb.normalize=Lb;Vb.isSiblingOf=Nb;Vb.isParentOf=Mb;
Vb.areLanguageCompatible=Kb;Vb.areLocaleCompatible=function(a,b){a=Lb(a);b=Lb(b);return a==b};
var Ob=new Map([["aar","aa"],["abk","ab"],["afr","af"],["aka","ak"],["alb","sq"],["amh","am"],["ara","ar"],["arg","an"],["arm","hy"],["asm","as"],["ava","av"],["ave","ae"],["aym","ay"],["aze","az"],["bak","ba"],["bam","bm"],["baq","eu"],["bel","be"],["ben","bn"],["bih","bh"],["bis","bi"],["bod","bo"],["bos","bs"],["bre","br"],["bul","bg"],["bur","my"],["cat","ca"],["ces","cs"],["cha","ch"],["che","ce"],["chi","zh"],["chu","cu"],["chv","cv"],["cor","kw"],["cos","co"],["cre","cr"],["cym","cy"],["cze",
"cs"],["dan","da"],["deu","de"],["div","dv"],["dut","nl"],["dzo","dz"],["ell","el"],["eng","en"],["epo","eo"],["est","et"],["eus","eu"],["ewe","ee"],["fao","fo"],["fas","fa"],["fij","fj"],["fin","fi"],["fra","fr"],["fre","fr"],["fry","fy"],["ful","ff"],["geo","ka"],["ger","de"],["gla","gd"],["gle","ga"],["glg","gl"],["glv","gv"],["gre","el"],["grn","gn"],["guj","gu"],["hat","ht"],["hau","ha"],["heb","he"],["her","hz"],["hin","hi"],["hmo","ho"],["hrv","hr"],["hun","hu"],["hye","hy"],["ibo","ig"],["ice",
"is"],["ido","io"],["iii","ii"],["iku","iu"],["ile","ie"],["ina","ia"],["ind","id"],["ipk","ik"],["isl","is"],["ita","it"],["jav","jv"],["jpn","ja"],["kal","kl"],["kan","kn"],["kas","ks"],["kat","ka"],["kau","kr"],["kaz","kk"],["khm","km"],["kik","ki"],["kin","rw"],["kir","ky"],["kom","kv"],["kon","kg"],["kor","ko"],["kua","kj"],["kur","ku"],["lao","lo"],["lat","la"],["lav","lv"],["lim","li"],["lin","ln"],["lit","lt"],["ltz","lb"],["lub","lu"],["lug","lg"],["mac","mk"],["mah","mh"],["mal","ml"],["mao",
"mi"],["mar","mr"],["may","ms"],["mkd","mk"],["mlg","mg"],["mlt","mt"],["mon","mn"],["mri","mi"],["msa","ms"],["mya","my"],["nau","na"],["nav","nv"],["nbl","nr"],["nde","nd"],["ndo","ng"],["nep","ne"],["nld","nl"],["nno","nn"],["nob","nb"],["nor","no"],["nya","ny"],["oci","oc"],["oji","oj"],["ori","or"],["orm","om"],["oss","os"],["pan","pa"],["per","fa"],["pli","pi"],["pol","pl"],["por","pt"],["pus","ps"],["que","qu"],["roh","rm"],["ron","ro"],["rum","ro"],["run","rn"],["rus","ru"],["sag","sg"],["san",
"sa"],["sin","si"],["slk","sk"],["slo","sk"],["slv","sl"],["sme","se"],["smo","sm"],["sna","sn"],["snd","sd"],["som","so"],["sot","st"],["spa","es"],["sqi","sq"],["srd","sc"],["srp","sr"],["ssw","ss"],["sun","su"],["swa","sw"],["swe","sv"],["tah","ty"],["tam","ta"],["tat","tt"],["tel","te"],["tgk","tg"],["tgl","tl"],["tha","th"],["tib","bo"],["tir","ti"],["ton","to"],["tsn","tn"],["tso","ts"],["tuk","tk"],["tur","tr"],["twi","tw"],["uig","ug"],["ukr","uk"],["urd","ur"],["uzb","uz"],["ven","ve"],["vie",
"vi"],["vol","vo"],["wel","cy"],["wln","wa"],["wol","wo"],["xho","xh"],["yid","yi"],["yor","yo"],["zha","za"],["zho","zh"],["zul","zu"]]);function Wb(a,b,c){for(const d of b)a.get(d)||c.add(d)}
function Xb(a){var b=a.h,c=a.j,d=a.g,e=new Set;for(const k of d){e.add(k);e.add(Rb(k));var f=ta(b.keys(),l=>Pb(l,k));f.sort();for(const l of f)e.add(l);f=ta(b.keys(),l=>Rb(l)==k);f.sort();for(const l of f)e.add(l)}e.add(c);c=[];for(var g of e)(e=b.get(g))&&c.push(e);c.reverse();a.i.clear();for(var h of c)h.forEach((k,l)=>{a.i.set(l,k)});b=a.i.keys();g=new Set;for(const k of a.g)h=a.h.get(k)||new Map,Wb(h,b,g);g.size>0&&(d=(new Map).set("locales",Array.from(d)).set("missing",Array.from(g)),a.dispatchEvent(new C("missing-localizations",
d)))}
var Zb=class extends pa{constructor(a){super();this.j=Lb(a);this.i=new Map;this.g=new Set;this.h=new Map}release(){super.release()}Bh(a){this.g.clear();for(const b of a)this.g.add(Lb(b));Xb(this);a=ta(this.g,b=>!this.h.has(b));a.length&&this.dispatchEvent(new C("unknown-locales",(new Map).set("locales",a)));a=ta(this.g,b=>this.h.has(b));a=(new Map).set("locales",a.length?a:[this.j]);this.dispatchEvent(new C("locale-changed",a))}Va(a,b,c){a=Lb(a);c===void 0&&(c=Yb);const d=this.h.getOrInsert(a,new Map);
b.forEach((e,f)=>{d.has(f)&&c!=Yb||d.set(f,e)});Xb(this);this.dispatchEvent(new C("locale-updated"));return this}Gk(a){for(const b of a.keys())a.set(b,this.resolve(b))}resolve(a){const b=this.i.get(a);if(b)return b;a=(new Map).set("locales",Array.from(this.g)).set("missing",a);this.dispatchEvent(new C("unknown-localization",a));return""}rj(){return this.g}};w("shaka.ui.Localization",Zb);Zb.prototype.getCurrentLocales=Zb.prototype.rj;Zb.prototype.resolve=Zb.prototype.resolve;
Zb.prototype.resolveDictionary=Zb.prototype.Gk;Zb.prototype.insert=Zb.prototype.Va;Zb.prototype.changeLocale=Zb.prototype.Bh;Zb.prototype.release=Zb.prototype.release;var Yb=1;Zb.ConflictResolution={USE_OLD:0,USE_NEW:Yb};Zb.UNKNOWN_LOCALES="unknown-locales";Zb.UNKNOWN_LOCALIZATION="unknown-localization";Zb.MISSING_LOCALIZATIONS="missing-localizations";Zb.LOCALE_CHANGED="locale-changed";Zb.LOCALE_UPDATED="locale-updated";function $b(a){return a.h/(1-Math.pow(a.g,a.j))}var ac=class{constructor(a){this.i=Math.log(.5);this.g=Math.exp(this.i/a);this.j=this.h=0}sample(a,b){const c=Math.pow(this.g,a);b=b*(1-c)+c*this.h;isNaN(b)||(this.h=b,this.j+=a)}};var bc=class{constructor(){this.h=new ac(2);this.j=new ac(5);this.g=0;this.i=128E3;this.l=16E3}configure(a){this.i=a.minTotalBytes;this.l=a.minBytes;var b=this.h;b.g=Math.exp(b.i/a.fastHalfLife);b=this.j;b.g=Math.exp(b.i/a.slowHalfLife)}sample(a,b){if(!(b<this.l)){var c=8E3*b/a;a/=1E3;this.g+=b;this.h.sample(a,c);this.j.sample(a,c)}}getBandwidthEstimate(a){return this.g<this.i?a:Math.min($b(this.h),$b(this.j))}};function cc(a,b){return typeof a==="number"&&typeof b==="number"&&isNaN(a)&&isNaN(b)?!0:a===b}function dc(a,b){b=a.indexOf(b);b>-1&&a.splice(b,1)}function ec(a,b,c){c||=cc;if(a.length!=b.length)return!1;b=b.slice();for(const d of a){a=b.findIndex(e=>c(d,e));if(a==-1)return!1;b[a]=b[b.length-1];b.pop()}return b.length==0}function fc(a,b){const c=[],d=[];for(const e of a)b(e)?c.push(e):d.push(e);return[c,d]}function hc(a,b){let c=0,d=a.length;for(;c<d;){const e=c+d>>>1;b(a[e])?c=e+1:d=e}return c}
function ic(a,b,c){if(a===b)return!0;if(!a||!b)return a==b;c||=cc;if(a.length!=b.length)return!1;for(let d=0;d<a.length;d++)if(!c(a[d],b[d]))return!1;return!0};var kc=class{constructor(){this.g=new oa}release(){this.Da();this.g=null}u(a,b,c,d){this.g&&(a=new jc(a,b,c,d),this.g.push(b,a))}ha(a,b,c,d){const e=f=>{this.Ca(a,b,e);c(f)};this.u(a,b,e,d)}R(a,b,c,d){if(this.g)for(const e of b)this.u(a,e,c,d)}ek(a,b,c,d){if(this.g){var e=!1,f=g=>{if(!e){e=!0;for(const h of b)this.Ca(a,h,f);c(g)}};for(const g of b)this.u(a,g,f,d)}}Ca(a,b,c){if(this.g){var d=this.g.get(b)||[];for(const e of d)e.target!=a||c!=e.listener&&c||(e.Ca(),this.g.remove(b,e))}}Da(){if(this.g){var a=
this.g;const b=[];for(const c of a.g.values())b.push(...c);a=b;for(const c of a)c.Ca();this.g.g.clear()}}};w("shaka.util.EventManager",kc);kc.prototype.removeAll=kc.prototype.Da;kc.prototype.unlisten=kc.prototype.Ca;kc.prototype.listenOnceMulti=kc.prototype.ek;kc.prototype.listenMulti=kc.prototype.R;kc.prototype.listenOnce=kc.prototype.ha;kc.prototype.listen=kc.prototype.u;kc.prototype.release=kc.prototype.release;
function lc(a,b){if(b==void 0)return!1;if(typeof b=="boolean")return b;const c=new Set(["passive","capture"]);Object.keys(b).filter(d=>!c.has(d));return mc(a)?b:b.capture||!1}function mc(a){let b=nc;if(b==void 0){b=!1;try{const d={};var c={get:()=>{b=!0;return!1}};Object.defineProperty(d,"passive",c);Object.defineProperty(d,"capture",c);c=()=>{};a.addEventListener("test",c,d);a.removeEventListener("test",c,d)}catch(d){b=!1}nc=b}return b||!1}
var jc=class{constructor(a,b,c,d){this.target=a;this.type=b;this.listener=c;this.g=lc(a,d);this.target.addEventListener(b,c,this.g)}Ca(){this.target.removeEventListener(this.type,this.listener,this.g);this.listener=this.target=null;this.g=!1}},nc=void 0;function oc(a){return a&&typeof LCEVCdec!=="undefined"?a.codecs=="lvc1":!1}function pc(a,b,c,d){d.type!=="video"||a.j&&!oc(d)||a.g&&a.g.appendBuffer(b,"video",d.id,-c,!a.j)}function qc(a){a.g&&a.i.classList.add("shaka-hidden")}
var rc=class{constructor(a,b,c,d){this.g=null;this.l=a;this.i=b;this.m=c;this.j=d;typeof libDPIModule==="undefined"&&fa("Could not find LCEVC Library dependencies on this page");typeof LCEVCdec!=="undefined"?(this.h=LCEVCdec,typeof this.h.SupportObject==="undefined"?(fa("Could not find LCEVC Library on this page"),a=!1):(this.h.SupportObject.SupportStatus||fa(this.h.SupportObject.SupportError),a=typeof this.h!=="undefined"&&typeof libDPIModule!=="undefined"&&this.i instanceof HTMLCanvasElement&&this.h.SupportObject.SupportStatus)):
(fa("Could not find LCEVC Library on this page"),a=!1);a&&!this.g&&this.h.SupportObject.webGLSupport(this.i)&&(this.i.classList.remove("shaka-hidden"),this.g=new this.h.LCEVCdec(this.l,this.i,this.m))}release(){this.g&&(this.g.close(),this.g=null)}};w("shaka.lcevc.Dec",rc);rc.prototype.release=rc.prototype.release;function sc(a,b){tc.set(a,b)}function uc(){const a={};eb();if(vc())for(var b of tc.keys())a[b]=!0;b=["application/dash+xml","application/x-mpegurl","application/vnd.apple.mpegurl","application/vnd.ms-sstr+xml"];for(const c of b)a[c]=vc()?tc.has(c):wc(c);return a}function xc(a,b){if(b){const c=tc.get(b.toLowerCase());if(c)return c}throw new G(2,4,4E3,a,b);}var yc=class{};w("shaka.media.ManifestParser",yc);yc.unregisterParserByMime=function(a){tc.delete(a)};yc.registerParserByMime=sc;
yc.AccessibilityPurpose={xm:"visually impaired",Gl:"hard of hearing",dm:"spoken subtitles"};var tc=new Map;var zc=class{extract(){}decode(){return[]}clear(){}getStreams(){return[]}};var Ac=class{init(){}parse(){return[]}};function Bc(a){return Cc.get(a)}function Dc(a,b){Cc.set(a,b)}function Ec(a,b){b=a.j.parse(b);for(const c of b)b=E(c.packet),b.length>0&&a.g.extract(b,c.pts);return a.g.decode()}
var Gc=class{constructor(a){this.h=new Map;this.i=0;this.j=new Ac;if(a=Bc(a.toLowerCase()))this.j=a();this.g=new zc;if(a=Fc)this.g=a(),this.h.set(this.i,this.g)}init(a,b=!1,c=-1){if(c!=-1&&this.i!=c)if(b=this.h.get(c),this.h.set(this.i,this.g),b)this.g=b;else{if(b=Fc)this.g=b();this.h.set(c,this.g)}else b||this.g.clear();this.j.init(a);c!=-1&&(this.i=c)}remove(a=[]){a=new Set(a);for(const b of this.h.keys())if(!a.has(b)){let c=this.h.get(b);c&&c.clear();this.h.delete(b)}}};
w("shaka.media.ClosedCaptionParser",Gc);Gc.findDecoder=function(){return Fc};Gc.unregisterDecoder=function(){Fc=null};Gc.registerDecoder=function(a){Fc=a};Gc.findParser=Bc;Gc.unregisterParser=function(a){Cc.delete(a)};Gc.registerParser=Dc;var Cc=new Map,Fc=null;var Jc=class{constructor(){this.id="";this.regionAnchorY=this.regionAnchorX=this.viewportAnchorY=this.viewportAnchorX=0;this.height=this.width=100;this.viewportAnchorUnits=this.widthUnits=this.heightUnits=Hc;this.scroll=Ic}};w("shaka.text.CueRegion",Jc);var Hc=1;Jc.units={PX:0,PERCENTAGE:Hc,LINES:2};var Ic="";Jc.scrollMode={NONE:Ic,UP:"up"};function Kc(a){return a?Lc(new Mc(a)):null}function Lc(a){a=Nc(a,Oc);if(a==null)return null;const b=Number(a[2]),c=Number(a[3]);return b>59||c>59?null:(Number(a[6])||0)/1E3+c+b*60+(Number(a[1])||0)*3600}function Pc(a){return a.g==a.h.length?null:(a=Nc(a,/[^ \t\n]*/gm))?a[0]:null}function Nc(a,b){b.lastIndex=a.g;b=b.exec(a.h);b=b==null?null:{position:b.index,length:b[0].length,results:b};if(a.g==a.h.length||b==null||b.position!=a.g)return null;a.g+=b.length;return b.results}
function Qc(a){Nc(a,/[ \t]+/gm)}var Mc=class{constructor(a){this.h=a||"";this.g=0}},Oc=/(?:(\d{1,}):)?(\d{2}):(\d{2})((\.(\d{1,3})))?/g;function Rc(a){const b=new WeakSet,c=d=>{switch(typeof d){case "undefined":case "boolean":case "number":case "string":case "symbol":case "function":return d;default:if(!d||ArrayBuffer.isView(d))return d;if(b.has(d))return null;const e=Array.isArray(d);if(d.constructor!=Object&&!e)return null;b.add(d);const f=e?[]:{};for(const g in d)f[g]=c(d[g]);e&&(f.length=d.length);return f}};return c(a)}function Sc(a){const b={};for(const c in a)b[c]=a[c];return b}
function Tc(a){if(Array.isArray(a)){var b=[];for(var c=0;c<a.length;c++){var d=c.toString(),e=a[c];e!==void 0&&(e=Tc(e))&&b.push(d+":"+e)}a="["+b.join(",")+"]"}else if(typeof a=="function")a="";else if(a instanceof Object){d=Object.keys(a);d.sort();b=[];for(c of d)d=JSON.stringify(c),e=a[c],e!==void 0&&(e=Tc(e))&&b.push(d+":"+e);a="{"+b.join(",")+"}"}else a=JSON.stringify(a);return a}var Uc=class{};w("shaka.util.ObjectUtils",Uc);Uc.alphabeticalKeyOrderStringify=Tc;Uc.shallowCloneObject=Sc;
Uc.cloneObject=Rc;/*
@license
tXml
Copyright 2015 Tobias Nickel
SPDX-License-Identifier: MIT
*/
function Vc(a,b){a=lb(a);return Wc(a,b,!1)}function Wc(a,b,c=!1){a=Xc(a,c);if(!b&&a.length)return a[0];const d=b.split(",");return(b=a.find(e=>d.includes(e.tagName)))?b:null}
function Xc(a,b){function c(f,g=!1){const h=[];for(;a[e];)if(a.charCodeAt(e)==60){if(a.charCodeAt(e+1)===47){g=e+2;e=a.indexOf(">",e);g=a.substring(g,e);var k=g.indexOf(f);if(k==-1){var l=f.indexOf(".");l>0&&(k=g.indexOf(f.substring(0,l)))}if(k==-1)throw f=a.substring(0,e).split("\n"),Error("Unexpected close tag\nLine: "+(f.length-1)+"\nColumn: "+(f[f.length-1].length+1)+"\nChar: "+a[e]);e+1&&(e+=1);break}else if(a.charCodeAt(e+1)===33){if(a.charCodeAt(e+2)==45){for(;e!==-1&&(a.charCodeAt(e)!==62||
a.charCodeAt(e-1)!=45||a.charCodeAt(e-2)!=45||e==-1);)e=a.indexOf(">",e+1);e===-1&&(e=a.length)}else if(a.charCodeAt(e+2)===91&&a.charCodeAt(e+8)===91&&a.substr(e+3,5).toLowerCase()==="cdata"){k=a.indexOf("]]\x3e",e);k==-1?(h.push(a.substr(e+9)),e=a.length):(h.push(a.substring(e+9,k)),e=k+3);continue}e++;continue}a:{l=g;e++;var m=d(),n={};for(k=[];a.charCodeAt(e)!==62&&a[e];){var p=a.charCodeAt(e);if(p>64&&p<91||p>96&&p<123){p=d();for(var q=a.charCodeAt(e);q&&q!==39&&q!==34&&!(q>64&&q<91||q>96&&q<
123)&&q!==62;)e++,q=a.charCodeAt(e);var r=e+1;e=a.indexOf(a[e],r);r=(" "+a.slice(r,e)).slice(1);if(q===39||q===34){if(e===-1){l={tagName:m,attributes:n,children:k,parent:null};if(b)for(m=0;m<k.length;m++)typeof k[m]!=="string"&&(k[m].parent=l);k=l;break a}}else r=null,e--;if(p.startsWith("xmlns:")){q=r;var t=p.split(":")[1];Yc.set(q,t);Zc.set(t,q)}m==="tt"&&p==="xml:space"&&r==="preserve"&&(l=!0);n[p]=r}e++}a.charCodeAt(e-1)!==47?(e++,k=c(m,l)):e++;l={tagName:m,attributes:n,children:k,parent:null};
m=k.length;for(n=0;n<m;n++)p=k[n],typeof p!=="string"?b&&(p.parent=l):n==m-1&&p=="\n"&&k.pop();k=l}h.push(k);if(typeof k==="string")break;k.tagName[0]==="?"&&k.children&&(h.push(...k.children),k.children=[])}else k=e,e=a.indexOf("<",e)-1,e===-2&&(e=a.length),k=(" "+a.slice(k,e+1)).slice(1),g?k.length>0&&h.push(k):h.length&&k.length==1&&k[0]=="\n"?h.push(k):k.trim().length>0&&h.push(k),e++;return h}function d(){const f=e;for(;"\r\n\t>/= ".indexOf(a[e])===-1&&a[e];)e++;return(" "+a.slice(f,e)).slice(1)}
let e=0;return c("")}function $c(a){return Yc.has(a)?Yc.get(a):""}function ad(a){return typeof a==="string"}function bd(a){const b=[];if(!a.children)return[];for(const c of a.children)typeof c!=="string"&&b.push(c);return b}function cd(a,b){const c=[];if(!a.children)return[];for(const d of a.children)d.tagName===b&&c.push(d);return c}function dd(a){if(typeof a==="string")return ob(a);const b=[];for(const c of a.children)typeof c==="string"&&b.push(c);a=b.join("");return a===""?null:ob(a)}
function ed(a){for(const b of a.children)if(typeof b!=="string")return null;(a=dd(a))&&(a=a.trim());return a}function fd(a,b,c=[]){a.tagName===b&&c.push(a);if(a.children)for(const d of a.children)fd(d,b,c);return c}function gd(a,b){a=cd(a,b);return a.length!=1?null:a[0]}function hd(a,b,c){a=id(a,b,c);return a.length!=1?null:a[0]}function id(a,b,c){const d=$c(b);b=[];if(a.children){c=d?`${d}:${c}`:c;for(const e of a.children)e&&e.tagName===c&&b.push(e)}return b}
function jd(a,b,c,d=null){let e=null;a=a.attributes[b];a==null||a===""&&d!==null||(e=c(a));return e==null?d:e}function kd(a,b,c){b=$c(b);return a.attributes[`${b}:${c}`]||null}function ld(a,b,c){for(const d of b)if(b=kd(a,d,c))return b;return null}function md(a){if(!a)return null;/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(a)&&(a+="Z");a=Date.parse(a);return isNaN(a)?null:a/1E3}
function nd(a){if(!a)return null;a=RegExp("^P(?:([0-9]*)Y)?(?:([0-9]*)M)?(?:([0-9]*)D)?(?:T(?:([0-9]*)H)?(?:([0-9]*)M)?(?:([0-9.]*)S)?)?$","i").exec(a);if(!a)return null;a=31536E3*Number(a[1]||null)+2592E3*Number(a[2]||null)+86400*Number(a[3]||null)+3600*Number(a[4]||null)+60*Number(a[5]||null)+Number(a[6]||null);return isFinite(a)?a:null}
function od(a){var b=/([0-9]+)-([0-9]+)/.exec(a);if(!b)return null;a=Number(b[1]);if(!isFinite(a))return null;b=Number(b[2]);return isFinite(b)?{start:a,end:b}:null}function pd(a){a=Number(a);return a%1===0?a:null}function qd(a){a=Number(a);return a%1===0&&a>0?a:null}function rd(a){a=Number(a);return a%1===0&&a>=0?a:null}function sd(a){a=Number(a);return isNaN(a)?null:a}function td(a){return a?a.toLowerCase()==="true":!1}
function ud(a){let b,c;c=(b=a.match(/^(\d+)\/(\d+)$/))?Number(b[1])/Number(b[2]):Number(a);return isNaN(c)?null:c}
function vd(a){const b=[];a=ob(a).split(/\/+(?=(?:[^'"]*['"][^'"]*['"])*[^'"]*$)/);for(const c of a)if(a=c.match(/^([\w]+)/)){const d=c.match(/(@id='(.*?)')/),e=c.match(/(@t='(\d+)')/),f=c.match(/(@n='(\d+)')/),g=c.match(/\[(\d+)\]/);b.push({name:a[0],id:d?d[0].match(/'(.*?)'/)[0].replace(/'/gm,""):null,t:e?Number(e[0].match(/'(.*?)'/)[0].replace(/'/gm,"")):null,n:f?Number(f[0].match(/'(.*?)'/)[0].replace(/'/gm,"")):null,position:g?Number(g[1])-1:null,Ec:c.split("/@")[1]||null})}else c.startsWith("@")&&
b.length&&(b[b.length-1].Ec=c.slice(1));return b}function wd(a,b){var c=vd(b.attributes.sel||"");if(c.length){var d=c[c.length-1],e=b.attributes.pos||null;c=d.position;c==null&&(d.t!==null&&(c=xd(a,"t",d.t)),d.n!==null&&(c=xd(a,"n",d.n)));c===null?c=e==="prepend"?0:a.length:e==="prepend"?--c:e==="after"&&++c;e=b.tagName;(d=d.Ec)&&a[c]?yd(a[c],e,d,ed(b)||""):(e!=="remove"&&e!=="replace"||a.splice(c,1),e!=="add"&&e!=="replace"||a.splice(c,0,...b.children))}}
function xd(a,b,c){let d=0;for(const e of a){if(Number(e.attributes[b])===c)return d;d++}return null}function yd(a,b,c,d){if(b==="remove")delete a.attributes[c];else if(b==="add"||b==="replace")a.attributes[c]=d}function zd(a){if(!a)return null;const b={tagName:a.tagName,attributes:Sc(a.attributes),children:[],parent:null};for(const c of a.children)typeof c==="string"?b.children.push(c):(a=zd(c),a.parent=b,b.children.push(a));return b}var Yc=new Map,Zc=new Map;function Ad(a,b){a=new Bd(a,b,"");a.lineBreak=!0;return a}function Cd(a,b){if(a.payload!=b.payload||!(Math.abs(a.startTime-b.startTime)<.001&&Math.abs(a.endTime-b.endTime)<.001))return!1;for(const c in a)if(c!="startTime"&&c!="endTime"&&c!="payload")if(c=="nestedCues"){if(!ic(a.nestedCues,b.nestedCues,Cd))return!1}else if(c=="region"||c=="cellResolution")for(const d in a[c]){if(a[c][d]!=b[c][d])return!1}else if(Array.isArray(a[c])){if(!ic(a[c],b[c]))return!1}else if(a[c]!=b[c])return!1;return!0}
function Dd(a,b=new Map){var c=a.payload;if(c.includes("<")){b.size===0&&Ed(b);var d=c;c=[];var e=-1;for(var f=0;f<d.length;f++)d[f]==="<"?e=f+1:d[f]===">"&&e>0&&(e=d.substr(e,f-e),e.match(Fd)&&c.push(e),e=-1);for(var g of c)d=d.replace("<"+g+">",'<div time="'+g+'">'),d+="</div>";c=d;a:{d=c;f=[];e=-1;g="";c=!1;for(let m=0;m<d.length;m++)if(d[m]==="/"){var h=d.indexOf(">",m);if(h===-1){c=d;break a}h=d.substring(m+1,h);if(!h||h!="v"){g+=d[m];continue}c=!0;let n=null;f.length&&(n=f[f.length-1]);if(n){if(n===
h)g+="/"+h+">";else{if(!n.startsWith("v")){g+=d[m];continue}g+="/"+n+">"}m+=h.length+1}else g+=d[m]}else d[m]==="<"?(e=m+1,d[e]!="v"&&(e=-1)):d[m]===">"&&e>0&&(f.push(d.substr(e,m-e)),e=-1),g+=d[m];for(var k of f)d=k.replace(" ",".voice-"),g=g.replace(`<${k}>`,`<${d}>`),g=g.replace(`</${k}>`,`</${d}>`),c||(g+=`</${d}>`);c=g}c=Gd(c);a.payload="";k="<span>"+c.replace(/\n/g,"<br />")+"</span>";try{var l=Wc(k,"span")}catch(m){}if(l)if(l=l.children,l.length!=1||l[0].tagName)for(const m of l)Hd(m,a,b);
else a.payload=ob(c);else a.payload=ob(c)}else a.payload=ob(c)}function Ed(a){for(const [c,d]of Object.entries(Id)){var b=new Bd(0,0,"");b.color=d;a.set("."+c,b)}for(const [c,d]of Object.entries(Jd))b=new Bd(0,0,""),b.backgroundColor=d,a.set("."+c,b)}function Gd(a){const b={"< ":""," >":" >"},c=/(< +>|<\s|\s>)/g,d=RegExp(c.source);return a&&d.test(a)?a.replace(c,e=>b[e]||""):a||""}
function Hd(a,b,c){var d=b.clone();d.nestedCues=[];d.payload="";d.rubyTag="";d.line=null;d.region=new Jc;d.position=null;d.size=0;d.textAlign=Kd;if(a.tagName){var e=a.tagName.split(/(?=[ .])+/g);for(var f of e){var g=f;g.startsWith(".voice-")&&(e=g.split("-").pop(),g=`v[voice="${e}"]`,c.has(g)||(g=`v[voice=${e}]`));c.has(g)&&(e=d,g=c.get(g))&&(e.backgroundColor=Ld(g.backgroundColor,e.backgroundColor),e.color=Ld(g.color,e.color),e.fontFamily=Ld(g.fontFamily,e.fontFamily),e.fontSize=Ld(g.fontSize,e.fontSize),
e.textShadow=Ld(g.textShadow,e.textShadow),e.fontWeight=g.fontWeight,e.fontStyle=g.fontStyle,e.opacity=g.opacity,e.rubyTag=g.rubyTag,e.textCombineUpright=g.textCombineUpright,e.wrapLine=g.wrapLine);switch(f){case "br":d=Ad(d.startTime,d.endTime);b.nestedCues.push(d);return;case "b":d.fontWeight=Md;break;case "i":d.fontStyle=Nd;break;case "u":d.textDecoration.push(Od);break;case "font":if(e=a.attributes.color)d.color=e;break;case "div":e=a.attributes.time;if(!e)break;if(e=Kc(e))d.startTime=e;break;
case "ruby":case "rp":case "rt":d.rubyTag=f}}}f=a.children;if(ad(a)||f.length==1&&ad(f[0])){a=dd(a).split("\n");c=!0;for(const h of a)c||(a=Ad(d.startTime,d.endTime),b.nestedCues.push(a)),h.length>0&&(a=d.clone(),a.payload=ob(h),b.nestedCues.push(a)),c=!1}else{b.nestedCues.push(d);for(const h of f)Hd(h,d,c)}}function Ld(a,b){return a&&a.length>0?a:b}
var Bd=class{constructor(a,b,c){this.startTime=a;this.endTime=b;this.payload=c;this.region=new Jc;this.position=null;this.positionAlign=Pd;this.size=0;this.textAlign=Kd;this.direction=Qd;this.writingMode=Rd;this.lineInterpretation=Sd;this.line=null;this.lineHeight="";this.lineAlign=Td;this.displayAlign=Ud;this.fontSize=this.border=this.backgroundImage=this.backgroundColor=this.color="";this.fontWeight=Vd;this.fontStyle=Wd;this.linePadding=this.letterSpacing=this.fontFamily="";this.opacity=1;this.textCombineUpright=
"";this.textDecoration=[];this.textStrokeWidth=this.textStrokeColor=this.textShadow="";this.wrapLine=!0;this.id="";this.nestedCues=[];this.lineBreak=this.isContainer=!1;this.rubyTag=null;this.cellResolution={columns:32,rows:15}}clone(){const a=new Bd(0,0,""),b=c=>{if(c===null||typeof c!=="object")return c;if(Array.isArray(c))return c.map(b);const d={};for(const e in c)d[e]=b(c[e]);return d};for(const c in this)a[c]=b(this[c]);return a}};w("shaka.text.Cue",Bd);Bd.parseCuePayload=Dd;Bd.equal=Cd;
Bd.prototype.clone=Bd.prototype.clone;var Pd="auto";Bd.positionAlign={LEFT:"line-left",RIGHT:"line-right",CENTER:"center",AUTO:Pd};var Kd="center",Xd={LEFT:"left",RIGHT:"right",CENTER:Kd,START:"start",END:"end"};Bd.textAlign=Xd;var Ud="after",Yd={BEFORE:"before",CENTER:"center",AFTER:Ud};Bd.displayAlign=Yd;var Qd="ltr";Bd.direction={HORIZONTAL_LEFT_TO_RIGHT:Qd,HORIZONTAL_RIGHT_TO_LEFT:"rtl"};var Rd="horizontal-tb";Bd.writingMode={HORIZONTAL_TOP_TO_BOTTOM:Rd,VERTICAL_LEFT_TO_RIGHT:"vertical-lr",VERTICAL_RIGHT_TO_LEFT:"vertical-rl"};
var Sd=0;Bd.lineInterpretation={LINE_NUMBER:Sd,PERCENTAGE:1};var Td="start",Zd={CENTER:"center",START:Td,END:"end"};Bd.lineAlign=Zd;var Id={white:"white",lime:"lime",cyan:"cyan",red:"red",yellow:"yellow",magenta:"magenta",blue:"blue",black:"black"};Bd.defaultTextColor=Id;var Jd={bg_white:"white",bg_lime:"lime",bg_cyan:"cyan",bg_red:"red",bg_yellow:"yellow",bg_magenta:"magenta",bg_blue:"blue",bg_black:"black"};Bd.defaultTextBackgroundColor=Jd;var Vd=400,Md=700;Bd.fontWeight={NORMAL:Vd,BOLD:Md};
var Wd="normal",Nd="italic",$d={NORMAL:Wd,ITALIC:Nd,OBLIQUE:"oblique"};Bd.fontStyle=$d;var Od="underline";Bd.textDecoration={UNDERLINE:Od,LINE_THROUGH:"lineThrough",OVERLINE:"overline"};var Fd=/(?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{2,3})/g;function ae(a,b,c){be.set(a.toLowerCase().split(";")[0]+"-"+c,{priority:c,lf:b})}function ce(a,b){const c=a.toLowerCase().split(";")[0];var d=[de,ee,fe,ge];for(const e of d)if(d=be.get(c+"-"+e)){const f=d.lf(),g=f.isSupported(a,b);f.destroy();if(g)return d.lf}return null}var he=class{destroy(){}};w("shaka.transmuxer.TransmuxerEngine",he);he.findTransmuxer=ce;he.unregisterTransmuxer=function(a,b){be.delete(a.toLowerCase().split(";")[0]+"-"+b)};he.registerTransmuxer=ae;he.prototype.destroy=he.prototype.destroy;
var be=new Map,ge=1,fe=2,ee=3,de=4;he.PluginPriority={FALLBACK:ge,PREFERRED_SECONDARY:fe,PREFERRED:ee,APPLICATION:de};function ie(a,b){let c=a;b&&!je.includes(a)&&(c+='; codecs="'+b+'"');return c}function ke(a,b){b&&(a+='; codecs="'+b+'"');return a}function le(a,b,c){const d=ie(a,b);b=ke(a,b);ce(b)?(a=ce(b))?(a=a(),c=a.convertCodecs(c,b),a.destroy()):c=b:c=a!="video/mp2t"&&c=="audio"?d.replace("video","audio"):d;return c}function me(a){return a.split(";")[0].split("/")[1]}
function ne(a){var b=oe(a);a=b[0].toLowerCase();b=b[1].toLowerCase();switch(!0){case a==="mp4a"&&b==="69":case a==="mp4a"&&b==="6b":case a==="mp4a"&&b==="40.34":return"mp3";case a==="mp4a"&&b==="66":case a==="mp4a"&&b==="67":case a==="mp4a"&&b==="68":case a==="mp4a"&&b==="40.2":case a==="mp4a"&&b==="40.02":case a==="mp4a"&&b==="40.5":case a==="mp4a"&&b==="40.05":case a==="mp4a"&&b==="40.29":case a==="mp4a"&&b==="40.42":return"aac";case a==="mp4a"&&b==="a5":case a==="ac3":case a==="ac-3":return"ac-3";
case a==="mp4a"&&b==="a6":case a==="eac3":case a==="ec-3":return"ec-3";case a==="ac-4":return"ac-4";case a==="mp4a"&&b==="b2":return"dtsx";case a==="mp4a"&&b==="a9":return"dtsc";case a==="vp09":case a==="vp9":return"vp9";case a==="avc1":case a==="avc3":return"avc";case a==="hvc1":case a==="hev1":return"hevc";case a==="vvc1":case a==="vvi1":return"vvc";case a==="dvh1":case a==="dvhe":return b&&b.startsWith("05")?"dovi-p5":"dovi-hevc";case a==="dvav":case a==="dva1":return"dovi-avc";case a==="dav1":return"dovi-av1";
case a==="dvc1":case a==="dvi1":return"dovi-vvc";case a==="lvc1":return"lcevc"}return a}function oe(a){a=a.split(".");const b=a[0];a.shift();return[b,a.join(".")]}function pe(a){const b=[];for(const c of a.split(","))a=oe(c),b.push(a[0]);return b.sort().join(",")}function qe(a){return a.split(";")[0]}function re(a){a=a.split(/ *; */);a.shift();return(a=a.find(b=>b.startsWith("codecs=")))?a.split("=")[1].replace(/^"|"$/g,""):""}
function se(a){return a==="application/x-mpegurl"||a==="application/vnd.apple.mpegurl"}var te=class{};w("shaka.util.MimeUtils",te);te.getFullTypeWithAllCodecs=ke;te.getFullType=ie;(new Map).set("codecs","codecs").set("frameRate","framerate").set("bandwidth","bitrate").set("width","width").set("height","height").set("channelsCount","channels");var je=["audio/aac","audio/ac3","audio/ec3","audio/mpeg"];function ue(a,b){ve.set(a,b)}function we(a){return ve.get(a)}function xe(a){return ve.has(a)?!0:a=="application/cea-608"||