UNPKG

cloudinary-video-player

Version:
9 lines 467 kB
console.warn('[Cloudinary] The "light" video-player is deprecated and will be removed in a future release. The main player is now light by default. Please use that instead.'); /*! * Cloudinary Video Player v3.6.3 * Built on 2026-01-04T09:23:52.701Z * https://github.com/cloudinary/cloudinary-video-player */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["cloudinary-video-player"]=t():e["cloudinary-video-player"]=t()}(self,()=>(()=>{var e,t,i,s={7878:e=>{const t=e=>{e.style.display="none"},i=e=>{e.style.display=""};e.exports={hide:t,show:i,setText:(e,s)=>{if(!s||s.length<=0)return e.innerText="",void t(e);e.innerText=s,i(e)}}},7668:(e,t,i)=>{"use strict";i.d(t,{A:()=>a});var s=i(6673),n=i.n(s);const r=e=>{const t=e.loop(),i=e.paused(),s=e.muted(),n=e.isFullscreen(),r={class:"player-version",label:"Cloudinary Player v3.6.3"};return e.controls()?[{label:t?"Unloop":"Loop",listener:()=>{e.loop(!t)}},{label:i?"Play":"Pause",listener:()=>{i?e.play():e.pause()}},{label:s?"Unmute":"Mute",listener:()=>{e.muted(!s)}},{label:n?"Exit Fullscreen":"Fullscreen",listener:()=>{n?e.exitFullscreen():e.requestFullscreen()}},r]:[r]};var o=i(608);const a={logoOnclickUrl:"https://cloudinary.com/",showLogo:!0,showJumpControls:!1,playsinline:n().browser.IS_IOS,skin:"dark",controls:!1,chaptersButton:!1,pictureInPictureToggle:!1,seekThumbnails:!0,aiHighlightsGraph:!1,visualSearch:!1,download:!1,preload:o.Am.AUTO,textTrackSettings:!1,loop:!1,muted:!1,posterOptions:{},sourceTypes:["auto"],contextMenu:{content:r},floatingWhenNotVisible:o.rT.NONE,hideContextMenu:!1,analytics:!1,cloudinaryAnalytics:!0,allowUsageReport:!0,videoConfig:!0,playedEventPercents:[25,50,75,100],adaptiveStreaming:{strategy:"balanced"},html5:{handlePartialData:!1,nativeTextTracks:!1},disableSeekWhileScrubbingOnMobile:!0}},8743:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>$t,player:()=>Bt,players:()=>Ht,videoPlayer:()=>Rt,videoPlayers:()=>Ft});var s=i(6673),n=i.n(s);const r={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let o;const a=new Uint8Array(16);const l=[];for(let e=0;e<256;++e)l.push((e+256).toString(16).slice(1));function c(e,t=0){return(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase()}const h=function(e,t,i){if(r.randomUUID&&!t&&!e)return r.randomUUID();const s=(e=e||{}).random??e.rng?.()??function(){if(!o){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");o=crypto.getRandomValues.bind(crypto)}return o(a)}();if(s.length<16)throw new Error("Random bytes length must be >= 16");if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){if((i=i||0)<0||i+16>t.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[i+e]=s[e];return t}return c(s)};var u=i(5685),d=i.n(u),p=i(2832),f=i.n(p),g=i(7171),m=i.n(g),y=i(8446),v=i.n(y),_=i(8953),b=i.n(_),w=i(7571),T=i.n(w);const C=n().getComponent("ClickableComponent");class k extends C{handleClick(e){super.handleClick(e),this.player().currentTime(this.player().currentTime()+10)}createEl(){return n().dom.createEl("button",{className:"vjs-control vjs-icon-skip-10-plus vjs-icon-forward-10 vjs-button",ariaLabel:"Jump forward 10 seconds"})}}n().registerComponent("JumpForwardButton",k);const S=n().getComponent("ClickableComponent");class x extends S{handleClick(e){super.handleClick(e),this.player().currentTime(this.player().currentTime()-10)}createEl(){return n().dom.createEl("button",{className:"vjs-control vjs-icon-skip-10-min vjs-icon-replay-10 vjs-button",ariaLabel:"Jump back 10 seconds"})}}n().registerComponent("JumpBackButton",x);const E=n().getComponent("ClickableComponent");class j extends E{createEl(){const e=this.options_.playerOptions,t=e.showLogo?"block":"none",i=e.logoImageUrl?`background-image: url(${e.logoImageUrl})`:"";return n().dom.createEl("a",{},{class:"vjs-control vjs-cloudinary-button vjs-button",href:e.logoOnclickUrl,target:"_blank",style:`display: ${t}; ${i}`,"aria-label":"Logo link"})}}n().registerComponent("logoButton",j);const A=n().getComponent("Component");class P extends A{constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}createEl(){return super.createEl("div",{className:"vjs-progress-control-events-blocker"})}}n().registerComponent("progressControlEventsBlocker",P);var O=i(7878),I=i.n(O),L=i(2415),M=i(1865);const D=n().dom||n(),N=n().getComponent("Component");class R extends N{constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),this.on(e,"cldsourcechanged",(e,t)=>{let{source:i}=t;return this.setItem(i)})}setItem(e){if(!e)return this.setTitle(""),void this.setDescription("");const t=e.info();this.setTitle(t.title),this.setDescription(t.subtitle);const i=e.title&&!0===e.title(),s=e.description&&!0===e.description();(i||s)&&this.fetchAutoMetadata(e,i,s)}fetchAutoMetadata(e,t,i){if(e.isRawUrl)return;const s=e.cloudinaryConfig(),n=e.publicId();if(!s?.cloud_name||!n)return;const r=`${(0,M.k$)(s)}/_applet_/video_service/video_metadata/${e.getInitOptions().type||"upload"}/${(0,L.G)(n)}.json`;fetch(r,{headers:{"X-Cld-Video-Player-Version":"3.6.3"}}).then(e=>{if(!e.ok)throw new Error(`HTTP ${e.status}`);return e.json()}).then(e=>{t&&e.title&&this.setTitle(e.title),i&&e.description&&this.setDescription(e.description)}).catch(e=>{console.warn(`Failed to fetch metadata for ${n}:`,e)})}setTitle(e){const t="string"==typeof e?e:"";return I().setText(this.titleEl,t),this.refresh(),t}setDescription(e){const t="string"==typeof e?e:"";return I().setText(this.descriptionEl,t),this.refresh(),t}refresh(){(()=>this.titleEl.innerText)()||(()=>this.descriptionEl.innerText)()?this.show():this.hide()}createEl(){this.titleEl=D.createEl("div",{className:"vjs-title-bar-title"}),this.descriptionEl=D.createEl("div",{className:"vjs-title-bar-subtitle"});const e=super.createEl("div",{append:this.titleEl,className:"vjs-title-bar"});return e.appendChild(this.titleEl),e.appendChild(this.descriptionEl),e}}n().registerComponent("titleBar",R);const F=n().getComponent("MenuItem");class B extends F{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,{...t,selectable:!0,multiSelectable:!1,selected:!!t.selected,label:t.label}),this.value=t.value,this._ssIndex=t.index,this._onSelect="function"==typeof t.onSelect?t.onSelect:null}handleClick(e){super.handleClick(e),this._onSelect&&this._onSelect({index:this._ssIndex,value:this.value,label:this.options_.label})}}n().registerComponent("SourceMenuItem",B);const H=B,V=n().getComponent("MenuButton"),$=n().getComponent("MenuItem");class z extends V{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,t),this.controlText(t.tooltip||"Sources"),this._emptyLabel=t.emptyLabel||"No sources",this._items=Array.isArray(t.items)?t.items:[],this._selectedIndex=Number.isInteger(t.defaultIndex)?t.defaultIndex:void 0,this._onSelected="function"==typeof t.onSelected?t.onSelected:null,this._setEnabled(this._items.length>0);const i=this.el().querySelector(".vjs-icon-placeholder");i&&i.classList.add("vjs-icon-source-switcher")}buildCSSClass(){return`vjs-source-switcher-button${!Array.isArray(this._items)||0===this._items.length?" vjs-source-switcher-disabled":""} ${super.buildCSSClass()}`}createItems(){if(!Array.isArray(this._items)||0===this._items.length){const e=new $(this.player_,{label:this._emptyLabel,selectable:!1});return e.addClass("vjs-source-switcher-empty"),e.disable(),[e]}return this._items.map((e,t)=>{let{label:i,value:s}=e;return new H(this.player_,{label:i,value:s,index:t,selected:t===this._selectedIndex,onSelect:e=>this._handleItemSelect(e)})})}_handleItemSelect(e){let{index:t}=e;this._selectedIndex!==t&&this.setSelected(t)}setItems(e){this._items=Array.isArray(e)?e:[],this._selectedIndex=this._items.length?0:void 0,this._setEnabled(this._items.length>0),this._rebuildMenu()}setSelected(e){if(!Array.isArray(this._items)||null==e||e<0||e>=this._items.length)return;this._selectedIndex=e,this.menu&&"function"==typeof this.menu.children&&this.menu.children().forEach(t=>{t instanceof $&&t.selected(t._ssIndex===e)});const{value:t}=this._items[e];this._onSelected&&this._onSelected({index:e,value:t},this.player_)}setOnSelected(e){this._onSelected="function"==typeof e?e:null}_rebuildMenu(){if(!this.menu)return;this.menu.children().slice().forEach(e=>this.menu.removeChild(e)),this.createItems().forEach(e=>this.menu.addItem(e));const e=this.el&&this.el();if(e){const t=0===this._items.length;e.classList.toggle("vjs-source-switcher-disabled",t),e.setAttribute("aria-disabled",String(t))}}_setEnabled(e){const t=this.el&&this.el();t&&(t.classList.toggle("vjs-source-switcher-disabled",!e),t.setAttribute("aria-disabled",String(!e)))}}n().registerComponent("sourceSwitcherButton",z);const U=n().getComponent("BigPlayButton");class W extends U{constructor(e,t){super(e,t),this.boundUpdate=this.handleUpdate.bind(this);const i=this.player();i.on("play",this.boundUpdate),i.on("pause",this.boundUpdate),this.handleUpdate()}buildCSSClass(){return`${super.buildCSSClass()} vjs-big-pause-button`}handleClick(){const e=this.player();!e.paused()&&e.pause()}handleUpdate(){const e=this.player();if(!e)return;const t=e.paused();!t&&e.hasStarted()?this.show():this.hide(),this[t?"removeClass":"addClass"]("vjs-playing"),this.controlText("Pause")}dispose(){if(this.boundUpdate){const e=this.player();e.off("play",this.boundUpdate),e.off("pause",this.boundUpdate)}super.dispose()}}n().registerComponent("BigPauseButton",W); /*! @name videojs-per-source-behaviors @version 3.0.1 @license Apache-2.0 */ var q="3.0.1";const G=n().getTech("Html5"),K=n().registerPlugin||n().plugin,Y=["abort","emptied","loadstart","play"],X=["abort","emptied"],J=["ad-playback","ads-ready?","postroll?","preroll?"],Z=(e,t)=>{return!!e.usingPlugin("ads")&&((e=>e.usingPlugin("ads")&&"function"==typeof e.ads.inAdBreak)(e)?e.ads.isInAdMode()&&"loadstart"!==t.type:(i=e.ads.state,J.indexOf(i)>-1));var i};let Q=0;const ee=function(){const e=[];let t,i,s=!1,n=!0;const r=t=>function(i,s){if(this.perSourceBehaviors.disabled())return;const n=2===arguments.length,r=this.currentSrc(),o=[i],a=arguments[arguments.length-1],l=n?this:i,c=a.bind(l),h=(...e)=>{const i=this.currentSrc()!==r;this.perSourceBehaviors.disabled()||((i||t)&&this.off(...o),i||c(...e))};return h.guid=c.guid=a.guid="psb-"+ ++Q,n||o.push(s),o.push(h),e.push(o),this.on(...o)};this.perSourceBehaviors={disable:function(){return this.clearTimeout(i),i=null,s=!0,s}.bind(this),disabled:()=>s,enable:()=>(s=!1,s),enabled:()=>!s,isSrcStable:()=>n,VERSION:q},this.onPerSrc=r(),this.onePerSrc=r(!0),this.on("dispose",()=>{e.length=0}),this.on(Y,s=>{if(this.perSourceBehaviors.disabled()||i||Z(this,s))return;n&&X.indexOf(s.type)>-1&&(n=!1,this.trigger("sourceunstable"));const r=[],o=e=>r.push({time:Date.now(),event:e});o(s),this.on(G.Events,o),i=this.setTimeout(()=>{const s=this.currentSrc();n=!0,i=null,this.off(G.Events,o),s&&s!==t&&(e.forEach(e=>this.off(...e)),e.length=0,this.trigger("sourcechanged",{interimEvents:r,from:t,to:s}),t=s)},1)})};ee.VERSION=q,K("perSourceBehaviors",ee);let te={};const ie=function(){function e(e,t){return this.player=e,this.options=t,this.initializeHighlightsGraph(),this}return e.prototype.src=function(e){this.resetPlugin(),this.options.src=e,this.initializeHighlightsGraph()},e.prototype.detach=function(){this.resetPlugin()},e.prototype.resetPlugin=function(){this.graphHolder&&this.graphHolder.parentNode.removeChild(this.graphHolder),delete this.progressBar,delete this.graphHolder,delete this.lastStyle},e.prototype.initializeHighlightsGraph=function(){this.options.src&&fetch(this.options.src,{credentials:this.player.cloudinary.source?.().withCredentials?"include":"omit"}).then(e=>e.json()).then(e=>{this.setupHighlightsGraphElement(),this.graphHolder&&this.createHighlightsGraph(e)})},e.prototype.setupHighlightsGraphElement=function(){if(this.progressBar=this.player.$(".vjs-progress-control"),!this.progressBar)return;const e=this.player.$(".vjs-highlights-graph-display")||document.createElement("div");e.setAttribute("class","vjs-highlights-graph-display"),this.progressBar.appendChild(e),this.graphHolder=e},e.prototype.createPath=function(e,t,i){const s=t/(e.length-1),n=e.map((e,t)=>({x:t*s,y:i-e*i})),r=document.createElementNS("http://www.w3.org/2000/svg","path");r.setAttribute("fill","lightblue");let o=`M ${n[0].x},${n[0].y}`;for(let e=0;e<n.length-1;e++){const t=(n[e].x+n[e+1].x)/2,i=(n[e].y+n[e+1].y)/2;o+=` Q ${n[e].x},${n[e].y} ${t},${i}`}return o+=` Q ${n[n.length-1].x},${n[n.length-1].y} ${n[n.length-1].x},${n[n.length-1].y}`,o+=` L ${n[n.length-1].x},${i} L ${n[0].x},${i} Z`,r.setAttribute("d",o),r},e.prototype.createHighlightsGraph=function(e){const t=e.data,i=this.player.$(".vjs-highlights-graph-display > svg")||document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("viewBox","0 0 600 20"),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("width",600),i.setAttribute("height",20),i.innerHTML="";const s=this.createPath(t,600,20);i.appendChild(s),this.graphHolder.appendChild(i)},e}(),se=function(e){this.ready(()=>{!function(e,t){e.addClass("vjs-ai-highlights-graph"),e.aiHighlightsGraph=new ie(e,t)}(this,n().obj.merge(te,e))})};var ne=i(5871),re=i(6827),oe=i.n(re),ae=i(1104);const le={percentsplayed:{percents:[25,50,75,100]}},ce={events:[ae.f.PERCENTS_PLAYED,ae.f.PAUSE_NO_SEEK,ae.f.SEEK,ae.f.MUTE,ae.f.UNMUTE,ae.f.QUALITY_CHANGED]};class he extends(oe()){constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.player=e;const i=n().obj.merge(ce,t);let s={lastState:void 0},r=0,o=0,a=!1,l=[],c=[],h=null,u=!1;const d=e=>{this.player.muted()&&"muted"!==s.lastState?(s.lastState="muted",this.emit(ae.f.MUTE,e)):this.player.muted()||"unmuted"===s.lastState||(s.lastState="unmuted",this.emit(ae.f.UNMUTE,e))},p=e=>{const t=this.player.currentTime(),i=this.player.duration(),s=(t,i)=>{i.originalType="timeupdate",this.emit(t,e,i)};if(this.events.percentsplayed&&this.events.percentsplayed.percents.forEach(e=>{de(t,i,e)&&-1===l.indexOf(e)&&(l.push(e),s(ae.f.PERCENTS_PLAYED,{percent:e}))}),this.events.timeplayed){const e=this.events.timeplayed;(e.interval?[Math.floor(t/e.interval)*e.interval]:e.times).forEach(e=>{pe(t,e)&&-1===c.indexOf(e)&&(c.push(e),s(ae.f.TIME_PLAYED,{time:e}))})}this.events.seek&&(r=o,o=t,Math.abs(r-o)>1&&(a=!0,m(),s(ae.f.SEEK,{seekStart:r,seekEnd:o})))},f=e=>{Math.round(this.player.currentTime())===Math.round(this.player.duration())||a||this.emit(ae.f.PAUSE_NO_SEEK,e)},g=()=>{a=!1},m=()=>{l=[],c=[]};this.events=ue(i.events,le),s={lastState:void 0},r=o=0,a=!1,m(),this.player.on(ae.f.PLAY,(()=>{u&&(this.player.trigger("replay"),u=!1)}).bind(this)),this.player.on(ae.f.ENDED,(()=>{u=!0}).bind(this)),(this.events.percentsplayed||this.events.timeplayed||this.events.seek||this.events.totaltimeplayed)&&this.player.on(ae.f.TIME_UPDATE,p.bind(this)),(this.events.mute||this.events.unmute)&&this.player.on(ae.f.VOLUME_CHANGE,d.bind(this)),this.events.pausenoseek&&(this.player.on(ae.f.PAUSE,f.bind(this)),this.player.on(ae.f.PLAY,g.bind(this))),this.player.on(ae.f.LOADED_METADATA,(()=>{this.player.currentSource().src!==h&&(m(),h=this.player.currentSource().src)}).bind(this)),this.player.on(ae.f.LOADED_DATA,(e=>{let t=this,i=this.player.textTracks(),s=null;for(let e=0;e<i.length;e++)"segment-metadata"===i[e].label&&(s=i[e]);let n=null;s&&s.on("cuechange",function(){let i=s.activeCues[0];if(i){let s=i.value.resolution;if(n!==s){let i={from:n,to:s};t.emit(ae.f.QUALITY_CHANGED,e,i)}n=s}})}).bind(this))}}const ue=(e,t)=>{let i=e;return"Array"===e.constructor.name&&(i=e.reduce((e,i)=>{const s=t[i]||{};return b()(i)?e[i.type]=Object.assign({},s,i):e[i]=s,e},{})),i},de=function(e,t,i){return pe(e,t*i/100,arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5)},pe=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5;return e<=t+i&&e>=t-i},fe=he,ge=[ae.f.PLAY,ae.f.PAUSE,ae.f.ENDED,ae.f.VOLUME_CHANGE,ae.f.RESIZE,ae.f.ERROR,ae.f.FULL_SCREEN_CHANGE,ae.f.START,ae.f.VIDEO_LOAD,ae.f.PERCENTS_PLAYED,ae.f.SEEK,ae.f.PLAYER_LOAD],me={percentsplayed:{percents:[25,50,75,100]}},ye={events:ge,category:"Video",defaultLabel:e=>e.cloudinary?.currentPublicId()||e.currentSource().src};class ve{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player=e,this.options=n().obj.merge(ye,t),this.events=ue(this.options.events,me);const i=(0,ne.sliceProperties)(this.events,ae.f.PERCENTS_PLAYED,ae.f.TIME_PLAYED,ae.f.PAUSE,ae.f.SEEK);i.pause&&(delete i.pause,i.pausenoseek={}),this._extendedEvents=new fe(e,{events:i}),this._currentSource=null,this._startTracked=null,this._endTracked=null,this.resetState()}init(){const e=()=>{this.track({action:"Player Load",label:window.location.href,nonInteraction:!0})},t=()=>{this.track({action:"Play"})},i=()=>{this._startTracked&&(this.track({action:"Start"}),this._startTracked=!0)},s=()=>{this.track({action:"Pause"})},n=()=>{this._endTracked||(this.track({action:"Ended",nonInteraction:!0}),this._endTracked=!0)},r=()=>{this.track({action:"Error",nonInteraction:!0})},o=()=>{const e=this.player.muted()?0:this.player.volume();this.track({action:"Volume Change",value:e})},a=()=>{const e=`Resize - ${this.player.width()}x${this.player.height()}}`;this.track({action:e})},l=()=>{const e=this.player.isFullscreen()?"Enter Fullscreen":"Exit Fullscreen";this.track({action:e})},c=(e,t)=>{const{percent:i}=t;this.track({action:`${i} Percents Played`,nonInteraction:!0})},h=(e,t)=>{const{time:i}=t;this.track({action:`${i} Seconds Played`,value:i,nonInteraction:!0})},u=(e,t)=>{const{seekStart:i,seekEnd:s}=t;this.track({action:"Seek Start",value:i}),this.track({action:"Seek End",value:s})},d=(e,t)=>{this.track({action:"productHover",label:t.productName})},p=(e,t)=>{this.track({action:"productClick",label:t.productName})},f=()=>{this.track({action:"shoppableBar",label:"opened"})},g=()=>{this.track({action:"shoppableBar",label:"closed"})},m=()=>{this.track({action:"replay"})},y=(e,t)=>{this.track({action:"productClickPostPlay",label:t.productName})},v=(e,t)=>{this.track({action:"productHoverPostPlay",label:t.productName})};this.events.shoppable&&(this.player.on("productHover",d.bind(this)),this.player.on("productClick",p.bind(this)),this.player.on("productHoverPost",v.bind(this)),this.player.on("productClickPost",y.bind(this)),this.player.on("productBarMin",g.bind(this)),this.player.on("productBarMax",f.bind(this)),this.player.on("replay",m.bind(this))),this.events.play&&this.player.on(ae.f.PLAY,t.bind(this)),this.events.ended&&this.player.on(ae.f.ENDED,n.bind(this)),this.events.volumechange&&this.player.on(ae.f.VOLUME_CHANGE,o.bind(this)),this.events.resize&&this.player.on(ae.f.RESIZE,a.bind(this)),this.events.error&&this.player.on(ae.f.ERROR,r.bind(this)),this.events.start&&this.player.on(ae.f.PLAYING,i.bind(this)),this.events.fullscreenchange&&this.player.on(ae.f.FULL_SCREEN_CHANGE,l.bind(this)),this.events.percentsplayed&&this._extendedEvents.on(ae.f.PERCENTS_PLAYED,c.bind(this)),this.events.timeplayed&&this._extendedEvents.on(ae.f.TIME_PLAYED,h.bind(this)),this.events.pause&&this._extendedEvents.on(ae.f.PAUSE_NO_SEEK,s.bind(this)),this.events.seek&&this._extendedEvents.on(ae.f.SEEK,u.bind(this)),this.events.playerload&&e(),this.player.on(ae.f.LOADED_METADATA,this.loadedmetadata.bind(this))}track(e){let{action:t,label:i,value:s=null,nonInteraction:n=!1}=e;const r={event_category:this.options.category,event_label:i||this.options.defaultLabel(this.player),value:s||Math.round(this.player.currentTime()),non_interaction:n};window.gtag("event",t,r)}videoload(){this.track({action:"Video Load",nonInteraction:!0})}resetState(){this._currentSource="",this._startTracked=!1,this._endTracked=!1}loadedmetadata(){const e=this.player.currentSource().src;e!==this._currentSource&&(this.resetState(),this._currentSource=e,this.events.videoload&&this.videoload())}}var _e=i(3171);const be={fraction:.5,isMuted:!0};class we{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=Object.assign({},be,t),this.player=e;let i=(0,ne.sliceProperties)(t,"fraction"),s=!1,n=!1,r=null,o=null;this.init=()=>{u(),h()};const a=()=>{window.removeEventListener("DOMContentLoaded",h,!1),window.removeEventListener("load",h,!1),window.removeEventListener("scroll",h,!1),window.removeEventListener("resize",h,!1),this.player.off("pause",r),this.player.off("play",o)},l=()=>{s=!0,n=!1,this.player.pause()},c=()=>{s=!1,n=!0,this.player.play()},h=()=>{(0,_e.isElementInViewport)(this.player.el(),{fraction:i.fraction})?this.player.paused()&&c():this.player.paused()||this.player.activePlugins_.floatingPlayer||l()},u=()=>{r=()=>{this.player.waiting||s||a()},o=()=>{n||a()},window.addEventListener("DOMContentLoaded",h,!1),window.addEventListener("load",h,!1),window.addEventListener("scroll",h,!1),window.addEventListener("resize",h,!1),this.player.on("pause",r),this.player.on("play",o)}}}var Te=i(5004),Ce=i(5381);const ke=class{constructor(e){this._emitter=e,this._eventHandlers=[]}on(e,t){this._eventHandlers.push({type:e,handler:t}),this._emitter.on(e,t)}one(e,t){var i=this;this._eventHandlers.push({type:e,handler:t,wrapper:function(){t(...arguments),i.off(e,t)}}),this._emitter.one(e,t)}off(e,t){const i=this._eventHandlers?.findIndex(i=>i.type===e&&i.handler===t);if(-1===i)return;const s=this._eventHandlers[i];this._emitter.off(e,s.wrapper||s.handler),this._eventHandlers.splice(i,1)}removeAllListeners(){this._eventHandlers.forEach(e=>{this.off(e)})}};var Se=i(4650),xe=i(7311);const Ee={format:"jpg",resource_type:"video",transformation:{flags:"waveform"}},je=RegExp(`\\.(${["mp3","ogg","wav","mp4"].join("|")})$$`),Ae={resource_type:"video",type:"upload",transformation:[]};class Pe extends Ce.A{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};({publicId:e,options:t}=(0,M.a5)(e,t)),e=e.replace(je,""),t=Object.assign({},Ae,t);const{poster:i}=(0,ne.sliceAndUnsetProperties)(t,"poster");super(e,t),this._poster=null,this._type=ae.x.AUDIO,this.poster(i)}getPoster(){return this._poster}poster(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e?e instanceof Se.A?(this._poster=e,this):(({publicId:e,options:t}=(0,M.a5)(e,t,{tolerateMissingId:!0})),e||(e=this.publicId(),t=Object.assign({},t,Ee)),t.cloudinaryConfig=t.cloudinaryConfig||this.cloudinaryConfig(),this._poster=new Se.A(e,t),this):this._poster}generateSources(){return this.sourceTypes().map(e=>{if("audio"===e){const t="mp3",i={},s=this.sourceTransformation()[e]||[this.transformation()];s&&(i.transformation=s),Object.assign(i,{resource_type:"video",format:t});const n=this.queryParams()?(0,xe.y)(this.queryParams()):"";return{type:"video/mp4",src:`${this.config().url(this.publicId(),i)}${n}`,cldSrc:this,poster:this.getPoster().url()}}return null},this)}}const Oe=Pe;const Ie={transformation:{},sourceTypes:[],sourceTransformation:[],posterOptions:{}},Le=["cloudinaryConfig","transformation","sourceTypes","sourceTransformation","posterOptions","autoShowRecommendations"];class Me{constructor(e){var t=this;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,M.M6)(),this.player=e,s=Object.assign({},Ie,s);let n=null,r=null,o=null,a=null,l=null,c=null,h=null,u=null,d=null,p=s.chainTarget,f=null,g=null,m=!1;this.source=function(s){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r=Object.assign({},r),!s)return n;let o=null;if(s instanceof Ce.A)o=s;else{let{publicId:e,options:i}=(0,M.a5)(s,r);o=t.buildSource(e,i)}const a=o.recommendations();if(a&&a.length){let t=null,s=!1;r.recommendationOptions&&({disableAutoShow:s,itemBuilder:t}=(0,ne.sliceAndUnsetProperties)(r.recommendationOptions,"disableAutoShow","itemBuilder")),async function(e){try{return e.getChild("recommendationsOverlay")||(await Promise.all([i.e(869),i.e(410)]).then(i.bind(i,7604)),e.addChild("recommendationsOverlay")),e}catch(e){console.error("Failed to load plugin:",e)}}(e).then(()=>{y(a,{disableAutoShow:s,itemBuilder:t})})}else _();n=o,h=o.transformation();const l=r.sourceTypes&&r.sourceTypes.some(e=>e.includes("dash"))||"string"==typeof s&&s.endsWith(".mpd"),c=r.sourceTypes&&r.sourceTypes.some(e=>e.includes("hls"))||"string"==typeof s&&s.endsWith(".m3u8");return(l||c)&&!t.player.adaptiveStreamingLoaded?i.e(26).then(i.bind(i,7707)).then(()=>{t.player.adaptiveStreaming({...r.adaptiveStreaming,isDash:l,debug:r.debug,withCredentials:r.withCredentials}).then(()=>{b()})}).catch(e=>{console.error("Failed to load adaptive streaming plugin:",e),b()}):r.skipRefresh||b(),t.player.trigger("cldsourcechanged",{source:o,sourceOptions:r}),p},this.buildSource=function(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=null;({publicId:e,options:i}=(0,M.a5)(e,i)),i.cloudinaryConfig=(0,M.lP)(t.cloudinaryConfig(),i.cloudinaryConfig||{}),i.transformation=(0,M.N7)(t.transformation(),i.transformation||{}),i.sourceTransformation=i.sourceTransformation||t.sourceTransformation(),i.sourceTypes=i.sourceTypes||t.sourceTypes();const n=T(),r=i.posterOptions||{};return i.poster=i.poster||n,i.posterOptions=Object.assign({},n,r,{hasUserPosterOptions:!!r||null}),i.queryParams=Object.assign(i.queryParams||{},i.allowUsageReport?{_s:"vp-3.6.3"}:{}),s=i.sourceTypes.indexOf("audio")>-1?new Oe(e,i):new Ce.A(e,i),s},this.posterOptions=e=>e?(l=e,p):l,this.disablePoster=e=>{this.player.poster(" "),this.player.posterImage.el().style.backgroundColor=e},this.cloudinaryConfig=e=>e?(c=e,p):c,this.transformation=e=>e?(h=e,p):h,this.sourceTypes=e=>e?(u=e,p):u,this.getCurrentSources=()=>r,this.sourceTransformation=e=>e?(d=e,p):d,this.on=function(){return f.on(...arguments)},this.one=function(){return f.one(...arguments)},this.off=function(){return f.off(...arguments)},this.autoShowRecommendations=e=>void 0===e?m:(m=e,p),this.dispose=()=>{this.playlist&&this.playlist()&&this.disposePlaylist(),_(),n=void 0,f.removeAllListeners()};const y=(e,t)=>{let{disableAutoShow:i=!1,itemBuilder:s=null}=t;if(_(),!Array.isArray(e)&&"function"!=typeof e&&!e.then)throw new Error('"recommendations" must be either an array or a function');g={},s=s||(e=>({source:e instanceof Ce.A?e:this.buildSource(e),action:()=>this.source(e)})),g.sourceChangedHandler=()=>{const t=e=>{if(void 0!==e&&e.length>0){const t=e.map(e=>s(e));this.player.trigger("recommendationschanged",{items:t})}else this.player.trigger("recommendationsnoshow");g.sources=e};v()(e)?t(e()):e.then?e.then(t):t(e)},g.sourceChangedHandler(),g.endedHandler=()=>{!i&&this.autoShowRecommendations()&&this.player.trigger("recommendationsshow")},this.on("ended",g.endedHandler)},_=()=>{g&&(this.off("cldsourcechanged",g.sourceChangedHandler),this.off("ended",g.endedHandler),delete g.endedHandler,delete g.sourceChangedHandler),g=null},b=()=>{const e=this.source();if(!e)return;const t=Object.assign({},this.player.cloudinary.posterOptions(),e.getInitOptions().poster);t.posterColor?this.disablePoster(t.posterColor):e.poster()&&this.player.poster(e.poster().url()),r=e.generateSources().reduce((e,t)=>{if(t.isAdaptive){if((t.type.split("; ")[1]||null)&&"MediaSource"in window){let i=`video/mp4; ${t.type.split("; ")[1]||""}`;w(i)&&e.push(t)}else e.push(t)}else e.push(t);return e},[]),this.player.src(r),o=e,this.playlist&&(a=this.playlist())},w=e=>document.createElement("video").canPlayType(e)||"MediaSource"in window&&MediaSource.isTypeSupported(e),T=()=>{const e=Object.assign({},this.posterOptions());e.transformation=e.transformation||{},!e.transformation.width&&!e.transformation.height||e.transformation.crop||(e.transformation.crop="scale");const t=this.player.el();if(t&&t.clientWidth&&t.clientHeight&&!(0,Te.isKeyInTransformation)(e.transformation,"width")&&!(0,Te.isKeyInTransformation)(e.transformation,"height")){const i=e=>100*Math.ceil(e/100);e.transformation=(0,M.N7)(e.transformation,{width:i(t.clientWidth),height:i(t.clientHeight),crop:"limit"})}return e};f=new ke(this.player);const C=(0,ne.sliceAndUnsetProperties)(s,...Le);var k,S;k=this,S=C,Object.entries(S).forEach(e=>{let[t,i]=e;k[t]&&"function"==typeof k[t]&&k[t](i)}),this.on("sourcechanged",(e,t)=>{let i=t.to;o&&o.contains(i)?this.source()||(this.playlist&&a&&this.playlist(a),this.source(o,{skipRefresh:!0})):(this.player.trigger("cldsourcechanged",{}),this.dispose())})}currentSourceType(){return this.source().getType()}currentPublicId(){return this.source()&&this.source().publicId()}currentPoster(){return this.source()&&this.source().poster()}}var De=i(4679),Ne=i.n(De),Re=i(4138);class Fe{constructor(e,t){this.player=e,this.cloudinaryAnalytics=(0,Re.connectCloudinaryAnalytics)(this.player.videoElement,{playerAdapter:this.getCloudinaryVideoPlayerAdapter()}),this.currentVideoMetadata={cloudName:null,publicId:null},this.analyticsOptions=t}getMetadata=()=>({cloudName:this.player.cloudinary.cloudinaryConfig().cloud_name,publicId:this.player.cloudinary.currentPublicId()});sourceChanged=(e,t)=>{let{source:i}=t;const s=this.getMetadata();if(s.cloudName&&s.publicId){const e="live"===i?.resourceConfig().type;this.currentVideoMetadata=s,this.cloudinaryAnalytics.startManualTracking({...s,...e?{type:"live"}:{}},{...Ne()(this.analyticsOptions)?this.analyticsOptions:{},videoPlayerType:"cloudinary video player",videoPlayerVersion:"3.6.3"})}else this.currentVideoMetadata.cloudName===s.cloudName&&this.currentVideoMetadata.publicId===s.publicId||this.cloudinaryAnalytics.stopManualTracking()};getCloudinaryVideoPlayerAdapter=()=>{const e=(e,t)=>(this.player.on(e,t),()=>{this.player.off(e,t)});return{onCanPlay:t=>e("canplay",t),onCanPlayThrough:t=>e("canplaythrough",t),onComplete:t=>e("complete",t),onDurationChange:t=>e("durationchange",t),onEmptied:t=>e("emptied",t),onEnded:t=>e("ended",t),onError:t=>e("error",t),onLoadedData:t=>e("loadeddata",t),onLoadedMetadata:t=>e("loadedmetadata",t),onLoadStart:t=>e("loadstart",t),onPause:t=>e("pause",t),onPlay:t=>e("play",t),onPlaying:t=>e("playing",t),onProgress:t=>e("progress",t),onRateChange:t=>e("ratechange",t),onSeeked:t=>e("seeked",t),onSeeking:t=>e("seeking",t),onStalled:t=>e("stalled",t),onSuspend:t=>e("suspend",t),onTimeUpdate:t=>e("timeupdate",t),onVolumeChange:t=>e("volumechange",t),onWaiting:t=>e("waiting",t),getCurrentSrc:()=>this.player.videoElement.currentSrc,getCurrentTime:()=>this.player.currentTime(),getReadyState:()=>this.player.videoElement.readyState,getDuration:()=>this.player.duration()}};init(){this.player.on(ae.f.CLD_SOURCE_CHANGED,this.sourceChanged)}}var Be=i(7134);const He=n().getComponent("MenuItem");const Ve=class extends He{handleClick(){super.handleClick(),this.options_.listener()}createEl(){const e=(0,Be.n)("span",{class:"vjs-menu-item-text"+(this.options_.class?` ${this.options_.class}`:"")});e.appendChild(document.createTextNode(this.localize(this.options_.label)));return(0,Be.n)("li",{class:"vjs-menu-item",tabIndex:-1},e)}},$e=n().getComponent("Menu");const ze=class extends $e{constructor(e,t){var i;super(e,t),i=this,t.content.forEach(t=>{let s=null;s=v()(t.listener)?t.listener:"string"==typeof t.href?()=>window.open(t.href):()=>!0,this.addItem(new Ve(e,{label:t.label,class:t.class,listener:function(){s(...arguments),i.dispose()}}))})}setPosition(e,t){(0,_e.setPosition)(this.el(),e,t)}createEl(){const e=super.createEl();if(n().dom.addClass(e,"vjs-context-menu-ui"),this.options_.position){const{left:e,top:t}=this.options_.position;this.setPosition(e,t)}return e}},Ue={cancel:!0,sensitivity:10,wait:500,disabled:!1},We="vjs-contextmenu";function qe(e,t){if(e.contextmenu.options.disabled)return e;const i={target:e,type:We};return["clientX","clientY","pageX","pageY","screenX","screenY"].forEach(e=>{i[e]=t[e]}),e.trigger(i)}function Ge(e){const t=this.contextmenu.current;if(!t)return;const i=this.contextmenu.options.wait;"touchend"===e.type&&(new Date).getTime()-t.time>=i&&qe(this,e),this.contextmenu.current=null}function Ke(e){const t=this.contextmenu.current;if(!t)return;const i=e.touches[0],s=this.contextmenu.options.sensitivity;(i.screenX-t.screenX>s||i.screenY-t.screenY>s)&&(this.contextmenu.current=null)}function Ye(e){if(this.contextmenu.current)return;const t=e.touches[0];this.contextmenu.current={screenX:t.screenX,screenY:t.screenY,time:(new Date).getTime()}}function Xe(e){this.contextmenu.options.cancel&&!this.contextmenu.options.disabled&&e.preventDefault(),qe(this,e),this.off(["touchcancel","touchend"],Ge),this.off("touchmove",Ke),this.off("touchstart",Ye)}function Je(e){this.contextmenu.options=n().obj.merge(Ue,e),this.on("contextmenu",Xe),this.on(["touchcancel","touchend"],Ge),this.on("touchmove",Ke),this.on("touchstart",Ye),this.ready(()=>this.addClass(We))}n().registerPlugin("contextmenu",Je);const Ze={showNativeOnRecurringEvent:!1};class Qe{constructor(e,t){if(!Array.isArray(t.content)&&!v()(t.content))throw new Error('"content" required');const i=Object.assign({},Ze,t);this.player=e;const s=(0,ne.sliceProperties)(i,"content","showNativeOnRecurringEvent");this.init=()=>{this.player.contextmenu(),this.player.on("vjs-contextmenu",o),this.player.ready(()=>this.player.addClass("vjs-context-menu"))};const r=e=>{const t=this.menu.el();t.style.visibility="hidden",this.player.el().appendChild(t);const i=t.getBoundingClientRect();this.player.el().removeChild(t),t.style.visibility="visible";const s=(0,_e.getPointerPosition)(this.player.el(),e),n=this.player.el().getBoundingClientRect();let r=n.height-n.height*s.y+1,o=Math.round(n.width*s.x)+1,a=r,l=o;if(r+i.height>n.height){a=r+i.height-n.height>i.height/2?r-i.height-1:n.height-i.height}if(o+i.width>n.width){l=o+i.width-n.width>i.width/2?o-i.width-1:n.width-i.width}return a<r&&l<o&&(a=r-i.height-1,l=o-i.width-1),a=Math.max(0,a),l=Math.max(0,l),{left:l,top:a}},o=e=>{if(this.menu&&(this.menu.dispose(),s.showNativeOnRecurringEvent))return;s.showNativeOnRecurringEvent&&(this.player.contextmenu.options.cancel=!1),e.preventDefault();let t=s.content;v()(t)&&(t=t(this.player)),this.menu=new ze(this.player,{content:t});const{left:i,top:o}=r(e);this.menu.setPosition(i,o);const a=e=>{("click"!==e.type||3!==e.which&&2!==e.button)&&this.menu.dispose()};this.menu.on("dispose",()=>{this.player.contextmenu.options.cancel=!0,this.player.removeChild(this.menu),n().off(document,["click","tap"],a),delete this.menu}),this.player.addChild(this.menu),n().on(document,["click","tap"],a)}}}var et=i(608);const tt={fraction:.5,collapsedWidth:300,floatTo:"right"};class it{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=Object.assign({},tt,t),t.floatTo&&t.floatTo!==et.rT.LEFT&&t.floatTo!==et.rT.RIGHT&&(t.floatTo=tt.floatTo),this.player=e;const i=this.player.el();let s=(0,ne.sliceProperties)(t,"fraction"),n=null,r=!1,o=!1;this.init=()=>{h(),"object"==typeof this.player.ima&&u()};const a=e=>{const t=document.createElement("div");for(e.appendChild(t);e.firstChild!==t;)t.appendChild(e.firstChild);return t},l=()=>{window.removeEventListener("DOMContentLoaded",m,!1),window.removeEventListener("load",m,!1),window.removeEventListener("scroll",m,!1),window.removeEventListener("resize",m,!1)},c=()=>{window.addEventListener("DOMContentLoaded",m,!1),window.addEventListener("load",m,!1),window.addEventListener("scroll",m,!1),window.addEventListener("resize",m,!1)},h=()=>{this.player.on("play",m),this.player.on("play",c),this.player.on("dispose",l)},u=()=>{const e=i.getBoundingClientRect();n=a(i);const t=a(n);t.setAttribute("class","cld-video-player-floater-inner"),t.setAttribute("style","padding-bottom: "+100*e.height/e.width+"%;");const s=document.createElement("button");s.setAttribute("class","cld-video-player-floater-close"),s.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><polygon fill-rule="evenodd" points="370 7.41 368.59 6 364 10.59 359.41 6 358 7.41 362.59 12 358 16.59 359.41 18 364 13.41 368.59 18 370 16.59 365.41 12" transform="translate(-358 -6)"/></svg>',s.onclick=()=>{f(),g()},n.appendChild(s)},d=()=>{const{ima:e}=this.player;if(e&&e.adsActive){e.getAdsManager().resize(r?n.clientWidth:i.clientWidth,r?n.clientHeight:i.clientHeight)}},p=()=>{n||u(),o||(()=>{const e=i.getBoundingClientRect();n.setAttribute("class",`cld-video-player-floater cld-video-player-floater-bottom-${t.floatTo}`),n.setAttribute("style",["width: "+t.collapsedWidth+"px;","top: "+e.top+"px;","left: "+e.left+"px;","right: "+(document.documentElement.clientWidth-e.right)+"px;","bottom: "+(document.documentElement.clientHeight-e.bottom)+"px;"].join("")),o=!0})(),r=!0,setTimeout(()=>{n.classList.add("cld-video-player-floating"),d()})},f=()=>{n.classList.remove("cld-video-player-floating"),r=!1,d()},g=()=>{l(),this.player.off("play",m),this.player.off("play",c)},m=()=>{(0,_e.isElementInViewport)(this.player.el(),{fraction:s.fraction})?r&&f():r||p()}}}const st=function(){const e=this;return{reInit:t=>{const i=e.getChild("controlBar").getChild("sourceSwitcherButton");if(!i)return void n().log.warn("SourceSwitcherButton not found in controlBar.");const s=t.sources.map(e=>({value:e.publicId,label:e.label||e.publicId}));i.setItems(s),i.setOnSelected(()=>{}),i.setSelected(t.selectedIndex),i.setOnSelected(e=>{let{index:i}=e;t.onSourceChange(t.sources[i])})}}};var nt=i(7588),rt=i(3066);const ot=(e,t)=>{const i={theme:e.theme||"default",fontFace:e.fontFace,fontSize:e.fontSize,gravity:e.gravity||"bottom",box:e.box,style:e.style,wordHighlightStyle:e.wordHighlightStyle},s=document.createElement("style");t.el_.appendChild(s);const n=t.textTrackDisplay.el().classList;n.forEach(e=>{e.startsWith("cld-styled-text-tracks")&&n.remove(e)}),n.add("cld-styled-text-tracks"),n.add(`cld-styled-text-tracks-theme-${i.theme}`),i.gravity.split("-").forEach(e=>{n.add(`cld-styled-text-tracks-gravity-${e}`)});const r=(e,t)=>{if(Object.entries(e)){const i=Object.entries(e).reduce((e,t)=>{let[i,s]=t;return e+`${i}: ${s} !important; `},"");s.innerHTML+=`${t} { ${i} } `}},o=e=>{const i=`\n .${(0,rt.playerClassPrefix)(t)} .vjs-text-track-cue > div,\n .${(0,rt.playerClassPrefix)(t)} ::cue\n `;r(e,i)};if(i.fontFace&&((0,nt.fontFace)(t.textTrackDisplay.el(),i.fontFace),o({"font-family":i.fontFace})),i.box){const{x:e,y:s,width:n,height:o}=i.box;(e=>{const i=`\n .${(0,rt.playerClassPrefix)(t)} .vjs-text-track-display.cld-styled-text-tracks,\n .${(0,rt.playerClassPrefix)(t)} ::-webkit-media-text-track-display\n `;r(e,i)})({translate:`${e||0} ${s||0}`,...n?{width:n}:void 0,...o?{height:o}:void 0})}i.fontSize&&o({"font-size":i.fontSize}),i.style&&o(i.style),i.wordHighlightStyle&&(r(i.wordHighlightStyle,`.${(0,rt.playerClassPrefix)(t)} .cld-paced-text-tracks .vjs-text-track-cue b`),r(i.wordHighlightStyle,"video::cue(b)"))};let at={},lt={};const ct=function(){function e(e,t){return this.player=e,this.options=t,this.initializeThumbnails(),this}return e.prototype.src=function(e){this.resetPlugin(),this.options.src=e,this.initializeThumbnails()},e.prototype.detach=function(){this.resetPlugin()},e.prototype.resetPlugin=function(){this.thumbnailHolder&&this.thumbnailHolder.parentNode.removeChild(this.thumbnailHolder),delete this.vttData,delete this.thumbnailHolder,delete this.lastStyle},e.prototype.initializeThumbnails=function(){this.options.src&&fetch(this.options.src,{credentials:this.player.cloudinary.source?.().withCredentials?"include":"omit"}).then(e=>e.text()).then(e=>{this.vttData=this.processVtt(e),this.setupThumbnailElement()})},e.prototype.setupThumbnailElement=function(){if(!this.vttData[0])return;const e=this.player.$(".vjs-progress-holder .vjs-mouse-display");this.thumbnailHolder=this.player.$(".vjs-vtt-thumbnail-display")||n().dom.createEl("div",void 0,{class:"vjs-vtt-thumbnail-display",style:`width: ${this.vttData[0].css.width}`}),this.thumbnailHolder.innerHTML="",this.thumbnailHolder.setAttribute("class","vjs-vtt-thumbnail-display"),e.appendChild(this.thumbnailHolder);const t=parseInt(this.vttData[0].css.width,10)/2,i=this.updateThumbnailStyle.bind(this);this.player.getDescendant(["controlBar","progressControl","seekBar","mouseTimeDisplay"]).update=function(e,s){const r=s*this.player_.duration(),o=e.width;i(r),this.getChild("timeTooltip").updateTime(e,s,r,()=>{e.width*s<t?this.el_.style.left=`${t}px`:e.width*s+t>o?this.el_.style.left=e.width-t+"px":this.el_.style.left=e.width*s+"px"}),this.getChild("timeTooltip").write(n().time.formatTime(r))}},e.prototype.getStyleForTime=function(e){for(let t=0;t<this.vttData.length;++t){let i=this.vttData[t];if(e>=i.start&&e<i.end){if(i.css.url&&!lt[i.css.url]){let e=new Image;e.src=i.css.url,lt[i.css.url]=e}return i.css}}},e.prototype.updateThumbnailStyle=function(e){let t=this.getStyleForTime(e);if(t){if(this.thumbnailHolder.style.opacity="1",!this.lastStyle||this.lastStyle!==t){this.lastStyle=t;for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(this.thumbnailHolder.style[e]=t[e])}}else this.thumbnailHolder.style.opacity="0"},e.prototype.processVtt=function(e){let t=[];return e.split(/[\r\n][\r\n]/i).forEach(e=>{if(e.match(/([0-9]{2}:)?([0-9]{2}:)?[0-9]{2}(.[0-9]{3})?( ?--> ?)([0-9]{2}:)?([0-9]{2}:)?[0-9]{2}(.[0-9]{3})?[\r\n]{1}.*/gi)){let i=e.split(/[\r\n]/i),s=i[0].split(/ ?--> ?/i),n=s[0],r=s[1],o=i[1].split("/").pop(),a=this.getVttCss(o);t.push({start:this.getSecondsFromTimestamp(n),end:this.getSecondsFromTimestamp(r),css:a})}}),t},e.prototype.getPropsFromDef=function(e){let t=e.split(/#xywh=/i),i=t[0],s=t[1].match(/[0-9]+/gi);return{x:s[0],y:s[1],w:s[2],h:s[3],image:i}},e.prototype.getVttCss=function(e){let t={};e=[this.options.src.split(/([^\/]*)$/gi).shift().trim(),e.trim()].join("/");let i=this.getPropsFromDef(e);return t.background='url("'+i.image+'") no-repeat -'+i.x+"px -"+i.y+"px",t.width=i.w+"px",t.height=i.h+"px",t.url=i.image,t},e.prototype.getSecondsFromTimestamp=function(e){const[t,i,s]=e.split(":").map(parseFloat);return 60*t*60+60*i+s},e}(),ht=function(e){this.ready(()=>{!function(e,t){e.addClass("vjs-vtt-thumbnails"),e.vttThumbnails=new ct(e,t)}(this,n().obj.merge(at,e))})};var ut=i(7707);const dt=async(e,t)=>((e,t)=>{const i=[],s=e=>{let{startTime:s,endTime:n,text:r}=e;i.push({startTime:s+t.timeOffset,endTime:n+t.timeOffset,text:r})};return e.forEach(e=>{const n=e.words;if(n){const e=t.maxWords||n.length;for(let r=0;r<n.length;r+=e)t.wordHighlight?n.slice(r,Math.min(r+e,n.length)).forEach((t,i)=>{s({startTime:t.start_time,endTime:t.end_time,text:n.slice(r,r+e).map(e=>e===t?`<b>${e.word}</b>`:e.word).join(" ")}),n[i+1]&&t.end_time<n[i+1].start_time&&s({startTime:t.end_time,endTime:n[i+1].start_time,text:n.slice(r,r+e).map(e=>e.word).join(" ")})}):i.push({startTime:n[r].start_time,endTime:n[Math.min(r+e-1,n.length-1)].end_time,text:n.slice(r,r+e).map(e=>e.word).join(" ")})}else s({startTime:e.start_time,endTime:e.end_time,text:e.transcript})}),i})(JSON.parse(e),t);const pt=class{seperator=",";timestampToSeconds(e){const[t,i]=e.split(","),s=parseInt(i),[n,r,o]=t.split(":").map(e=>parseInt(e)),a=.001*s+o+60*r+3600*n;return Math.round(1e3*a)/1e3}correctFormat(e){let t=e.replace(".",",");var i,[s,n]=t.split(",");i=this.fixed_str_digit(3,n);var[r,o,a]=s.split(":");return`${this.fixed_str_digit(2,r,!1)}:${this.fixed_str_digit(2,o,!1)}:${this.fixed_str_digit(2,a,!1)},${i}`}fixed_str_digit(e,t,i=!0){return t.length==e?t:t.length>e?t.slice(0,e):t.length<e?i?t.padEnd(e,"0"):t.padStart(e,"0"):void 0}tryComma(e){let t=(e=e.replace(/\r/g,"")).split(/(\d+)\n(\d{1,2}:\d{2}:\d{2},\d{1,3}) --> (\d{1,2}:\d{2}:\d{2},\d{1,3})/g);return t.shift(),t}tryDot(e){let t=(e=e.replace(/\r/g,"")).split(/(\d+)\n(\d{1,2}:\d{2}:\d{2}\.\d{1,3}) --> (\d{1,2}:\d{2}:\d{2}\.\d{1,3})/g);return t.shift(),this.seperator=".",t}fromSrt(e){var t=e,i=this.tryComma(t);0==i.length&&(i=this.tryDot(t));for(var s=[],n=0;n<i.length;n+=4){const e=this.correctFormat(i[n+1].trim()),t=this.correctFormat(i[n+2].trim());var r={id:i[n].trim(),startTime:e,startSeconds:this.timestampToSeconds(e),endTime:t,endSeconds:this.timestampToSeconds(t),text:i[n+3].trim()};s.push(r)}return s}toSrt(e){var t="";const i="\r\n";for(var s=0;s<e.length;s++){var n=e[s];t+=n.id+i,t+=n.startTime+" --\x3e "+n.endTime+i,t+=n.text.replace("\n",i)+i+i}return t}},ft=async e=>(new pt).fromSrt(e).filter(e=>e).map(e=>({startTime:e.startSeconds,endTime:e.endSeconds,text:e.text})),gt=function(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return`${e}/_applet_/video_service/transcription/${t}/${s?`${s}/`:""}${(0,L.G)(i)}.transcript`};const mt=function(){const e=this,t=new WeakMap;let i=null;const s=(e,i)=>{const s=new AbortController;t.set(e,{status:"idle",load:async()=>{const{status:n}=t.get(e);"idle"===n&&(await i(s.signal),(e=>{if(!e||"string"!=typeof e.mode)return;const t=e.mode;e.mode="showing"===t?"hidden":"showing",setTimeout(()=>{e.mode=t},0)})(e))},abortLoading:()=>{const{status:i}=t.get(e);"pending"===i&&s.abort()}})},n=(e,i)=>{const s=t.get(e);t.set(e,{...s,...i})},r=(t,i)=>{const{kind:r=("transcript"===t?"captions":"subtitles"),label:o=("transcript"===t?"Captions":"Subtitles"),default:a,srclang:l,src:c}=i;"transcript"===t&&e.textTrackDisplay.el().classList.add("cld-paced-text-tracks");const{track:h}=e.addRemoteTextTrack({kind:r,label:o,srclang:l,default:a,mode:a?"showing":"disabled"});s(h,async s=>{n(h,{status:"pending"});const r=(()=>{if(c)return c;if("transcript"!==t)return;const i=e.cloudinary.source(),s=i.publicId(),n=i.resourceConfig().type,r=(0,M.k$)(e.cloudinary.cloudinaryConfig()),o=gt(r,n,s);return(l?gt(r,n,s,l):null)||o})(),o=await async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{polling:i=!1,interval:s=3e3,maxAttempts:n=10,signal:r,onSuccess:o,onError:a,onAttempt:l}=t;let c=0;const h=async()=>{if(r?.aborted)throw new DOMException("Aborted","AbortError");c++,l?.(c);const t=await fetch(e,{signal:r});if(202===t.status&&i){if(c<n)return new Promise((e,t)=>{const i=setTimeout(()=>{h().then(e).catch(t)},s);r?.addEventListener("abort",()=>{clearTimeout(i),t(new DOMException("Aborted","AbortError"))},{once:!0})});throw new Error(`Polling max attempts reached (${n}) for ${e}`)}if(!t.ok)throw new Error(`Failed fetching from ${e} with status code ${t.status}`);const a=await t.text();return o?.(a),a};try{return await h()}catch(e){"AbortError"===e.name?console.warn("Polling aborted"):console.error(e),a?.(e)}}(r,{signal:s,polling:"transcript"===t&&!c,interval:2e3,maxAttempts:10,responseStatusAsPending:202,onSuccess:()=>(e=>n(e,{status:"success"}))(h),onError:e=>{((e,t)=>{n(e,{status:"error",error:t})})(h,e),console.warn(`[${h.label}] Text track could not be loaded`)}});if(o){const e="srt"===t?ft:e=>dt(e,{maxWords:i.maxWords,wordHighlight:i.wordHighlight,timeOffset:i.timeOffset??0}),s=await e(o);(e=>{e&&e.cues&&Array.from(e.cues).forEach(t=>{try{e.removeCue(t)}catch(e){console.warn("Failed to remove cue:",t,e)}})})(h),((e,t)=>{t.forEach(t=>{let{startTime:i,endTime:s,text:n,settings:r}=t;const o=new VTTCue(i,s,n);r&&r.split(/\s+/).forEach(e=>{const[t,i]=e.split(":");if(t&&i)switch(t){case"line":o.line=isNaN(i)?i:parseFloat(i);break;case"position":o.position=parseFloat(i);break;case"size":o.size=parseFloat(i);break;case"align":o.align=i}}),e.addCue(o)})})(h,s),(e=>{n(e,{status:"applied"})})(h)}})},o=t=>{t.forEach(t=>{t.src&&t.src.endsWith(".vtt")?(t=>{const{kind:i="subtitles",label:s="Subtitles",default:n,srclang:r,src:o}=t;e.addRemoteTextTrack({kind:i,label:s,srclang:r,src:o,default:n,mode:n?"showing":"disabled"})})(t):t.src&&t.src.endsWith(".srt")?r("srt",t):t.src&&!t.src.endsWith(".transcript")||r("transcript",t)});const i=Array.from(e.remoteTextTracks()).find(e=>e.default);i&&a(i)},a=e=>{const s=i;i=e;const n=t.get(s);n&&n.abortLoading();const r=t.get(i);r&&r.load()};return e.on("texttrackchange",()=>{const t=e.textTracks();let s=null;for(let e=0;e<t.length;e++){const i=t[e];if("showing"===i.mode){s=i;break}}i!==s&&a(s)}),{removeAllTextTracks:()=>{const t=e.remoteTextTracks();if(t)for(let i=t.tracks_.length-1;i>=0;i--)e.removeRemoteTextTrack(t.tracks_[i])},addTextTracks:function(){for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];e.one("loadedmetadata",()=>{o(...i)})}}},yt={aiHighlightsGraph:se,analytics:function(){new ve(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).init()},autoplayOnScroll:function(){new we(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).init()},cloudinary:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.chainTarget=e.chainTarget||this,this.cloudinary=new Me(this,e)},cloudinaryAnalytics:function(){new Fe(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).init()},contextMenu:function(){new Qe(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).init()},floatingPlayer:function(){new it(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).init()},sourceSwitcher:st,styledTextTracks:async function(e){const t=this;try{t.ready(()=>ot(e,t))}catch(e){console.error("Failed to load plugin:",e)}},vttThumbnails:ht,chapters:async function(e){const t=this;try{const{default:s}=await Promise.all([i.e(869),i.e(625)]).then(i.bind(i,9234));t.ready(()=>s(e,t))}catch(e){console.error("Failed to load plugin:",e)}},colors:async function(e){const t=this;try{const{default:s}=await Promise.all([i.e(869),i.e(691)]).then(i.bind(i,9454)),n=s(t,e);return t.cloudinary.colors=n,n}catch(e){console.error("Failed to load colors plugin:",e)}},imaPlugin:async function(e,t){await Promise.all([i.e(869),i.e(330)]).then(i.bind(i,2650));const s=v()(e.ads),n="object"==typeof google&&"object"==typeof google.ima;if(t.ads&&(!s||!n))return s||console.warn("contribAds is not loaded"),n||console.wa