@playkit-js/playkit-js-providers 2.41.0-canary.0-2452bbc → 2.41.0-canary.0-3d6d02a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/analytics-service/package.json +6 -0
  2. package/bookmark-service/package.json +6 -0
  3. package/dist/analytics-service.d.ts +160 -0
  4. package/dist/bookmark-service.d.ts +157 -0
  5. package/dist/ott-provider.d.ts +545 -0
  6. package/dist/{index.d.ts → ovp-provider.d.ts} +102 -120
  7. package/dist/playkit-analytics-service.js +1 -1
  8. package/dist/playkit-analytics-service.js.map +1 -1
  9. package/dist/playkit-bookmark-service.js +1 -1
  10. package/dist/playkit-bookmark-service.js.map +1 -1
  11. package/dist/playkit-ott-provider.js +1 -1
  12. package/dist/playkit-ott-provider.js.map +1 -1
  13. package/dist/playkit-ovp-provider.js +1 -1
  14. package/dist/playkit-ovp-provider.js.map +1 -1
  15. package/dist/playkit-stats-service.js +1 -1
  16. package/dist/playkit-stats-service.js.map +1 -1
  17. package/dist/stats-service.d.ts +159 -0
  18. package/dist/tsdoc-metadata.json +1 -1
  19. package/dist/types.d.ts +391 -0
  20. package/ott-provider/package.json +6 -0
  21. package/ovp-provider/package.json +6 -0
  22. package/package.json +29 -21
  23. package/src/entities/document-source.ts +31 -0
  24. package/src/entities/media-entry.ts +2 -1
  25. package/src/entities/media-sources.ts +6 -1
  26. package/src/k-provider/common/base-provider.ts +14 -3
  27. package/src/k-provider/ott/provider.ts +1 -0
  28. package/src/k-provider/ovp/loaders/media-entry-loader.ts +4 -4
  29. package/src/k-provider/ovp/provider-parser.ts +22 -2
  30. package/src/k-provider/ovp/provider.ts +9 -5
  31. package/src/k-provider/ovp/regex-action-handler.ts +51 -44
  32. package/src/k-provider/ovp/response-types/kaltura-media-entries.ts +1 -7
  33. package/src/k-provider/ovp/services/base-entry-service.ts +2 -2
  34. package/src/types/index.ts +0 -8
  35. package/src/types/media-config-sources.ts +2 -0
  36. package/src/types/media-sources.ts +2 -0
  37. package/src/types/provider-options.ts +1 -0
  38. package/stats-service/package.json +6 -0
  39. package/types/package.json +5 -0
  40. package/playkit-analytics-service/package.json +0 -5
  41. package/playkit-bookmark-service/package.json +0 -5
  42. package/playkit-ott-provider/package.json +0 -5
  43. package/playkit-ovp-provider/package.json +0 -5
  44. package/playkit-stats-service/package.json +0 -5
@@ -1,2 +1,2 @@
1
- !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var s=e();for(var r in s)("object"==typeof exports?exports:t)[r]=s[r]}}(globalThis,(()=>(()=>{"use strict";var t={d:(e,s)=>{for(var r in s)t.o(s,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:s[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{NAME:()=>ft,Provider:()=>_t,ProviderParser:()=>Y,RequestBuilder:()=>Z,ResponseTypes:()=>s,VERSION:()=>Rt});var s={};t.r(s),t.d(s,{BaseServiceResult:()=>d,KalturaAccessControlMessage:()=>A,KalturaAccessControlModifyRequestHostRegexAction:()=>m,KalturaBaseEntryListResponse:()=>p,KalturaBumper:()=>I,KalturaDrmPlaybackPluginData:()=>y,KalturaFlavorAsset:()=>_,KalturaMediaEntries:()=>f,KalturaMediaEntry:()=>h,KalturaMetadata:()=>R,KalturaMetadataListResponse:()=>T,KalturaPlaybackContext:()=>C,KalturaPlaybackSource:()=>E,KalturaPlaylist:()=>v,KalturaRuleAction:()=>g,KalturaUIConfResponse:()=>O,KalturaUserEntry:()=>P,KalturaUserEntryListResponse:()=>S});const r={get:()=>({VERSION:"",DEBUG:{value:"",name:""},ERROR:{value:"",name:""},INFO:{value:"",name:""},OFF:{value:"",name:""},TIME:{value:"",name:""},TRACE:{value:"",name:""},WARN:{value:"",name:""},createDefaultHandler:()=>{},debug:()=>{},enabledFor:()=>{},error:()=>{},get:()=>{},getLevel:()=>{},info:()=>{},log:()=>{},setHandler:()=>{},setLevel:()=>{},time:()=>{},timeEnd:()=>{},trace:()=>{},useDefaults:()=>{},warn:()=>{}})};let a={};function i(t){return r.get(t)}const o=i,n=t=>{let e;return Array.isArray(t)?(e=t.length>0?t.slice(0):[],e.forEach(((t,s)=>{("object"==typeof t||Array.isArray(t)&&t.length>0)&&(e[s]=n(t))}))):"object"==typeof t?(e=Object.assign({},t),Object.keys(e).forEach((t=>{("object"==typeof e[t]||Array.isArray(e[t])&&e[t].length>0)&&(e[t]=n(e[t]))}))):e=t,e},c={serviceUrl:"https://cdnapisec.kaltura.com/api_v3",cdnUrl:"https://cdnapisec.kaltura.com",serviceParams:{apiVersion:"3.3.0",format:1},useApiCaptions:!0,loadThumbnailWithKs:!1,replaceHostOnlyManifestUrls:!1};class l{static set(t){t&&Object.assign(c,t)}static get(){return n(c)}}class d{hasError=!1;constructor(t){"KalturaAPIException"===t.objectType?(this.hasError=!0,this.error=new u(t.code,t.message)):t.error&&"KalturaAPIException"===t.error.objectType?(this.hasError=!0,this.error=new u(t.error.code,t.error.message)):this.data=t}}class u{constructor(t,e){this.code=t,this.message=e}}class h{static EntryType={AUTOMATIC:{value:-1},EXTERNAL_MEDIA:{value:"externalMedia.externalMedia"},MEDIA_CLIP:{value:1},MIX:{value:2},PLAYLIST:{value:5},DATA:{value:6},LIVE_STREAM:{value:7},LIVE_CHANNEL:{value:8},DOCUMENT:{value:10}};static MediaType={VIDEO:{value:1},IMAGE:{value:2},AUDIO:{value:5},LIVE_STREAM_FLASH:{value:201},LIVE_STREAM_WINDOWS_MEDIA:{value:202},LIVE_STREAM_REAL_MEDIA:{value:203},LIVE_STREAM_QUICK_TIME:{value:204}};static EntryStatus={ERROR_IMPORTING:-2,ERROR_CONVERTING:-1,SCAN_FAILURE:"virusScan.ScanFailure",IMPORT:0,INFECTED:"virusScan.Infected",PRECONVERT:1,READY:2,DELETED:3,PENDING:4,MODERATE:5,BLOCKED:6,NO_CONTENT:7};static EntryModerationStatus={PENDING_MODERATION:1,APPROVED:2,REJECTED:3,FLAGGED_FOR_REVIEW:4,MODERATE:5,AUTO_APPROVED:6};constructor(t){this.id=t.id,this.referenceId=t.referenceId,this.externalSourceType=t.externalSourceType,this.name=t.name,this.description=t.description,this.dataUrl=t.dataUrl,this.type=t.type,this.entryType=t.mediaType,this.flavorParamsIds=t.flavorParamsIds,this.duration=t.duration,this.poster=t.thumbnailUrl,this.status=t.status,this.dvrStatus=t.dvrStatus,this.tags=t.tags,this.createdAt=t.createdAt,this.updatedAt=t.updatedAt,this.creatorId=t.creatorId,this.endDate=t.endDate,this.plays=t.plays,this.views=t.views,this.downloadUrl=t.downloadUrl}}class p extends d{constructor(t){super(t),this.hasError||(this.totalCount=t.totalCount,this.totalCount>0&&(this.entries=[],t.objects.map((t=>this.entries.push(new h(t))))))}}class g{static Type={DRM_POLICY:"drm.DRM_POLICY",BLOCK:1,PREVIEW:2,LIMIT_FLAVORS:3,ADD_TO_STORAGE:4,LIMIT_DELIVERY_PROFILES:5,SERVE_FROM_REMOTE_SERVER:6,REQUEST_HOST_REGEX:7,LIMIT_THUMBNAIL_CAPTURE:8};constructor(t){this.type=t.type}}class m extends g{constructor(t){super(t),this.pattern=t.pattern,this.replacement=t.replacement,this.replacmenServerNodeId=t.replacmenServerNodeId,this.checkAliveTimeoutMs=t.checkAliveTimeoutMs}}class y{static Scheme={"drm.PLAYREADY_CENC":"com.microsoft.playready","drm.WIDEVINE_CENC":"com.widevine.alpha","fairplay.FAIRPLAY":"com.apple.fairplay",WIDEVINE_CENC:"com.widevine.alpha",PLAYREADY_CENC:"com.microsoft.playready",FAIRPLAY:"com.apple.fairplay"};constructor(t){this.scheme=t.scheme,this.licenseURL=t.licenseURL,this.certificate=t.certificate}}class E{drm=[];constructor(t){this.format=t.format,this.deliveryProfileId=t.deliveryProfileId,this.url=t.url,this.protocols=t.protocols,this.flavorIds=t.flavorIds,t.drm&&t.drm.map((t=>this.drm.push(new y(t))))}hasDrmData(){return this.drm&&this.drm.length>0}hasFlavorIds(){return!!this.flavorIds&&this.flavorIds.length>0}getProtocol(t){let e="";if(this.protocols&&this.protocols.length>0)this.protocols.split(",").forEach((s=>{s===t&&(e=s)}));else if("http"===t)return t;return e}}class I{constructor(t){this.entryId=t.entryId,this.clickThroughUrl=t.url,this.sources=t.sources?t.sources.map((t=>new E(t))):[]}}class _{static Status={ERROR:-1,QUEUED:0,CONVERTING:1,READY:2,DELETED:3,NOT_APPLICABLE:4,TEMP:5,WAIT_FOR_CONVERT:6,IMPORTING:7,VALIDATING:8,EXPORTING:9};constructor(t){this.id=t.id,this.flavorParamsId=t.flavorParamsId,this.fileExt=t.fileExt,this.bitrate=t.bitrate,this.width=t.width,this.height=t.height,this.id=t.id,this.frameRate=t.frameRate,this.isOriginal=t.isOriginal,this.isWeb=t.isWeb,this.containerFormat=t.containerFormat,this.videoCodecId=t.videoCodecId,this.status=t.status,this.language=t.language,this.label=t.label}}class f extends d{constructor(t){super(t),this.hasError||(this.entries=[],t.map((t=>{const e=new h(t);e.type!==h.EntryType.DOCUMENT.value&&this.entries.push(e)})))}}class R{static ObjectType={AD_CUE_POINT:"adCuePointMetadata.AdCuePoint",ANNOTATION:"annotationMetadata.Annotation",CODE_CUE_POINT:"codeCuePointMetadata.CodeCuePoint",THUMB_CUE_POINT:"thumbCuePointMetadata.thumbCuePoint",ENTRY:1,CATEGORY:2,USER:3,PARTNER:4,DYNAMIC_OBJECT:5};static Status={VALID:1,INVALID:2,DELETED:3};constructor(t){this.id=t.id,this.metadataProfileId=t.metadataProfileId,this.metadataProfileVersion=t.metadataProfileVersion,this.metadataProfileId=t.metadataProfileId,this.metadataObjectType=t.metadataObjectType,this.objectId=t.objectId,this.version=t.version,this.created=new Date(0),this.created.setUTCSeconds(t.createdAt),this.updated=new Date(0),this.updated.setUTCSeconds(t.updatedAt),this.status=t.status,this.xml=t.xml}}class T extends d{constructor(t){super(t),this.hasError||(this.totalCount=t.totalCount,this.totalCount>0&&(this.metas=[],t.objects.map((t=>this.metas.push(new R(t))))))}}class A{constructor(t){this.message=t.message,this.code=t.code}}class C extends d{sources=[];actions=[];messages=[];flavorAssets=[];bumperData=[];constructor(t){if(super(t),!this.hasError){const e=t.messages;e&&e.map((t=>this.messages.push(new A(t))));const s=t.actions;s&&s.map((t=>{t.type===g.Type.REQUEST_HOST_REGEX?this.actions.push(new m(t)):this.actions.push(new g(t))}));const r=t.sources;r&&r.map((t=>this.sources.push(new E(t))));const a=t.flavorAssets;a&&a.map((t=>this.flavorAssets.push(new _(t))));const i=t.bumperData;i&&i.map((t=>this.bumperData.push(new I(t))))}}hasBlockAction(){return void 0!==this.getBlockAction()}getBlockAction(){return this.actions.find((t=>t.type===g.Type.BLOCK))}getErrorMessages(){return this.messages}getRequestHostRegexAction(){const t=this.actions.find((t=>t.type===g.Type.REQUEST_HOST_REGEX));if(t instanceof m)return t}}class v{constructor(t){this.id=t.id,this.name=t.name,this.description=t.description,this.poster=t.thumbnailUrl}}class O extends d{static Type={PLAYER:1,CONTRIBUTION_WIZARD:2,SIMPLE_EDITOR:3,ADVANCED_EDITOR:4,PLAYLIST:5,APP_STUDIO:6,KRECORD:7,PLAYER_V3:8,KMC_ACCOUNT:9,KMC_ANALYTICS:10,KMC_CONTENT:11,KMC_DASHBOARD:12,KMC_LOGIN:13,PLAYER_SL:14,CLIENTSIDE_ENCODER:15,KMC_GENERAL:16,KMC_ROLES_AND_PERMISSIONS:17,CLIPPER:18,KSR:19,KUPLOAD:20,WEBCASTING:21};static CreationMode={WIZARD:2,ADVANCED:3};constructor(t){super(t),this.hasError||(this.name=t.name,this.description=t.description,this.objTypeAsString=t.objTypeAsString,this.width=t.width,this.height=t.height,this.htmlParams=t.htmlParams,this.swfUrl=t.swfUrl,this.confFilePath=t.confFilePath,this.confFile=t.confFile,this.confFileFeatures=t.confFileFeatures,this.config=t.config,this.confVars=t.confVars,this.useCdn=t.useCdn,this.tags=t.tags,this.swfUrlVersion=t.swfUrlVersion,this.created=new Date(0),this.created.setUTCSeconds(t.createdAt),this.updated=new Date(0),this.updated.setUTCSeconds(t.updatedAt),this.html5Url=t.description,this.version=t.description,this.partnerTags=t.description,this.objType=t.description,this.creationMode=t.description)}}class P{constructor(t){this.playlistLastEntryId=t.playlistLastEntryId,this.entryId=t.entryId,this.id=t.id,this.userId=t.userId,this.partnerId=t.partnerId,this.status=t.status,this.createdAt=t.createdAt,this.updatedAt=t.updatedAt}}class S extends d{constructor(t){super(t),this.hasError||(this.totalCount=t.totalCount,this.entries=[],this.totalCount>0&&t.objects.map((t=>this.entries.push(new P(t)))))}}class w{static build(t){const e=l.get(),s=e.serviceUrl.substr(0,e.serviceUrl.lastIndexOf("/")),{partnerId:r,entryId:a,ks:i,uiConfId:o,format:n,protocol:c,extension:d,flavorIds:u}=t;if(!s||isNaN(Number.parseInt(r))||!a||!n||!c)return"";let h=s;return s.endsWith("/")||(h+="/"),h+="p/"+r+"/sp/"+r+"00/playManifest/entryId/"+a+"/protocol/"+c+"/format/"+n,u?h+="/flavorIds/"+u:o&&(h+="/uiConfId/"+o),""!==i&&(h+="/ks/"+i),""!==d&&(h+="/a."+d),o&&""!==u&&(h+="?uiConfId="+o),h}}class D{static xmlToJson(t){let e={};if(1===t.nodeType){if(t.attributes.length>0){e["@attributes"]={};for(let s=0;s<t.attributes.length;s++){const r=t.attributes.item(s);e["@attributes"][r.nodeName]=r.nodeValue}}}else 3===t.nodeType&&(e=t.nodeValue);if(t.hasChildNodes())for(let s=0;s<t.childNodes.length;s++){const r=t.childNodes.item(s),a=r.nodeName;if(void 0===e[a])e[a]=this.xmlToJson(r);else{if(void 0===e[a].push){const t=e[a];e[a]=[],e[a].push(t)}e[a].push(this.xmlToJson(r))}}return e}}const M={DASH:{name:"dash",mimeType:"application/dash+xml",pathExt:"mpd"},HLS:{name:"hls",mimeType:"application/x-mpegURL",pathExt:"m3u8"},WVM:{name:"wvm",mimeType:"video/wvm",pathExt:"wvm"},MP4:{name:"mp4",mimeType:"video/mp4",pathExt:"mp4"},MP3:{name:"mp3",mimeType:"audio/mpeg",pathExt:"mp3"}},L=new Map([["mpegdash",M.DASH],["applehttp",M.HLS],["url",M.MP4]]);function b(t){const e=L.get(t);return!!e&&e.name===M.MP4.name}class N{constructor(){this.progressive=[],this.dash=[],this.hls=[],this.image=[]}map(t,e){if(e)switch(e.name){case M.MP4.name:this.progressive.push(t);break;case M.DASH.name:this.dash.push(t);break;case M.HLS.name:this.hls.push(t)}}toJSON(){const t={progressive:[],dash:[],hls:[],image:[]};return this.progressive.forEach((e=>t.progressive.push(e.toJSON()))),this.hls.forEach((e=>t.hls.push(e.toJSON()))),this.dash.forEach((e=>t.dash.push(e.toJSON()))),t.image=this.image,t}}class U{static Type={VOD:"Vod",LIVE:"Live",IMAGE:"Image",AUDIO:"Audio",UNKNOWN:"Unknown"};static DvrStatus={ON:1,OFF:0};constructor(){this.metadata=new Map,this.sources=new N,this.type=U.Type.UNKNOWN}toJSON(){return{id:this.id,name:this.name,sources:this.sources.toJSON(),duration:this.duration,dvrStatus:this.dvrStatus,status:this.status,metadata:this.metadata,type:this.type,poster:this.poster,assetReferenceType:this.assetReferenceType,downloadUrl:this.downloadUrl}}}class k{constructor(t,e,s){this.licenseUrl=t,this.scheme=e,s&&(this.certificate=s)}toJSON(){const t={licenseUrl:this.licenseUrl,scheme:this.scheme};return this.certificate&&(t.certificate=this.certificate),t}}class x{toJSON(){const t={id:this.id,url:this.url,mimetype:this.mimetype};return this.bandwidth&&(t.bandwidth=this.bandwidth),this.width&&(t.width=this.width),this.height&&(t.height=this.height),this.label&&(t.label=this.label),this.drmData&&this.drmData.length>0&&(t.drmData=[],this.drmData.forEach((e=>{Array.isArray(t.drmData)&&t.drmData.push(e.toJSON())}))),t}}class V{constructor(){this.items=[]}}class j{constructor(){this.items=[]}}class F{constructor(t){this.url=t.url,this.clickThroughUrl=t.clickThroughUrl}}const q={SRT:"1",DFXP:"2",WEBVTT:"3",CAP:"4"},H={3:"vtt",1:"srt"};class B{static createConfig(t,e){return t.map((t=>{let s=t.url,r=H[t.format];return[q.DFXP,q.CAP].includes(t.format)&&(s=t.webVttUrl,r=H[q.WEBVTT]),s=G(s,e),{default:!!t.isDefault,type:r,language:t.languageCode,label:t.label,url:s}}))}}class K{constructor(t){this.id=t.id,this.url=K.extractBaseThumbnailUrl(t.dataUrl),this.mimetype=""}static extractBaseThumbnailUrl(t){return t.match(".+entry_id/[a-zA-Z0-9_]+/")[0].slice(0,-1)}}class W{static _logger=o("OVPProviderParser");static getMediaEntry(t,e,s,r){const a=new U,i=r.entry,o=r.playBackContextResult,n=r.metadataListResult,c=o.sources;return a.sources=W._getParsedSources(c,t,e,s,i,o),W._fillBaseData(a,i,n),a.type!==U.Type.LIVE&&l.get().useApiCaptions&&o.data.playbackCaptions&&(a.sources.captions=B.createConfig(o.data.playbackCaptions,t)),a}static addKsToUrl(t,e){let s;return e?(s=-1!==t.split("?")[0].replace(/^.*[\\/]/,"").indexOf(".")?-1===t.indexOf("?")?"?ks=":"&ks=":"/ks/",t+s+e):t}static getPlaylist(t){const e=new V,s=t.playlistData,r=t.playlistItems.entries,a=t.playlistUserEntries.entries;return e.id=s.id,e.name=s.name,e.description=s.description,e.poster=s.poster,e.playlistLastEntryId=a.map((t=>t.playlistLastEntryId))[0],r.forEach((t=>{const s=new U;W._fillBaseData(s,t),e.items.push(s)})),e}static getEntryList(t){const e=new j;return t.playlistItems.entries.forEach((t=>{const s=new U;W._fillBaseData(s,t),e.items.push(s)})),e}static getBumper(t,e,s){const r=t.playBackContextResult,a=r.bumperData[0];if(a){const t=(a&&a.sources).find((t=>b(t.format)));if(t){const i=W._parseProgressiveSources(t,r,e,s,0,a.entryId);if(i[0])return new F({url:i[0].url,clickThroughUrl:a.clickThroughUrl})}}}static _fillBaseData(t,e,s){return t.poster=e.poster,t.id=e.id,t.duration=e.duration,t.downloadUrl=e.downloadUrl||"",t.metadata=W._parseMetadata(s),t.metadata.description=e.description||"",t.metadata.entryId=e.id||"",t.metadata.name=e.name||"",e.createdAt&&(t.metadata.createdAt=e.createdAt),e.updatedAt&&(t.metadata.updatedAt=e.updatedAt),e.creatorId&&(t.metadata.creatorId=e.creatorId),e.endDate&&(t.metadata.endDate=e.endDate),e.views&&(t.metadata.views=e.views),e.plays&&(t.metadata.plays=e.plays),t.metadata.tags=e.tags||"",t.status=e.status,t.type=W._getEntryType(e.entryType,e.type),t.type===U.Type.LIVE&&(t.dvrStatus=e.dvrStatus),t}static _getEntryType(t,e){let s=U.Type.UNKNOWN;switch(t){case h.MediaType.IMAGE.value:s=U.Type.IMAGE;break;case h.MediaType.AUDIO.value:s=U.Type.AUDIO;break;default:switch(e){case h.EntryType.MEDIA_CLIP.value:s=U.Type.VOD;break;case h.EntryType.LIVE_STREAM.value:case h.EntryType.LIVE_CHANNEL.value:s=U.Type.LIVE;break;default:s=U.Type.UNKNOWN}}return s}static _getParsedSources(t,e,s,r,a,i){const o=new N;return a.type===h.EntryType.EXTERNAL_MEDIA.value?(()=>{const t=new x;t.mimetype="video/youtube",t.url=a.referenceId,t.id=a.id+"_youtube",o.progressive.push(t)})():a.entryType===h.MediaType.IMAGE.value?o.image.push(new K(a)):t&&t.length>0&&(t.filter((t=>!b(t.format))).forEach((t=>{const n=W._parseAdaptiveSource(t,i,e,s,r,a.id);if(n){const e=L.get(t.format);o.map(n,e)}})),(()=>{const n=t.find((t=>b(t.format)&&""!==t.getProtocol(W._getBaseProtocol())));o.progressive=W._parseProgressiveSources(n,i,e,s,r,a.id)})()),o}static _parseAdaptiveSource(t,e,s,r,a,i){const o=new x;if(t){let n="";const c=L.get(t.format),l=t.getProtocol(W._getBaseProtocol()),d=t.deliveryProfileId,u=t.format;let h="";if(c&&(h=c.pathExt,o.mimetype=c.mimeType),t.hasFlavorIds()?(!h&&e.flavorAssets&&e.flavorAssets.length>0&&(h=e.flavorAssets[0].fileExt),n=w.build({entryId:i,flavorIds:t.flavorIds,format:u,ks:s,partnerId:r,uiConfId:a,extension:h,protocol:l})):n=W.addKsToUrl(t.url,s),!n){const t=`failed to create play url from source, discarding source: (${i}_${d}), ${u}`;return W._logger.warn(t),null}if(o.url=n,o.id=i+"_"+d+","+u,t.hasDrmData()){const e=[];t.drm.forEach((t=>{e.push(new k(t.licenseURL,y.Scheme[t.scheme],t.certificate))})),o.drmData=e}}return o}static _parseProgressiveSources(t,e,s,r,a,i){const o=[],n=[];if(t){const c=t.getProtocol(W._getBaseProtocol()),l=t.format,d=t.deliveryProfileId,u=d+","+l;e.flavorAssets.map((t=>{const e=new x;e.id=t.id+u,e.mimetype="mp3"===t.fileExt?"audio/mp3":"video/mp4",e.height=t.height,e.width=t.width,e.bandwidth=1024*t.bitrate,e.label=t.label||t.language;const h=w.build({entryId:i,flavorIds:t.id,format:l,ks:s,partnerId:r,uiConfId:a,extension:t.fileExt,protocol:c});if(""===h)return W._logger.warn(`failed to create play url from source, discarding source: (${i}_${d}), ${l}.`),null;e.url=h,t.height&&t.width?o.push(e):n.push(e)}))}return n.length&&!o.length?n:o}static _parseMetadata(t){const e={};return t&&t.metas&&t.metas.length>0&&t.metas.forEach((t=>{if(t.xml){const s=new DOMParser;t.xml=t.xml.replace(/\r?\n|\r/g,""),t.xml=t.xml.replace(/>\s*/g,">"),t.xml=t.xml.replace(/>\s*/g,">");const r=s.parseFromString(t.xml,"text/xml"),a=D.xmlToJson(r);Object.keys(a.metadata).forEach((t=>{e[t]=a.metadata[t]["#text"]}))}})),e}static _getBaseProtocol(){const t=l.get(),e=/^https?:/.exec(t.cdnUrl),s=e?e[0]:document.location.protocol;return"string"==typeof s?s.slice(0,-1):"https"}static hasBlockAction(t){return t.playBackContextResult.hasBlockAction()}static getBlockAction(t){return t.playBackContextResult.getBlockAction()}static getErrorMessages(t){return t.playBackContextResult.getErrorMessages()}}const G=W.addKsToUrl,Y=W,J={RECOVERABLE:1,CRITICAL:2},$={UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002},X={NETWORK:1,SERVICE:2,PROVIDER:3};class Q{static Severity=J;static Category=X;static Code=$;static _logger=o("Error");constructor(t,e,s,r={}){this.severity=t,this.category=e,this.code=s,this.data=r,Q._logger.error(`Category:${e} | Code:${s} |`,r)}}class Z{retryConfig={async:!0,timeout:0,maxAttempts:4};_attemptCounter=1;constructor(t=new Map){this.headers=t}getUrl(t){return t+"/service/"+this.service+(this.action?"/action/"+this.action:"")}doHttpRequest(){const t=new Promise(((t,e)=>{this._requestPromise={resolve:t,reject:e}}));return this.url||this._requestPromise.reject(new Q(Q.Severity.CRITICAL,Q.Category.NETWORK,Q.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),t}_createXHR(){const t=new XMLHttpRequest;t.onreadystatechange=()=>{if(4===t.readyState&&200===t.status)try{const e=JSON.parse(t.responseText);return this.responseHeaders=this._getResponseHeaders(t),this._requestPromise.resolve(e)}catch(e){this._requestPromise.reject(this._createError(t,Q.Code.BAD_SERVER_RESPONSE,{text:t.responseText}))}},t.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(t.timeout=this.retryConfig.timeout);const e=performance.now();t.ontimeout=()=>{this._handleError(t,Q.Code.TIMEOUT,{timeout:(performance.now()-e)/1e3,statusText:t.statusText})},t.onerror=t.onabort=()=>{this._handleError(t,Q.Code.HTTP_ERROR,{text:t.responseText,statusText:t.statusText})},this.headers.forEach(((e,s)=>{t.setRequestHeader(s,e)})),t.send(this.params)}_getResponseHeaders(t){return t.getAllResponseHeaders().split("\n").filter((t=>0===t.toLowerCase().indexOf("x-")))}_handleError(t,e,s){const r=this._createError(t,e,s);if(t.onreadystatechange=function(){},t.onerror=function(){},t.ontimeout=function(){},t.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(r);this._attemptCounter++,this._createXHR()}_createError(t,e,s){return Object.assign(s,{url:this.url,headers:this._getResponseHeaders(t),attempt:this._attemptCounter}),new Q(Q.Severity.CRITICAL,Q.Category.NETWORK,e,s)}}class z extends Z{static _logger=o("MultiRequestBuilder");requests=[];add(t){this.requests.push(t);const e={},s={service:t.service,action:t.action};return Object.assign(e,{[this.requests.length]:Object.assign(s,t.params)}),Object.assign(e,this.params),this.params=e,this}execute(t){return new Promise(((e,s)=>{try{this.params=JSON.stringify(this.params)}catch(t){z._logger.error(`${t.message}`),s(new Q(Q.Severity.CRITICAL,Q.Category.PROVIDER,Q.Code.FAILED_PARSING_REQUEST,{error:t,params:this.params}))}this.doHttpRequest().then((r=>{const a=new tt(r,t);a.success?e({headers:this.responseHeaders,response:a}):s(new Q(Q.Severity.CRITICAL,Q.Category.NETWORK,Q.Code.MULTIREQUEST_API_ERROR,{url:this.url,headers:this.responseHeaders,results:a.results}))}),(t=>{s(t)}))}))}}class tt{static _logger=o("MultiRequestResult");results=[];constructor(t,e=!0){const s=t.result?t.result:t,r=(Array.isArray(s)?s:[s]).map((t=>new d(t))),a=r.filter((t=>t.hasError));a.forEach((t=>{tt._logger.error(`Service returned an error with error code: ${t.error.code} and message: ${t.error.message}.`)})),this.results=r,e&&a.length||a.length===this.results.length?this.success=!1:(this.results=this.results.filter((t=>!t.hasError)),this.success=!0)}}class et{static getMultiRequest(t,e,s){const r=l.get(),a=r.serviceParams;Object.assign(a,{ks:e,clientTag:"html5:v"+t}),s&&Object.assign(a,{partnerId:s});const i=new Map;i.set("Content-Type","application/json");const o=new z(i);return o.method="POST",o.service="multirequest",o.url=o.getUrl(r.serviceUrl),o.params=a,o}}const st={INCLUDE_FIELDS:1,EXCLUDE_FIELDS:2};class rt{static Type=st;constructor(t={}){this.type=t.type||rt.Type.INCLUDE_FIELDS,this.fields=t.fields||"id,referenceId,name,description,thumbnailUrl,dataUrl,duration,msDuration,flavorParamsIds,mediaType,type,tags,dvrStatus,externalSourceType,status,createdAt,updatedAt,endDate,plays,views,downloadUrl,creatorId"}}const at="baseEntry";class it extends et{static getPlaybackContext(t,e,s){const r=new Map;r.set("Content-Type","application/json");const a=new Z(r);return a.service=at,a.action="getPlaybackContext",a.method="POST",a.url=a.getUrl(t),a.tag="baseEntry-getPlaybackContext",a.params={entryId:s,ks:e,contextDataParams:{objectType:"KalturaContextDataParams",flavorTags:"all"}},a}static list(t,e,s,r,a){const i=new Map;i.set("Content-Type","application/json");const o=new Z(i);return o.service=at,o.action="list",o.method="POST",o.url=o.getUrl(t),o.tag="list",o.params=it.getEntryListReqParams(s,e,r,a),o}static getEntryListReqParams(t,e,s,r){let a={};return t?a=s?{redirectFromEntryId:t}:{idEqual:t}:r&&(a={objectType:"KalturaBaseEntryFilter",referenceIdEqual:r}),{ks:e,filter:a,responseProfile:new rt}}}class ot extends et{static list(t,e,s){const r=new Map;r.set("Content-Type","application/json");const a=new Z(r);a.service="metadata_metadata",a.action="list",a.method="POST",a.url=a.getUrl(t),a.tag="metadata_metadata-list";const i={objectType:"KalturaMetadataFilter",objectIdEqual:s,metadataObjectTypeEqual:"1"};return a.params={filter:i,ks:e},a}}class nt{_response={};static get id(){return"media"}constructor(t){this.requests=this.buildRequests(t),this._entryId=t.entryId,this._referenceId=t.referenceId}set requests(t){this._requests=t}get requests(){return this._requests}set response(t){const e=new p(t[0].data);this._response.entry=e.entries[0],this._response.playBackContextResult=new C(t[1].data),this._response.metadataListResult=new T(t[2].data)}get response(){return this._response}buildRequests(t){const e=l.get(),s=[];s.push(it.list(e.serviceUrl,t.ks,t.entryId,t.redirectFromEntryId,t.referenceId));const r="{1:result:ks}"===t.ks?"{2:result:objects:0:id}":"{1:result:objects:0:id}";return s.push(it.getPlaybackContext(e.serviceUrl,t.ks,r)),s.push(ot.list(e.serviceUrl,t.ks,r)),s}isValid(){return!(!this._entryId&&!this._referenceId)}}class ct extends et{static anonymousSession(t,e){const s=new Map;s.set("Content-Type","application/json");const r=new Z(s);return r.service="session",r.action="startWidgetSession",r.method="POST",r.url=r.getUrl(t),r.tag="session-startWidget",r.params={widgetId:e},r}}class lt{_response={};static get id(){return"session"}set requests(t){this._requests=t}get requests(){return this._requests}set response(t){this._response.ks=t[0].data.ks}get response(){return this._response.ks}constructor(t){this.requests=this.buildRequests(t),this._widgetId=t.widgetId}buildRequests(t){const e=l.get(),s=[];return s.push(ct.anonymousSession(e.serviceUrl,t.widgetId)),s}isValid(){return!!this._widgetId}}class dt{_loadersResponseMap=new Map;_loaders=new Map;constructor(t){this._networkRetryConfig=t}add(t,e,s){const r=new t(e);if(r.isValid()){this._loaders.set(t.id,r);const e=this._multiRequest.requests.length,a=r.requests;this._multiRequest.retryConfig=this._networkRetryConfig,a.forEach((t=>{t.params=t.params||{},t.params.ks=t.params.ks||s,this._multiRequest.add(t)}));const i=Array.from(new Array(a.length),((t,s)=>s+e));this._loadersResponseMap.set(t.id,i)}}fetchData(t){return new Promise(((e,s)=>{this._multiRequest.execute(t).then((t=>{this._multiResponse=t.response,this.prepareData(t.response).success?e(this._loaders):s(new Q(Q.Severity.CRITICAL,Q.Category.NETWORK,Q.Code.API_RESPONSE_MISMATCH,{headers:t.headers}))}),(t=>{s(t)}))}))}prepareData(t){return this._loaders.forEach(((e,s)=>{const r=this._loadersResponseMap.get(s);try{r&&r.length>0&&(e.response=t.results.slice(r[0],r[r.length-1]+1))}catch(t){return{success:!1,error:t}}})),{success:!0,data:this._loaders}}}class ut extends dt{constructor(t,e,s="",r){super(r),this._multiRequest=et.getMultiRequest(t,s,e)}}const ht="playlist";class pt extends et{static execute(t,e,s){const r=new Map;r.set("Content-Type","application/json");const a=new Z(r);return a.service=ht,a.action="execute",a.method="POST",a.url=a.getUrl(t),a.tag=`${ht}-execute`,a.params={ks:e,id:s,responseProfile:new rt},a}static get(t,e,s){const r=new Map;r.set("Content-Type","application/json");const a=new Z(r);return a.service=ht,a.action="get",a.method="POST",a.url=a.getUrl(t),a.tag=`${ht}-get`,a.params={ks:e,id:s,responseProfile:{fields:"id,name,description,thumbnailUrl",type:1}},a}static getLastEntryId(t,e,s){const r=new Map;r.set("Content-Type","application/json");const a=new Z(r);return a.service="userEntry",a.action="list",a.method="POST",a.url=a.getUrl(t),a.tag="userEntry-list",a.params={ks:e,filter:{objectType:"KalturaViewHistoryUserEntry",entryIdEqual:s,userIdEqualCurrent:1},responseProfile:{fields:"playlistLastEntryId",type:1}},a}}class gt{_response={};static get id(){return"playlist"}constructor(t){this.requests=this.buildRequests(t),this._playlistId=t.playlistId}set requests(t){this._requests=t}get requests(){return this._requests}set response(t){this._response.playlistData=new v(t[0].data),this._response.playlistItems=new f(t[1].data),this._response.playlistUserEntries=new S(t[2].data)}get response(){return this._response}buildRequests(t){const e=l.get(),s=[];return s.push(pt.get(e.serviceUrl,t.ks,t.playlistId)),s.push(pt.execute(e.serviceUrl,t.ks,t.playlistId)),s.push(pt.getLastEntryId(e.serviceUrl,t.ks,t.playlistId)),s}isValid(){return!!this._playlistId}}class mt{_networkRetryConfig={async:!0,timeout:0,maxAttempts:4};get partnerId(){return this._partnerId}get widgetId(){return this._widgetId||this.defaultWidgetId}get defaultWidgetId(){return"_"+this._partnerId}get uiConfId(){return this._uiConfId}get ks(){return this._ks}set ks(t){this._ks=t}get playerVersion(){return this._playerVersion}get isAnonymous(){return this._isAnonymous}constructor(t,e){!function(t){t&&"function"==typeof t.getLogger&&(r.get=t.getLogger),t&&t.LogLevel&&(a=t.LogLevel)}(t.logger),this._partnerId=t.partnerId,this._widgetId=t.widgetId,this._uiConfId=t.uiConfId,this._isAnonymous=!t.ks,this._ks=t.ks||"",this._playerVersion=e}getMediaConfig(t){return Promise.reject(new Q(Q.Severity.CRITICAL,Q.Category.PROVIDER,Q.Code.METHOD_NOT_IMPLEMENTED,{message:"getMediaConfig method must be implement by the derived class"}))}getPlaylistConfig(t){return Promise.reject(new Q(Q.Severity.CRITICAL,Q.Category.PROVIDER,Q.Code.METHOD_NOT_IMPLEMENTED,{message:"The provider does not support loading playlist by id"}))}getEntryListConfig(t){return Promise.reject(new Q(Q.Severity.CRITICAL,Q.Category.PROVIDER,Q.Code.METHOD_NOT_IMPLEMENTED,{message:"The provider does not support loading entry list"}))}_verifyHasSources(t){if(0===t.hls.concat(t.dash,t.progressive,t.image).length)throw new Q(Q.Severity.CRITICAL,Q.Category.SERVICE,Q.Code.MISSING_PLAY_SOURCE,{action:"",messages:`No play source for entry id: ${t.id}`})}get LogLevel(){return a}getLogLevel(t){return function(t){return i(t).getLevel()}(t)}setLogLevel(t,e){!function(t,e){i(e).setLevel(t)}(t,e)}}class yt{_response={playlistItems:{entries:[]}};static get id(){return"entry_list"}constructor(t){this.requests=this.buildRequests(t),this._entries=t.entries}set requests(t){this._requests=t}get requests(){return this._requests}set response(t){let e;t.forEach((t=>{e=new p(t.data),this._response.playlistItems.entries.push(e.entries[0])}))}get response(){return this._response}buildRequests(t){const e=l.get(),s=[];return t.entries.forEach((r=>{s.push(it.list(e.serviceUrl,t.ks,r.entryId||r,t.redirectFromEntryId,r.referenceId))})),s}isValid(){return!(!this._entries||!this._entries.length)}}class Et{static _logger=o("RegexActionHandler");static _applyRegexAction(t,e){if(t){const s=new RegExp(t.pattern,"i");if(e.match(s))return e.replace(s,t.replacement+"/")}return e}static async _isECDNUrlAlive(t,e){const s=e+"/api_v3/service/system/action/ping/format/1",r=new XMLHttpRequest;return r.open("GET",s),r.timeout=t.checkAliveTimeoutMs,r.onreadystatechange=()=>4===r.readyState&&200===r.status,r.ontimeout=()=>(Et._logger.warn(`Got timeout while pinging the ECDN url. the ping url: ${s}`),!1),r.send(),!1}static async handleRegexAction(t,e){const s=l.get().cdnUrl,r=Et._extractRegexActionFromData(e),a=Et._getRegExp(r);return!(s&&r&&a&&s.match(a))||r.checkAliveTimeoutMs>0&&!await Et._isECDNUrlAlive(r,s.replace(a,r.replacement))?(Et._logger.debug("exiting handleRegexAction - not applying regex action."),t):(Et._replaceHostUrls(t,r),t)}static _replaceHostUrls(t,e){Et._logger.debug("Starting to modify urls...");const s=t.sources,{hls:r,dash:a,progressive:i,image:o}=s;[...r,...a,...i,...o].forEach((t=>t.url=Et._applyRegexAction(e,t.url))),l.get().replaceHostOnlyManifestUrls||(Et._logger.debug("replaceHostOnlyManifestUrls flag is off - modifying captions and poster URLs"),s.captions&&s.captions.forEach((t=>t.url=Et._applyRegexAction(e,t.url))),"string"==typeof s.poster&&(s.poster=Et._applyRegexAction(e,s.poster))),Et._logger.debug("Finished modifying urls")}static _extractRegexActionFromData(t){return t.get(nt.id)?.response?.playBackContextResult.getRequestHostRegexAction()}static _getRegExp(t){if(t&&t.pattern&&t.replacement)return new RegExp(t.pattern,"i")}}const It=Et;class _t extends mt{_filterOptionsConfig={redirectFromEntryId:!0};constructor(t,e){super(t,e),this._logger=o("OVPProvider"),l.set(t.env),this._setFilterOptionsConfig(t.filterOptions),this._networkRetryConfig=Object.assign(this._networkRetryConfig,t.networkRetryParameters)}get env(){return l.get()}getMediaConfig(t){return t.ks&&(this.ks=t.ks,this._isAnonymous=!1),this.widgetId!==this.defaultWidgetId&&(this._isAnonymous=!1),this._dataLoader=new ut(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise(((e,s)=>{const r=t.entryId,a=t.referenceId;if(r||a){let i=this.ks;i||(i="{1:result:ks}",this._dataLoader.add(lt,{widgetId:this.widgetId}));const o=this._getEntryRedirectFilter(t);return this._dataLoader.add(nt,{entryId:r,ks:i,redirectFromEntryId:o,referenceId:a}),this._dataLoader.fetchData().then((t=>{try{const s=this._parseDataFromResponse(t);It.handleRegexAction(s,t).then(e)}catch(t){s(t)}}),(t=>{s(t)}))}s(new Q(Q.Severity.CRITICAL,Q.Category.PROVIDER,Q.Code.MISSING_MANDATORY_PARAMS,{message:"missing entry id"}))}))}doRequest(t,e){const s=e||this.ks,r=new ut(this.playerVersion,this.partnerId,s,this._networkRetryConfig);return new Promise(((e,a)=>(s||r.add(lt,{widgetId:this.widgetId}),t.forEach((t=>{r.add(t.loader,t.params,s||"{1:result:ks}")})),r.fetchData().then((t=>{try{e(t)}catch(t){a(t)}}),(t=>{a(t)})))))}_getEntryRedirectFilter(t){return"boolean"==typeof t.redirectFromEntryId?t.redirectFromEntryId:"boolean"!=typeof this._filterOptionsConfig.redirectFromEntryId||this._filterOptionsConfig.redirectFromEntryId}_setFilterOptionsConfig(t){t&&"boolean"==typeof t.redirectFromEntryId&&(this._filterOptionsConfig.redirectFromEntryId=t.redirectFromEntryId)}_parseDataFromResponse(t){this._logger.debug("Data parsing started");const e={session:{isAnonymous:this._isAnonymous,partnerId:this.partnerId},sources:this._getDefaultSourcesObject(),plugins:{}};if(this.uiConfId&&(e.session.uiConfId=this.uiConfId),t){if(t.has(lt.id)){const s=t.get(lt.id);s&&s.response&&(e.session.ks=s.response,this.widgetId!==this.defaultWidgetId&&(this.ks=e.session.ks))}else e.session.ks=this.ks;if(t.has(nt.id)){const s=t.get(nt.id);if(s&&s.response){const t=s.response;if(Y.hasBlockAction(t))throw new Q(Q.Severity.CRITICAL,Q.Category.SERVICE,Q.Code.BLOCK_ACTION,{action:Y.getBlockAction(t),messages:Y.getErrorMessages(t)});const r=Y.getMediaEntry(this.isAnonymous?"":this.ks,this.partnerId,this.uiConfId,t);Object.assign(e.sources,this._getSourcesObject(r)),this._verifyMediaStatus(r),this._verifyHasSources(e.sources);const a=Y.getBumper(t,this.isAnonymous?"":this.ks,this.partnerId);a&&Object.assign(e.plugins,{bumper:a})}}}return this._logger.debug("Data parsing finished",e),e}_verifyMediaStatus(t){if([h.EntryStatus.IMPORT,h.EntryStatus.PRECONVERT].includes(t.status))throw new Q(Q.Severity.CRITICAL,Q.Category.SERVICE,Q.Code.MEDIA_STATUS_NOT_READY,{messages:`Status of entry id ${t.id} is ${t.status} and is still being imported or converted`,data:{status}})}getPlaylistConfig(t){return t.ks&&(this.ks=t.ks,this._isAnonymous=!1),this.widgetId!==this.defaultWidgetId&&(this._isAnonymous=!1),this._dataLoader=new ut(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise(((e,s)=>{const r=t.playlistId;if(r){let t=this.ks;t||(t="{1:result:ks}",this._dataLoader.add(lt,{widgetId:this.widgetId})),this._dataLoader.add(gt,{playlistId:r,ks:t}),this._dataLoader.fetchData().then((t=>{e(this._parsePlaylistDataFromResponse(t))}),(t=>{s(t)}))}else s({success:!1,data:"Missing mandatory parameter"})}))}_parsePlaylistDataFromResponse(t){this._logger.debug("Data parsing started");const e=this._getPlaylistObject();if(t&&t.has(gt.id)){const s=t.get(gt.id);if(s&&s.response){const t=Y.getPlaylist(s.response);e.id=t.id,e.poster=t.poster,e.metadata.name=t.name,e.metadata.description=t.description,e.playlistLastEntryId=t.playlistLastEntryId,t.items.forEach((t=>e.items.push({sources:this._getSourcesObject(t)})))}}return this._logger.debug("Data parsing finished",e),e}getEntryListConfig(t){return t.ks&&(this.ks=t.ks,this._isAnonymous=!1),this.widgetId!==this.defaultWidgetId&&(this._isAnonymous=!1),this._dataLoader=new ut(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise(((e,s)=>{const r=t.entries;if(r&&r.length){let a=this.ks;a||(a="{1:result:ks}",this._dataLoader.add(lt,{widgetId:this.widgetId}));const i=this._getEntryRedirectFilter(t);this._dataLoader.add(yt,{entries:r,ks:a,redirectFromEntryId:i}),this._dataLoader.fetchData(!1).then((t=>{e(this._parseEntryListDataFromResponse(t))}),(t=>{s(t)}))}else s({success:!1,data:"Missing mandatory parameter"})}))}_parseEntryListDataFromResponse(t){this._logger.debug("Data parsing started");const e=this._getPlaylistObject();if(t&&t.has(yt.id)){const s=t.get(yt.id);s&&s.response&&Y.getEntryList(s.response).items.forEach((t=>e.items.push({sources:this._getSourcesObject(t)})))}return this._logger.debug("Data parsing finished",e),e}_getPlaylistObject(){return{id:"",metadata:{name:"",description:""},poster:"",playlistLastEntryId:"",items:[]}}_getDefaultSourcesObject(){return{hls:[],dash:[],progressive:[],image:[],id:"",duration:0,type:U.Type.UNKNOWN,poster:"",dvr:!1,vr:null,metadata:{name:"",description:"",tags:""}}}_getSourcesObject(t){const e=this._getDefaultSourcesObject(),s=t.sources.toJSON();return e.hls=s.hls,e.dash=s.dash,e.progressive=s.progressive,e.image=s.image,e.id=t.id,e.duration=t.duration,e.type=t.type,e.dvr=!!t.dvrStatus,e.poster=t.poster,e.downloadUrl=t.downloadUrl,t.sources.captions&&(e.captions=t.sources.captions),t.metadata&&"string"==typeof t.metadata.tags&&t.metadata.tags.split(", ").includes("360")&&(e.vr={}),Object.assign(e.metadata,t.metadata),e}}const ft="@playkit-js/playkit-js-providers-ovp",Rt="2.41.0-canary.0-2452bbc";return e})()));
1
+ !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)("object"==typeof exports?exports:t)[n]=r[n]}}(self,(function(){return function(){"use strict";var t={d:function(e,r){for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{NAME:function(){return wt},Provider:function(){return Pt},ProviderParser:function(){return st},RequestBuilder:function(){return ot},ResponseTypes:function(){return r},VERSION:function(){return bt}});var r={};function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function s(t){var e=function(t,e){if("object"!==i(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===i(e)?e:String(e)}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,s(n.key),n)}}function o(t,e,r){return e&&a(t.prototype,e),r&&a(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function u(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function c(t,e){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},c(t,e)}function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&c(t,e)}function f(t,e){if(e&&("object"===i(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return u(t)}function d(t){return d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},d(t)}function h(t,e,r){return(e=s(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}t.r(r),t.d(r,{BaseServiceResult:function(){return R},KalturaAccessControlMessage:function(){return L},KalturaAccessControlModifyRequestHostRegexAction:function(){return O},KalturaBaseEntryListResponse:function(){return A},KalturaBumper:function(){return w},KalturaDrmPlaybackPluginData:function(){return k},KalturaFlavorAsset:function(){return b},KalturaMediaEntries:function(){return S},KalturaMediaEntry:function(){return T},KalturaMetadata:function(){return D},KalturaMetadataListResponse:function(){return M},KalturaPlaybackContext:function(){return N},KalturaPlaybackSource:function(){return P},KalturaPlaylist:function(){return U},KalturaRuleAction:function(){return C},KalturaUIConfResponse:function(){return x},KalturaUserEntry:function(){return j},KalturaUserEntryListResponse:function(){return B}});var p={get:function(){return{VERSION:"",DEBUG:{value:"",name:""},ERROR:{value:"",name:""},INFO:{value:"",name:""},OFF:{value:"",name:""},TIME:{value:"",name:""},TRACE:{value:"",name:""},WARN:{value:"",name:""},createDefaultHandler:function(){},debug:function(){},enabledFor:function(){},error:function(){},get:function(){},getLevel:function(){},info:function(){},log:function(){},setHandler:function(){},setLevel:function(){},time:function(){},timeEnd:function(){},trace:function(){},useDefaults:function(){},warn:function(){}}}},y={};function v(t){return p.get(t)}var m=v,g=function t(e){var r;return Array.isArray(e)?(r=e.length>0?e.slice(0):[]).forEach((function(e,n){("object"===i(e)||Array.isArray(e)&&e.length>0)&&(r[n]=t(e))})):"object"===i(e)?(r=Object.assign({},e),Object.keys(r).forEach((function(e){("object"===i(r[e])||Array.isArray(r[e])&&r[e].length>0)&&(r[e]=t(r[e]))}))):r=e,r},E={serviceUrl:"https://cdnapisec.kaltura.com/api_v3",cdnUrl:"https://cdnapisec.kaltura.com",serviceParams:{apiVersion:"3.3.0",format:1},useApiCaptions:!0,loadThumbnailWithKs:!1,replaceHostOnlyManifestUrls:!1},I=function(){function t(){n(this,t)}return o(t,null,[{key:"set",value:function(t){t&&Object.assign(E,t)}},{key:"get",value:function(){return g(E)}}]),t}(),R=o((function t(e){n(this,t),h(this,"hasError",!1),"KalturaAPIException"===e.objectType?(this.hasError=!0,this.error=new _(e.code,e.message)):e.error&&"KalturaAPIException"===e.error.objectType?(this.hasError=!0,this.error=new _(e.error.code,e.error.message)):this.data=e})),_=o((function t(e,r){n(this,t),this.code=e,this.message=r})),T=o((function t(e){n(this,t),this.id=e.id,this.referenceId=e.referenceId,this.externalSourceType=e.externalSourceType,this.name=e.name,this.description=e.description,this.dataUrl=e.dataUrl,this.type=e.type,this.entryType=e.mediaType,this.flavorParamsIds=e.flavorParamsIds,this.duration=e.duration,this.poster=e.thumbnailUrl,this.status=e.status,this.dvrStatus=e.dvrStatus,this.tags=e.tags,this.createdAt=e.createdAt,this.updatedAt=e.updatedAt,this.creatorId=e.creatorId,this.endDate=e.endDate,this.plays=e.plays,this.views=e.views,this.downloadUrl=e.downloadUrl}));h(T,"EntryType",{AUTOMATIC:{value:-1},EXTERNAL_MEDIA:{value:"externalMedia.externalMedia"},MEDIA_CLIP:{value:1},MIX:{value:2},PLAYLIST:{value:5},DATA:{value:6},LIVE_STREAM:{value:7},LIVE_CHANNEL:{value:8},DOCUMENT:{value:10}}),h(T,"MediaType",{VIDEO:{value:1},IMAGE:{value:2},AUDIO:{value:5},LIVE_STREAM_FLASH:{value:201},LIVE_STREAM_WINDOWS_MEDIA:{value:202},LIVE_STREAM_REAL_MEDIA:{value:203},LIVE_STREAM_QUICK_TIME:{value:204}}),h(T,"EntryStatus",{ERROR_IMPORTING:-2,ERROR_CONVERTING:-1,SCAN_FAILURE:"virusScan.ScanFailure",IMPORT:0,INFECTED:"virusScan.Infected",PRECONVERT:1,READY:2,DELETED:3,PENDING:4,MODERATE:5,BLOCKED:6,NO_CONTENT:7}),h(T,"EntryModerationStatus",{PENDING_MODERATION:1,APPROVED:2,REJECTED:3,FLAGGED_FOR_REVIEW:4,MODERATE:5,AUTO_APPROVED:6});var A=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t){var e;return n(this,s),(e=i.call(this,t)).hasError||(e.totalCount=t.totalCount,e.totalCount>0&&(e.entries=[],t.objects.map((function(t){return e.entries.push(new T(t))})))),e}return o(s)}(R),C=o((function t(e){n(this,t),this.type=e.type}));h(C,"Type",{DRM_POLICY:"drm.DRM_POLICY",BLOCK:1,PREVIEW:2,LIMIT_FLAVORS:3,ADD_TO_STORAGE:4,LIMIT_DELIVERY_PROFILES:5,SERVE_FROM_REMOTE_SERVER:6,REQUEST_HOST_REGEX:7,LIMIT_THUMBNAIL_CAPTURE:8});var O=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t){var e;return n(this,s),(e=i.call(this,t)).pattern=t.pattern,e.replacement=t.replacement,e.replacmenServerNodeId=t.replacmenServerNodeId,e.checkAliveTimeoutMs=t.checkAliveTimeoutMs,e}return o(s)}(C),k=o((function t(e){n(this,t),this.scheme=e.scheme,this.licenseURL=e.licenseURL,this.certificate=e.certificate}));h(k,"Scheme",{"drm.PLAYREADY_CENC":"com.microsoft.playready","drm.WIDEVINE_CENC":"com.widevine.alpha","fairplay.FAIRPLAY":"com.apple.fairplay",WIDEVINE_CENC:"com.widevine.alpha",PLAYREADY_CENC:"com.microsoft.playready",FAIRPLAY:"com.apple.fairplay"});var P=function(){function t(e){var r=this;n(this,t),h(this,"drm",[]),this.format=e.format,this.deliveryProfileId=e.deliveryProfileId,this.url=e.url,this.protocols=e.protocols,this.flavorIds=e.flavorIds,e.drm&&e.drm.map((function(t){return r.drm.push(new k(t))}))}return o(t,[{key:"hasDrmData",value:function(){return this.drm&&this.drm.length>0}},{key:"hasFlavorIds",value:function(){return!!this.flavorIds&&this.flavorIds.length>0}},{key:"getProtocol",value:function(t){var e="";if(this.protocols&&this.protocols.length>0)this.protocols.split(",").forEach((function(r){r===t&&(e=r)}));else if("http"===t)return t;return e}}]),t}(),w=o((function t(e){n(this,t),this.entryId=e.entryId,this.clickThroughUrl=e.url,this.sources=e.sources?e.sources.map((function(t){return new P(t)})):[]})),b=o((function t(e){n(this,t),this.id=e.id,this.flavorParamsId=e.flavorParamsId,this.fileExt=e.fileExt,this.bitrate=e.bitrate,this.width=e.width,this.height=e.height,this.id=e.id,this.frameRate=e.frameRate,this.isOriginal=e.isOriginal,this.isWeb=e.isWeb,this.containerFormat=e.containerFormat,this.videoCodecId=e.videoCodecId,this.status=e.status,this.language=e.language,this.label=e.label}));h(b,"Status",{ERROR:-1,QUEUED:0,CONVERTING:1,READY:2,DELETED:3,NOT_APPLICABLE:4,TEMP:5,WAIT_FOR_CONVERT:6,IMPORTING:7,VALIDATING:8,EXPORTING:9});var S=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t){var e;return n(this,s),(e=i.call(this,t)).hasError||(e.entries=[],t.map((function(t){return e.entries.push(new T(t))}))),e}return o(s)}(R),D=o((function t(e){n(this,t),this.id=e.id,this.metadataProfileId=e.metadataProfileId,this.metadataProfileVersion=e.metadataProfileVersion,this.metadataProfileId=e.metadataProfileId,this.metadataObjectType=e.metadataObjectType,this.objectId=e.objectId,this.version=e.version,this.created=new Date(0),this.created.setUTCSeconds(e.createdAt),this.updated=new Date(0),this.updated.setUTCSeconds(e.updatedAt),this.status=e.status,this.xml=e.xml}));h(D,"ObjectType",{AD_CUE_POINT:"adCuePointMetadata.AdCuePoint",ANNOTATION:"annotationMetadata.Annotation",CODE_CUE_POINT:"codeCuePointMetadata.CodeCuePoint",THUMB_CUE_POINT:"thumbCuePointMetadata.thumbCuePoint",ENTRY:1,CATEGORY:2,USER:3,PARTNER:4,DYNAMIC_OBJECT:5}),h(D,"Status",{VALID:1,INVALID:2,DELETED:3});var M=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t){var e;return n(this,s),(e=i.call(this,t)).hasError||(e.totalCount=t.totalCount,e.totalCount>0&&(e.metas=[],t.objects.map((function(t){return e.metas.push(new D(t))})))),e}return o(s)}(R),L=o((function t(e){n(this,t),this.message=e.message,this.code=e.code}));var N=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t){var e;if(n(this,s),h(u(e=i.call(this,t)),"sources",[]),h(u(e),"actions",[]),h(u(e),"messages",[]),h(u(e),"flavorAssets",[]),h(u(e),"bumperData",[]),!e.hasError){var r=t.messages;r&&r.map((function(t){return e.messages.push(new L(t))}));var a=t.actions;a&&a.map((function(t){t.type===C.Type.REQUEST_HOST_REGEX?e.actions.push(new O(t)):e.actions.push(new C(t))}));var o=t.sources;o&&o.map((function(t){return e.sources.push(new P(t))}));var c=t.flavorAssets;c&&c.map((function(t){return e.flavorAssets.push(new b(t))}));var l=t.bumperData;l&&l.map((function(t){return e.bumperData.push(new w(t))}))}return e}return o(s,[{key:"hasBlockAction",value:function(){return void 0!==this.getBlockAction()}},{key:"getBlockAction",value:function(){return this.actions.find((function(t){return t.type===C.Type.BLOCK}))}},{key:"getErrorMessages",value:function(){return this.messages}},{key:"getRequestHostRegexAction",value:function(){var t=this.actions.find((function(t){return t.type===C.Type.REQUEST_HOST_REGEX}));if(t instanceof O)return t}}]),s}(R),U=o((function t(e){n(this,t),this.id=e.id,this.name=e.name,this.description=e.description,this.poster=e.thumbnailUrl}));var x=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t){var e;return n(this,s),(e=i.call(this,t)).hasError||(e.name=t.name,e.description=t.description,e.objTypeAsString=t.objTypeAsString,e.width=t.width,e.height=t.height,e.htmlParams=t.htmlParams,e.swfUrl=t.swfUrl,e.confFilePath=t.confFilePath,e.confFile=t.confFile,e.confFileFeatures=t.confFileFeatures,e.config=t.config,e.confVars=t.confVars,e.useCdn=t.useCdn,e.tags=t.tags,e.swfUrlVersion=t.swfUrlVersion,e.created=new Date(0),e.created.setUTCSeconds(t.createdAt),e.updated=new Date(0),e.updated.setUTCSeconds(t.updatedAt),e.html5Url=t.description,e.version=t.description,e.partnerTags=t.description,e.objType=t.description,e.creationMode=t.description),e}return o(s)}(R);h(x,"Type",{PLAYER:1,CONTRIBUTION_WIZARD:2,SIMPLE_EDITOR:3,ADVANCED_EDITOR:4,PLAYLIST:5,APP_STUDIO:6,KRECORD:7,PLAYER_V3:8,KMC_ACCOUNT:9,KMC_ANALYTICS:10,KMC_CONTENT:11,KMC_DASHBOARD:12,KMC_LOGIN:13,PLAYER_SL:14,CLIENTSIDE_ENCODER:15,KMC_GENERAL:16,KMC_ROLES_AND_PERMISSIONS:17,CLIPPER:18,KSR:19,KUPLOAD:20,WEBCASTING:21}),h(x,"CreationMode",{WIZARD:2,ADVANCED:3});var j=o((function t(e){n(this,t),this.playlistLastEntryId=e.playlistLastEntryId,this.entryId=e.entryId,this.id=e.id,this.userId=e.userId,this.partnerId=e.partnerId,this.status=e.status,this.createdAt=e.createdAt,this.updatedAt=e.updatedAt}));var B=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t){var e;return n(this,s),(e=i.call(this,t)).hasError||(e.totalCount=t.totalCount,e.entries=[],e.totalCount>0&&t.objects.map((function(t){return e.entries.push(new j(t))}))),e}return o(s)}(R),V=function(){function t(){n(this,t)}return o(t,null,[{key:"build",value:function(t){var e=I.get(),r=e.serviceUrl.substr(0,e.serviceUrl.lastIndexOf("/")),n=t.partnerId,i=t.entryId,s=t.ks,a=t.uiConfId,o=t.format,u=t.protocol,c=t.extension,l=t.flavorIds;if(!r||isNaN(Number.parseInt(n))||!i||!o||!u)return"";var f=r;return r.endsWith("/")||(f+="/"),f+="p/"+n+"/sp/"+n+"00/playManifest/entryId/"+i+"/protocol/"+u+"/format/"+o,l?f+="/flavorIds/"+l:a&&(f+="/uiConfId/"+a),""!==s&&(f+="/ks/"+s),""!==c&&(f+="/a."+c),a&&""!==l&&(f+="?uiConfId="+a),f}}]),t}(),F=function(){function t(){n(this,t)}return o(t,null,[{key:"xmlToJson",value:function(t){var e={};if(1===t.nodeType){if(t.attributes.length>0){e["@attributes"]={};for(var r=0;r<t.attributes.length;r++){var n=t.attributes.item(r);e["@attributes"][n.nodeName]=n.nodeValue}}}else 3===t.nodeType&&(e=t.nodeValue);if(t.hasChildNodes())for(var i=0;i<t.childNodes.length;i++){var s=t.childNodes.item(i),a=s.nodeName;if(void 0===e[a])e[a]=this.xmlToJson(s);else{if(void 0===e[a].push){var o=e[a];e[a]=[],e[a].push(o)}e[a].push(this.xmlToJson(s))}}return e}}]),t}(),q={DASH:{name:"dash",mimeType:"application/dash+xml",pathExt:"mpd"},HLS:{name:"hls",mimeType:"application/x-mpegURL",pathExt:"m3u8"},WVM:{name:"wvm",mimeType:"video/wvm",pathExt:"wvm"},MP4:{name:"mp4",mimeType:"video/mp4",pathExt:"mp4"},MP3:{name:"mp3",mimeType:"audio/mpeg",pathExt:"mp3"}},H=new Map([["mpegdash",q.DASH],["applehttp",q.HLS],["url",q.MP4]]);function K(t){var e=H.get(t);return!!e&&e.name===q.MP4.name}var W=function(){function t(){n(this,t),this.progressive=[],this.dash=[],this.hls=[],this.image=[],this.document=[]}return o(t,[{key:"map",value:function(t,e){if(e)switch(e.name){case q.MP4.name:this.progressive.push(t);break;case q.DASH.name:this.dash.push(t);break;case q.HLS.name:this.hls.push(t)}}},{key:"toJSON",value:function(){var t={progressive:[],dash:[],hls:[],image:[],document:[]};return this.progressive.forEach((function(e){return t.progressive.push(e.toJSON())})),this.hls.forEach((function(e){return t.hls.push(e.toJSON())})),this.dash.forEach((function(e){return t.dash.push(e.toJSON())})),t.image=this.image,t.document=this.document,t}}]),t}(),G=function(){function t(){n(this,t),this.metadata=new Map,this.sources=new W,this.type=t.Type.UNKNOWN}return o(t,[{key:"toJSON",value:function(){return{id:this.id,name:this.name,sources:this.sources.toJSON(),duration:this.duration,dvrStatus:this.dvrStatus,status:this.status,metadata:this.metadata,type:this.type,poster:this.poster,assetReferenceType:this.assetReferenceType,downloadUrl:this.downloadUrl}}}]),t}();h(G,"Type",{VOD:"Vod",LIVE:"Live",IMAGE:"Image",AUDIO:"Audio",UNKNOWN:"Unknown",DOCUMENT:"Document"}),h(G,"DvrStatus",{ON:1,OFF:0});var Y=function(){function t(e,r,i){n(this,t),this.licenseUrl=e,this.scheme=r,i&&(this.certificate=i)}return o(t,[{key:"toJSON",value:function(){var t={licenseUrl:this.licenseUrl,scheme:this.scheme};return this.certificate&&(t.certificate=this.certificate),t}}]),t}(),J=function(){function t(){n(this,t)}return o(t,[{key:"toJSON",value:function(){var t={id:this.id,url:this.url,mimetype:this.mimetype};return this.bandwidth&&(t.bandwidth=this.bandwidth),this.width&&(t.width=this.width),this.height&&(t.height=this.height),this.label&&(t.label=this.label),this.drmData&&this.drmData.length>0&&(t.drmData=[],this.drmData.forEach((function(e){Array.isArray(t.drmData)&&t.drmData.push(e.toJSON())}))),t}}]),t}(),X=o((function t(){n(this,t),this.items=[]})),Q=o((function t(){n(this,t),this.items=[]})),Z=o((function t(e){n(this,t),this.url=e.url,this.clickThroughUrl=e.clickThroughUrl})),z={SRT:"1",DFXP:"2",WEBVTT:"3",CAP:"4"},$={3:"vtt",1:"srt"},tt=function(){function t(){n(this,t)}return o(t,null,[{key:"createConfig",value:function(t,e){return t.map((function(t){var r=t.url,n=$[t.format];return[z.DFXP,z.CAP].includes(t.format)&&(r=t.webVttUrl,n=$[z.WEBVTT]),r=it(r,e),{default:!!t.isDefault,type:n,language:t.languageCode,label:t.label,url:r}}))}}]),t}(),et=function(){function t(e){n(this,t),this.id=e.id,this.url=t.extractBaseThumbnailUrl(e.dataUrl),this.mimetype=""}return o(t,null,[{key:"extractBaseThumbnailUrl",value:function(t){return t.match(".+entry_id/[a-zA-Z0-9_]+/")[0].slice(0,-1)}}]),t}(),rt=o((function t(e){n(this,t),this.id=e.id,this.url=e.downloadUrl,this.thumbnailUrl=e.poster,this.mimetype=""})),nt=function(){function t(){n(this,t)}return o(t,null,[{key:"getMediaEntry",value:function(e,r,n,i){var s=new G,a=i.entry,o=i.playBackContextResult,u=i.metadataListResult,c=o.sources;return s.sources=t._getParsedSources(c,e,r,n,a,o),t._fillBaseData(s,a,u,o),s.type!==G.Type.LIVE&&I.get().useApiCaptions&&o.data.playbackCaptions&&(s.sources.captions=tt.createConfig(o.data.playbackCaptions,e)),s}},{key:"addKsToUrl",value:function(t,e){var r;return e?(r=-1!==t.split("?")[0].replace(/^.*[\\/]/,"").indexOf(".")?-1===t.indexOf("?")?"?ks=":"&ks=":"/ks/",t+r+e):t}},{key:"getPlaylist",value:function(e){var r=new X,n=e.playlistData,i=e.playlistItems.entries,s=e.playlistUserEntries.entries;return r.id=n.id,r.name=n.name,r.description=n.description,r.poster=n.poster,r.playlistLastEntryId=s.map((function(t){return t.playlistLastEntryId}))[0],i.forEach((function(e){var n=new G;t._fillBaseData(n,e),r.items.push(n)})),r}},{key:"getEntryList",value:function(e){var r=new Q;return e.playlistItems.entries.forEach((function(e){var n=new G;t._fillBaseData(n,e),r.items.push(n)})),r}},{key:"getBumper",value:function(e,r,n){var i=e.playBackContextResult,s=i.bumperData[0];if(s){var a=(s&&s.sources).find((function(t){return K(t.format)}));if(a){var o=t._parseProgressiveSources(a,i,r,n,0,s.entryId);if(o[0])return new Z({url:o[0].url,clickThroughUrl:s.clickThroughUrl})}}}},{key:"_fillBaseData",value:function(e,r,n,i){if(e.poster=r.poster,e.id=r.id,e.duration=r.duration,e.downloadUrl=r.downloadUrl||"",e.metadata=t._parseMetadata(n),e.metadata.description=r.description||"",e.metadata.entryId=r.id||"",e.metadata.name=r.name||"",r.createdAt&&(e.metadata.createdAt=r.createdAt),r.updatedAt&&(e.metadata.updatedAt=r.updatedAt),r.creatorId&&(e.metadata.creatorId=r.creatorId),r.endDate&&(e.metadata.endDate=r.endDate),r.views&&(e.metadata.views=r.views),r.plays&&(e.metadata.plays=r.plays),e.metadata.tags=r.tags||"",e.status=r.status,e.type=t._getEntryType(r.entryType,r.type),e.type===G.Type.LIVE&&(e.dvrStatus=r.dvrStatus),i&&i.flavorAssets[0]&&i.flavorAssets[0].width&&i.flavorAssets[0].height){var s=i.flavorAssets[0],a=s.height,o=s.width;e.metadata.heightRatio=+Number(a/o).toFixed(2)}else e.metadata.heightRatio=1.78;return e}},{key:"_getEntryType",value:function(t,e){var r=G.Type.UNKNOWN;switch(t){case T.MediaType.IMAGE.value:r=G.Type.IMAGE;break;case T.MediaType.AUDIO.value:r=G.Type.AUDIO;break;default:switch(e){case T.EntryType.MEDIA_CLIP.value:r=G.Type.VOD;break;case T.EntryType.LIVE_STREAM.value:case T.EntryType.LIVE_CHANNEL.value:r=G.Type.LIVE;break;case T.EntryType.DOCUMENT.value:r=G.Type.DOCUMENT;break;default:r=G.Type.UNKNOWN}}return r}},{key:"_getParsedSources",value:function(e,r,n,i,s,a){var o,u,c=new W;return s.type===T.EntryType.EXTERNAL_MEDIA.value?((u=new J).mimetype="video/youtube",u.url=s.referenceId,u.id=s.id+"_youtube",c.progressive.push(u)):s.entryType===T.MediaType.IMAGE.value?c.image.push(new et(s)):s.type===T.EntryType.DOCUMENT.value?c.document.push(new rt(s)):e&&e.length>0&&(e.filter((function(t){return!K(t.format)})).forEach((function(e){var o=t._parseAdaptiveSource(e,a,r,n,i,s.id);if(o){var u=H.get(e.format);c.map(o,u)}})),o=e.find((function(e){return K(e.format)&&""!==e.getProtocol(t._getBaseProtocol())})),c.progressive=t._parseProgressiveSources(o,a,r,n,i,s.id)),c}},{key:"_parseAdaptiveSource",value:function(e,r,n,i,s,a){var o=new J;if(e){var u="",c=H.get(e.format),l=e.getProtocol(t._getBaseProtocol()),f=e.deliveryProfileId,d=e.format,h="";if(c&&(h=c.pathExt,o.mimetype=c.mimeType),e.hasFlavorIds()?(!h&&r.flavorAssets&&r.flavorAssets.length>0&&(h=r.flavorAssets[0].fileExt),u=V.build({entryId:a,flavorIds:e.flavorIds,format:d,ks:n,partnerId:i,uiConfId:s,extension:h,protocol:l})):u=t.addKsToUrl(e.url,n),!u){var p="failed to create play url from source, discarding source: (".concat(a,"_").concat(f,"), ").concat(d);return t._logger.warn(p),null}if(o.url=u,o.id=a+"_"+f+","+d,e.hasDrmData()){var y=[];e.drm.forEach((function(t){y.push(new Y(t.licenseURL,k.Scheme[t.scheme],t.certificate))})),o.drmData=y}}return o}},{key:"_parseProgressiveSources",value:function(e,r,n,i,s,a){var o=[],u=[];if(e){var c=e.getProtocol(t._getBaseProtocol()),l=e.format,f=e.deliveryProfileId,d=f+","+l;r.flavorAssets.map((function(e){var r=new J;r.id=e.id+d,r.mimetype="mp3"===e.fileExt?"audio/mp3":"video/mp4",r.height=e.height,r.width=e.width,r.bandwidth=1024*e.bitrate,r.label=e.label||e.language;var h=V.build({entryId:a,flavorIds:e.id,format:l,ks:n,partnerId:i,uiConfId:s,extension:e.fileExt,protocol:c});if(""===h)return t._logger.warn("failed to create play url from source, discarding source: (".concat(a,"_").concat(f,"), ").concat(l,".")),null;r.url=h,e.height&&e.width?o.push(r):u.push(r)}))}return u.length&&!o.length?u:o}},{key:"_parseMetadata",value:function(t){var e={};return t&&t.metas&&t.metas.length>0&&t.metas.forEach((function(t){if(t.xml){var r=new DOMParser;t.xml=t.xml.replace(/\r?\n|\r/g,""),t.xml=t.xml.replace(/>\s*/g,">"),t.xml=t.xml.replace(/>\s*/g,">");var n=r.parseFromString(t.xml,"text/xml"),i=F.xmlToJson(n);Object.keys(i.metadata).forEach((function(t){e[t]=i.metadata[t]["#text"]}))}})),e}},{key:"_getBaseProtocol",value:function(){var t=I.get(),e=/^https?:/.exec(t.cdnUrl),r=e?e[0]:document.location.protocol;return"string"==typeof r?r.slice(0,-1):"https"}},{key:"hasBlockAction",value:function(t){return t.playBackContextResult.hasBlockAction()}},{key:"getBlockAction",value:function(t){return t.playBackContextResult.getBlockAction()}},{key:"getErrorMessages",value:function(t){return t.playBackContextResult.getErrorMessages()}}]),t}();h(nt,"_logger",m("OVPProviderParser"));var it=nt.addKsToUrl,st=nt,at=o((function t(e,r,i){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n(this,t),this.severity=e,this.category=r,this.code=i,this.data=s,t._logger.error("Category:".concat(r," | Code:").concat(i," |"),s)}));h(at,"Severity",{RECOVERABLE:1,CRITICAL:2}),h(at,"Category",{NETWORK:1,SERVICE:2,PROVIDER:3}),h(at,"Code",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),h(at,"_logger",m("Error"));var ot=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;n(this,t),h(this,"retryConfig",{async:!0,timeout:0,maxAttempts:4}),h(this,"_attemptCounter",1),this.headers=e}return o(t,[{key:"getUrl",value:function(t){return t+"/service/"+this.service+(this.action?"/action/"+this.action:"")}},{key:"doHttpRequest",value:function(){var t=this,e=new Promise((function(e,r){t._requestPromise={resolve:e,reject:r}}));return this.url||this._requestPromise.reject(new at(at.Severity.CRITICAL,at.Category.NETWORK,at.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),e}},{key:"_createXHR",value:function(){var t=this,e=new XMLHttpRequest;e.onreadystatechange=function(){if(4===e.readyState&&200===e.status)try{var r=JSON.parse(e.responseText);return t.responseHeaders=t._getResponseHeaders(e),t._requestPromise.resolve(r)}catch(r){t._requestPromise.reject(t._createError(e,at.Code.BAD_SERVER_RESPONSE,{text:e.responseText}))}},e.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(e.timeout=this.retryConfig.timeout);var r=performance.now();e.ontimeout=function(){t._handleError(e,at.Code.TIMEOUT,{timeout:(performance.now()-r)/1e3,statusText:e.statusText})},e.onerror=e.onabort=function(){t._handleError(e,at.Code.HTTP_ERROR,{text:e.responseText,statusText:e.statusText})},this.headers.forEach((function(t,r){e.setRequestHeader(r,t)})),e.send(this.params)}},{key:"_getResponseHeaders",value:function(t){return t.getAllResponseHeaders().split("\n").filter((function(t){return 0===t.toLowerCase().indexOf("x-")}))}},{key:"_handleError",value:function(t,e,r){var n=this._createError(t,e,r);if(t.onreadystatechange=function(){},t.onerror=function(){},t.ontimeout=function(){},t.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(n);this._attemptCounter++,this._createXHR()}},{key:"_createError",value:function(t,e,r){return Object.assign(r,{url:this.url,headers:this._getResponseHeaders(t),attempt:this._attemptCounter}),new at(at.Severity.CRITICAL,at.Category.NETWORK,e,r)}}]),t}();var ut=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(){var t;n(this,s);for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return h(u(t=i.call.apply(i,[this].concat(r))),"requests",[]),t}return o(s,[{key:"add",value:function(t){this.requests.push(t);var e={},r={service:t.service,action:t.action};return Object.assign(e,h({},this.requests.length,Object.assign(r,t.params))),Object.assign(e,this.params),this.params=e,this}},{key:"execute",value:function(t){var e=this;return new Promise((function(r,n){try{e.params=JSON.stringify(e.params)}catch(t){s._logger.error("".concat(t.message)),n(new at(at.Severity.CRITICAL,at.Category.PROVIDER,at.Code.FAILED_PARSING_REQUEST,{error:t,params:e.params}))}e.doHttpRequest().then((function(i){var s=new ct(i,t);s.success?r({headers:e.responseHeaders,response:s}):n(new at(at.Severity.CRITICAL,at.Category.NETWORK,at.Code.MULTIREQUEST_API_ERROR,{url:e.url,headers:e.responseHeaders,results:s.results}))}),(function(t){n(t)}))}))}}]),s}(ot);h(ut,"_logger",m("MultiRequestBuilder"));var ct=o((function t(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];n(this,t),h(this,"results",[]);var i=e.result?e.result:e,s=(Array.isArray(i)?i:[i]).map((function(t){return new R(t)})),a=s.filter((function(t){return t.hasError}));a.forEach((function(e){t._logger.error("Service returned an error with error code: ".concat(e.error.code," and message: ").concat(e.error.message,"."))})),this.results=s,r&&a.length||a.length===this.results.length?this.success=!1:(this.results=this.results.filter((function(t){return!t.hasError})),this.success=!0)}));h(ct,"_logger",m("MultiRequestResult"));var lt=function(){function t(){n(this,t)}return o(t,null,[{key:"getMultiRequest",value:function(t,e,r){var n=I.get(),i=n.serviceParams;Object.assign(i,{ks:e,clientTag:"html5:v"+t}),r&&Object.assign(i,{partnerId:r});var s=new Map;s.set("Content-Type","application/json");var a=new ut(s);return a.method="POST",a.service="multirequest",a.url=a.getUrl(n.serviceUrl),a.params=i,a}}]),t}(),ft=o((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,t),this.type=e.type||t.Type.INCLUDE_FIELDS,this.fields=e.fields||"id,referenceId,name,description,thumbnailUrl,dataUrl,duration,msDuration,flavorParamsIds,mediaType,type,tags,dvrStatus,externalSourceType,status,createdAt,updatedAt,endDate,plays,views,downloadUrl,creatorId"}));h(ft,"Type",{INCLUDE_FIELDS:1,EXCLUDE_FIELDS:2});var dt="baseEntry",ht=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(){return n(this,s),i.apply(this,arguments)}return o(s,null,[{key:"getPlaybackContext",value:function(t,e,r,n){var i=new Map;i.set("Content-Type","application/json");var s=new ot(i);s.service=dt,s.action="getPlaybackContext",s.method="POST",s.url=s.getUrl(t),s.tag="baseEntry-getPlaybackContext";var a={objectType:"KalturaContextDataParams",flavorTags:"all",referrer:n};return s.params={entryId:r,ks:e,contextDataParams:a},s}},{key:"list",value:function(t,e,r,n,i){var a=new Map;a.set("Content-Type","application/json");var o=new ot(a);return o.service=dt,o.action="list",o.method="POST",o.url=o.getUrl(t),o.tag="list",o.params=s.getEntryListReqParams(r,e,n,i),o}},{key:"getEntryListReqParams",value:function(t,e,r,n){var i={};return t?i=r?{redirectFromEntryId:t}:{idEqual:t}:n&&(i={objectType:"KalturaBaseEntryFilter",referenceIdEqual:n}),{ks:e,filter:i,responseProfile:new ft}}}]),s}(lt);var pt=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(){return n(this,s),i.apply(this,arguments)}return o(s,null,[{key:"list",value:function(t,e,r){var n=new Map;n.set("Content-Type","application/json");var i=new ot(n);i.service="metadata_metadata",i.action="list",i.method="POST",i.url=i.getUrl(t),i.tag="metadata_metadata-list";var s={objectType:"KalturaMetadataFilter",objectIdEqual:r,metadataObjectTypeEqual:"1"};return i.params={filter:s,ks:e},i}}]),s}(lt),yt=function(){function t(e){n(this,t),h(this,"_response",{}),this.requests=this.buildRequests(e),this._entryId=e.entryId,this._referenceId=e.referenceId}return o(t,[{key:"requests",get:function(){return this._requests},set:function(t){this._requests=t}},{key:"response",get:function(){return this._response},set:function(t){var e=new A(t[0].data);this._response.entry=e.entries[0],this._response.playBackContextResult=new N(t[1].data),this._response.metadataListResult=new M(t[2].data)}},{key:"buildRequests",value:function(t){var e=I.get(),r=[];r.push(ht.list(e.serviceUrl,t.ks,t.entryId,t.redirectFromEntryId,t.referenceId));var n="{1:result:ks}"===t.ks?"{2:result:objects:0:id}":"{1:result:objects:0:id}";return r.push(ht.getPlaybackContext(e.serviceUrl,t.ks,n,t.referrer)),r.push(pt.list(e.serviceUrl,t.ks,n)),r}},{key:"isValid",value:function(){return!(!this._entryId&&!this._referenceId)}}],[{key:"id",get:function(){return"media"}}]),t}();var vt=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(){return n(this,s),i.apply(this,arguments)}return o(s,null,[{key:"anonymousSession",value:function(t,e){var r=new Map;r.set("Content-Type","application/json");var n=new ot(r);return n.service="session",n.action="startWidgetSession",n.method="POST",n.url=n.getUrl(t),n.tag="session-startWidget",n.params={widgetId:e},n}}]),s}(lt),mt=function(){function t(e){n(this,t),h(this,"_response",{}),this.requests=this.buildRequests(e),this._widgetId=e.widgetId}return o(t,[{key:"requests",get:function(){return this._requests},set:function(t){this._requests=t}},{key:"response",get:function(){return this._response.ks},set:function(t){this._response.ks=t[0].data.ks}},{key:"buildRequests",value:function(t){var e=I.get(),r=[];return r.push(vt.anonymousSession(e.serviceUrl,t.widgetId)),r}},{key:"isValid",value:function(){return!!this._widgetId}}],[{key:"id",get:function(){return"session"}}]),t}();var gt=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t,e){var r,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3?arguments[3]:void 0;return n(this,s),(r=i.call(this,o))._multiRequest=lt.getMultiRequest(t,a,e),r}return o(s)}(function(){function t(e){n(this,t),h(this,"_loadersResponseMap",new Map),h(this,"_loaders",new Map),this._networkRetryConfig=e}return o(t,[{key:"add",value:function(t,e,r){var n=this,i=new t(e);if(i.isValid()){this._loaders.set(t.id,i);var s=this._multiRequest.requests.length,a=i.requests;this._multiRequest.retryConfig=this._networkRetryConfig,a.forEach((function(t){t.params=t.params||{},t.params.ks=t.params.ks||r,n._multiRequest.add(t)}));var o=Array.from(new Array(a.length),(function(t,e){return e+s}));this._loadersResponseMap.set(t.id,o)}}},{key:"fetchData",value:function(t){var e=this;return new Promise((function(r,n){e._multiRequest.execute(t).then((function(t){e._multiResponse=t.response,e.prepareData(t.response).success?r(e._loaders):n(new at(at.Severity.CRITICAL,at.Category.NETWORK,at.Code.API_RESPONSE_MISMATCH,{headers:t.headers}))}),(function(t){n(t)}))}))}},{key:"prepareData",value:function(t){var e=this;return this._loaders.forEach((function(r,n){var i=e._loadersResponseMap.get(n);try{i&&i.length>0&&(r.response=t.results.slice(i[0],i[i.length-1]+1))}catch(t){return{success:!1,error:t}}})),{success:!0,data:this._loaders}}}]),t}());var Et="playlist",It=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(){return n(this,s),i.apply(this,arguments)}return o(s,null,[{key:"execute",value:function(t,e,r){var n=new Map;n.set("Content-Type","application/json");var i=new ot(n);return i.service=Et,i.action="execute",i.method="POST",i.url=i.getUrl(t),i.tag="".concat(Et,"-execute"),i.params={ks:e,id:r,responseProfile:new ft},i}},{key:"get",value:function(t,e,r){var n=new Map;n.set("Content-Type","application/json");var i=new ot(n);return i.service=Et,i.action="get",i.method="POST",i.url=i.getUrl(t),i.tag="".concat(Et,"-get"),i.params={ks:e,id:r,responseProfile:{fields:"id,name,description,thumbnailUrl",type:1}},i}},{key:"getLastEntryId",value:function(t,e,r){var n=new Map;n.set("Content-Type","application/json");var i=new ot(n);return i.service="userEntry",i.action="list",i.method="POST",i.url=i.getUrl(t),i.tag="userEntry-list",i.params={ks:e,filter:{objectType:"KalturaViewHistoryUserEntry",entryIdEqual:r,userIdEqualCurrent:1},responseProfile:{fields:"playlistLastEntryId",type:1}},i}}]),s}(lt),Rt=function(){function t(e){n(this,t),h(this,"_response",{}),this.requests=this.buildRequests(e),this._playlistId=e.playlistId}return o(t,[{key:"requests",get:function(){return this._requests},set:function(t){this._requests=t}},{key:"response",get:function(){return this._response},set:function(t){this._response.playlistData=new U(t[0].data),this._response.playlistItems=new S(t[1].data),this._response.playlistUserEntries=new B(t[2].data)}},{key:"buildRequests",value:function(t){var e=I.get(),r=[];return r.push(It.get(e.serviceUrl,t.ks,t.playlistId)),r.push(It.execute(e.serviceUrl,t.ks,t.playlistId)),r.push(It.getLastEntryId(e.serviceUrl,t.ks,t.playlistId)),r}},{key:"isValid",value:function(){return!!this._playlistId}}],[{key:"id",get:function(){return"playlist"}}]),t}(),_t=function(){function t(e,r){n(this,t),h(this,"_networkRetryConfig",{async:!0,timeout:0,maxAttempts:4}),function(t){t&&"function"==typeof t.getLogger&&(p.get=t.getLogger),t&&t.LogLevel&&(y=t.LogLevel)}(e.logger),this._partnerId=e.partnerId,this._widgetId=e.widgetId,this._uiConfId=e.uiConfId,this._isAnonymous=!e.ks,this._ks=e.ks||"",this._playerVersion=r,this._referrer=e.referrer}return o(t,[{key:"partnerId",get:function(){return this._partnerId}},{key:"widgetId",get:function(){return this._widgetId||this.defaultWidgetId}},{key:"defaultWidgetId",get:function(){return"_"+this._partnerId}},{key:"uiConfId",get:function(){return this._uiConfId}},{key:"ks",get:function(){return this._ks},set:function(t){this._ks=t}},{key:"playerVersion",get:function(){return this._playerVersion}},{key:"isAnonymous",get:function(){return this._isAnonymous}},{key:"getMediaConfig",value:function(t){return Promise.reject(new at(at.Severity.CRITICAL,at.Category.PROVIDER,at.Code.METHOD_NOT_IMPLEMENTED,{message:"getMediaConfig method must be implement by the derived class"}))}},{key:"getPlaylistConfig",value:function(t){return Promise.reject(new at(at.Severity.CRITICAL,at.Category.PROVIDER,at.Code.METHOD_NOT_IMPLEMENTED,{message:"The provider does not support loading playlist by id"}))}},{key:"getEntryListConfig",value:function(t){return Promise.reject(new at(at.Severity.CRITICAL,at.Category.PROVIDER,at.Code.METHOD_NOT_IMPLEMENTED,{message:"The provider does not support loading entry list"}))}},{key:"_verifyHasSources",value:function(t){if(0===t.hls.concat(t.dash,t.progressive,t.image,t.document).length)throw new at(at.Severity.CRITICAL,at.Category.SERVICE,at.Code.MISSING_PLAY_SOURCE,{action:"",messages:"No play source for entry id: ".concat(t.id)})}},{key:"LogLevel",get:function(){return y}},{key:"getLogLevel",value:function(t){return function(t){return v(t).getLevel()}(t)}},{key:"setLogLevel",value:function(t,e){!function(t,e){v(e).setLevel(t)}(t,e)}}]),t}(),Tt=function(){function t(e){n(this,t),h(this,"_response",{playlistItems:{entries:[]}}),this.requests=this.buildRequests(e),this._entries=e.entries}return o(t,[{key:"requests",get:function(){return this._requests},set:function(t){this._requests=t}},{key:"response",get:function(){return this._response},set:function(t){var e,r=this;t.forEach((function(t){e=new A(t.data),r._response.playlistItems.entries.push(e.entries[0])}))}},{key:"buildRequests",value:function(t){var e=I.get(),r=[];return t.entries.forEach((function(n){r.push(ht.list(e.serviceUrl,t.ks,n.entryId||n,t.redirectFromEntryId,n.referenceId))})),r}},{key:"isValid",value:function(){return!(!this._entries||!this._entries.length)}}],[{key:"id",get:function(){return"entry_list"}}]),t}();function At(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Ct(t){return function(t){if(Array.isArray(t))return At(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return At(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?At(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ot=function(){function t(){n(this,t)}return o(t,null,[{key:"_applyRegexAction",value:function(t,e){if(t){var r=new RegExp(t.pattern,"i");if(e.match(r))return e.replace(r,t.replacement+"/")}return e}},{key:"_pingECDNAndReplaceHostUrls",value:function(e,r,n){return new Promise((function(i){var s=n+"/api_v3/service/system/action/ping/format/1",a=new XMLHttpRequest;a.open("GET",s),a.timeout=r.checkAliveTimeoutMs,a.onreadystatechange=function(){4===a.readyState&&(200===a.status&&t._replaceHostUrls(e,r),i(e))},a.ontimeout=function(){t._logger.warn("Got timeout while pinging the ECDN url. the ping url: ".concat(s)),i(e)},a.send()}))}},{key:"handleRegexAction",value:function(e,r){return new Promise((function(n){var i=I.get().cdnUrl,s=t._extractRegexActionFromData(r),a=t._getRegExp(s);i&&s&&a&&i.match(a)?s.checkAliveTimeoutMs>0?(t._logger.debug("executing ping request..."),t._pingECDNAndReplaceHostUrls(e,s,i.replace(a,s.replacement)).then(n)):(t._replaceHostUrls(e,s),n(e)):(t._logger.debug("exiting handleRegexAction - not applying regex action."),n(e))}))}},{key:"_replaceHostUrls",value:function(e,r){t._logger.debug("Starting to modify urls...");var n=e.sources,i=n.hls,s=n.dash,a=n.progressive,o=n.image;[].concat(Ct(i),Ct(s),Ct(a),Ct(o)).forEach((function(e){return e.url=t._applyRegexAction(r,e.url)})),I.get().replaceHostOnlyManifestUrls||(t._logger.debug("replaceHostOnlyManifestUrls flag is off - modifying captions and poster URLs"),n.captions&&n.captions.forEach((function(e){return e.url=t._applyRegexAction(r,e.url)})),"string"==typeof n.poster&&(n.poster=t._applyRegexAction(r,n.poster))),t._logger.debug("Finished modifying urls")}},{key:"_extractRegexActionFromData",value:function(t){var e;return null===(e=t.get(yt.id))||void 0===e||null===(e=e.response)||void 0===e?void 0:e.playBackContextResult.getRequestHostRegexAction()}},{key:"_getRegExp",value:function(t){if(t&&t.pattern&&t.replacement)return new RegExp(t.pattern,"i")}}]),t}();h(Ot,"_logger",m("RegexActionHandler"));var kt=Ot;var Pt=function(t){l(s,t);var e,r,i=(e=s,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=d(e);if(r){var i=d(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return f(this,t)});function s(t,e){var r;return n(this,s),h(u(r=i.call(this,t,e)),"_filterOptionsConfig",{redirectFromEntryId:!0}),r._logger=m("OVPProvider"),I.set(t.env),r._setFilterOptionsConfig(t.filterOptions),r._networkRetryConfig=Object.assign(r._networkRetryConfig,t.networkRetryParameters),r}return o(s,[{key:"env",get:function(){return I.get()}},{key:"getMediaConfig",value:function(t){var e=this;return t.ks&&(this.ks=t.ks,this._isAnonymous=!1),this.widgetId!==this.defaultWidgetId&&(this._isAnonymous=!1),this._dataLoader=new gt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.entryId,s=t.referenceId;if(i||s){var a=e.ks;a||(a="{1:result:ks}",e._dataLoader.add(mt,{widgetId:e.widgetId}));var o=e._getEntryRedirectFilter(t);return e._dataLoader.add(yt,{entryId:i,ks:a,redirectFromEntryId:o,referenceId:s,referrer:e._referrer}),e._dataLoader.fetchData().then((function(t){try{var i=e._parseDataFromResponse(t);kt.handleRegexAction(i,t).then(r)}catch(t){n(t)}}),(function(t){n(t)}))}n(new at(at.Severity.CRITICAL,at.Category.PROVIDER,at.Code.MISSING_MANDATORY_PARAMS,{message:"missing entry id"}))}))}},{key:"doRequest",value:function(t,e,r){var n=this,i=e||this.ks,s=new gt(this.playerVersion,this.partnerId,i,this._networkRetryConfig);return new Promise((function(e,a){return i||s.add(mt,{widgetId:n.widgetId}),t.forEach((function(t){s.add(t.loader,t.params,i||"{1:result:ks}")})),s.fetchData(r).then((function(t){try{e(t)}catch(t){a(t)}}),(function(t){a(t)}))}))}},{key:"_getEntryRedirectFilter",value:function(t){return"boolean"==typeof t.redirectFromEntryId?t.redirectFromEntryId:"boolean"!=typeof this._filterOptionsConfig.redirectFromEntryId||this._filterOptionsConfig.redirectFromEntryId}},{key:"_setFilterOptionsConfig",value:function(t){t&&"boolean"==typeof t.redirectFromEntryId&&(this._filterOptionsConfig.redirectFromEntryId=t.redirectFromEntryId)}},{key:"_parseDataFromResponse",value:function(t){this._logger.debug("Data parsing started");var e={session:{isAnonymous:this._isAnonymous,partnerId:this.partnerId},sources:this._getDefaultSourcesObject(),plugins:{}};if(this.uiConfId&&(e.session.uiConfId=this.uiConfId),t){if(t.has(mt.id)){var r=t.get(mt.id);r&&r.response&&(e.session.ks=r.response,this.widgetId!==this.defaultWidgetId&&(this.ks=e.session.ks))}else e.session.ks=this.ks;if(t.has(yt.id)){var n=t.get(yt.id);if(n&&n.response){var i=n.response;if(st.hasBlockAction(i))throw new at(at.Severity.CRITICAL,at.Category.SERVICE,at.Code.BLOCK_ACTION,{action:st.getBlockAction(i),messages:st.getErrorMessages(i)});var s=st.getMediaEntry(this.isAnonymous?"":this.ks,this.partnerId,this.uiConfId,i);Object.assign(e.sources,this._getSourcesObject(s)),this._verifyMediaStatus(s),this._verifyHasSources(e.sources);var a=st.getBumper(i,this.isAnonymous?"":this.ks,this.partnerId);a&&Object.assign(e.plugins,{bumper:a})}}}return this._logger.debug("Data parsing finished",e),e}},{key:"_verifyMediaStatus",value:function(t){if([T.EntryStatus.IMPORT,T.EntryStatus.PRECONVERT].includes(t.status))throw new at(at.Severity.CRITICAL,at.Category.SERVICE,at.Code.MEDIA_STATUS_NOT_READY,{messages:"Status of entry id ".concat(t.id," is ").concat(t.status," and is still being imported or converted"),data:{status:status}})}},{key:"getPlaylistConfig",value:function(t){var e=this;return t.ks&&(this.ks=t.ks,this._isAnonymous=!1),this.widgetId!==this.defaultWidgetId&&(this._isAnonymous=!1),this._dataLoader=new gt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.playlistId;if(i){var s=e.ks;s||(s="{1:result:ks}",e._dataLoader.add(mt,{widgetId:e.widgetId})),e._dataLoader.add(Rt,{playlistId:i,ks:s}),e._dataLoader.fetchData().then((function(t){r(e._parsePlaylistDataFromResponse(t))}),(function(t){n(t)}))}else n({success:!1,data:"Missing mandatory parameter"})}))}},{key:"_parsePlaylistDataFromResponse",value:function(t){var e=this;this._logger.debug("Data parsing started");var r=this._getPlaylistObject();if(t&&t.has(Rt.id)){var n=t.get(Rt.id);if(n&&n.response){var i=st.getPlaylist(n.response);r.id=i.id,r.poster=i.poster,r.metadata.name=i.name,r.metadata.description=i.description,r.playlistLastEntryId=i.playlistLastEntryId,i.items.forEach((function(t){return r.items.push({sources:e._getSourcesObject(t)})}))}}return this._logger.debug("Data parsing finished",r),r}},{key:"getEntryListConfig",value:function(t){var e=this;return t.ks&&(this.ks=t.ks,this._isAnonymous=!1),this.widgetId!==this.defaultWidgetId&&(this._isAnonymous=!1),this._dataLoader=new gt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.entries;if(i&&i.length){var s=e.ks;s||(s="{1:result:ks}",e._dataLoader.add(mt,{widgetId:e.widgetId}));var a=e._getEntryRedirectFilter(t);e._dataLoader.add(Tt,{entries:i,ks:s,redirectFromEntryId:a}),e._dataLoader.fetchData(!1).then((function(t){r(e._parseEntryListDataFromResponse(t))}),(function(t){n(t)}))}else n({success:!1,data:"Missing mandatory parameter"})}))}},{key:"_parseEntryListDataFromResponse",value:function(t){var e=this;this._logger.debug("Data parsing started");var r=this._getPlaylistObject();if(t&&t.has(Tt.id)){var n=t.get(Tt.id);n&&n.response&&st.getEntryList(n.response).items.forEach((function(t){return r.items.push({sources:e._getSourcesObject(t)})}))}return this._logger.debug("Data parsing finished",r),r}},{key:"_getPlaylistObject",value:function(){return{id:"",metadata:{name:"",description:""},poster:"",playlistLastEntryId:"",items:[]}}},{key:"_getDefaultSourcesObject",value:function(){return{hls:[],dash:[],progressive:[],image:[],document:[],id:"",duration:0,type:G.Type.UNKNOWN,poster:"",dvr:!1,vr:null,metadata:{name:"",description:"",tags:""}}}},{key:"_getSourcesObject",value:function(t){var e=this._getDefaultSourcesObject(),r=t.sources.toJSON();return e.hls=r.hls,e.dash=r.dash,e.progressive=r.progressive,e.image=r.image,e.document=r.document,e.id=t.id,e.duration=t.duration,e.type=t.type,e.dvr=!!t.dvrStatus,e.poster=t.poster,e.downloadUrl=t.downloadUrl,t.sources.captions&&(e.captions=t.sources.captions),t.metadata&&"string"==typeof t.metadata.tags&&t.metadata.tags.split(", ").includes("360")&&(e.vr={}),Object.assign(e.metadata,t.metadata),e}}]),s}(_t),wt="@playkit-js/playkit-js-providers-ovp",bt="2.41.0-canary.0-3d6d02a";return e}()}));
2
2
  //# sourceMappingURL=playkit-ovp-provider.js.map