shaka-player
Version:
DASH/EME video player library
134 lines (133 loc) • 873 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,ca=this||self;function w(a,b){a=a.split(".");var c=ca;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 da(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 ea={Ok:"abrstatuschanged",Pk:"adaptation",Qk:"audiotrackchanged",Rk:"audiotrackschanged",Sk:"boundarycrossed",Uk:"buffering",Tk:"bufferappending",Wk:"canupdatestarttime",Xk:"complete",Yk:"configurationchanged",Zk:"currentitemchanged",$k:"downloadcompleted",al:"downloadfailed",cl:"downloadheadersreceived",fl:"drmsessionupdate",hl:"emsg",rl:"itemsinserted",ul:"itemsremoved",Jl:"prft",Error:"error",il:"expirationupdated",jl:"firstquartile",kl:"gapjumped",vl:"keystatuschanged",yl:"loaded",zl:"loading",
Bl:"manifestparsed",Cl:"manifestupdated",Dl:"mediaqualitychanged",El:"mediasourcerecovered",Fl:"metadataadded",Metadata:"metadata",Gl:"midpoint",Hl:"nospatialvideoinfo",Il:"onstatechange",Kl:"programinformation",Ll:"ratechange",Ol:"segmentappended",Pl:"sessiondata",Ql:"spatialvideoinfo",Rl:"stalldetected",Sl:"started",Tl:"statechanged",Ul:"streaming",Vl:"textchanged",Wl:"thirdquartile",Xl:"timelineregionadded",Yl:"timelineregionenter",Zl:"timelineregionexit",$l:"trackschanged",bm:"unloading",gm:"variantchanged"};function fa(){}function ha(){}function ja(a,...b){la.has(a)||(la.add(a),ha(...b))}function ma(){}function na(){}function oa(){}var la=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)),ha=(...a)=>{console.warn(...a)},fa=(...a)=>{console.error(...a)});var pa=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 qa=class{constructor(){this.ab=new pa;this.ee=this}addEventListener(a,b){this.ab&&this.ab.push(a,b)}removeEventListener(a,b){this.ab&&this.ab.remove(a,b)}dispatchEvent(a){if(!this.ab)return!0;let b=this.ab.get(a.type)||[];const c=this.ab.get("All");c&&(b=b.concat(c));for(const d of b){a.target=this.ee;a.currentTarget=this.ee;try{d.handleEvent?d.handleEvent(a):d.call(this,a)}catch(e){}if(a.g)break}return a.defaultPrevented}release(){this.ab=null}};function ra(a,b){const c=[];for(const d of a)c.push(b(d));return c}function sa(a,b){for(const c of a)if(!b(c))return!1;return!0}function ta(a,b){for(const c of a)if(b(c))return!0;return!1}function ua(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 va=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");/*
@license
Copyright 2006 The Closure Library Authors
SPDX-License-Identifier: Apache-2.0
*/
function wa(a){var b;a instanceof wa?(xa(this,a.kc),this.Zc=a.Zc,za(this,a.Jb),Aa(this,a.yd),this.hc=a.hc,Ba(this,a.g.clone()),this.Qc=a.Qc):a&&(b=String(a).match(va))?(xa(this,b[1]||"",!0),this.Zc=Ca(b[2]||""),za(this,b[3]||"",!0),Aa(this,b[4]),this.hc=Ca(b[5]||"",!0),Ba(this,b[6]||"",!0),this.Qc=Ca(b[7]||"")):this.g=new Da(null)}aa=wa.prototype;aa.kc="";aa.Zc="";aa.Jb="";aa.yd=null;aa.hc="";aa.Qc="";
aa.toString=function(){var a=[],b=this.kc;b&&a.push(Ea(b,Fa,!0),":");if(b=this.Jb){a.push("//");var c=this.Zc;c&&a.push(Ea(c,Fa,!0),"@");a.push(encodeURIComponent(b).replace(/%25([0-9a-fA-F]{2})/g,"%$1"));b=this.yd;b!=null&&a.push(":",String(b))}if(b=this.hc)this.Jb&&b.charAt(0)!="/"&&a.push("/"),a.push(Ea(b,b.charAt(0)=="/"?Ga:Ha,!0));(b=this.g.toString())&&a.push("?",b);(b=this.Qc)&&a.push("#",Ea(b,Ia));return a.join("")};
aa.resolve=function(a){var b=this.clone();b.kc==="data"&&(b=new wa);var c=!!a.kc;c?xa(b,a.kc):c=!!a.Zc;c?b.Zc=a.Zc:c=!!a.Jb;c?za(b,a.Jb):c=a.yd!=null;var d=a.hc;if(c)Aa(b,a.yd);else if(c=!!a.hc){if(d.charAt(0)!="/")if(this.Jb&&!this.hc)d="/"+d;else{var e=b.hc.lastIndexOf("/");e!=-1&&(d=b.hc.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.hc=d:c=a.g.toString()!=="";c?Ba(b,a.g.clone()):c=!!a.Qc;c&&(b.Qc=a.Qc);return b};aa.clone=function(){return new wa(this)};function xa(a,b,c){a.kc=c?Ca(b,!0):b;a.kc&&(a.kc=a.kc.replace(/:$/,""))}function za(a,b,c){a.Jb=c?Ca(b,!0):b}function Aa(a,b){if(b){b=Number(b);if(isNaN(b)||b<0)throw Error("Bad port number "+b);a.yd=b}else a.yd=null}
function Ba(a,b,c){b instanceof Da?a.g=b:(c||(b=Ea(b,Ja)),a.g=new Da(b))}function Ca(a,b){return a?b?decodeURI(a):decodeURIComponent(a):""}function Ea(a,b,c){return a!=null?(a=encodeURI(a).replace(b,Ka),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function Ka(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var Fa=/[#\/\?@]/g,Ha=/[#\?:]/g,Ga=/[#\?]/g,Ja=/[#\?@]/g,Ia=/#/g;function Da(a){this.g=a||null}
function La(a){if(!a.ib&&(a.ib=new Map,a.Jd=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=Da.prototype;aa.ib=null;aa.Jd=null;aa.add=function(a,b){La(this);this.g=null;var c=this.ib.has(a)?this.ib.get(a):null;c||this.ib.set(a,c=[]);c.push(b);this.Jd++;return this};
aa.set=function(a,b){La(this);this.g=null;this.ib.has(a)?this.ib.set(a,[b]):this.add(a,b);return this};aa.get=function(a){La(this);return this.ib.get(a)||[]};aa.toString=function(){if(this.g)return this.g;if(!this.ib||!this.ib.size)return"";var a=[];for(const f of this.ib.keys())for(var b=encodeURIComponent(f),c=this.ib.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 Da;a.g=this.g;if(this.ib){var b=new Map;for(const [c,d]of this.ib)b.set(c,d.concat());a.ib=b;a.Jd=this.Jd}return a};function Ma(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 Na(a,b,c,Uint8Array)}function Oa(a){return ArrayBuffer.isView(a)?a.byteOffset==0&&a.byteLength==a.buffer.byteLength?a.buffer:(new Uint8Array(a)).buffer:a}
function Na(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 Pa(a,b=0,c=Infinity){return Na(a,b,c,Uint16Array)}function Qa(a,b=0,c=Infinity){return Na(a,b,c,DataView)}var Ra=class{};w("shaka.util.BufferUtils",Ra);Ra.toDataView=Qa;Ra.toUint16=Pa;Ra.toUint8=E;
Ra.toArrayBuffer=Oa;Ra.equal=Ma;var Sa=class{constructor(a){this.h=a;this.g=void 0}value(){this.g===void 0&&(this.g=this.h());return this.g}};function Ta(a,b){if(a===b||!a.length||!b.length)return!0;for(const c of a){if(Ua(c))return!0;for(const d of b)if(c.keySystem===d.keySystem||Ua(d))return!0}return!1}function Ua(a){return(a=a.licenseServerUri)?a.startsWith("data:application/json;base64,"):!1}
function Va(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 Ua(e)?c.push(e):Ua(f)&&c.push(f);return c}function Wa(a){return a?a.keySystem:""}function Xa(a){return a==="org.w3.clearkey"}
function Ya(a){return a?!!a.match(/^com\.widevine\.alpha/):!1}function Za(a){return a?!!a.match(/^com\.(microsoft|chromecast)\.playready/):!1}function $a(a){return a?!!a.match(/^com\.apple\.fps/):!1}function ab(a,b,c,d){d=[...(new Set(d))].sort().join("#");return`${a}#${b}#${c}#${d}`}var bb=new Sa(()=>Oa(new Uint8Array([0]))),cb=new Map;function db(a){const b=a.code;let c=a.msExtendedCode;c&&(c<0&&(c+=4294967296),c=c.toString(16));return{code:b,Ti: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(eb)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 eb=!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 I(){return fb.value()}var gb=null,hb=null,fb=new Sa(()=>{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&&!I().W())return a=(new TextDecoder).decode(a),a.includes("\ufffd")&&fa('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=Qa(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&&!I().W()){var b=new TextEncoder;return Oa(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 Oa(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 Sa(()=>{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 tb(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 ub(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 vb(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 wb(...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=wb;yb.toHex=vb;
yb.fromHex=ub;yb.fromBase64=tb;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 wa(a[0]),e=new wa(b[0]);d=d.resolve(e);c&&Ba(d,c);return[d.toString()]}b=b.map(g=>new wa(g));const f=[];for(d of a){a=new wa(d);for(e of b){const g=a.resolve(e);c&&Ba(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&&$a(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(ub(h),!1));let l=g;l.length!=22&&(l=rb(ub(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==J?"":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 J="text",Gb={dm:"video",Mk:"audio",eh:J,ql:"image",Lk:"application",Vk:"chapter"},Hb=1/15,Eb=(new Map).set("audio",[/^vorbis$/,/^Opus$/,/^opus$/,/^fLaC$/,/^flac$/,/^mp4a/,/^[ae]c-3$/,/^ac-4/,/^dts[cehx]?$/,/^iamf/,/^mhm[12]/,/^ac3$/,/^eac3$/,/^apac$/]).set("video",[/^avc/,/^hev/,/^hvc/,/^vvc/,/^vvi/,/^vp0?[89]/,/^av01/,/^mp2v/,/^dvh/,/^dva/,/^dav/]).set("text",[/^vtt$/,/^wvtt/,/^stpp/]);function Ib(a,b){a=Jb(a);b=Jb(b);return a.split("-")[0]==b.split("-")[0]}function Kb(a,b){a=Jb(a);b=Jb(b);a=a.split("-");b=b.split("-");return a[0]==b[0]&&a.length==1&&b.length==2}function Lb(a,b){a=Jb(a);b=Jb(b);a=a.split("-");b=b.split("-");return a.length==2&&b.length==2&&a[0]==b[0]}function Jb(a){const [b="",c=""]=a.split("-x-"),[d="",e=""]=b.split("-");a=c?`${"x-"}${c}`:"";let f=d.toLowerCase();f=Nb.get(f)||f;const g=e.toUpperCase();return`${g?`${f}-${g}`:f}${a?`-${a}`:""}`}
function Ob(a,b){const c=Pb(a),d=Pb(b);return a!=c&&b!=d&&c==d}function Qb(a,b){a=Jb(a);b=Jb(b);return b==a?4:Kb(b,a)?3:Lb(b,a)?2:Kb(a,b)?1:0}function Pb(a){const b=a.indexOf("-");a=b>=0?a.substring(0,b):a;a=a.toLowerCase();return a=Nb.get(a)||a}function Rb(a){return a.language?Jb(a.language):a.audio&&a.audio.language?Jb(a.audio.language):a.video&&a.video.language?Jb(a.video.language):"und"}
function Sb(a,b){a=Jb(a);const c=new Set;for(const d of b)c.add(Jb(d));for(const d of c)if(d==a)return d;for(const d of c)if(Kb(d,a))return d;for(const d of c)if(Lb(d,a))return d;for(const d of c)if(Kb(a,d))return d;return null}var Tb=class{};w("shaka.util.LanguageUtils",Tb);Tb.findClosestLocale=Sb;Tb.getLocaleForVariant=Rb;Tb.getLocaleForText=function(a){return Jb(a.language||"und")};Tb.getBase=Pb;Tb.relatedness=Qb;Tb.areSiblings=Ob;Tb.normalize=Jb;Tb.isSiblingOf=Lb;Tb.isParentOf=Kb;
Tb.areLanguageCompatible=Ib;Tb.areLocaleCompatible=function(a,b){a=Jb(a);b=Jb(b);return a==b};
var Nb=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 Ub(a,b,c){for(const d of b)a.get(d)||c.add(d)}
function Vb(a){var b=a.h,c=a.j,d=a.g,e=new Set;for(const k of d){e.add(k);e.add(Pb(k));var f=ua(b.keys(),l=>Ob(l,k));f.sort();for(const l of f)e.add(l);f=ua(b.keys(),l=>Pb(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,Ub(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 Xb=class extends qa{constructor(a){super();this.j=Jb(a);this.i=new Map;this.g=new Set;this.h=new Map}release(){super.release()}nh(a){this.g.clear();for(const b of a)this.g.add(Jb(b));Vb(this);a=ua(this.g,b=>!this.h.has(b));a.length&&this.dispatchEvent(new C("unknown-locales",(new Map).set("locales",a)));a=ua(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=Jb(a);c===void 0&&(c=Wb);const d=this.h.getOrInsert(a,new Map);
b.forEach((e,f)=>{d.has(f)&&c!=Wb||d.set(f,e)});Vb(this);this.dispatchEvent(new C("locale-updated"));return this}pk(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""}ej(){return this.g}};w("shaka.ui.Localization",Xb);Xb.prototype.getCurrentLocales=Xb.prototype.ej;Xb.prototype.resolve=Xb.prototype.resolve;
Xb.prototype.resolveDictionary=Xb.prototype.pk;Xb.prototype.insert=Xb.prototype.Va;Xb.prototype.changeLocale=Xb.prototype.nh;Xb.prototype.release=Xb.prototype.release;var Wb=1;Xb.ConflictResolution={USE_OLD:0,USE_NEW:Wb};Xb.UNKNOWN_LOCALES="unknown-locales";Xb.UNKNOWN_LOCALIZATION="unknown-localization";Xb.MISSING_LOCALIZATIONS="missing-localizations";Xb.LOCALE_CHANGED="locale-changed";Xb.LOCALE_UPDATED="locale-updated";function Yb(a){return a.h/(1-Math.pow(a.g,a.j))}var Zb=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 $b=class{constructor(){this.h=new Zb(2);this.j=new Zb(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(Yb(this.h),Yb(this.j))}};function ac(a,b){return typeof a==="number"&&typeof b==="number"&&isNaN(a)&&isNaN(b)?!0:a===b}function bc(a,b){b=a.indexOf(b);b>-1&&a.splice(b,1)}function cc(a,b,c){c||=ac;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 dc(a,b){const c=[],d=[];for(const e of a)b(e)?c.push(e):d.push(e);return[c,d]}function ec(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 fc(a,b,c){if(a===b)return!0;if(!a||!b)return a==b;c||=ac;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 ic=class{constructor(){this.g=new pa}release(){this.Da();this.g=null}u(a,b,c,d){this.g&&(a=new hc(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)}Rj(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",ic);ic.prototype.removeAll=ic.prototype.Da;ic.prototype.unlisten=ic.prototype.Ca;ic.prototype.listenOnceMulti=ic.prototype.Rj;ic.prototype.listenMulti=ic.prototype.R;ic.prototype.listenOnce=ic.prototype.ha;ic.prototype.listen=ic.prototype.u;ic.prototype.release=ic.prototype.release;
function jc(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 kc(a)?b:b.capture||!1}function kc(a){let b=lc;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}lc=b}return b||!1}
var hc=class{constructor(a,b,c,d){this.target=a;this.type=b;this.listener=c;this.g=jc(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}},lc=void 0;function mc(a){return a&&typeof LCEVCdec!=="undefined"?a.codecs=="lvc1":!1}function nc(a,b,c,d){d.type!=="video"||a.j&&!mc(d)||a.g&&a.g.appendBuffer(b,"video",d.id,-c,!a.j)}function oc(a){a.g&&a.i.classList.add("shaka-hidden")}
var pc=class{constructor(a,b,c,d){this.g=null;this.l=a;this.i=b;this.m=c;this.j=d;typeof libDPIModule==="undefined"&&ha("Could not find LCEVC Library dependencies on this page");typeof LCEVCdec!=="undefined"?(this.h=LCEVCdec,typeof this.h.SupportObject==="undefined"?(ha("Could not find LCEVC Library on this page"),a=!1):(this.h.SupportObject.SupportStatus||ha(this.h.SupportObject.SupportError),a=typeof this.h!=="undefined"&&typeof libDPIModule!=="undefined"&&this.i instanceof HTMLCanvasElement&&this.h.SupportObject.SupportStatus)):
(ha("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",pc);pc.prototype.release=pc.prototype.release;function qc(a,b){rc.set(a,b)}function sc(){const a={};I();if(tc())for(var b of rc.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]=tc()?rc.has(c):uc(c);return a}function vc(a,b){if(b){const c=rc.get(b.toLowerCase());if(c)return c}throw new G(2,4,4E3,a,b);}var wc=class{};w("shaka.media.ManifestParser",wc);wc.unregisterParserByMime=function(a){rc.delete(a)};wc.registerParserByMime=qc;
wc.AccessibilityPurpose={fm:"visually impaired",ll:"hard of hearing",Nl:"spoken subtitles"};var rc=new Map;var xc=class{extract(){}decode(){return[]}clear(){}getStreams(){return[]}};var yc=class{init(){}parse(){return[]}};function zc(a){return Ac.get(a)}function Bc(a,b){Ac.set(a,b)}function Cc(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 Ec=class{constructor(a){this.h=new Map;this.i=0;this.j=new yc;if(a=zc(a.toLowerCase()))this.j=a();this.g=new xc;if(a=Dc)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=Dc)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",Ec);Ec.findDecoder=function(){return Dc};Ec.unregisterDecoder=function(){Dc=null};Ec.registerDecoder=function(a){Dc=a};Ec.findParser=zc;Ec.unregisterParser=function(a){Ac.delete(a)};Ec.registerParser=Bc;var Ac=new Map,Dc=null;var Hc=class{constructor(){this.id="";this.regionAnchorY=this.regionAnchorX=this.viewportAnchorY=this.viewportAnchorX=0;this.height=this.width=100;this.viewportAnchorUnits=this.widthUnits=this.heightUnits=Fc;this.scroll=Gc}};w("shaka.text.CueRegion",Hc);var Fc=1;Hc.units={PX:0,PERCENTAGE:Fc,LINES:2};var Gc="";Hc.scrollMode={NONE:Gc,UP:"up"};function Ic(a){return a?Jc(new Kc(a)):null}function Jc(a){a=Lc(a,Mc);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 Nc(a){return a.g==a.h.length?null:(a=Lc(a,/[^ \t\n]*/gm))?a[0]:null}function Lc(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 Oc(a){Lc(a,/[ \t]+/gm)}var Kc=class{constructor(a){this.h=a||"";this.g=0}},Mc=/(?:(\d{1,}):)?(\d{2}):(\d{2})((\.(\d{1,3})))?/g;function Pc(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 Qc(a){const b={};for(const c in a)b[c]=a[c];return b}
function Rc(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=Rc(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=Rc(e))&&b.push(d+":"+e);a="{"+b.join(",")+"}"}else a=JSON.stringify(a);return a}var Sc=class{};w("shaka.util.ObjectUtils",Sc);Sc.alphabeticalKeyOrderStringify=Rc;Sc.shallowCloneObject=Qc;
Sc.cloneObject=Pc;/*
@license
tXml
Copyright 2015 Tobias Nickel
SPDX-License-Identifier: MIT
*/
function Tc(a,b){a=lb(a);return Uc(a,b,!1)}function Uc(a,b,c=!1){a=Vc(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 Vc(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];Wc.set(q,t);Xc.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 Yc(a){return Wc.has(a)?Wc.get(a):""}function Zc(a){return typeof a==="string"}function $c(a){const b=[];if(!a.children)return[];for(const c of a.children)typeof c!=="string"&&b.push(c);return b}function ad(a,b){const c=[];if(!a.children)return[];for(const d of a.children)d.tagName===b&&c.push(d);return c}function bd(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 cd(a){for(const b of a.children)if(typeof b!=="string")return null;(a=bd(a))&&(a=a.trim());return a}function dd(a,b,c=[]){a.tagName===b&&c.push(a);if(a.children)for(const d of a.children)dd(d,b,c);return c}function ed(a,b){a=ad(a,b);return a.length!=1?null:a[0]}function fd(a,b,c){a=gd(a,b,c);return a.length!=1?null:a[0]}function gd(a,b,c){const d=Yc(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 hd(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 id(a,b,c){b=Yc(b);return a.attributes[`${b}:${c}`]||null}function jd(a,b,c){for(const d of b)if(b=id(a,d,c))return b;return null}function kd(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 ld(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 md(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 nd(a){a=Number(a);return a%1===0?a:null}function od(a){a=Number(a);return a%1===0&&a>0?a:null}function pd(a){a=Number(a);return a%1===0&&a>=0?a:null}function qd(a){a=Number(a);return isNaN(a)?null:a}function rd(a){return a?a.toLowerCase()==="true":!1}
function sd(a){let b,c;c=(b=a.match(/^(\d+)\/(\d+)$/))?Number(b[1])/Number(b[2]):Number(a);return isNaN(c)?null:c}
function td(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,Cc:c.split("/@")[1]||null})}else c.startsWith("@")&&
b.length&&(b[b.length-1].Cc=c.slice(1));return b}function ud(a,b){var c=td(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=vd(a,"t",d.t)),d.n!==null&&(c=vd(a,"n",d.n)));c===null?c=e==="prepend"?0:a.length:e==="prepend"?--c:e==="after"&&++c;e=b.tagName;(d=d.Cc)&&a[c]?wd(a[c],e,d,cd(b)||""):(e!=="remove"&&e!=="replace"||a.splice(c,1),e!=="add"&&e!=="replace"||a.splice(c,0,...b.children))}}
function vd(a,b,c){let d=0;for(const e of a){if(Number(e.attributes[b])===c)return d;d++}return null}function wd(a,b,c,d){if(b==="remove")delete a.attributes[c];else if(b==="add"||b==="replace")a.attributes[c]=d}function xd(a){if(!a)return null;const b={tagName:a.tagName,attributes:Qc(a.attributes),children:[],parent:null};for(const c of a.children)typeof c==="string"?b.children.push(c):(a=xd(c),a.parent=b,b.children.push(a));return b}var Wc=new Map,Xc=new Map;function yd(a,b){a=new zd(a,b,"");a.lineBreak=!0;return a}function Ad(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(!fc(a.nestedCues,b.nestedCues,Ad))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(!fc(a[c],b[c]))return!1}else if(a[c]!=b[c])return!1;return!0}
function Bd(a,b=new Map){var c=a.payload;if(c.includes("<")){b.size===0&&Cd(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(Dd)&&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=Ed(c);a.payload="";k="<span>"+c.replace(/\n/g,"<br />")+"</span>";try{var l=Uc(k,"span")}catch(m){}if(l)if(l=l.children,l.length!=1||l[0].tagName)for(const m of l)Fd(m,a,b);
else a.payload=ob(c);else a.payload=ob(c)}else a.payload=ob(c)}function Cd(a){for(const [c,d]of Object.entries(Gd)){var b=new zd(0,0,"");b.color=d;a.set("."+c,b)}for(const [c,d]of Object.entries(Hd))b=new zd(0,0,""),b.backgroundColor=d,a.set("."+c,b)}function Ed(a){const b={"< ":""," >":" >"},c=/(< +>|<\s|\s>)/g,d=RegExp(c.source);return a&&d.test(a)?a.replace(c,e=>b[e]||""):a||""}
function Fd(a,b,c){var d=b.clone();d.nestedCues=[];d.payload="";d.rubyTag="";d.line=null;d.region=new Hc;d.position=null;d.size=0;d.textAlign=Id;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=Jd(g.backgroundColor,e.backgroundColor),e.color=Jd(g.color,e.color),e.fontFamily=Jd(g.fontFamily,e.fontFamily),e.fontSize=Jd(g.fontSize,e.fontSize),
e.textShadow=Jd(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=yd(d.startTime,d.endTime);b.nestedCues.push(d);return;case "b":d.fontWeight=Kd;break;case "i":d.fontStyle=Ld;break;case "u":d.textDecoration.push(Md);break;case "font":if(e=a.attributes.color)d.color=e;break;case "div":e=a.attributes.time;if(!e)break;if(e=Ic(e))d.startTime=e;break;
case "ruby":case "rp":case "rt":d.rubyTag=f}}}f=a.children;if(Zc(a)||f.length==1&&Zc(f[0])){a=bd(a).split("\n");c=!0;for(const h of a)c||(a=yd(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)Fd(h,d,c)}}function Jd(a,b){return a&&a.length>0?a:b}
var zd=class{constructor(a,b,c){this.startTime=a;this.endTime=b;this.payload=c;this.region=new Hc;this.position=null;this.positionAlign=Nd;this.size=0;this.textAlign=Id;this.direction=Od;this.writingMode=Pd;this.lineInterpretation=Qd;this.line=null;this.lineHeight="";this.lineAlign=Rd;this.displayAlign=Sd;this.fontSize=this.border=this.backgroundImage=this.backgroundColor=this.color="";this.fontWeight=Td;this.fontStyle=Ud;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 zd(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",zd);zd.parseCuePayload=Bd;zd.equal=Ad;
zd.prototype.clone=zd.prototype.clone;var Nd="auto";zd.positionAlign={LEFT:"line-left",RIGHT:"line-right",CENTER:"center",AUTO:Nd};var Id="center",Vd={LEFT:"left",RIGHT:"right",CENTER:Id,START:"start",END:"end"};zd.textAlign=Vd;var Sd="after",Wd={BEFORE:"before",CENTER:"center",AFTER:Sd};zd.displayAlign=Wd;var Od="ltr";zd.direction={HORIZONTAL_LEFT_TO_RIGHT:Od,HORIZONTAL_RIGHT_TO_LEFT:"rtl"};var Pd="horizontal-tb";zd.writingMode={HORIZONTAL_TOP_TO_BOTTOM:Pd,VERTICAL_LEFT_TO_RIGHT:"vertical-lr",VERTICAL_RIGHT_TO_LEFT:"vertical-rl"};
var Qd=0;zd.lineInterpretation={LINE_NUMBER:Qd,PERCENTAGE:1};var Rd="start",Xd={CENTER:"center",START:Rd,END:"end"};zd.lineAlign=Xd;var Gd={white:"white",lime:"lime",cyan:"cyan",red:"red",yellow:"yellow",magenta:"magenta",blue:"blue",black:"black"};zd.defaultTextColor=Gd;var Hd={bg_white:"white",bg_lime:"lime",bg_cyan:"cyan",bg_red:"red",bg_yellow:"yellow",bg_magenta:"magenta",bg_blue:"blue",bg_black:"black"};zd.defaultTextBackgroundColor=Hd;var Td=400,Kd=700;zd.fontWeight={NORMAL:Td,BOLD:Kd};
var Ud="normal",Ld="italic",Yd={NORMAL:Ud,ITALIC:Ld,OBLIQUE:"oblique"};zd.fontStyle=Yd;var Md="underline";zd.textDecoration={UNDERLINE:Md,LINE_THROUGH:"lineThrough",OVERLINE:"overline"};var Dd=/(?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{2,3})/g;function Zd(a,b,c){$d.set(a.toLowerCase().split(";")[0]+"-"+c,{priority:c,Xe:b})}function ae(a,b){const c=a.toLowerCase().split(";")[0];var d=[be,ce,de,ee];for(const e of d)if(d=$d.get(c+"-"+e)){const f=d.Xe(),g=f.isSupported(a,b);f.destroy();if(g)return d.Xe}return null}var fe=class{destroy(){}};w("shaka.transmuxer.TransmuxerEngine",fe);fe.findTransmuxer=ae;fe.unregisterTransmuxer=function(a,b){$d.delete(a.toLowerCase().split(";")[0]+"-"+b)};fe.registerTransmuxer=Zd;fe.prototype.destroy=fe.prototype.destroy;
var $d=new Map,ee=1,de=2,ce=3,be=4;fe.PluginPriority={FALLBACK:ee,PREFERRED_SECONDARY:de,PREFERRED:ce,APPLICATION:be};function ge(a,b){let c=a;b&&!he.includes(a)&&(c+='; codecs="'+b+'"');return c}function ie(a,b){b&&(a+='; codecs="'+b+'"');return a}function je(a,b,c){const d=ge(a,b);b=ie(a,b);ae(b)?(a=ae(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 ke(a){return a.split(";")[0].split("/")[1]}
function le(a){var b=me(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 me(a){a=a.split(".");const b=a[0];a.shift();return[b,a.join(".")]}function ne(a){const b=[];for(const c of a.split(","))a=me(c),b.push(a[0]);return b.sort().join(",")}function oe(a){return a.split(";")[0]}function pe(a){a=a.split(/ *; */);a.shift();return(a=a.find(b=>b.startsWith("codecs=")))?a.split("=")[1].replace(/^"|"$/g,""):""}
function qe(a){return a==="application/x-mpegurl"||a==="application/vnd.apple.mpegurl"}var re=class{};w("shaka.util.MimeUtils",re);re.getFullTypeWithAllCodecs=ie;re.getFullType=ge;(new Map).set("codecs","codecs").set("frameRate","framerate").set("bandwidth","bitrate").set("width","width").set("height","height").set("channelsCount","channels");var he=["audio/aac","audio/ac3","audio/ec3","audio/mpeg"];function se(a,b){te.set(a,b)}function ue(a){return te.get(a)}function ve(a){return te.has(a)?!0:a=="application/cea-608"||a=="application/