aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Potts <me@sampotts.me>2016-07-23 10:42:06 +1000
committerSam Potts <me@sampotts.me>2016-07-23 10:42:06 +1000
commit0505e49038f76b353e78489ebb28b6cdf40f9a3e (patch)
tree97b48e6eb3431acd1a33922f5400542fdb6416fc
parent6ff1e4734168d79f26696209fb2c6e9dd478dcaa (diff)
downloadplyr-0505e49038f76b353e78489ebb28b6cdf40f9a3e.tar.lz
plyr-0505e49038f76b353e78489ebb28b6cdf40f9a3e.tar.xz
plyr-0505e49038f76b353e78489ebb28b6cdf40f9a3e.zip
Vimeo API upgrade, YouTube Bugfix, Array support
- Vimeo API upgrade - Fix for YouTube bug introduced in v1.8.9 (Fixes #320) - Added support for passing array to .setup() (Fixes #319)
-rw-r--r--changelog.md7
-rw-r--r--dist/plyr.js4
-rw-r--r--package.json2
-rw-r--r--readme.md6
-rw-r--r--src/js/plyr.js229
5 files changed, 120 insertions, 128 deletions
diff --git a/changelog.md b/changelog.md
index b2db3855..86280627 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,12 @@
# Changelog
+## v1.8.11
+- Fix for keyboard navigation on Vimeo (Fixes #317)
+- Fix for bug introduced in v1.8.9 related to additional controls
+- Vimeo API upgrade
+- Fix for YouTube bug introduced in v1.8.9
+- Added support for passing array to .setup() (Fixes #319)
+
## v1.8.10
- Fix for seek issues introduced in v1.8.9
diff --git a/dist/plyr.js b/dist/plyr.js
index 8a6d80fa..17e6c777 100644
--- a/dist/plyr.js
+++ b/dist/plyr.js
@@ -1,2 +1,2 @@
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define(null,function(){t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,r,a=navigator.userAgent,s=navigator.appName,o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10),l=!1,u=!1,c=!1,d=!1;return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(l=!0,s="IE",o="11"):-1!==(n=a.indexOf("MSIE"))?(l=!0,s="IE",o=a.substring(n+5)):-1!==(n=a.indexOf("Chrome"))?(c=!0,s="Chrome",o=a.substring(n+7)):-1!==(n=a.indexOf("Safari"))?(d=!0,s="Safari",o=a.substring(n+7),-1!==(n=a.indexOf("Version"))&&(o=a.substring(n+8))):-1!==(n=a.indexOf("Firefox"))?(u=!0,s="Firefox",o=a.substring(n+8)):(e=a.lastIndexOf(" ")+1)<(n=a.lastIndexOf("/"))&&(s=a.substring(e,n),o=a.substring(n+1),s.toLowerCase()==s.toUpperCase()&&(s=navigator.appName)),-1!==(r=o.indexOf(";"))&&(o=o.substring(0,r)),-1!==(r=o.indexOf(" "))&&(o=o.substring(0,r)),i=parseInt(""+o,10),isNaN(i)&&(o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:s,version:i,isIE:l,isFirefox:u,isChrome:c,isSafari:d,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function r(e,t){var n=e.media;if("video"==e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"==e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var r=t.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r)}}function s(e,t){return Array.prototype.indexOf&&-1!=e.indexOf(t)}function o(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var r=n>0?t.cloneNode(!0):t,a=e[n],s=a.parentNode,o=a.nextSibling;return r.appendChild(a),o?s.insertBefore(r,o):s.appendChild(r),r}}function l(e){for(var t=e.parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function u(e){e&&e.parentNode.removeChild(e)}function c(e,t){e.insertBefore(t,e.firstChild)}function d(e,t){for(var n in t)e.setAttribute(n,L["boolean"](t[n])&&t[n]?"":t[n])}function p(e,n,r){var a=t.createElement(e);d(a,r),c(n,a)}function m(e){return e.replace(".","")}function f(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=r+(n?" "+t:"")}}function y(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function b(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return-1!==[].indexOf.call(t.querySelectorAll(e),this)};return a.call(e,n)}function v(e,t,n,r){e&&k(e,t,n,!0,r)}function g(e,t,n,r){e&&k(e,t,n,!1,r)}function h(e,t,n,r,a){v(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function k(e,t,n,r,a){var s=t.split(" ");if(L["boolean"](a)||(a=!1),e instanceof NodeList)for(var o=0;o<e.length;o++)e[o]instanceof Node&&k(e[o],arguments[1],arguments[2],arguments[3]);else for(var i=0;i<s.length;i++)e[r?"addEventListener":"removeEventListener"](s[i],n,a)}function w(e,t,n,r){if(e&&t){L["boolean"](n)||(n=!1);var a=new CustomEvent(t,{bubbles:n,detail:r});e.dispatchEvent(a)}}function T(e,t){return e?(t=L["boolean"](t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t):void 0}function x(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function _(){var e=arguments;if(e.length){if(1==e.lenth)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,r=0;n>r;r++){var a=e[r];for(var s in a)a[s]&&a[s].constructor&&a[s].constructor===Object?(t[s]=t[s]||{},_(t[s],a[s])):t[s]=a[s]}return t}}function S(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit moz o ms khtml".split(" ");if(L.undefined(t.cancelFullScreen))for(var r=0,a=n.length;a>r;r++){if(e.prefix=n[r],!L.undefined(t[e.prefix+"CancelFullScreen"])){e.supportsFullScreen=!0;break}if(!L.undefined(t.msExitFullscreen)&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}else e.supportsFullScreen=!0;return e.supportsFullScreen&&(e.fullScreenEventName="ms"==e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch(L.undefined(e)&&(e=t.body),this.prefix){case"":return t.fullscreenElement==e;case"moz":return t.mozFullScreenElement==e;default:return t[this.prefix+"FullscreenElement"]==e}},e.requestFullScreen=function(e){return L.undefined(e)&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"==this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"==this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function E(){var t={supported:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}()};return t}function C(b,k){function _(){k.debug&&e.console&&console.log.apply(console,arguments)}function C(){k.debug&&e.console&&console.warn.apply(console,arguments)}function I(){return{url:k.iconUrl,absolute:0===k.iconUrl.indexOf("http")||je.browser.isIE}}function P(){var e=[],t=I(),n=(t.absolute?"":t.url)+"#"+k.iconPrefix;return s(k.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+k.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),s(k.controls,"restart")&&e.push('<button type="button" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+k.i18n.restart+"</span>","</button>"),s(k.controls,"rewind")&&e.push('<button type="button" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+k.i18n.rewind+"</span>","</button>"),s(k.controls,"play")&&e.push('<button type="button" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+k.i18n.play+"</span>","</button>",'<button type="button" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+k.i18n.pause+"</span>","</button>"),s(k.controls,"fast-forward")&&e.push('<button type="button" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+k.i18n.forward+"</span>","</button>"),s(k.controls,"progress")&&(e.push('<span class="plyr__progress">','<label for="seek{id}" class="plyr__sr-only">Seek</label>','<input id="seek{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+k.i18n.buffered,"</progress>"),k.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),s(k.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+k.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),s(k.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+k.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),s(k.controls,"mute")&&e.push('<button type="button" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+k.i18n.toggleMute+"</span>","</button>"),s(k.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume{id}" class="plyr__sr-only">'+k.i18n.volume+"</label>",'<input id="volume{id}" class="plyr__volume--input" type="range" min="'+k.volumeMin+'" max="'+k.volumeMax+'" value="'+k.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+k.volumeMax+'" value="'+k.volumeMin+'" role="presentation"></progress>',"</span>"),s(k.controls,"captions")&&e.push('<button type="button" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+k.i18n.toggleCaptions+"</span>","</button>"),s(k.controls,"fullscreen")&&e.push('<button type="button" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+k.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function O(){if(je.supported.full&&("audio"!=je.type||k.fullscreen.allowAudio)&&k.fullscreen.enabled){var e=N.supportsFullScreen;e||k.fullscreen.fallback&&!W()?(_((e?"Native":"Fallback")+" fullscreen enabled"),f(je.container,k.classes.fullscreen.enabled,!0)):_("Fullscreen not supported and fallback disabled"),je.buttons&&je.buttons.fullscreen&&T(je.buttons.fullscreen,!1),Y()}}function q(){if("video"===je.type){D(k.selectors.captions)||je.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+m(k.selectors.captions)+'"></div>'),je.usingTextTracks=!1,je.media.textTracks&&(je.usingTextTracks=!0);for(var e,t="",n=je.media.childNodes,r=0;r<n.length;r++)"track"===n[r].nodeName.toLowerCase()&&(e=n[r].kind,"captions"!==e&&"subtitles"!==e||(t=n[r].getAttribute("src")));if(je.captionExists=!0,""===t?(je.captionExists=!1,_("No caption track found")):_("Caption track found; URI: "+t),je.captionExists){for(var a=je.media.textTracks,s=0;s<a.length;s++)a[s].mode="hidden";if(R(je),(je.browser.isIE&&je.browser.version>=10||je.browser.isFirefox&&je.browser.version>=31)&&(_("Detected browser with known TextTrack issues - using manual fallback"),je.usingTextTracks=!1),je.usingTextTracks){_("TextTracks supported");for(var o=0;o<a.length;o++){var i=a[o];"captions"!==i.kind&&"subtitles"!==i.kind||v(i,"cuechange",function(){this.activeCues[0]&&"text"in this.activeCues[0]?V(this.activeCues[0].getCueAsHTML()):V()})}}else if(_("TextTracks not supported so rendering captions manually"),je.currentCaption="",je.captions=[],""!==t){var l=new XMLHttpRequest;l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e,t=[],n=l.responseText;t=n.split("\n\n");for(var r=0;r<t.length;r++){e=t[r],je.captions[r]=[];var a=e.split("\n"),s=0;-1===a[s].indexOf(":")&&(s=1),je.captions[r]=[a[s],a[s+1]]}je.captions.shift(),_("Successfully loaded the caption file via AJAX")}else C("There was a problem loading the caption file via AJAX")},l.open("get",t,!0),l.send()}}else f(je.container,k.classes.captions.enabled)}}function V(e){var n=D(k.selectors.captions),r=t.createElement("span");n.innerHTML="",L.undefined(e)&&(e=""),L.undefined(e)?r.innerHTML=e.trim():r.appendChild(e),n.appendChild(r);n.offsetHeight}function j(e){function t(e,t){var n=[];n=e.split(" --> ");for(var r=0;r<n.length;r++)n[r]=n[r].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return a(n[t])}function n(e){return t(e,0)}function r(e){return t(e,1)}function a(e){if(null===e||void 0===e)return 0;var t,n=[],r=[];return n=e.split(","),r=n[0].split(":"),t=Math.floor(60*r[0]*60)+Math.floor(60*r[1])+Math.floor(r[2])}if(!je.usingTextTracks&&"video"===je.type&&je.supported.full&&(je.subcount=0,e=L.number(e)?e:je.media.currentTime,je.captions[je.subcount])){for(;r(je.captions[je.subcount][0])<e.toFixed(1);)if(je.subcount++,je.subcount>je.captions.length-1){je.subcount=je.captions.length-1;break}je.media.currentTime.toFixed(1)>=n(je.captions[je.subcount][0])&&je.media.currentTime.toFixed(1)<=r(je.captions[je.subcount][0])?(je.currentCaption=je.captions[je.subcount][1],V(je.currentCaption)):V()}}function R(){je.buttons.captions&&(f(je.container,k.classes.captions.enabled,!0),k.captions.defaultActive&&(f(je.container,k.classes.captions.active,!0),T(je.buttons.captions,!0)))}function H(e){return je.container.querySelectorAll(e)}function D(e){return H(e)[0]}function W(){try{return e.self!==e.top}catch(t){return!0}}function Y(){function e(e){9===e.which&&je.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=H("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];v(je.container,"keydown",e)}function X(e,t){if(L.string(t))p(e,je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)p(e,je.media,t[n])}function B(){if(k.loadSprite){var e=I();e.absolute?(_("AJAX loading absolute SVG sprite"+(je.browser.isIE?" (due to IE)":"")),F(e.url,"sprite-plyr")):_("Sprite will be used as external resource directly")}var n=k.html;_("Injecting custom controls"),n||(n=P()),n=o(n,"{seektime}",k.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(null!==k.selectors.controls.container&&(r=k.selectors.controls.container,L.string(selector)&&(r=t.querySelector(r))),r instanceof HTMLElement||(r=je.container),r.insertAdjacentHTML("beforeend",n),k.tooltips.controls)for(var a=H([k.selectors.controls.wrapper," ",k.selectors.labels," .",k.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];f(i,k.classes.hidden,!1),f(i,k.classes.tooltip,!0)}}function U(){try{return je.controls=D(k.selectors.controls.wrapper),je.buttons={},je.buttons.seek=D(k.selectors.buttons.seek),je.buttons.play=H(k.selectors.buttons.play),je.buttons.pause=D(k.selectors.buttons.pause),je.buttons.restart=D(k.selectors.buttons.restart),je.buttons.rewind=D(k.selectors.buttons.rewind),je.buttons.forward=D(k.selectors.buttons.forward),je.buttons.fullscreen=D(k.selectors.buttons.fullscreen),je.buttons.mute=D(k.selectors.buttons.mute),je.buttons.captions=D(k.selectors.buttons.captions),je.progress={},je.progress.container=D(k.selectors.progress.container),je.progress.buffer={},je.progress.buffer.bar=D(k.selectors.progress.buffer),je.progress.buffer.text=je.progress.buffer.bar&&je.progress.buffer.bar.getElementsByTagName("span")[0],je.progress.played=D(k.selectors.progress.played),je.progress.tooltip=je.progress.container&&je.progress.container.querySelector("."+k.classes.tooltip),je.volume={},je.volume.input=D(k.selectors.volume.input),je.volume.display=D(k.selectors.volume.display),je.duration=D(k.selectors.duration),je.currentTime=D(k.selectors.currentTime),je.seekTime=H(k.selectors.seekTime),!0}catch(e){return C("It looks like there is a problem with your controls HTML"),z(!0),!1}}function $(){f(je.container,k.selectors.container.replace(".",""),je.supported.full)}function z(e){e&&s(k.types.html5,je.type)?je.media.setAttribute("controls",""):je.media.removeAttribute("controls")}function G(e){var t=k.i18n.play;if(!L.undefined(k.title)&&k.title.length&&(t+=", "+k.title),je.supported.full&&je.buttons.play)for(var n=je.buttons.play.length-1;n>=0;n--)je.buttons.play[n].setAttribute("aria-label",t);e instanceof HTMLElement&&e.setAttribute("title",k.i18n.frameTitle.replace("{title}",k.title))}function J(){if(!je.media)return void C("No media element found!");if(je.supported.full&&(f(je.container,k.classes.type.replace("{0}",je.type),!0),s(k.types.embed,je.type)&&f(je.container,k.classes.type.replace("{0}","video"),!0),f(je.container,k.classes.stopped,k.autoplay),f(je.container,k.classes.isIos,je.browser.isIos),f(je.container,k.classes.isTouch,je.browser.isTouch),"video"===je.type)){var e=t.createElement("div");e.setAttribute("class",k.classes.videoWrapper),i(je.media,e),je.videoContainer=e}s(k.types.embed,je.type)&&(K(),je.embedId=null)}function K(){for(var n=t.createElement("div"),r=je.embedId,s=je.type+"-"+Math.floor(1e4*Math.random()),o=H('[id^="'+je.type+'-"]'),i=o.length-1;i>=0;i--)u(o[i]);if(f(je.media,k.classes.videoWrapper,!0),f(je.media,k.classes.embedWrapper,!0),"youtube"===je.type)je.media.appendChild(n),n.setAttribute("id",s),L.object(YT)?Z(r,n):(a(k.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){Z(r,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===je.type){var l=t.createElement("iframe");l.loaded=!1,v(l,"load",function(){l.loaded=!0}),d(l,{src:"https://player.vimeo.com/video/"+r+"?player_id="+s+"&api=1&badge=0&byline=0&portrait=0&title=0",id:s,allowfullscreen:"",frameborder:0}),je.supported.full?(n.appendChild(l),je.media.appendChild(n)):je.media.appendChild(l),"$f"in e||a(k.urls.vimeo.api);var c=e.setInterval(function(){"$f"in e&&l.loaded&&(e.clearInterval(c),ee.call(l))},50)}else if("soundcloud"===je.type){var p=t.createElement("iframe");p.loaded=!1,v(p,"load",function(){p.loaded=!0}),d(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+r,id:s}),n.appendChild(p),je.media.appendChild(n),e.SC||a(k.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),te.call(p))},50)}}function Q(){je.container.plyr.embed=je.embed,je.supported.full&&Ve(),G(D("iframe"))}function Z(t,n){"timer"in je||(je.timer={}),je.embed=new YT.Player(n.id,{videoId:t,playerVars:{autoplay:k.autoplay?1:0,controls:je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:k.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){w(je.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;je.media.play=function(){n.playVideo(),je.media.paused=!1},je.media.pause=function(){n.pauseVideo(),je.media.paused=!0},je.media.stop=function(){n.stopVideo(),je.media.paused=!0},je.media.duration=n.getDuration(),je.media.paused=!0,je.media.currentTime=n.getCurrentTime(),je.media.muted=n.isMuted(),k.title=n.getVideoData().title,w(je.media,"timeupdate"),e.clearInterval(je.timer.buffering),je.timer.buffering=e.setInterval(function(){je.media.buffered=n.getVideoLoadedFraction(),w(je.media,"progress"),1===je.media.buffered&&(e.clearInterval(je.timer.buffering),w(je.media,"canplaythrough"))},200),Q(),_e()},onStateChange:function(t){var n=t.target;switch(e.clearInterval(je.timer.playing),t.data){case 0:je.media.paused=!0,w(je.media,"ended");break;case 1:je.media.paused=!1,je.media.seeking=!1,w(je.media,"play"),w(je.media,"playing"),je.timer.playing=e.setInterval(function(){je.media.currentTime=n.getCurrentTime(),w(je.media,"timeupdate")},100);break;case 2:je.media.paused=!0,w(je.media,"pause")}w(je.container,"statechange",!1,{code:t.data})}}})}function ee(){je.embed=$f(this),je.embed.addEvent("ready",function(){je.media.play=function(){je.embed.api("play"),je.media.paused=!1},je.media.pause=function(){je.embed.api("pause"),je.media.paused=!0},je.media.stop=function(){je.embed.api("stop"),je.media.paused=!0},je.media.paused=!0,je.media.currentTime=0,Q(),je.embed.api("getCurrentTime",function(e){je.media.currentTime=e,w(je.media,"timeupdate")}),je.embed.api("getDuration",function(e){je.media.duration=e,_e()}),je.embed.addEvent("play",function(){je.media.paused=!1,w(je.media,"play"),w(je.media,"playing")}),je.embed.addEvent("pause",function(){je.media.paused=!0,w(je.media,"pause")}),je.embed.addEvent("playProgress",function(e){je.media.seeking=!1,je.media.currentTime=e.seconds,w(je.media,"timeupdate")}),je.embed.addEvent("loadProgress",function(e){je.media.buffered=e.percent,w(je.media,"progress"),1===parseInt(e.percent)&&w(je.media,"canplaythrough")}),je.embed.addEvent("finish",function(){je.media.paused=!0,w(je.media,"ended")}),k.autoplay&&je.embed.api("play")})}function te(){je.embed=e.SC.Widget(this),je.embed.bind(e.SC.Widget.Events.READY,function(){je.media.play=function(){je.embed.play(),je.media.paused=!1},je.media.pause=function(){je.embed.pause(),je.media.paused=!0},je.media.stop=function(){je.embed.seekTo(0),je.embed.pause(),je.media.paused=!0},je.media.paused=!0,je.media.currentTime=0,Q(),je.embed.getPosition(function(e){je.media.currentTime=e,w(je.media,"timeupdate")}),je.embed.getDuration(function(e){je.media.duration=e/1e3,_e()}),je.embed.bind(e.SC.Widget.Events.PLAY,function(){je.media.paused=!1,w(je.media,"play"),w(je.media,"playing")}),je.embed.bind(e.SC.Widget.Events.PAUSE,function(){je.media.paused=!0,w(je.media,"pause")}),je.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){je.media.seeking=!1,je.media.currentTime=e.currentPosition/1e3,w(je.media,"timeupdate")}),je.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){je.media.buffered=e.loadProgress,w(je.media,"progress"),1===parseInt(e.loadProgress)&&w(je.media,"canplaythrough")}),je.embed.bind(e.SC.Widget.Events.FINISH,function(){je.media.paused=!0,w(je.media,"ended")}),k.autoplay&&je.embed.play()})}function ne(){"play"in je.media&&je.media.play()}function re(){"pause"in je.media&&je.media.pause()}function ae(e){e===!0?ne():e===!1?re():je.media[je.media.paused?"play":"pause"]()}function se(e){L.number(e)||(e=k.seekTime),ie(je.media.currentTime-e)}function oe(e){L.number(e)||(e=k.seekTime),ie(je.media.currentTime+e)}function ie(e){var t=0,n=je.media.paused,r=le();L.number(e)?t=e:L.object(e)&&s(["input","change"],e.type)&&(t=e.target.value/e.target.max*r),0>t?t=0:t>r&&(t=r),Ee(t);try{je.media.currentTime=t.toFixed(4)}catch(a){}if(s(k.types.embed,je.type)){switch(je.type){case"youtube":je.embed.seekTo(t);break;case"vimeo":je.embed.api("seekTo",t.toFixed(0));break;case"soundcloud":je.embed.seekTo(1e3*t)}n&&re(),w(je.media,"timeupdate"),je.media.seeking=!0}_("Seeking to "+je.media.currentTime+" seconds"),j(t)}function le(){var e=parseInt(k.duration),t=0;return null===je.media.duration||isNaN(je.media.duration)||(t=je.media.duration),isNaN(e)?t:e}function ue(){f(je.container,k.classes.playing,!je.media.paused),f(je.container,k.classes.stopped,je.media.paused),Fe(je.media.paused)}function ce(){M={x:e.pageXOffset||0,y:e.pageYOffset||0}}function de(){e.scrollTo(M.x,M.y)}function pe(e){var n=N.supportsFullScreen;e&&e.type===N.fullScreenEventName?je.isFullscreen=N.isFullScreen(je.container):n?(N.isFullScreen(je.container)?N.cancelFullScreen():(ce(),N.requestFullScreen(je.container)),je.isFullscreen=N.isFullScreen(je.container)):(je.isFullscreen=!je.isFullscreen,je.isFullscreen?(v(t,"keyup",me),t.body.style.overflow="hidden"):(g(t,"keyup",me),t.body.style.overflow="")),f(je.container,k.classes.fullscreen.active,je.isFullscreen),je.isFullscreen?je.container.setAttribute("tabindex","-1"):je.container.removeAttribute("tabindex"),Y(je.isFullscreen),je.buttons&&je.buttons.fullscreen&&T(je.buttons.fullscreen,je.isFullscreen),w(je.container,je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!je.isFullscreen&&n&&de()}function me(e){27===(e.which||e.charCode||e.keyCode)&&je.isFullscreen&&pe()}function fe(e){if(L["boolean"](e)||(e=!je.media.muted),T(je.buttons.mute,e),je.media.muted=e,0===je.media.volume&&ye(k.volume),s(k.types.embed,je.type)){switch(je.type){case"youtube":je.embed[je.media.muted?"mute":"unMute"]();break;case"vimeo":je.embed.api("setVolume",je.media.muted?0:parseFloat(k.volume/k.volumeMax));break;case"soundcloud":je.embed.setVolume(je.media.muted?0:parseFloat(k.volume/k.volumeMax))}w(je.media,"volumechange")}}function ye(t){var n=k.volumeMax,r=k.volumeMin;if(L.undefined(t)&&(t=k.volume,k.storage.enabled&&E().supported&&(t=e.localStorage.getItem(k.storage.key),e.localStorage.removeItem("plyr-volume"))),(null===t||isNaN(t))&&(t=k.volume),t>n&&(t=n),r>t&&(t=r),je.media.volume=parseFloat(t/n),je.volume.display&&(je.volume.display.value=t),s(k.types.embed,je.type)){switch(je.type){case"youtube":je.embed.setVolume(100*je.media.volume);break;case"vimeo":je.embed.api("setVolume",je.media.volume);break;case"soundcloud":je.embed.setVolume(je.media.volume)}w(je.media,"volumechange")}je.media.muted&&t>0&&fe()}function be(){var e=je.media.muted?0:je.media.volume*k.volumeMax;ye(e+k.volumeStep/5)}function ve(){var e=je.media.muted?0:je.media.volume*k.volumeMax;ye(e-k.volumeStep/5)}function ge(){var t=je.media.muted?0:je.media.volume*k.volumeMax;je.supported.full&&(je.volume.input&&(je.volume.input.value=t),je.volume.display&&(je.volume.display.value=t)),k.storage.enabled&&E().supported&&!isNaN(t)&&e.localStorage.setItem(k.storage.key,t),f(je.container,k.classes.muted,0===t),je.supported.full&&je.buttons.mute&&T(je.buttons.mute,0===t)}function he(e){je.supported.full&&je.buttons.captions&&(L["boolean"](e)||(e=-1===je.container.className.indexOf(k.classes.captions.active)),je.captionsEnabled=e,T(je.buttons.captions,je.captionsEnabled),f(je.container,k.classes.captions.active,je.captionsEnabled),w(je.container,je.captionsEnabled?"captionsenabled":"captionsdisabled",!0))}function ke(e){var t="waiting"===e.type;clearTimeout(je.timers.loading),je.timers.loading=setTimeout(function(){f(je.container,k.classes.loading,t)},t?250:0)}function we(e){if(je.supported.full){var t=je.progress.played,n=0,r=le();if(e)switch(e.type){case"timeupdate":case"seeking":if(je.controls.pressed)return;n=x(je.media.currentTime,r),"timeupdate"==e.type&&je.buttons.seek&&(je.buttons.seek.value=n);break;case"playing":case"progress":t=je.progress.buffer,n=function(){var e=je.media.buffered;return e&&e.length?x(e.end(0),r):L.number(e)?100*e:0}()}Te(t,n)}}function Te(e,t){if(je.supported.full){if(L.undefined(t)&&(t=0),L.undefined(e)){if(!je.progress||!je.progress.buffer)return;e=je.progress.buffer}e instanceof HTMLElement?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function xe(e,t){if(t){isNaN(e)&&(e=0),je.secs=parseInt(e%60),je.mins=parseInt(e/60%60),je.hours=parseInt(e/60/60%60);var n=parseInt(le()/60/60%60)>0;je.secs=("0"+je.secs).slice(-2),je.mins=("0"+je.mins).slice(-2),t.innerHTML=(n?je.hours+":":"")+je.mins+":"+je.secs}}function _e(){if(je.supported.full){var e=le()||0;!je.duration&&k.displayDuration&&je.media.paused&&xe(e,je.currentTime),je.duration&&xe(e,je.duration),Ce()}}function Se(e){xe(je.media.currentTime,je.currentTime),e&&"timeupdate"==e.type&&je.media.seeking||we(e)}function Ee(e){L.number(e)||(e=0);var t=le(),n=x(e,t);je.progress&&je.progress.played&&(je.progress.played.value=n),je.buttons&&je.buttons.seek&&(je.buttons.seek.value=n)}function Ce(e){var t=le();if(k.tooltips.seek&&je.progress.container&&0!==t){var n=je.progress.container.getBoundingClientRect(),r=0,a=k.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!y(je.progress.tooltip,a))return;r=je.progress.tooltip.style.left.replace("%","")}0>r?r=0:r>100&&(r=100),xe(t/100*r,je.progress.tooltip),je.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&f(je.progress.tooltip,a,"mouseenter"===e.type)}}function Fe(t){if(k.hideControls&&"audio"!==je.type){var n=0,r=!1,a=t;if(L["boolean"](t)||(t&&t.type?(r="enterfullscreen"===t.type,a=s(["mousemove","touchstart","mouseenter","focus"],t.type),s(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):a=y(je.container,k.classes.hideControls)),e.clearTimeout(je.timers.hover),a||je.media.paused){if(f(je.container,k.classes.hideControls,!1),je.media.paused)return;je.browser.isTouch&&(n=3e3)}a&&je.media.paused||(je.timers.hover=e.setTimeout(function(){(!je.controls.pressed&&!je.controls.hover||r)&&f(je.container,k.classes.hideControls,!0)},n))}}function Ae(e){if(!L.undefined(e))return void Ie(e);var t;switch(je.type){case"youtube":t=je.embed.getVideoUrl();break;case"vimeo":je.embed.api("getVideoUrl",function(e){t=e});break;case"soundcloud":je.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=je.media.currentSrc}return t||""}function Ie(n){if(!(L.object(n)&&"sources"in n&&n.sources.length))return void C("Invalid source format");if(re(),Ee(),Te(),Le(),"youtube"===je.type?(je.embed.destroy(),e.clearInterval(je.timer.buffering),e.clearInterval(je.timer.playing)):"video"===je.type&&je.videoContainer&&u(je.videoContainer),je.embed=null,u(je.media),"type"in n&&(je.type=n.type,"video"===je.type)){var r=n.sources[0];"type"in r&&s(k.types.embed,r.type)&&(je.type=r.type)}switch(je.supported=A(je.type),je.type){case"video":je.media=t.createElement("video");break;case"audio":je.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":je.media=t.createElement("div"),je.embedId=n.sources[0].src}c(je.container,je.media),L["boolean"](n.autoplay)&&(k.autoplay=n.autoplay),s(k.types.html5,je.type)&&(k.crossorigin&&je.media.setAttribute("crossorigin",""),k.autoplay&&je.media.setAttribute("autoplay",""),"poster"in n&&je.media.setAttribute("poster",n.poster),k.loop&&je.media.setAttribute("loop","")),je.container.className=je.originalClassName,f(je.container,k.classes.fullscreen.active,je.isFullscreen),f(je.container,k.classes.captions.active,je.captionsEnabled),$(),s(k.types.html5,je.type)&&X("source",n.sources),J(),s(k.types.html5,je.type)?("tracks"in n&&X("track",n.tracks),je.media.load(),Ve(),_e()):s(k.types.embed,je.type)&&!je.supported.full&&Ve(),k.title=n.title,G(),je.container.plyr.media=je.media}function Ne(e){"video"===je.type&&je.media.setAttribute("poster",e)}function Me(){function n(){var e=je.media.paused;e?ne():re();var t=je.buttons[e?"play":"pause"],n=je.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=y(t,k.classes.tabFocus);setTimeout(function(){n.focus(),r&&(f(t,k.classes.tabFocus,!1),f(n,k.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;e&&e!=t.body?t.querySelector&&(e=t.querySelector(":focus")):e=null;for(var n in je.buttons){var r=je.buttons[n];if(r instanceof NodeList)for(var a=0;a<r.length;a++)f(r[a],k.classes.tabFocus,r[a]===e);else f(r,k.classes.tabFocus,r===e)}}var a=je.browser.isIE?"change":"input";v(e,"keyup",function(e){var t=e.keyCode?e.keyCode:e.which;9==t&&r()}),v(t.body,"click",function(){f(D("."+k.classes.tabFocus),k.classes.tabFocus,!1)});for(var o in je.buttons){var i=je.buttons[o];v(i,"blur",function(){f(i,"tab-focus",!1)})}h(je.buttons.play,"click",k.listeners.play,n),h(je.buttons.pause,"click",k.listeners.pause,n),h(je.buttons.restart,"click",k.listeners.restart,ie),h(je.buttons.rewind,"click",k.listeners.rewind,se),h(je.buttons.forward,"click",k.listeners.forward,oe),h(je.buttons.seek,a,k.listeners.seek,ie),h(je.volume.input,a,k.listeners.volume,function(){ye(je.volume.input.value)}),h(je.buttons.mute,"click",k.listeners.mute,fe),h(je.buttons.fullscreen,"click",k.listeners.fullscreen,pe),N.supportsFullScreen&&v(t,N.fullScreenEventName,pe),v(je.buttons.captions,"click",he),v(je.progress.container,"mouseenter mouseleave mousemove",Ce),k.hideControls&&(v(je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Fe),v(je.controls,"mouseenter mouseleave",function(e){je.controls.hover="mouseenter"===e.type}),v(je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){je.controls.pressed=s(["mousedown","touchstart"],e.type)}),v(je.controls,"focus blur",Fe,!0)),v(je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice;(e.deltaY<0||e.deltaX>0)&&(t?ve():be()),(e.deltaY>0||e.deltaX<0)&&(t?be():ve());
-})}function Pe(){if(v(je.media,"timeupdate seeking",Se),v(je.media,"timeupdate",j),v(je.media,"durationchange loadedmetadata",_e),v(je.media,"ended",function(){"video"===je.type&&V(),ue(),ie(0),_e(),"video"===je.type&&k.showPosterOnEnd&&je.media.load()}),v(je.media,"progress playing",we),v(je.media,"volumechange",ge),v(je.media,"play pause",ue),v(je.media,"waiting canplay seeked",ke),k.clickToPlay&&"audio"!==je.type){var e=D("."+k.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",v(e,"click",function(){k.hideControls&&je.browser.isTouch&&!je.media.paused||(je.media.paused?ne():je.media.ended?(ie(),ne()):re())})}k.disableContextMenu&&v(je.media,"contextmenu",function(e){e.preventDefault()}),v(je.media,k.events.join(" "),function(e){w(je.container,e.type,!0)})}function Le(){if(s(k.types.html5,je.type)){for(var e=je.media.querySelectorAll("source"),t=0;t<e.length;t++)u(e[t]);je.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),je.media.load(),_("Cancelled network requests for old media")}}function Oe(){if(!je.init)return null;if(je.container.setAttribute("class",m(k.selectors.container)),je.init=!1,u(D(k.selectors.controls.wrapper)),"youtube"===je.type)return void je.embed.destroy();"video"===je.type&&(u(D(k.selectors.captions)),l(je.videoContainer)),z(!0);var e=je.media.cloneNode(!0);je.media.parentNode.replaceChild(e,je.media)}function qe(){if(je.init)return null;if(N=S(),je.browser=n(),je.media=je.container.querySelectorAll("audio, video")[0],je.media||(je.media=je.container.querySelectorAll("[data-type]")[0]),je.media){je.originalClassName=je.container.className;var e=je.media.tagName.toLowerCase();if("div"===e?(je.type=je.media.getAttribute("data-type"),je.embedId=je.media.getAttribute("data-video-id"),je.media.removeAttribute("data-type"),je.media.removeAttribute("data-video-id")):(je.type=e,k.crossorigin=null!==je.media.getAttribute("crossorigin"),k.autoplay=k.autoplay||null!==je.media.getAttribute("autoplay"),k.loop=k.loop||null!==je.media.getAttribute("loop")),je.supported=A(je.type),$(),!je.supported.basic)return!1;if(_(je.browser.name+" "+je.browser.version),J(),s(k.types.html5,je.type)){if(!je.supported.full)return void(je.init=!0);Ve(),G(),k.autoplay&&ne()}else s(k.types.embed,je.type)&&!je.supported.full&&Ve();je.init=!0}}function Ve(){if(!je.supported.full)return C("No full support for this media type ("+je.type+")"),u(D(k.selectors.controls.wrapper)),u(D(k.selectors.buttons.play)),void z(!0);var e=!H(k.selectors.controls.wrapper).length;e&&B(),U()&&(e&&Me(),Pe(),z(),O(),q(),ye(),ge(),Se(),ue(),_e(),w(je.container,"ready",!0))}var je=this;return je.container=b,je.timers={},_(k),qe(),je.init?{media:je.media,play:ne,pause:re,restart:ie,rewind:se,forward:oe,seek:ie,source:Ae,poster:Ne,setVolume:ye,togglePlay:ae,toggleMute:fe,toggleCaptions:he,toggleFullscreen:pe,toggleControls:Fe,isFullscreen:function(){return je.isFullscreen||!1},support:function(e){return r(je,e)},destroy:Oe,restore:qe,getCurrentTime:function(){return je.media.currentTime}}:{}}function F(e,n){var r=new XMLHttpRequest;L.string(n)&&null!==t.querySelector("#"+n)||"withCredentials"in r&&(r.open("GET",e,!0),r.onload=function(){var e=t.createElement("div");e.setAttribute("hidden",""),L.string(n)&&e.setAttribute("id",n),e.innerHTML=r.responseText,t.body.insertBefore(e,t.body.childNodes[0])},r.send())}function A(e){var r,a,s=n(),o=s.isIE&&s.version<=9,i=s.isIos,l=/iPhone|iPod/i.test(navigator.userAgent),u=!!t.createElement("audio").canPlayType,c=!!t.createElement("video").canPlayType;switch(e){case"video":r=c,a=r&&!o&&!l;break;case"audio":r=u,a=r&&!o;break;case"vimeo":case"youtube":case"soundcloud":r=!0,a=!o&&!i;break;default:r=u&&c,a=r&&!o}return{basic:r,full:a}}function I(e,n){var r=[],a=[],s=[P.selectors.html5,P.selectors.embed].join(",");if(L.string(e)?e=t.querySelectorAll(e):e instanceof HTMLElement?e=[e]:e instanceof NodeList||L.string(e)||(L.undefined(n)&&L.object(e)&&(n=e),e=t.querySelectorAll(s)),!A().basic||!e.length)return!1;e instanceof NodeList&&(e=Array.prototype.slice.call(e));for(var o=0;o<e.length;o++){var l=e[o],u=l.querySelectorAll(s);if(u.length>1)for(var c=0;c<u.length;c++)a.push({element:i(u[c],t.createElement("div")),original:l});else a.push({element:l})}for(var d in a){var p=a[d].element,m=a[d].original||p;if(b(p,s)&&(p=i(p,t.createElement("div"))),!("plyr"in p)){var f=_({},P,n,JSON.parse(m.getAttribute("data-plyr")));if(!f.enabled)return null;var y=new C(p,f);p.plyr=Object.keys(y).length?y:!1,w(m,"setup",!0,{plyr:p.plyr})}r.push(p)}return r}var N,M={x:0,y:0},P={enabled:!0,debug:!1,autoplay:!1,loop:!1,seekTime:10,volume:5,volumeMin:0,volumeMax:10,volumeStep:1,duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/1.8.9/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration"},classes:{videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},tabFocus:"tab-focus"},captions:{defaultActive:!1},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",played:"played",buffered:"buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},urls:{vimeo:{api:"https://cdn.plyr.io/froogaloop/1.0.1/plyr.froogaloop.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","emptied"]},L={object:function(e){return null!==e&&"object"==typeof e},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},number:function(e){return"number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number},string:function(e){return"string"==typeof e||"object"==typeof e&&e.constructor===String},"boolean":function(e){return"boolean"==typeof e},undefined:function(e){return"undefined"==typeof e}};return{setup:I,supported:A,loadSprite:F}}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}(); \ No newline at end of file
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define(null,function(){t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,r,s=navigator.userAgent,o=navigator.appName,a=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10),l=!1,u=!1,c=!1,p=!1;return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(l=!0,o="IE",a="11"):-1!==(n=s.indexOf("MSIE"))?(l=!0,o="IE",a=s.substring(n+5)):-1!==(n=s.indexOf("Chrome"))?(c=!0,o="Chrome",a=s.substring(n+7)):-1!==(n=s.indexOf("Safari"))?(p=!0,o="Safari",a=s.substring(n+7),-1!==(n=s.indexOf("Version"))&&(a=s.substring(n+8))):-1!==(n=s.indexOf("Firefox"))?(u=!0,o="Firefox",a=s.substring(n+8)):(e=s.lastIndexOf(" ")+1)<(n=s.lastIndexOf("/"))&&(o=s.substring(e,n),a=s.substring(n+1),o.toLowerCase()==o.toUpperCase()&&(o=navigator.appName)),-1!==(r=a.indexOf(";"))&&(a=a.substring(0,r)),-1!==(r=a.indexOf(" "))&&(a=a.substring(0,r)),i=parseInt(""+a,10),isNaN(i)&&(a=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:o,version:i,isIE:l,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function r(e,t){var n=e.media;if("video"==e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"==e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}function s(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var r=t.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r)}}function o(e,t){return Array.prototype.indexOf&&-1!=e.indexOf(t)}function a(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var r=n>0?t.cloneNode(!0):t,s=e[n],o=s.parentNode,a=s.nextSibling;return r.appendChild(s),a?o.insertBefore(r,a):o.appendChild(r),r}}function l(e){for(var t=e.parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function u(e){e&&e.parentNode.removeChild(e)}function c(e,t){e.insertBefore(t,e.firstChild)}function p(e,t){for(var n in t)e.setAttribute(n,L["boolean"](t[n])&&t[n]?"":t[n])}function d(e,n,r){var s=t.createElement(e);p(s,r),c(n,s)}function m(e){return e.replace(".","")}function f(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=r+(n?" "+t:"")}}function y(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function b(e,n){var r=Element.prototype,s=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return-1!==[].indexOf.call(t.querySelectorAll(e),this)};return s.call(e,n)}function v(e,t,n,r){e&&k(e,t,n,!0,r)}function g(e,t,n,r){e&&k(e,t,n,!1,r)}function h(e,t,n,r,s){v(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},s)}function k(e,t,n,r,s){var o=t.split(" ");if(L["boolean"](s)||(s=!1),e instanceof NodeList)for(var a=0;a<e.length;a++)e[a]instanceof Node&&k(e[a],arguments[1],arguments[2],arguments[3]);else for(var i=0;i<o.length;i++)e[r?"addEventListener":"removeEventListener"](o[i],n,s)}function w(e,t,n,r){if(e&&t){L["boolean"](n)||(n=!1);var s=new CustomEvent(t,{bubbles:n,detail:r});e.dispatchEvent(s)}}function T(e,t){return e?(t=L["boolean"](t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t):void 0}function x(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function _(){var e=arguments;if(e.length){if(1==e.lenth)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,r=0;n>r;r++){var s=e[r];for(var o in s)s[o]&&s[o].constructor&&s[o].constructor===Object?(t[o]=t[o]||{},_(t[o],s[o])):t[o]=s[o]}return t}}function S(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit moz o ms khtml".split(" ");if(L.undefined(t.cancelFullScreen))for(var r=0,s=n.length;s>r;r++){if(e.prefix=n[r],!L.undefined(t[e.prefix+"CancelFullScreen"])){e.supportsFullScreen=!0;break}if(!L.undefined(t.msExitFullscreen)&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}else e.supportsFullScreen=!0;return e.supportsFullScreen&&(e.fullScreenEventName="ms"==e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch(L.undefined(e)&&(e=t.body),this.prefix){case"":return t.fullscreenElement==e;case"moz":return t.mozFullScreenElement==e;default:return t[this.prefix+"FullscreenElement"]==e}},e.requestFullScreen=function(e){return L.undefined(e)&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"==this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"==this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function C(){var t={supported:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}()};return t}function E(b,k){function _(){k.debug&&e.console&&console.log.apply(console,arguments)}function E(){k.debug&&e.console&&console.warn.apply(console,arguments)}function I(){return{url:k.iconUrl,absolute:0===k.iconUrl.indexOf("http")||qe.browser.isIE}}function P(){var e=[],t=I(),n=(t.absolute?"":t.url)+"#"+k.iconPrefix;return o(k.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+k.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),o(k.controls,"restart")&&e.push('<button type="button" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+k.i18n.restart+"</span>","</button>"),o(k.controls,"rewind")&&e.push('<button type="button" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+k.i18n.rewind+"</span>","</button>"),o(k.controls,"play")&&e.push('<button type="button" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+k.i18n.play+"</span>","</button>",'<button type="button" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+k.i18n.pause+"</span>","</button>"),o(k.controls,"fast-forward")&&e.push('<button type="button" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+k.i18n.forward+"</span>","</button>"),o(k.controls,"progress")&&(e.push('<span class="plyr__progress">','<label for="seek{id}" class="plyr__sr-only">Seek</label>','<input id="seek{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+k.i18n.buffered,"</progress>"),k.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),o(k.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+k.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),o(k.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+k.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),o(k.controls,"mute")&&e.push('<button type="button" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+k.i18n.toggleMute+"</span>","</button>"),o(k.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume{id}" class="plyr__sr-only">'+k.i18n.volume+"</label>",'<input id="volume{id}" class="plyr__volume--input" type="range" min="'+k.volumeMin+'" max="'+k.volumeMax+'" value="'+k.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+k.volumeMax+'" value="'+k.volumeMin+'" role="presentation"></progress>',"</span>"),o(k.controls,"captions")&&e.push('<button type="button" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+k.i18n.toggleCaptions+"</span>","</button>"),o(k.controls,"fullscreen")&&e.push('<button type="button" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+k.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function O(){if(qe.supported.full&&("audio"!=qe.type||k.fullscreen.allowAudio)&&k.fullscreen.enabled){var e=N.supportsFullScreen;e||k.fullscreen.fallback&&!W()?(_((e?"Native":"Fallback")+" fullscreen enabled"),f(qe.container,k.classes.fullscreen.enabled,!0)):_("Fullscreen not supported and fallback disabled"),qe.buttons&&qe.buttons.fullscreen&&T(qe.buttons.fullscreen,!1),Y()}}function j(){if("video"===qe.type){H(k.selectors.captions)||qe.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+m(k.selectors.captions)+'"></div>'),qe.usingTextTracks=!1,qe.media.textTracks&&(qe.usingTextTracks=!0);for(var e,t="",n=qe.media.childNodes,r=0;r<n.length;r++)"track"===n[r].nodeName.toLowerCase()&&(e=n[r].kind,"captions"!==e&&"subtitles"!==e||(t=n[r].getAttribute("src")));if(qe.captionExists=!0,""===t?(qe.captionExists=!1,_("No caption track found")):_("Caption track found; URI: "+t),qe.captionExists){for(var s=qe.media.textTracks,o=0;o<s.length;o++)s[o].mode="hidden";if(R(qe),(qe.browser.isIE&&qe.browser.version>=10||qe.browser.isFirefox&&qe.browser.version>=31)&&(_("Detected browser with known TextTrack issues - using manual fallback"),qe.usingTextTracks=!1),qe.usingTextTracks){_("TextTracks supported");for(var a=0;a<s.length;a++){var i=s[a];"captions"!==i.kind&&"subtitles"!==i.kind||v(i,"cuechange",function(){this.activeCues[0]&&"text"in this.activeCues[0]?V(this.activeCues[0].getCueAsHTML()):V()})}}else if(_("TextTracks not supported so rendering captions manually"),qe.currentCaption="",qe.captions=[],""!==t){var l=new XMLHttpRequest;l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e,t=[],n=l.responseText;t=n.split("\n\n");for(var r=0;r<t.length;r++){e=t[r],qe.captions[r]=[];var s=e.split("\n"),o=0;-1===s[o].indexOf(":")&&(o=1),qe.captions[r]=[s[o],s[o+1]]}qe.captions.shift(),_("Successfully loaded the caption file via AJAX")}else E("There was a problem loading the caption file via AJAX")},l.open("get",t,!0),l.send()}}else f(qe.container,k.classes.captions.enabled)}}function V(e){var n=H(k.selectors.captions),r=t.createElement("span");n.innerHTML="",L.undefined(e)&&(e=""),L.undefined(e)?r.innerHTML=e.trim():r.appendChild(e),n.appendChild(r);n.offsetHeight}function q(e){function t(e,t){var n=[];n=e.split(" --> ");for(var r=0;r<n.length;r++)n[r]=n[r].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return s(n[t])}function n(e){return t(e,0)}function r(e){return t(e,1)}function s(e){if(null===e||void 0===e)return 0;var t,n=[],r=[];return n=e.split(","),r=n[0].split(":"),t=Math.floor(60*r[0]*60)+Math.floor(60*r[1])+Math.floor(r[2])}if(!qe.usingTextTracks&&"video"===qe.type&&qe.supported.full&&(qe.subcount=0,e=L.number(e)?e:qe.media.currentTime,qe.captions[qe.subcount])){for(;r(qe.captions[qe.subcount][0])<e.toFixed(1);)if(qe.subcount++,qe.subcount>qe.captions.length-1){qe.subcount=qe.captions.length-1;break}qe.media.currentTime.toFixed(1)>=n(qe.captions[qe.subcount][0])&&qe.media.currentTime.toFixed(1)<=r(qe.captions[qe.subcount][0])?(qe.currentCaption=qe.captions[qe.subcount][1],V(qe.currentCaption)):V()}}function R(){qe.buttons.captions&&(f(qe.container,k.classes.captions.enabled,!0),k.captions.defaultActive&&(f(qe.container,k.classes.captions.active,!0),T(qe.buttons.captions,!0)))}function D(e){return qe.container.querySelectorAll(e)}function H(e){return D(e)[0]}function W(){try{return e.self!==e.top}catch(t){return!0}}function Y(){function e(e){9===e.which&&qe.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=D("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];v(qe.container,"keydown",e)}function X(e,t){if(L.string(t))d(e,qe.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,qe.media,t[n])}function B(){if(k.loadSprite){var e=I();e.absolute?(_("AJAX loading absolute SVG sprite"+(qe.browser.isIE?" (due to IE)":"")),F(e.url,"sprite-plyr")):_("Sprite will be used as external resource directly")}var n=k.html;_("Injecting custom controls"),n||(n=P()),n=a(n,"{seektime}",k.seekTime),n=a(n,"{id}",Math.floor(1e4*Math.random()));var r;if(null!==k.selectors.controls.container&&(r=k.selectors.controls.container,L.string(r)&&(r=t.querySelector(r))),L.htmlElement(r)||(r=qe.container),r.insertAdjacentHTML("beforeend",n),k.tooltips.controls)for(var s=D([k.selectors.controls.wrapper," ",k.selectors.labels," .",k.classes.hidden].join("")),o=s.length-1;o>=0;o--){var i=s[o];f(i,k.classes.hidden,!1),f(i,k.classes.tooltip,!0)}}function U(){try{return qe.controls=H(k.selectors.controls.wrapper),qe.buttons={},qe.buttons.seek=H(k.selectors.buttons.seek),qe.buttons.play=D(k.selectors.buttons.play),qe.buttons.pause=H(k.selectors.buttons.pause),qe.buttons.restart=H(k.selectors.buttons.restart),qe.buttons.rewind=H(k.selectors.buttons.rewind),qe.buttons.forward=H(k.selectors.buttons.forward),qe.buttons.fullscreen=H(k.selectors.buttons.fullscreen),qe.buttons.mute=H(k.selectors.buttons.mute),qe.buttons.captions=H(k.selectors.buttons.captions),qe.progress={},qe.progress.container=H(k.selectors.progress.container),qe.progress.buffer={},qe.progress.buffer.bar=H(k.selectors.progress.buffer),qe.progress.buffer.text=qe.progress.buffer.bar&&qe.progress.buffer.bar.getElementsByTagName("span")[0],qe.progress.played=H(k.selectors.progress.played),qe.progress.tooltip=qe.progress.container&&qe.progress.container.querySelector("."+k.classes.tooltip),qe.volume={},qe.volume.input=H(k.selectors.volume.input),qe.volume.display=H(k.selectors.volume.display),qe.duration=H(k.selectors.duration),qe.currentTime=H(k.selectors.currentTime),qe.seekTime=D(k.selectors.seekTime),!0}catch(e){return E("It looks like there is a problem with your controls HTML"),G(!0),!1}}function z(){f(qe.container,k.selectors.container.replace(".",""),qe.supported.full)}function G(e){e&&o(k.types.html5,qe.type)?qe.media.setAttribute("controls",""):qe.media.removeAttribute("controls")}function J(e){var t=k.i18n.play;if(!L.undefined(k.title)&&k.title.length&&(t+=", "+k.title),qe.supported.full&&qe.buttons.play)for(var n=qe.buttons.play.length-1;n>=0;n--)qe.buttons.play[n].setAttribute("aria-label",t);L.htmlElement(e)&&e.setAttribute("title",k.i18n.frameTitle.replace("{title}",k.title))}function K(){if(!qe.media)return void E("No media element found!");if(qe.supported.full&&(f(qe.container,k.classes.type.replace("{0}",qe.type),!0),o(k.types.embed,qe.type)&&f(qe.container,k.classes.type.replace("{0}","video"),!0),f(qe.container,k.classes.stopped,k.autoplay),f(qe.container,k.classes.isIos,qe.browser.isIos),f(qe.container,k.classes.isTouch,qe.browser.isTouch),"video"===qe.type)){var e=t.createElement("div");e.setAttribute("class",k.classes.videoWrapper),i(qe.media,e),qe.videoContainer=e}o(k.types.embed,qe.type)&&($(),qe.embedId=null)}function $(){for(var n=t.createElement("div"),r=qe.embedId,o=qe.type+"-"+Math.floor(1e4*Math.random()),a=D('[id^="'+qe.type+'-"]'),i=a.length-1;i>=0;i--)u(a[i]);if(f(qe.media,k.classes.videoWrapper,!0),f(qe.media,k.classes.embedWrapper,!0),"youtube"===qe.type)qe.media.appendChild(n),n.setAttribute("id",o),L.object(e.YT)?Z(r,n):(s(k.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){Z(r,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===qe.type)if(qe.media.appendChild(n),n.setAttribute("id",o),L.object(e.Vimeo))ee(r,n);else{s(k.urls.vimeo.api);var l=e.setInterval(function(){L.object(e.Vimeo)&&(e.clearInterval(l),ee(r,n))},50)}else if("soundcloud"===qe.type){var c=t.createElement("iframe");c.loaded=!1,v(c,"load",function(){c.loaded=!0}),p(c,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+r,id:o}),n.appendChild(c),qe.media.appendChild(n),e.SC||s(k.urls.soundcloud.api);var d=e.setInterval(function(){e.SC&&c.loaded&&(e.clearInterval(d),te.call(c))},50)}}function Q(){qe.container.plyr.embed=qe.embed,qe.supported.full&&Ve(),J(H("iframe"))}function Z(t,n){"timer"in qe||(qe.timer={}),qe.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:k.autoplay?1:0,controls:qe.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:k.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){w(qe.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;qe.media.play=function(){n.playVideo(),qe.media.paused=!1},qe.media.pause=function(){n.pauseVideo(),qe.media.paused=!0},qe.media.stop=function(){n.stopVideo(),qe.media.paused=!0},qe.media.duration=n.getDuration(),qe.media.paused=!0,qe.media.currentTime=n.getCurrentTime(),qe.media.muted=n.isMuted(),k.title=n.getVideoData().title,w(qe.media,"timeupdate"),e.clearInterval(qe.timer.buffering),qe.timer.buffering=e.setInterval(function(){qe.media.buffered=n.getVideoLoadedFraction(),w(qe.media,"progress"),1===qe.media.buffered&&(e.clearInterval(qe.timer.buffering),w(qe.media,"canplaythrough"))},200),Q(),_e()},onStateChange:function(t){var n=t.target;switch(e.clearInterval(qe.timer.playing),t.data){case 0:qe.media.paused=!0,w(qe.media,"ended");break;case 1:qe.media.paused=!1,qe.media.seeking=!1,w(qe.media,"play"),w(qe.media,"playing"),qe.timer.playing=e.setInterval(function(){qe.media.currentTime=n.getCurrentTime(),w(qe.media,"timeupdate")},100);break;case 2:qe.media.paused=!0,w(qe.media,"pause")}w(qe.container,"statechange",!1,{code:t.data})}}})}function ee(t,n){qe.embed=new e.Vimeo.Player(n.id,{id:t,loop:k.loop,autoplay:k.autoplay,byline:!1,portrait:!1,title:!1}),qe.media.play=function(){qe.embed.play(),qe.media.paused=!1},qe.media.pause=function(){qe.embed.pause(),qe.media.paused=!0},qe.media.stop=function(){qe.embed.stop(),qe.media.paused=!0},qe.media.paused=!0,qe.media.currentTime=0,Q(),qe.embed.getCurrentTime().then(function(e){qe.media.currentTime=e,w(qe.media,"timeupdate")}),qe.embed.getDuration().then(function(e){qe.media.duration=e,_e()}),k.captions.defaultActive&&qe.embed.enableTextTrack("en"),qe.embed.on("play",function(){qe.media.paused=!1,w(qe.media,"play"),w(qe.media,"playing")}),qe.embed.on("pause",function(){qe.media.paused=!0,w(qe.media,"pause")}),qe.embed.on("timeupdate",function(e){qe.media.seeking=!1,qe.media.currentTime=e.seconds,w(qe.media,"timeupdate")}),qe.embed.on("progress",function(e){qe.media.buffered=e.percent,w(qe.media,"progress"),1===parseInt(e.percent)&&w(qe.media,"canplaythrough")}),qe.embed.on("ended",function(){qe.media.paused=!0,w(qe.media,"ended")})}function te(){qe.embed=e.SC.Widget(this),qe.embed.bind(e.SC.Widget.Events.READY,function(){qe.media.play=function(){qe.embed.play(),qe.media.paused=!1},qe.media.pause=function(){qe.embed.pause(),qe.media.paused=!0},qe.media.stop=function(){qe.embed.seekTo(0),qe.embed.pause(),qe.media.paused=!0},qe.media.paused=!0,qe.media.currentTime=0,Q(),qe.embed.getPosition(function(e){qe.media.currentTime=e,w(qe.media,"timeupdate")}),qe.embed.getDuration(function(e){qe.media.duration=e/1e3,_e()}),qe.embed.bind(e.SC.Widget.Events.PLAY,function(){qe.media.paused=!1,w(qe.media,"play"),w(qe.media,"playing")}),qe.embed.bind(e.SC.Widget.Events.PAUSE,function(){qe.media.paused=!0,w(qe.media,"pause")}),qe.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){qe.media.seeking=!1,qe.media.currentTime=e.currentPosition/1e3,w(qe.media,"timeupdate")}),qe.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){qe.media.buffered=e.loadProgress,w(qe.media,"progress"),1===parseInt(e.loadProgress)&&w(qe.media,"canplaythrough")}),qe.embed.bind(e.SC.Widget.Events.FINISH,function(){qe.media.paused=!0,w(qe.media,"ended")}),k.autoplay&&qe.embed.play()})}function ne(){"play"in qe.media&&qe.media.play()}function re(){"pause"in qe.media&&qe.media.pause()}function se(e){e===!0?ne():e===!1?re():qe.media[qe.media.paused?"play":"pause"]()}function oe(e){L.number(e)||(e=k.seekTime),ie(qe.media.currentTime-e)}function ae(e){L.number(e)||(e=k.seekTime),ie(qe.media.currentTime+e)}function ie(e){var t=0,n=qe.media.paused,r=le();L.number(e)?t=e:L.object(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*r),0>t?t=0:t>r&&(t=r),Ce(t);try{qe.media.currentTime=t.toFixed(4)}catch(s){}if(o(k.types.embed,qe.type)){switch(qe.type){case"youtube":qe.embed.seekTo(t);break;case"vimeo":qe.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":qe.embed.seekTo(1e3*t)}n&&re(),w(qe.media,"timeupdate"),qe.media.seeking=!0}_("Seeking to "+qe.media.currentTime+" seconds"),q(t)}function le(){var e=parseInt(k.duration),t=0;return null===qe.media.duration||isNaN(qe.media.duration)||(t=qe.media.duration),isNaN(e)?t:e}function ue(){f(qe.container,k.classes.playing,!qe.media.paused),f(qe.container,k.classes.stopped,qe.media.paused),Fe(qe.media.paused)}function ce(){M={x:e.pageXOffset||0,y:e.pageYOffset||0}}function pe(){e.scrollTo(M.x,M.y)}function de(e){var n=N.supportsFullScreen;e&&e.type===N.fullScreenEventName?qe.isFullscreen=N.isFullScreen(qe.container):n?(N.isFullScreen(qe.container)?N.cancelFullScreen():(ce(),N.requestFullScreen(qe.container)),qe.isFullscreen=N.isFullScreen(qe.container)):(qe.isFullscreen=!qe.isFullscreen,qe.isFullscreen?(v(t,"keyup",me),t.body.style.overflow="hidden"):(g(t,"keyup",me),t.body.style.overflow="")),f(qe.container,k.classes.fullscreen.active,qe.isFullscreen),qe.isFullscreen?qe.container.setAttribute("tabindex","-1"):qe.container.removeAttribute("tabindex"),Y(qe.isFullscreen),qe.buttons&&qe.buttons.fullscreen&&T(qe.buttons.fullscreen,qe.isFullscreen),w(qe.container,qe.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!qe.isFullscreen&&n&&pe()}function me(e){27===(e.which||e.charCode||e.keyCode)&&qe.isFullscreen&&de()}function fe(e){if(L["boolean"](e)||(e=!qe.media.muted),T(qe.buttons.mute,e),qe.media.muted=e,0===qe.media.volume&&ye(k.volume),o(k.types.embed,qe.type)){switch(qe.type){case"youtube":qe.embed[qe.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":qe.embed.setVolume(qe.media.muted?0:parseFloat(k.volume/k.volumeMax))}w(qe.media,"volumechange")}}function ye(t){var n=k.volumeMax,r=k.volumeMin;if(L.undefined(t)&&(t=k.volume,k.storage.enabled&&C().supported&&(t=e.localStorage.getItem(k.storage.key),e.localStorage.removeItem("plyr-volume"))),(null===t||isNaN(t))&&(t=k.volume),t>n&&(t=n),r>t&&(t=r),qe.media.volume=parseFloat(t/n),qe.volume.display&&(qe.volume.display.value=t),o(k.types.embed,qe.type)){switch(qe.type){case"youtube":qe.embed.setVolume(100*qe.media.volume);break;case"vimeo":case"soundcloud":qe.embed.setVolume(qe.media.volume)}w(qe.media,"volumechange")}qe.media.muted&&t>0&&fe()}function be(){var e=qe.media.muted?0:qe.media.volume*k.volumeMax;ye(e+k.volumeStep/5)}function ve(){var e=qe.media.muted?0:qe.media.volume*k.volumeMax;ye(e-k.volumeStep/5)}function ge(){var t=qe.media.muted?0:qe.media.volume*k.volumeMax;qe.supported.full&&(qe.volume.input&&(qe.volume.input.value=t),qe.volume.display&&(qe.volume.display.value=t)),k.storage.enabled&&C().supported&&!isNaN(t)&&e.localStorage.setItem(k.storage.key,t),f(qe.container,k.classes.muted,0===t),qe.supported.full&&qe.buttons.mute&&T(qe.buttons.mute,0===t)}function he(e){qe.supported.full&&qe.buttons.captions&&(L["boolean"](e)||(e=-1===qe.container.className.indexOf(k.classes.captions.active)),qe.captionsEnabled=e,T(qe.buttons.captions,qe.captionsEnabled),f(qe.container,k.classes.captions.active,qe.captionsEnabled),w(qe.container,qe.captionsEnabled?"captionsenabled":"captionsdisabled",!0))}function ke(e){var t="waiting"===e.type;clearTimeout(qe.timers.loading),qe.timers.loading=setTimeout(function(){f(qe.container,k.classes.loading,t)},t?250:0)}function we(e){if(qe.supported.full){var t=qe.progress.played,n=0,r=le();if(e)switch(e.type){case"timeupdate":case"seeking":if(qe.controls.pressed)return;n=x(qe.media.currentTime,r),"timeupdate"==e.type&&qe.buttons.seek&&(qe.buttons.seek.value=n);break;case"playing":case"progress":t=qe.progress.buffer,n=function(){var e=qe.media.buffered;return e&&e.length?x(e.end(0),r):L.number(e)?100*e:0}()}Te(t,n)}}function Te(e,t){if(qe.supported.full){if(L.undefined(t)&&(t=0),L.undefined(e)){if(!qe.progress||!qe.progress.buffer)return;e=qe.progress.buffer}L.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function xe(e,t){if(t){isNaN(e)&&(e=0),qe.secs=parseInt(e%60),qe.mins=parseInt(e/60%60),qe.hours=parseInt(e/60/60%60);var n=parseInt(le()/60/60%60)>0;qe.secs=("0"+qe.secs).slice(-2),qe.mins=("0"+qe.mins).slice(-2),t.innerHTML=(n?qe.hours+":":"")+qe.mins+":"+qe.secs}}function _e(){if(qe.supported.full){var e=le()||0;!qe.duration&&k.displayDuration&&qe.media.paused&&xe(e,qe.currentTime),qe.duration&&xe(e,qe.duration),Ee()}}function Se(e){xe(qe.media.currentTime,qe.currentTime),e&&"timeupdate"==e.type&&qe.media.seeking||we(e)}function Ce(e){L.number(e)||(e=0);var t=le(),n=x(e,t);qe.progress&&qe.progress.played&&(qe.progress.played.value=n),qe.buttons&&qe.buttons.seek&&(qe.buttons.seek.value=n)}function Ee(e){var t=le();if(k.tooltips.seek&&qe.progress.container&&0!==t){var n=qe.progress.container.getBoundingClientRect(),r=0,s=k.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!y(qe.progress.tooltip,s))return;r=qe.progress.tooltip.style.left.replace("%","")}0>r?r=0:r>100&&(r=100),xe(t/100*r,qe.progress.tooltip),qe.progress.tooltip.style.left=r+"%",e&&o(["mouseenter","mouseleave"],e.type)&&f(qe.progress.tooltip,s,"mouseenter"===e.type)}}function Fe(t){if(k.hideControls&&"audio"!==qe.type){var n=0,r=!1,s=t;if(L["boolean"](t)||(t&&t.type?(r="enterfullscreen"===t.type,s=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):s=y(qe.container,k.classes.hideControls)),e.clearTimeout(qe.timers.hover),s||qe.media.paused){if(f(qe.container,k.classes.hideControls,!1),qe.media.paused)return;qe.browser.isTouch&&(n=3e3)}s&&qe.media.paused||(qe.timers.hover=e.setTimeout(function(){(!qe.controls.pressed&&!qe.controls.hover||r)&&f(qe.container,k.classes.hideControls,!0)},n))}}function Ae(e){if(!L.undefined(e))return void Ie(e);var t;switch(qe.type){case"youtube":t=qe.embed.getVideoUrl();break;case"vimeo":qe.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":qe.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=qe.media.currentSrc}return t||""}function Ie(n){if(!(L.object(n)&&"sources"in n&&n.sources.length))return void E("Invalid source format");if(re(),Ce(),Te(),Le(),"youtube"===qe.type?(qe.embed.destroy(),e.clearInterval(qe.timer.buffering),e.clearInterval(qe.timer.playing)):"video"===qe.type&&qe.videoContainer&&u(qe.videoContainer),qe.embed=null,u(qe.media),"type"in n&&(qe.type=n.type,"video"===qe.type)){var r=n.sources[0];"type"in r&&o(k.types.embed,r.type)&&(qe.type=r.type)}switch(qe.supported=A(qe.type),qe.type){case"video":qe.media=t.createElement("video");break;case"audio":qe.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":qe.media=t.createElement("div"),qe.embedId=n.sources[0].src}c(qe.container,qe.media),L["boolean"](n.autoplay)&&(k.autoplay=n.autoplay),o(k.types.html5,qe.type)&&(k.crossorigin&&qe.media.setAttribute("crossorigin",""),k.autoplay&&qe.media.setAttribute("autoplay",""),"poster"in n&&qe.media.setAttribute("poster",n.poster),k.loop&&qe.media.setAttribute("loop","")),qe.container.className=qe.originalClassName,f(qe.container,k.classes.fullscreen.active,qe.isFullscreen),f(qe.container,k.classes.captions.active,qe.captionsEnabled),z(),o(k.types.html5,qe.type)&&X("source",n.sources),K(),o(k.types.html5,qe.type)?("tracks"in n&&X("track",n.tracks),qe.media.load(),Ve(),_e()):o(k.types.embed,qe.type)&&!qe.supported.full&&Ve(),k.title=n.title,J(),qe.container.plyr.media=qe.media}function Ne(e){"video"===qe.type&&qe.media.setAttribute("poster",e)}function Me(){function n(){var e=qe.media.paused;e?ne():re();var t=qe.buttons[e?"play":"pause"],n=qe.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=y(t,k.classes.tabFocus);setTimeout(function(){n.focus(),r&&(f(t,k.classes.tabFocus,!1),f(n,k.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;e&&e!=t.body?t.querySelector&&(e=t.querySelector(":focus")):e=null;for(var n in qe.buttons){var r=qe.buttons[n];if(L.nodeList(r))for(var s=0;s<r.length;s++)f(r[s],k.classes.tabFocus,r[s]===e);else f(r,k.classes.tabFocus,r===e)}}var s=qe.browser.isIE?"change":"input";v(e,"keyup",function(e){var t=e.keyCode?e.keyCode:e.which;9==t&&r()}),v(t.body,"click",function(){f(H("."+k.classes.tabFocus),k.classes.tabFocus,!1)});for(var a in qe.buttons){var i=qe.buttons[a];v(i,"blur",function(){f(i,"tab-focus",!1)})}h(qe.buttons.play,"click",k.listeners.play,n),h(qe.buttons.pause,"click",k.listeners.pause,n),h(qe.buttons.restart,"click",k.listeners.restart,ie),h(qe.buttons.rewind,"click",k.listeners.rewind,oe),h(qe.buttons.forward,"click",k.listeners.forward,ae),h(qe.buttons.seek,s,k.listeners.seek,ie),h(qe.volume.input,s,k.listeners.volume,function(){ye(qe.volume.input.value)}),h(qe.buttons.mute,"click",k.listeners.mute,fe),h(qe.buttons.fullscreen,"click",k.listeners.fullscreen,de),N.supportsFullScreen&&v(t,N.fullScreenEventName,de),v(qe.buttons.captions,"click",he),v(qe.progress.container,"mouseenter mouseleave mousemove",Ee),k.hideControls&&(v(qe.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Fe),v(qe.controls,"mouseenter mouseleave",function(e){qe.controls.hover="mouseenter"===e.type}),v(qe.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){qe.controls.pressed=o(["mousedown","touchstart"],e.type)}),v(qe.controls,"focus blur",Fe,!0)),v(qe.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice;(e.deltaY<0||e.deltaX>0)&&(t?ve():be()),(e.deltaY>0||e.deltaX<0)&&(t?be():ve())})}function Pe(){if(v(qe.media,"timeupdate seeking",Se),v(qe.media,"timeupdate",q),v(qe.media,"durationchange loadedmetadata",_e),v(qe.media,"ended",function(){"video"===qe.type&&V(),ue(),ie(0),_e(),"video"===qe.type&&k.showPosterOnEnd&&qe.media.load()}),v(qe.media,"progress playing",we),v(qe.media,"volumechange",ge),v(qe.media,"play pause",ue),v(qe.media,"waiting canplay seeked",ke),
+k.clickToPlay&&"audio"!==qe.type){var e=H("."+k.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",v(e,"click",function(){k.hideControls&&qe.browser.isTouch&&!qe.media.paused||(qe.media.paused?ne():qe.media.ended?(ie(),ne()):re())})}k.disableContextMenu&&v(qe.media,"contextmenu",function(e){e.preventDefault()}),v(qe.media,k.events.join(" "),function(e){w(qe.container,e.type,!0)})}function Le(){if(o(k.types.html5,qe.type)){for(var e=qe.media.querySelectorAll("source"),t=0;t<e.length;t++)u(e[t]);qe.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),qe.media.load(),_("Cancelled network requests for old media")}}function Oe(){if(!qe.init)return null;if(qe.container.setAttribute("class",m(k.selectors.container)),qe.init=!1,u(H(k.selectors.controls.wrapper)),"youtube"===qe.type)return void qe.embed.destroy();"video"===qe.type&&(u(H(k.selectors.captions)),l(qe.videoContainer)),G(!0);var e=qe.media.cloneNode(!0);qe.media.parentNode.replaceChild(e,qe.media)}function je(){if(qe.init)return null;if(N=S(),qe.browser=n(),qe.media=qe.container.querySelectorAll("audio, video")[0],qe.media||(qe.media=qe.container.querySelectorAll("[data-type]")[0]),qe.media){qe.originalClassName=qe.container.className;var e=qe.media.tagName.toLowerCase();if("div"===e?(qe.type=qe.media.getAttribute("data-type"),qe.embedId=qe.media.getAttribute("data-video-id"),qe.media.removeAttribute("data-type"),qe.media.removeAttribute("data-video-id")):(qe.type=e,k.crossorigin=null!==qe.media.getAttribute("crossorigin"),k.autoplay=k.autoplay||null!==qe.media.getAttribute("autoplay"),k.loop=k.loop||null!==qe.media.getAttribute("loop")),qe.supported=A(qe.type),z(),!qe.supported.basic)return!1;if(_(qe.browser.name+" "+qe.browser.version),K(),o(k.types.html5,qe.type)){if(!qe.supported.full)return void(qe.init=!0);Ve(),J(),k.autoplay&&ne()}else o(k.types.embed,qe.type)&&!qe.supported.full&&Ve();qe.init=!0}}function Ve(){if(!qe.supported.full)return E("No full support for this media type ("+qe.type+")"),u(H(k.selectors.controls.wrapper)),u(H(k.selectors.buttons.play)),void G(!0);var e=!D(k.selectors.controls.wrapper).length;e&&B(),U()&&(e&&Me(),Pe(),G(),O(),j(),ye(),ge(),Se(),ue(),_e(),w(qe.container,"ready",!0))}var qe=this;return qe.container=b,qe.timers={},_(k),je(),qe.init?{media:qe.media,play:ne,pause:re,restart:ie,rewind:oe,forward:ae,seek:ie,source:Ae,poster:Ne,setVolume:ye,togglePlay:se,toggleMute:fe,toggleCaptions:he,toggleFullscreen:de,toggleControls:Fe,isFullscreen:function(){return qe.isFullscreen||!1},support:function(e){return r(qe,e)},destroy:Oe,restore:je,getCurrentTime:function(){return qe.media.currentTime}}:{}}function F(e,n){var r=new XMLHttpRequest;L.string(n)&&null!==t.querySelector("#"+n)||"withCredentials"in r&&(r.open("GET",e,!0),r.onload=function(){var e=t.createElement("div");e.setAttribute("hidden",""),L.string(n)&&e.setAttribute("id",n),e.innerHTML=r.responseText,t.body.insertBefore(e,t.body.childNodes[0])},r.send())}function A(e){var r,s,o=n(),a=o.isIE&&o.version<=9,i=o.isIos,l=/iPhone|iPod/i.test(navigator.userAgent),u=!!t.createElement("audio").canPlayType,c=!!t.createElement("video").canPlayType;switch(e){case"video":r=c,s=r&&!a&&!l;break;case"audio":r=u,s=r&&!a;break;case"vimeo":case"youtube":case"soundcloud":r=!0,s=!a&&!i;break;default:r=u&&c,s=r&&!a}return{basic:r,full:s}}function I(e,n){var r=[],s=[],o=[P.selectors.html5,P.selectors.embed].join(",");if(L.string(e)?e=t.querySelectorAll(e):L.htmlElement(e)?e=[e]:L.nodeList(e)||L.array(e)||L.string(e)||(L.undefined(n)&&L.object(e)&&(n=e),e=t.querySelectorAll(o)),L.nodeList(e)&&(e=Array.prototype.slice.call(e)),!A().basic||!e.length)return!1;for(var a=0;a<e.length;a++){var l=e[a],u=l.querySelectorAll(o);if(u.length>1)for(var c=0;c<u.length;c++)s.push({element:i(u[c],t.createElement("div")),original:l});else s.push({element:l})}for(var p in s){var d=s[p].element,m=s[p].original||d;if(b(d,o)&&(d=i(d,t.createElement("div"))),!("plyr"in d)){var f=_({},P,n,JSON.parse(m.getAttribute("data-plyr")));if(!f.enabled)return null;var y=new E(d,f);d.plyr=Object.keys(y).length?y:!1,w(m,"setup",!0,{plyr:d.plyr})}r.push(d)}return r}var N,M={x:0,y:0},P={enabled:!0,debug:!1,autoplay:!1,loop:!1,seekTime:10,volume:5,volumeMin:0,volumeMax:10,volumeStep:1,duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/1.8.10/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration"},classes:{videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},tabFocus:"tab-focus"},captions:{defaultActive:!1},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",played:"played",buffered:"buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","emptied"]},L={object:function(e){return null!==e&&"object"==typeof e},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},number:function(e){return"number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number},string:function(e){return"string"==typeof e||"object"==typeof e&&e.constructor===String},"boolean":function(e){return"boolean"==typeof e},nodeList:function(e){return e instanceof NodeList},htmlElement:function(e){return e instanceof HTMLElement},undefined:function(e){return"undefined"==typeof e}};return{setup:I,supported:A,loadSprite:F}}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}(); \ No newline at end of file
diff --git a/package.json b/package.json
index 204095e5..961988f0 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "plyr",
- "version": "1.8.10",
+ "version": "1.8.11",
"description": "A simple, accessible and customizable HTML5, YouTube and Vimeo media player",
"homepage": "http://plyr.io",
"main": "src/js/plyr.js",
diff --git a/readme.md b/readme.md
index 458ed5a1..ede54812 100644
--- a/readme.md
+++ b/readme.md
@@ -121,7 +121,7 @@ Include the `plyr.js` script before the closing `</body>` tag and then call `ply
If you want to use our CDN for the JavaScript, you can use the following:
```html
-<script src="https://cdn.plyr.io/1.8.10/plyr.js"></script>
+<script src="https://cdn.plyr.io/1.8.11/plyr.js"></script>
```
### CSS
@@ -134,11 +134,11 @@ Include the `plyr.css` stylsheet into your `<head>`
If you want to use our CDN for the default CSS, you can use the following:
```html
-<link rel="stylesheet" href="https://cdn.plyr.io/1.8.10/plyr.css">
+<link rel="stylesheet" href="https://cdn.plyr.io/1.8.11/plyr.css">
```
### SVG Sprite
-The SVG sprite is loaded automatically from our CDN. To change this, see the [#options](Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/1.8.10/plyr.svg`.
+The SVG sprite is loaded automatically from our CDN. To change this, see the [#options](Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/1.8.11/plyr.svg`.
## Advanced
diff --git a/src/js/plyr.js b/src/js/plyr.js
index a9c923f7..9cab9e09 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -1,6 +1,6 @@
// ==========================================================================
// Plyr
-// plyr.js v1.8.10
+// plyr.js v1.8.11
// https://github.com/selz/plyr
// License: The MIT License (MIT)
// ==========================================================================
@@ -23,7 +23,6 @@
}
}(typeof window !== 'undefined' ? window : this, function(window, document) {
'use strict';
- /*global YT,$f*/
// Globals
var fullscreen,
@@ -44,7 +43,7 @@
displayDuration: true,
loadSprite: true,
iconPrefix: 'plyr',
- iconUrl: 'https://cdn.plyr.io/1.8.10/plyr.svg',
+ iconUrl: 'https://cdn.plyr.io/1.8.11/plyr.svg',
clickToPlay: true,
hideControls: true,
showPosterOnEnd: false,
@@ -146,7 +145,7 @@
// URLs
urls: {
vimeo: {
- api: 'https://cdn.plyr.io/froogaloop/1.0.1/plyr.froogaloop.js',
+ api: 'https://player.vimeo.com/api/player.js',
},
youtube: {
api: 'https://www.youtube.com/iframe_api'
@@ -587,6 +586,12 @@
boolean: function(input) {
return typeof input === 'boolean';
},
+ nodeList: function(input) {
+ return input instanceof NodeList;
+ },
+ htmlElement: function(input) {
+ return input instanceof HTMLElement;
+ },
undefined: function(input) {
return typeof input === 'undefined';
}
@@ -911,6 +916,7 @@
// Setup captions
function _setupCaptions() {
+ // Bail if not HTML5 video
if (plyr.type !== 'video') {
return;
}
@@ -1271,13 +1277,13 @@
if (config.selectors.controls.container !== null) {
container = config.selectors.controls.container;
- if (_is.string(selector)) {
+ if (_is.string(container)) {
container = document.querySelector(container);
}
}
// Inject into the container by default
- if (!(container instanceof HTMLElement)) {
+ if (!_is.htmlElement(container)) {
container = plyr.container
}
@@ -1387,7 +1393,7 @@
// Set iframe title
// https://github.com/Selz/plyr/issues/124
- if (iframe instanceof HTMLElement) {
+ if (_is.htmlElement(iframe)) {
iframe.setAttribute('title', config.i18n.frameTitle.replace('{title}', config.title));
}
}
@@ -1467,7 +1473,7 @@
container.setAttribute('id', id);
// Setup API
- if (_is.object(YT)) {
+ if (_is.object(window.YT)) {
_youTubeReady(mediaId, container);
}
else {
@@ -1488,41 +1494,27 @@
}
// Vimeo
else if (plyr.type === 'vimeo') {
- // Inject the iframe
- var vimeo = document.createElement('iframe');
-
- // Watch for iframe load
- vimeo.loaded = false;
- _on(vimeo, 'load', function() { vimeo.loaded = true; });
-
- _setAttributes(vimeo, {
- 'src': 'https://player.vimeo.com/video/' + mediaId + '?player_id=' + id + '&api=1&badge=0&byline=0&portrait=0&title=0',
- 'id': id,
- 'allowfullscreen': '',
- 'frameborder': 0
- });
+ // Create the YouTube container
+ plyr.media.appendChild(container);
- // If full support, we can use custom controls (hiding Vimeos), if not, use Vimeo
- if (plyr.supported.full) {
- container.appendChild(vimeo);
- plyr.media.appendChild(container);
- }
- else {
- plyr.media.appendChild(vimeo);
- }
+ // Set ID
+ container.setAttribute('id', id);
// Load the API if not already
- if (!('$f' in window)) {
+ if (!_is.object(window.Vimeo)) {
_injectScript(config.urls.vimeo.api);
- }
- // Wait for fragaloop load
- var vimeoTimer = window.setInterval(function() {
- if ('$f' in window && vimeo.loaded) {
- window.clearInterval(vimeoTimer);
- _vimeoReady.call(vimeo);
- }
- }, 50);
+ // Wait for fragaloop load
+ var vimeoTimer = window.setInterval(function() {
+ if (_is.object(window.Vimeo)) {
+ window.clearInterval(vimeoTimer);
+ _vimeoReady(mediaId, container);
+ }
+ }, 50);
+ }
+ else {
+ _vimeoReady(mediaId, container);
+ }
}
// Soundcloud
else if (plyr.type === 'soundcloud') {
@@ -1580,7 +1572,7 @@
// Setup instance
// https://developers.google.com/youtube/iframe_api_reference
- plyr.embed = new YT.Player(container.id, {
+ plyr.embed = new window.YT.Player(container.id, {
videoId: videoId,
playerVars: {
autoplay: (config.autoplay ? 1 : 0),
@@ -1708,86 +1700,86 @@
}
// Vimeo ready
- function _vimeoReady() {
- /* jshint validthis: true */
- plyr.embed = $f(this);
-
- // Setup on ready
- plyr.embed.addEvent('ready', function() {
+ function _vimeoReady(mediaId, container) {
+ // Setup player
+ plyr.embed = new window.Vimeo.Player(container.id, {
+ id: mediaId,
+ loop: config.loop,
+ autoplay: config.autoplay,
+ byline: false,
+ portrait: false,
+ title: false
+ });
- // Create a faux HTML5 API using the Vimeo API
- plyr.media.play = function() {
- plyr.embed.api('play');
- plyr.media.paused = false;
- };
- plyr.media.pause = function() {
- plyr.embed.api('pause');
- plyr.media.paused = true;
- };
- plyr.media.stop = function() {
- plyr.embed.api('stop');
- plyr.media.paused = true;
- };
+ // Create a faux HTML5 API using the Vimeo API
+ plyr.media.play = function() {
+ plyr.embed.play();
+ plyr.media.paused = false;
+ };
+ plyr.media.pause = function() {
+ plyr.embed.pause();
plyr.media.paused = true;
- plyr.media.currentTime = 0;
-
- // Update UI
- _embedReady();
-
- plyr.embed.api('getCurrentTime', function (value) {
- plyr.media.currentTime = value;
+ };
+ plyr.media.stop = function() {
+ plyr.embed.stop();
+ plyr.media.paused = true;
+ };
+ plyr.media.paused = true;
+ plyr.media.currentTime = 0;
- // Trigger timeupdate
- _triggerEvent(plyr.media, 'timeupdate');
- });
+ // Update UI
+ _embedReady();
- plyr.embed.api('getDuration', function(value) {
- plyr.media.duration = value;
+ plyr.embed.getCurrentTime().then(function (value) {
+ plyr.media.currentTime = value;
- // Display duration if available
- _displayDuration();
- });
+ // Trigger timeupdate
+ _triggerEvent(plyr.media, 'timeupdate');
+ });
- plyr.embed.addEvent('play', function() {
- plyr.media.paused = false;
- _triggerEvent(plyr.media, 'play');
- _triggerEvent(plyr.media, 'playing');
- });
+ plyr.embed.getDuration().then(function(value) {
+ plyr.media.duration = value;
- plyr.embed.addEvent('pause', function() {
- plyr.media.paused = true;
- _triggerEvent(plyr.media, 'pause');
- });
+ // Display duration if available
+ _displayDuration();
+ });
- plyr.embed.addEvent('playProgress', function(data) {
- plyr.media.seeking = false;
- plyr.media.currentTime = data.seconds;
- _triggerEvent(plyr.media, 'timeupdate');
- });
+ // Captions
+ if (config.captions.defaultActive) {
+ plyr.embed.enableTextTrack('en');
+ }
- plyr.embed.addEvent('loadProgress', function(data) {
- plyr.media.buffered = data.percent;
- _triggerEvent(plyr.media, 'progress');
+ plyr.embed.on('play', function() {
+ plyr.media.paused = false;
+ _triggerEvent(plyr.media, 'play');
+ _triggerEvent(plyr.media, 'playing');
+ });
- if (parseInt(data.percent) === 1) {
- // Trigger event
- _triggerEvent(plyr.media, 'canplaythrough');
- }
- });
+ plyr.embed.on('pause', function() {
+ plyr.media.paused = true;
+ _triggerEvent(plyr.media, 'pause');
+ });
- plyr.embed.addEvent('finish', function() {
- plyr.media.paused = true;
- _triggerEvent(plyr.media, 'ended');
- });
+ plyr.embed.on('timeupdate', function(data) {
+ plyr.media.seeking = false;
+ plyr.media.currentTime = data.seconds;
+ _triggerEvent(plyr.media, 'timeupdate');
+ });
- // Always seek to 0
- // plyr.embed.api('seekTo', 0);
+ plyr.embed.on('progress', function(data) {
+ plyr.media.buffered = data.percent;
+ _triggerEvent(plyr.media, 'progress');
- // Autoplay
- if (config.autoplay) {
- plyr.embed.api('play');
+ if (parseInt(data.percent) === 1) {
+ // Trigger event
+ _triggerEvent(plyr.media, 'canplaythrough');
}
});
+
+ plyr.embed.on('ended', function() {
+ plyr.media.paused = true;
+ _triggerEvent(plyr.media, 'ended');
+ });
}
// Soundcloud ready
@@ -1963,7 +1955,7 @@
case 'vimeo':
// Round to nearest second for vimeo
- plyr.embed.api('seekTo', targetTime.toFixed(0));
+ plyr.embed.setCurrentTime(targetTime.toFixed(0));
break;
case 'soundcloud':
@@ -2132,9 +2124,6 @@
break;
case 'vimeo':
- plyr.embed.api('setVolume', plyr.media.muted ? 0 : parseFloat(config.volume / config.volumeMax));
- break;
-
case 'soundcloud':
plyr.embed.setVolume(plyr.media.muted ? 0 : parseFloat(config.volume / config.volumeMax));
break;
@@ -2187,16 +2176,12 @@
// Embeds
if (_inArray(config.types.embed, plyr.type)) {
- // YouTube
switch(plyr.type) {
case 'youtube':
plyr.embed.setVolume(plyr.media.volume * 100);
break;
case 'vimeo':
- plyr.embed.api('setVolume', plyr.media.volume);
- break;
-
case 'soundcloud':
plyr.embed.setVolume(plyr.media.volume);
break;
@@ -2369,7 +2354,7 @@
}
// One progress element passed
- if (progress instanceof HTMLElement) {
+ if (_is.htmlElement(progress)) {
progress.value = value;
}
// Object of progress + text element
@@ -2598,7 +2583,7 @@
break;
case 'vimeo':
- plyr.embed.api('getVideoUrl', function (value) {
+ plyr.embed.getVideoUrl.then(function (value) {
url = value;
});
break;
@@ -2826,7 +2811,7 @@
for (var button in plyr.buttons) {
var element = plyr.buttons[button];
- if (element instanceof NodeList) {
+ if (_is.nodeList(element)) {
for (var i = 0; i < element.length; i++) {
_toggleClass(element[i], config.classes.tabFocus, (element[i] === focused));
}
@@ -3377,11 +3362,11 @@
targets = document.querySelectorAll(targets);
}
// Single HTMLElement passed
- else if (targets instanceof HTMLElement) {
+ else if (_is.htmlElement(targets)) {
targets = [targets];
}
// No selector passed, possibly options as first argument
- else if (!(targets instanceof NodeList) && !_is.string(targets)) {
+ else if (!_is.nodeList(targets) && !_is.array(targets) && !_is.string(targets)) {
// If options are the first argument
if (_is.undefined(options) && _is.object(targets)) {
options = targets;
@@ -3391,17 +3376,17 @@
targets = document.querySelectorAll(selector);
}
+ // Convert NodeList to array
+ if (_is.nodeList(targets)) {
+ targets = Array.prototype.slice.call(targets);
+ }
+
// Bail if disabled or no basic support
// You may want to disable certain UAs etc
if (!supported().basic || !targets.length) {
return false;
}
- // Convert NodeList to array
- if (targets instanceof NodeList) {
- targets = Array.prototype.slice.call(targets);
- }
-
// Check if the targets have multiple media elements
for (var i = 0; i < targets.length; i++) {
var target = targets[i];