From 03aacf483f851ba164fd82f4a76915bec45e6952 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Wed, 16 Nov 2016 09:40:09 +1100
Subject: Update readme.md
---
readme.md | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/readme.md b/readme.md
index 98c845f0..c9c6a30b 100644
--- a/readme.md
+++ b/readme.md
@@ -132,7 +132,7 @@ Include the `plyr.js` script before the closing `
` tag and then call `ply
```
-If you want to use our CDN for the JavaScript, you can use the following:
+If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for the JavaScript, you can use the following:
```html
@@ -145,14 +145,14 @@ Include the `plyr.css` stylsheet into your `
`
```
-If you want to use our CDN for the default CSS, you can use the following:
+If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for the default CSS, you can use the following:
```html
```
### 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/2.0.10/plyr.svg`.
+The SVG sprite is loaded automatically from our CDN (provided by [Fastly](https://www.fastly.com/)). To change this, see the [options](#Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.10/plyr.svg`.
## Advanced
@@ -1067,5 +1067,7 @@ Also these links helped created Plyr:
- [Media Events - W3.org](http://www.w3.org/2010/05/video/mediaevents.html)
- [Styling the `` element - hongkiat.com](http://www.hongkiat.com/blog/html5-progress-bar/)
+Thanks for [Fastly](https://www.fastly.com/) for providing the CDN services.
+
## Copyright and License
[The MIT license](license.md).
--
cgit v1.2.3
From 7d2a8d343a5b6c584de429f2f7f842ef2eac12ed Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Wed, 16 Nov 2016 09:41:06 +1100
Subject: Update
---
readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/readme.md b/readme.md
index c9c6a30b..8b4b2cc2 100644
--- a/readme.md
+++ b/readme.md
@@ -1067,7 +1067,7 @@ Also these links helped created Plyr:
- [Media Events - W3.org](http://www.w3.org/2010/05/video/mediaevents.html)
- [Styling the `` element - hongkiat.com](http://www.hongkiat.com/blog/html5-progress-bar/)
-Thanks for [Fastly](https://www.fastly.com/) for providing the CDN services.
+Thanks to [Fastly](https://www.fastly.com/) for providing the CDN services.
## Copyright and License
[The MIT license](license.md).
--
cgit v1.2.3
From 3e6ed7b69b6d19d7e217a721925586e6471b4c5e Mon Sep 17 00:00:00 2001
From: Sebastian Carlsson
Date: Thu, 17 Nov 2016 15:43:26 +0100
Subject: fixes bug where cleanUp would be called twice
---
src/js/plyr.js | 100 +++++++++++++++++++++++++++++----------------------------
1 file changed, 51 insertions(+), 49 deletions(-)
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 4c02b8fd..0570e35b 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -25,7 +25,7 @@
'use strict';
// Globals
- var fullscreen,
+ var fullscreen,
scroll = { x: 0, y: 0 },
// Default config
@@ -36,8 +36,8 @@
loop: false,
seekTime: 10,
volume: 10,
- volumeMin: 0,
- volumeMax: 10,
+ volumeMin: 0,
+ volumeMax: 10,
volumeStep: 1,
duration: null,
displayDuration: true,
@@ -493,9 +493,9 @@
}
// Create and dispatch the event
- var event = new CustomEvent(type, {
+ var event = new CustomEvent(type, {
bubbles: bubbles,
- detail: properties
+ detail: properties
});
// Dispatch the event
@@ -568,7 +568,7 @@
// Check variable types
var _is = {
object: function(input) {
- return input !== null && typeof(input) === 'object';
+ return input !== null && typeof(input) === 'object';
},
array: function(input) {
return input !== null && (typeof(input) === 'object' && input.constructor === Array);
@@ -713,7 +713,7 @@
timers = {},
api;
- // Set media
+ // Set media
plyr.media = media;
var original = media.cloneNode(true);
@@ -732,7 +732,7 @@
if (_is.string(config.logPrefix) && config.logPrefix.length) {
args.unshift(config.logPrefix);
}
-
+
console[type].apply(console, args);
}
}
@@ -1037,7 +1037,7 @@
var captions = [],
caption,
req = xhr.responseText;
-
+
//According to webvtt spec, line terminator consists of one of the following
// CRLF (U+000D U+000A), LF (U+000A) or CR (U+000D)
var lineSeparator = '\r\n';
@@ -1048,7 +1048,7 @@
lineSeparator = '\n';
}
}
-
+
captions = req.split(lineSeparator+lineSeparator);
for (var r = 0; r < captions.length; r++) {
@@ -1530,7 +1530,7 @@
mediaId = _parseVimeoId(plyr.embedId);
break;
- default:
+ default:
mediaId = plyr.embedId;
}
@@ -1819,7 +1819,7 @@
plyr.embed.stop();
plyr.media.paused = true;
};
-
+
plyr.media.paused = true;
plyr.media.currentTime = 0;
@@ -1835,7 +1835,7 @@
plyr.embed.getDuration().then(function(value) {
plyr.media.duration = value;
-
+
// Trigger timeupdate
_triggerEvent(plyr.media, 'durationchange');
});
@@ -1898,7 +1898,7 @@
plyr.embed = window.SC.Widget(this);
// Setup on ready
- plyr.embed.bind(window.SC.Widget.Events.READY, function() {
+ plyr.embed.bind(window.SC.Widget.Events.READY, function() {
// Create a faux HTML5 API using the Soundcloud API
plyr.media.play = function() {
plyr.embed.play();
@@ -2035,7 +2035,7 @@
targetTime = duration;
}
- // Update seek range and progress
+ // Update seek range and progress
_updateSeekDisplay(targetTime);
// Set the current time
@@ -2126,7 +2126,7 @@
function _toggleFullscreen(event) {
// Check for native support
var nativeSupport = fullscreen.supportsFullScreen;
-
+
if (nativeSupport) {
// If it's a fullscreen change event, update the UI
if (event && event.type === fullscreen.fullScreenEventName) {
@@ -2424,7 +2424,7 @@
if (!plyr.supported.full) {
return;
}
-
+
// Default to 0
if (_is.undefined(value)) {
value = 0;
@@ -2516,7 +2516,7 @@
_updateProgress(event);
}
- // Update seek range and progress
+ // Update seek range and progress
function _updateSeekDisplay(time) {
// Default to 0
if (!_is.number(time)) {
@@ -2526,7 +2526,7 @@
var duration = _getDuration(),
value = _getPercentage(time, duration);
- // Update progress
+ // Update progress
if (plyr.progress && plyr.progress.played) {
plyr.progress.played.value = value;
}
@@ -2635,15 +2635,15 @@
}
}
- // If toggle is false or if we're playing (regardless of toggle),
- // then set the timer to hide the controls
+ // If toggle is false or if we're playing (regardless of toggle),
+ // then set the timer to hide the controls
if (!show || !plyr.media.paused) {
timers.hover = window.setTimeout(function() {
// If the mouse is over the controls (and not entering fullscreen), bail
if ((plyr.controls.pressed || plyr.controls.hover) && !isEnterFullscreen) {
return;
}
-
+
_toggleClass(plyr.container, config.classes.hideControls, true);
}, delay);
}
@@ -2720,7 +2720,7 @@
_remove(plyr.videoContainer);
}
- // Reset class name
+ // Reset class name
if (plyr.container) {
plyr.container.removeAttribute('class');
}
@@ -2915,7 +2915,7 @@
count = get().length;
// Only handle global key press if there's only one player
- // and the key is in the allowed keys
+ // and the key is in the allowed keys
// and if the focused element is not editable (e.g. text input)
// and any that accept key input http://webaim.org/techniques/keyboard/
if (count === 1 && _inArray(allowed, code) && (!_is.htmlElement(focused) || !_matches(focused, config.selectors.editable))) {
@@ -2949,7 +2949,7 @@
return;
}
- // Divide the max duration into 10th's and times by the number value
+ // Divide the max duration into 10th's and times by the number value
_seek((duration / 10) * (code - 48));
}
@@ -2967,18 +2967,18 @@
switch(code) {
// 0-9
- case 48:
- case 49:
- case 50:
- case 51:
- case 52:
- case 53:
- case 54:
- case 55:
+ case 48:
+ case 49:
+ case 50:
+ case 51:
+ case 52:
+ case 53:
+ case 54:
+ case 55:
case 56:
case 57: if (!held) { seekByKey(); } break;
// Space and K key
- case 32:
+ case 32:
case 75: if (!held) { _togglePlay(); } break;
// Arrow up
case 38: _increaseVolume(); break;
@@ -2996,7 +2996,7 @@
case 67: if (!held) { _toggleCaptions(); } break;
}
- // Escape is handle natively when in full screen
+ // Escape is handle natively when in full screen
// So we only need to worry about non native
if (!fullscreen.supportsFullScreen && plyr.isFullscreen && code === 27) {
_toggleFullscreen();
@@ -3075,12 +3075,12 @@
_on(plyr.container, 'mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen', _toggleControls);
// Watch for cursor over controls so they don't hide when trying to interact
- _on(plyr.controls, 'mouseenter mouseleave', function(event) {
+ _on(plyr.controls, 'mouseenter mouseleave', function(event) {
plyr.controls.hover = event.type === 'mouseenter';
});
// Watch for cursor over controls so they don't hide when trying to interact
- _on(plyr.controls, 'mousedown mouseup touchstart touchend touchcancel', function(event) {
+ _on(plyr.controls, 'mousedown mouseup touchstart touchend touchcancel', function(event) {
plyr.controls.pressed = _inArray(['mousedown', 'touchstart'], event.type);
});
@@ -3136,7 +3136,7 @@
if (plyr.type === 'video') {
_setCaption();
}
-
+
// Restart
_seek();
@@ -3238,7 +3238,7 @@
// Type specific stuff
switch (plyr.type) {
- case 'youtube':
+ case 'youtube':
// Clear timers
window.clearInterval(timers.buffering);
window.clearInterval(timers.playing);
@@ -3248,16 +3248,16 @@
// Clean up
cleanUp();
-
+
break;
case 'vimeo':
- // Destroy Vimeo API
+ // Destroy Vimeo API
// then clean up (wait, to prevent postmessage errors)
plyr.embed.unload().then(cleanUp);
// Vimeo does not always return
- window.setTimeout(cleanUp, 200);
+ timers.cleanUp = window.setTimeout(cleanUp, 200);
break;
@@ -3273,6 +3273,8 @@
}
function cleanUp() {
+ clearTimeout(timers.cleanUp);
+
// Default to restore original element
if (!_is.boolean(restore)) {
restore = true;
@@ -3448,7 +3450,7 @@
isMuted: function() { return plyr.media.muted; },
isReady: function() { return _hasClass(plyr.container, config.classes.ready); },
isLoading: function() { return _hasClass(plyr.container, config.classes.loading); },
- isPaused: function() { return plyr.media.paused; },
+ isPaused: function() { return plyr.media.paused; },
on: function(event, callback) { _on(plyr.container, event, callback); return this; },
play: _play,
pause: _pause,
@@ -3473,7 +3475,7 @@
// Everything done
function _ready() {
// Ready event at end of execution stack
- window.setTimeout(function() {
+ window.setTimeout(function() {
_triggerEvent(plyr.media, 'ready');
}, 0);
@@ -3679,15 +3681,15 @@
// Listen for events if debugging
if (config.debug) {
var events = config.events.concat(['setup', 'statechange', 'enterfullscreen', 'exitfullscreen', 'captionsenabled', 'captionsdisabled']);
-
- _on(instance.getContainer(), events.join(' '), function(event) {
+
+ _on(instance.getContainer(), events.join(' '), function(event) {
console.log([config.logPrefix, 'event:', event.type].join(' '), event.detail.plyr);
});
}
// Callback
- _event(instance.getContainer(), 'setup', true, {
- plyr: instance
+ _event(instance.getContainer(), 'setup', true, {
+ plyr: instance
});
// Add to return array even if it's already setup
@@ -3718,7 +3720,7 @@
}
});
- return instances;
+ return instances;
}
return [];
--
cgit v1.2.3
From a44c7ecc3a077b11fc586bba8aa2df25b01f209f Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sun, 27 Nov 2016 20:15:15 +1100
Subject: Fix for iPad and YouTube issues
---
demo/src/js/main.js | 2 +-
dist/plyr.css | 2 +-
dist/plyr.js | 4 +-
src/js/plyr.js | 133 ++++++++++++++++++++++++++++++----------------------
src/less/plyr.less | 37 ++++++++-------
src/scss/plyr.scss | 34 ++++++++------
6 files changed, 121 insertions(+), 91 deletions(-)
diff --git a/demo/src/js/main.js b/demo/src/js/main.js
index 56f7d634..df0418e3 100644
--- a/demo/src/js/main.js
+++ b/demo/src/js/main.js
@@ -9,7 +9,7 @@
// General functions
;(function() {
//document.body.addEventListener('ready', function(event) { console.log(event); });
-
+
// Setup the player
var instances = plyr.setup({
debug: true,
diff --git a/dist/plyr.css b/dist/plyr.css
index b8188144..e92820ce 100644
--- a/dist/plyr.css
+++ b/dist/plyr.css
@@ -1 +1 @@
-.plyr input[type=range]:focus,.plyr:focus{outline:0}.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
+.plyr input[type=range]:focus,.plyr:focus{outline:0}.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/dist/plyr.js b/dist/plyr.js
index d5446449..706bbe3c 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([],function(){return 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 navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,s="IE",o="11"):(n=a.indexOf("MSIE"))!==-1?(l=!0,s="IE",o=a.substring(n+5)):(n=a.indexOf("Chrome"))!==-1?(c=!0,s="Chrome",o=a.substring(n+7)):(n=a.indexOf("Safari"))!==-1?(d=!0,s="Safari",o=a.substring(n+7),(n=a.indexOf("Version"))!==-1&&(o=a.substring(n+8))):(n=a.indexOf("Firefox"))!==-1?(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)),(r=o.indexOf(";"))!==-1&&(o=o.substring(0,r)),(r=o.indexOf(" "))!==-1&&(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&&e.indexOf(t)!==-1}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){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(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 f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O.boolean(a)||(a=!1),e instanceof NodeList)for(var o=0;o',' ',''+E.i18n.play+" ",""),e.push(''),s(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),s(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),s(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),s(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),s(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),s(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),s(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),s(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),s(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),s(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),s(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function q(){if(Xe.supported.full&&("audio"!==Xe.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!U()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Xe.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Xe.buttons&&Xe.buttons.fullscreen&&k(Xe.buttons.fullscreen,!1),$()}}function D(){if("video"===Xe.type){X(E.selectors.captions)||Xe.videoContainer.insertAdjacentHTML("afterbegin",'
'),Xe.usingTextTracks=!1,Xe.media.textTracks&&(Xe.usingTextTracks=!0);for(var e,t="",n=Xe.media.childNodes,r=0;r=10||Xe.browser.isFirefox&&Xe.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Xe.usingTextTracks=!1),Xe.usingTextTracks){Je("TextTracks supported");for(var o=0;o ");for(var r=0;rXe.captions.length-1){Xe.subcount=Xe.captions.length-1;break}Xe.media.currentTime.toFixed(1)>=n(Xe.captions[Xe.subcount][0])&&Xe.media.currentTime.toFixed(1)<=r(Xe.captions[Xe.subcount][0])?(Xe.currentCaption=Xe.captions[Xe.subcount][1],H(Xe.currentCaption)):H()}}function Y(){if(Xe.buttons.captions){m(Xe.container,E.classes.captions.enabled,!0);var e=Xe.storage.captionsEnabled;O.boolean(e)||(e=E.captions.defaultActive),e&&(m(Xe.container,E.classes.captions.active,!0),k(Xe.buttons.captions,!0))}}function B(e){return Xe.container.querySelectorAll(e)}function X(e){return B(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function $(){function e(e){9===e.which&&Xe.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Xe.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Xe.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Xe.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Xe.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Xe.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=B([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Xe.controls=X(E.selectors.controls.wrapper),Xe.buttons={},Xe.buttons.seek=X(E.selectors.buttons.seek),Xe.buttons.play=B(E.selectors.buttons.play),Xe.buttons.pause=X(E.selectors.buttons.pause),Xe.buttons.restart=X(E.selectors.buttons.restart),Xe.buttons.rewind=X(E.selectors.buttons.rewind),Xe.buttons.forward=X(E.selectors.buttons.forward),Xe.buttons.fullscreen=X(E.selectors.buttons.fullscreen),Xe.buttons.mute=X(E.selectors.buttons.mute),Xe.buttons.captions=X(E.selectors.buttons.captions),Xe.progress={},Xe.progress.container=X(E.selectors.progress.container),Xe.progress.buffer={},Xe.progress.buffer.bar=X(E.selectors.progress.buffer),Xe.progress.buffer.text=Xe.progress.buffer.bar&&Xe.progress.buffer.bar.getElementsByTagName("span")[0],Xe.progress.played=X(E.selectors.progress.played),Xe.progress.tooltip=Xe.progress.container&&Xe.progress.container.querySelector("."+E.classes.tooltip),Xe.volume={},Xe.volume.input=X(E.selectors.volume.input),Xe.volume.display=X(E.selectors.volume.display),Xe.duration=X(E.selectors.duration),Xe.currentTime=X(E.selectors.currentTime),Xe.seekTime=B(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Xe.container,E.selectors.container.replace(".",""),Xe.supported.full)}function Q(e){e&&s(E.types.html5,Xe.type)?Xe.media.setAttribute("controls",""):Xe.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Xe.container.setAttribute("aria-label",E.title)),Xe.supported.full&&Xe.buttons.play)for(var n=Xe.buttons.play.length-1;n>=0;n--)Xe.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Xe.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Xe.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Xe.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Xe.storage)))}function ne(){if(!Xe.media)return void ze("No media element found!");if(Xe.supported.full&&(m(Xe.container,E.classes.type.replace("{0}",Xe.type),!0),s(E.types.embed,Xe.type)&&m(Xe.container,E.classes.type.replace("{0}","video"),!0),m(Xe.container,E.classes.stopped,E.autoplay),m(Xe.ontainer,E.classes.isIos,Xe.browser.isIos),m(Xe.container,E.classes.isTouch,Xe.browser.isTouch),"video"===Xe.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Xe.media,e),Xe.videoContainer=e}s(E.types.embed,Xe.type)&&re()}function re(){var n,r=t.createElement("div"),s=Xe.type+"-"+Math.floor(1e4*Math.random());switch(Xe.type){case"youtube":n=T(Xe.embedId);break;case"vimeo":n=S(Xe.embedId);break;default:n=Xe.embedId}for(var o=B('[id^="'+Xe.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Xe.media,E.classes.videoWrapper,!0),m(Xe.media,E.classes.embedWrapper,!0),"youtube"===Xe.type)Xe.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Xe.type)if(Xe.supported.full?Xe.media.appendChild(r):r=Xe.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Xe.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Xe.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Xe.supported.full&&(We(),Ye()),Z(X("iframe"))}function se(t,n){Xe.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Xe.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Xe.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Xe.media.play=function(){n.playVideo(),Xe.media.paused=!1},Xe.media.pause=function(){n.pauseVideo(),Xe.media.paused=!0},Xe.media.stop=function(){n.stopVideo(),Xe.media.paused=!0},Xe.media.duration=n.getDuration(),Xe.media.paused=!0,Xe.media.currentTime=0,Xe.media.muted=n.isMuted(),E.title=n.getVideoData().title,Xe.supported.full&&Xe.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Xe.media,"timeupdate"),A(Xe.media,"durationchange"),e.clearInterval(Ue.buffering),Ue.buffering=e.setInterval(function(){Xe.media.buffered=n.getVideoLoadedFraction(),(null===Xe.media.lastBuffered||Xe.media.lastBufferedr&&(t=r),Ne(t);try{Xe.media.currentTime=t.toFixed(4)}catch(e){}if(s(E.types.embed,Xe.type)){switch(Xe.type){case"youtube":Xe.embed.seekTo(t);break;case"vimeo":Xe.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Xe.embed.seekTo(1e3*t)}n&&ue(),A(Xe.media,"timeupdate"),Xe.media.seeking=!0,A(Xe.media,"seeking")}Je("Seeking to "+Xe.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Xe.media.duration||isNaN(Xe.media.duration)||(t=Xe.media.duration),isNaN(e)?t:e}function ye(){m(Xe.container,E.classes.playing,!Xe.media.paused),m(Xe.container,E.classes.stopped,Xe.media.paused),Me(Xe.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Xe.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Xe.container)),void(Xe.isFullscreen=N.isFullScreen(Xe.container));Xe.isFullscreen=N.isFullScreen(Xe.container)}else Xe.isFullscreen=!Xe.isFullscreen,t.body.style.overflow=Xe.isFullscreen?"hidden":"";m(Xe.container,E.classes.fullscreen.active,Xe.isFullscreen),$(Xe.isFullscreen),Xe.buttons&&Xe.buttons.fullscreen&&k(Xe.buttons.fullscreen,Xe.isFullscreen),A(Xe.container,Xe.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Xe.isFullscreen&&n&&ve()}function he(e){if(O.boolean(e)||(e=!Xe.media.muted),k(Xe.buttons.mute,e),Xe.media.muted=e,0===Xe.media.volume&&ke(E.volume),s(E.types.embed,Xe.type)){switch(Xe.type){case"youtube":Xe.embed[Xe.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Xe.embed.setVolume(Xe.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Xe.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Xe.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&he()}function we(e){var t=Xe.media.muted?0:Xe.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Xe.media.muted?0:Xe.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Xe.media.muted?0:Xe.media.volume*E.volumeMax;Xe.supported.full&&(Xe.volume.input&&(Xe.volume.input.value=e),Xe.volume.display&&(Xe.volume.display.value=e)),te({volume:e}),m(Xe.container,E.classes.muted,0===e),Xe.supported.full&&Xe.buttons.mute&&k(Xe.buttons.mute,0===e)}function Se(e){Xe.supported.full&&Xe.buttons.captions&&(O.boolean(e)||(e=Xe.container.className.indexOf(E.classes.captions.active)===-1),Xe.captionsEnabled=e,k(Xe.buttons.captions,Xe.captionsEnabled),m(Xe.container,E.classes.captions.active,Xe.captionsEnabled),A(Xe.container,Xe.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Xe.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Ue.loading),Ue.loading=setTimeout(function(){m(Xe.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Xe.supported.full){var t=Xe.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Xe.controls.pressed)return;n=w(Xe.media.currentTime,r),"timeupdate"===e.type&&Xe.buttons.seek&&(Xe.buttons.seek.value=n);break;case"playing":case"progress":t=Xe.progress.buffer,n=function(){var e=Xe.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Xe.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Xe.progress||!Xe.progress.buffer)return;e=Xe.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Xe.secs=parseInt(e%60),Xe.mins=parseInt(e/60%60),Xe.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Xe.secs=("0"+Xe.secs).slice(-2),Xe.mins=("0"+Xe.mins).slice(-2),t.innerHTML=(n?Xe.hours+":":"")+Xe.mins+":"+Xe.secs}}function Ae(){if(Xe.supported.full){var e=fe()||0;!Xe.duration&&E.displayDuration&&Xe.media.paused&&Fe(e,Xe.currentTime),Xe.duration&&Fe(e,Xe.duration),Pe()}}function Ie(e){Fe(Xe.media.currentTime,Xe.currentTime),e&&"timeupdate"===e.type&&Xe.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Xe.progress&&Xe.progress.played&&(Xe.progress.played.value=n),Xe.buttons&&Xe.buttons.seek&&(Xe.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Xe.progress.container&&0!==t){var n=Xe.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Xe.progress.tooltip,a))return;r=Xe.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Xe.progress.tooltip),Xe.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Xe.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Xe.type){var n=0,r=!1,a=t,o=f(Xe.container,E.classes.loading);if(O.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=f(Xe.container,E.classes.hideControls)),e.clearTimeout(Ue.hover),a||Xe.media.paused||o){if(m(Xe.container,E.classes.hideControls,!1),Xe.media.paused||o)return;Xe.browser.isTouch&&(n=3e3)}a&&Xe.media.paused||(Ue.hover=e.setTimeout(function(){(!Xe.controls.pressed&&!Xe.controls.hover||r)&&m(Xe.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Xe.type){case"youtube":t=Xe.embed.getVideoUrl();break;case"vimeo":Xe.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Xe.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Xe.media.currentSrc}return t||""}function Le(e){function n(){if(Xe.embed=null,l(Xe.media),"video"===Xe.type&&Xe.videoContainer&&l(Xe.videoContainer),Xe.container&&Xe.container.removeAttribute("class"),"type"in e&&(Xe.type=e.type,"video"===Xe.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Xe.type=n.type)}switch(Xe.supported=F(Xe.type),Xe.type){case"video":Xe.media=t.createElement("video");break;case"audio":Xe.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Xe.media=t.createElement("div"),Xe.embedId=e.sources[0].src}u(Xe.container,Xe.media),O.boolean(e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Xe.type)&&(E.crossorigin&&Xe.media.setAttribute("crossorigin",""),E.autoplay&&Xe.media.setAttribute("autoplay",""),"poster"in e&&Xe.media.setAttribute("poster",e.poster),E.loop&&Xe.media.setAttribute("loop","")),m(Xe.container,E.classes.fullscreen.active,Xe.isFullscreen),m(Xe.container,E.classes.captions.active,Xe.captionsEnabled),K(),s(E.types.html5,Xe.type)&&J("source",e.sources),ne(),s(E.types.html5,Xe.type)&&("tracks"in e&&J("track",e.tracks),Xe.media.load()),(s(E.types.html5,Xe.type)||s(E.types.embed,Xe.type)&&!Xe.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Xe.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Xe.type&&Xe.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Xe.buttons[e?"play":"pause"],n=Xe.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Xe.buttons){var n=Xe.buttons[t];if(O.nodeList(n))for(var r=0;r0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Xe.media,"timeupdate seeking",Ie),g(Xe.media,"timeupdate",W),g(Xe.media,"durationchange loadedmetadata",Ae),g(Xe.media,"ended",function(){"video"===Xe.type&&E.showPosterOnEnd&&("video"===Xe.type&&H(),me(),Xe.media.load())}),g(Xe.media,"progress playing",Ee),g(Xe.media,"volumechange",Te),g(Xe.media,"play pause ended",ye),g(Xe.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Xe.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Xe.browser.isTouch&&!Xe.media.paused||(Xe.media.paused?le():Xe.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Xe.media,"contextmenu",function(e){e.preventDefault()}),g(Xe.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Xe.container,e.type,!0)})}function qe(){if(s(E.types.html5,Xe.type)){for(var e=Xe.media.querySelectorAll("source"),t=0;t=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){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(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 f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O.boolean(a)||(a=!1),e instanceof NodeList)for(var o=0;o',' ',''+E.i18n.play+" ",""),e.push(''),s(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),s(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),s(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),s(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),s(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),s(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),s(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),s(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),s(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),s(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),s(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function q(){if(Xe.supported.full&&("audio"!==Xe.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!U()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Xe.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Xe.buttons&&Xe.buttons.fullscreen&&k(Xe.buttons.fullscreen,!1),$()}}function D(){if("video"===Xe.type){X(E.selectors.captions)||Xe.videoContainer.insertAdjacentHTML("afterbegin",'
'),Xe.usingTextTracks=!1,Xe.media.textTracks&&(Xe.usingTextTracks=!0);for(var e,t="",n=Xe.media.childNodes,r=0;r=10||Xe.browser.isFirefox&&Xe.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Xe.usingTextTracks=!1),Xe.usingTextTracks){Je("TextTracks supported");for(var o=0;o ");for(var r=0;rXe.captions.length-1){Xe.subcount=Xe.captions.length-1;break}Xe.media.currentTime.toFixed(1)>=n(Xe.captions[Xe.subcount][0])&&Xe.media.currentTime.toFixed(1)<=r(Xe.captions[Xe.subcount][0])?(Xe.currentCaption=Xe.captions[Xe.subcount][1],H(Xe.currentCaption)):H()}}function Y(){if(Xe.buttons.captions){m(Xe.container,E.classes.captions.enabled,!0);var e=Xe.storage.captionsEnabled;O.boolean(e)||(e=E.captions.defaultActive),e&&(m(Xe.container,E.classes.captions.active,!0),k(Xe.buttons.captions,!0))}}function B(e){return Xe.container.querySelectorAll(e)}function X(e){return B(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function $(){function e(e){9===e.which&&Xe.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Xe.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Xe.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Xe.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Xe.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Xe.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=B([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Xe.controls=X(E.selectors.controls.wrapper),Xe.buttons={},Xe.buttons.seek=X(E.selectors.buttons.seek),Xe.buttons.play=B(E.selectors.buttons.play),Xe.buttons.pause=X(E.selectors.buttons.pause),Xe.buttons.restart=X(E.selectors.buttons.restart),Xe.buttons.rewind=X(E.selectors.buttons.rewind),Xe.buttons.forward=X(E.selectors.buttons.forward),Xe.buttons.fullscreen=X(E.selectors.buttons.fullscreen),Xe.buttons.mute=X(E.selectors.buttons.mute),Xe.buttons.captions=X(E.selectors.buttons.captions),Xe.progress={},Xe.progress.container=X(E.selectors.progress.container),Xe.progress.buffer={},Xe.progress.buffer.bar=X(E.selectors.progress.buffer),Xe.progress.buffer.text=Xe.progress.buffer.bar&&Xe.progress.buffer.bar.getElementsByTagName("span")[0],Xe.progress.played=X(E.selectors.progress.played),Xe.progress.tooltip=Xe.progress.container&&Xe.progress.container.querySelector("."+E.classes.tooltip),Xe.volume={},Xe.volume.input=X(E.selectors.volume.input),Xe.volume.display=X(E.selectors.volume.display),Xe.duration=X(E.selectors.duration),Xe.currentTime=X(E.selectors.currentTime),Xe.seekTime=B(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Xe.container,E.selectors.container.replace(".",""),Xe.supported.full)}function Q(e){e&&s(E.types.html5,Xe.type)?Xe.media.setAttribute("controls",""):Xe.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Xe.container.setAttribute("aria-label",E.title)),Xe.supported.full&&Xe.buttons.play)for(var n=Xe.buttons.play.length-1;n>=0;n--)Xe.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Xe.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Xe.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Xe.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Xe.storage)))}function ne(){if(!Xe.media)return void ze("No media element found!");if(Xe.supported.full&&(m(Xe.container,E.classes.type.replace("{0}",Xe.type),!0),s(E.types.embed,Xe.type)&&m(Xe.container,E.classes.type.replace("{0}","video"),!0),m(Xe.container,E.classes.stopped,E.autoplay),m(Xe.ontainer,E.classes.isIos,Xe.browser.isIos),m(Xe.container,E.classes.isTouch,Xe.browser.isTouch),"video"===Xe.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Xe.media,e),Xe.videoContainer=e}s(E.types.embed,Xe.type)&&re()}function re(){var n,r=t.createElement("div"),s=Xe.type+"-"+Math.floor(1e4*Math.random());switch(Xe.type){case"youtube":n=T(Xe.embedId);break;case"vimeo":n=S(Xe.embedId);break;default:n=Xe.embedId}for(var o=B('[id^="'+Xe.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Xe.media,E.classes.videoWrapper,!0),m(Xe.media,E.classes.embedWrapper,!0),"youtube"===Xe.type)Xe.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Xe.type)if(Xe.supported.full?Xe.media.appendChild(r):r=Xe.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Xe.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Xe.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Xe.supported.full&&(We(),Ye()),Z(X("iframe"))}function se(t,n){Xe.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Xe.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Xe.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Xe.media.play=function(){n.playVideo(),Xe.media.paused=!1},Xe.media.pause=function(){n.pauseVideo(),Xe.media.paused=!0},Xe.media.stop=function(){n.stopVideo(),Xe.media.paused=!0},Xe.media.duration=n.getDuration(),Xe.media.paused=!0,Xe.media.currentTime=0,Xe.media.muted=n.isMuted(),E.title=n.getVideoData().title,Xe.supported.full&&Xe.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Xe.media,"timeupdate"),A(Xe.media,"durationchange"),e.clearInterval(Ue.buffering),Ue.buffering=e.setInterval(function(){Xe.media.buffered=n.getVideoLoadedFraction(),(null===Xe.media.lastBuffered||Xe.media.lastBufferedr&&(t=r),Ne(t);try{Xe.media.currentTime=t.toFixed(4)}catch(e){}if(s(E.types.embed,Xe.type)){switch(Xe.type){case"youtube":Xe.embed.seekTo(t);break;case"vimeo":Xe.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Xe.embed.seekTo(1e3*t)}n&&ue(),A(Xe.media,"timeupdate"),Xe.media.seeking=!0,A(Xe.media,"seeking")}Je("Seeking to "+Xe.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Xe.media.duration||isNaN(Xe.media.duration)||(t=Xe.media.duration),isNaN(e)?t:e}function ye(){m(Xe.container,E.classes.playing,!Xe.media.paused),m(Xe.container,E.classes.stopped,Xe.media.paused),Me(Xe.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Xe.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Xe.container)),void(Xe.isFullscreen=N.isFullScreen(Xe.container));Xe.isFullscreen=N.isFullScreen(Xe.container)}else Xe.isFullscreen=!Xe.isFullscreen,t.body.style.overflow=Xe.isFullscreen?"hidden":"";m(Xe.container,E.classes.fullscreen.active,Xe.isFullscreen),$(Xe.isFullscreen),Xe.buttons&&Xe.buttons.fullscreen&&k(Xe.buttons.fullscreen,Xe.isFullscreen),A(Xe.container,Xe.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Xe.isFullscreen&&n&&ve()}function he(e){if(O.boolean(e)||(e=!Xe.media.muted),k(Xe.buttons.mute,e),Xe.media.muted=e,0===Xe.media.volume&&ke(E.volume),s(E.types.embed,Xe.type)){switch(Xe.type){case"youtube":Xe.embed[Xe.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Xe.embed.setVolume(Xe.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Xe.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Xe.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&he()}function we(e){var t=Xe.media.muted?0:Xe.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Xe.media.muted?0:Xe.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Xe.media.muted?0:Xe.media.volume*E.volumeMax;Xe.supported.full&&(Xe.volume.input&&(Xe.volume.input.value=e),Xe.volume.display&&(Xe.volume.display.value=e)),te({volume:e}),m(Xe.container,E.classes.muted,0===e),Xe.supported.full&&Xe.buttons.mute&&k(Xe.buttons.mute,0===e)}function Se(e){Xe.supported.full&&Xe.buttons.captions&&(O.boolean(e)||(e=Xe.container.className.indexOf(E.classes.captions.active)===-1),Xe.captionsEnabled=e,k(Xe.buttons.captions,Xe.captionsEnabled),m(Xe.container,E.classes.captions.active,Xe.captionsEnabled),A(Xe.container,Xe.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Xe.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Ue.loading),Ue.loading=setTimeout(function(){m(Xe.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Xe.supported.full){var t=Xe.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Xe.controls.pressed)return;n=w(Xe.media.currentTime,r),"timeupdate"===e.type&&Xe.buttons.seek&&(Xe.buttons.seek.value=n);break;case"playing":case"progress":t=Xe.progress.buffer,n=function(){var e=Xe.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Xe.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Xe.progress||!Xe.progress.buffer)return;e=Xe.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Xe.secs=parseInt(e%60),Xe.mins=parseInt(e/60%60),Xe.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Xe.secs=("0"+Xe.secs).slice(-2),Xe.mins=("0"+Xe.mins).slice(-2),t.innerHTML=(n?Xe.hours+":":"")+Xe.mins+":"+Xe.secs}}function Ae(){if(Xe.supported.full){var e=fe()||0;!Xe.duration&&E.displayDuration&&Xe.media.paused&&Fe(e,Xe.currentTime),Xe.duration&&Fe(e,Xe.duration),Pe()}}function Ie(e){Fe(Xe.media.currentTime,Xe.currentTime),e&&"timeupdate"===e.type&&Xe.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Xe.progress&&Xe.progress.played&&(Xe.progress.played.value=n),Xe.buttons&&Xe.buttons.seek&&(Xe.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Xe.progress.container&&0!==t){var n=Xe.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Xe.progress.tooltip,a))return;r=Xe.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Xe.progress.tooltip),Xe.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Xe.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Xe.type){var n=0,r=!1,a=t,o=f(Xe.container,E.classes.loading);if(O.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=f(Xe.container,E.classes.hideControls)),e.clearTimeout(Ue.hover),a||Xe.media.paused||o){if(m(Xe.container,E.classes.hideControls,!1),Xe.media.paused||o)return;Xe.browser.isTouch&&(n=3e3)}a&&Xe.media.paused||(Ue.hover=e.setTimeout(function(){(!Xe.controls.pressed&&!Xe.controls.hover||r)&&m(Xe.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Xe.type){case"youtube":t=Xe.embed.getVideoUrl();break;case"vimeo":Xe.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Xe.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Xe.media.currentSrc}return t||""}function Le(e){function n(){if(Xe.embed=null,l(Xe.media),"video"===Xe.type&&Xe.videoContainer&&l(Xe.videoContainer),Xe.container&&Xe.container.removeAttribute("class"),"type"in e&&(Xe.type=e.type,"video"===Xe.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Xe.type=n.type)}switch(Xe.supported=F(Xe.type),Xe.type){case"video":Xe.media=t.createElement("video");break;case"audio":Xe.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Xe.media=t.createElement("div"),Xe.embedId=e.sources[0].src}u(Xe.container,Xe.media),O.boolean(e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Xe.type)&&(E.crossorigin&&Xe.media.setAttribute("crossorigin",""),E.autoplay&&Xe.media.setAttribute("autoplay",""),"poster"in e&&Xe.media.setAttribute("poster",e.poster),E.loop&&Xe.media.setAttribute("loop","")),m(Xe.container,E.classes.fullscreen.active,Xe.isFullscreen),m(Xe.container,E.classes.captions.active,Xe.captionsEnabled),K(),s(E.types.html5,Xe.type)&&J("source",e.sources),ne(),s(E.types.html5,Xe.type)&&("tracks"in e&&J("track",e.tracks),Xe.media.load()),(s(E.types.html5,Xe.type)||s(E.types.embed,Xe.type)&&!Xe.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Xe.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Xe.type&&Xe.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Xe.buttons[e?"play":"pause"],n=Xe.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Xe.buttons){var n=Xe.buttons[t];if(O.nodeList(n))for(var r=0;r0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Xe.media,"timeupdate seeking",Ie),g(Xe.media,"timeupdate",W),g(Xe.media,"durationchange loadedmetadata",Ae),g(Xe.media,"ended",function(){"video"===Xe.type&&E.showPosterOnEnd&&("video"===Xe.type&&H(),me(),Xe.media.load())}),g(Xe.media,"progress playing",Ee),g(Xe.media,"volumechange",Te),g(Xe.media,"play pause ended",ye),g(Xe.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Xe.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Xe.browser.isTouch&&!Xe.media.paused||(Xe.media.paused?le():Xe.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Xe.media,"contextmenu",function(e){e.preventDefault()}),g(Xe.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Xe.container,e.type,!0)})}function qe(){if(s(E.types.html5,Xe.type)){for(var e=Xe.media.querySelectorAll("source"),t=0;t=10&&(c=!0);break;case"soundcloud":u=!0,c=!a&&!o;break;default:u=i&&l,c=u&&!a}return{basic:u,full:c}}function A(e,n){function r(e,t){f(t,M.classes.hook)||a.push({target:e,media:t})}var a=[],s=[],o=[M.selectors.html5,M.selectors.embed].join(",");if(O.string(e)?e=t.querySelectorAll(e):O.htmlElement(e)?e=[e]:O.nodeList(e)||O.array(e)||O.string(e)||(O.undefined(n)&&O.object(e)&&(n=e),e=t.querySelectorAll(o)),O.nodeList(e)&&(e=Array.prototype.slice.call(e)),!F().basic||!e.length)return!1;for(var i=0;i= 10) {
+ full = true;
+ }
+
+ break;
+
case 'soundcloud':
basic = true;
- full = (!isOldIE && !isIos);
+ full = (!isOldIE && !isIphone);
break;
default:
- basic = (audio && video);
+ basic = (audioSupport && videoSupport);
full = (basic && !isOldIE);
}
@@ -3679,15 +3700,15 @@
// Listen for events if debugging
if (config.debug) {
var events = config.events.concat(['setup', 'statechange', 'enterfullscreen', 'exitfullscreen', 'captionsenabled', 'captionsdisabled']);
-
- _on(instance.getContainer(), events.join(' '), function(event) {
+
+ _on(instance.getContainer(), events.join(' '), function(event) {
console.log([config.logPrefix, 'event:', event.type].join(' '), event.detail.plyr);
});
}
// Callback
- _event(instance.getContainer(), 'setup', true, {
- plyr: instance
+ _event(instance.getContainer(), 'setup', true, {
+ plyr: instance
});
// Add to return array even if it's already setup
@@ -3718,7 +3739,7 @@
}
});
- return instances;
+ return instances;
}
return [];
diff --git a/src/less/plyr.less b/src/less/plyr.less
index 143e7f06..c9e3d7c3 100644
--- a/src/less/plyr.less
+++ b/src/less/plyr.less
@@ -61,14 +61,14 @@
height: (@plyr-range-thumb-height * @plyr-range-thumb-active-scale);
width: 100%;
margin: 0;
- padding: 0;
+ padding: 0;
vertical-align: middle;
-
+
appearance: none;
cursor: pointer;
border: none;
background: transparent;
-
+
// WebKit
&::-webkit-slider-runnable-track {
.plyr-range-track();
@@ -86,7 +86,7 @@
&::-moz-range-thumb {
.plyr-range-thumb();
}
-
+
// Microsoft
&::-ms-track {
height: @plyr-range-track-height;
@@ -104,7 +104,7 @@
&::-ms-thumb {
.plyr-range-thumb();
// For some reason, Edge uses the -webkit margin above
- margin-top: 0;
+ margin-top: 0;
}
&::-ms-tooltip {
display: none;
@@ -116,11 +116,11 @@
}
&::-moz-focus-outer {
border: 0;
- }
+ }
&.tab-focus:focus {
outline-offset: 3px;
}
-
+
// Pressed styles
&:active {
&::-webkit-slider-thumb {
@@ -179,9 +179,10 @@
.plyr__video-embed {
padding-bottom: 56.25%; /* 16:9 */
height: 0;
- overflow: hidden;
+ border-radius: inherit;
- // Require z-index to force border-radius
+ // Require overflow and z-index to force border-radius
+ overflow: hidden;
z-index: 0;
iframe {
@@ -192,7 +193,6 @@
height: 100%;
border: 0;
user-select: none;
- z-index: 1;
}
// Vimeo hack
@@ -265,7 +265,7 @@
// Playback controls
.plyr__controls {
display: flex;
- align-items: center;
+ align-items: center;
line-height: 1;
text-align: center;
@@ -329,7 +329,7 @@
}
}
}
-// Hide controls
+// Hide controls
.plyr--hide-controls .plyr__controls {
opacity: 0;
pointer-events: none;
@@ -341,6 +341,7 @@
left: 0;
right: 0;
bottom: 0;
+ z-index: 2;
padding: (@plyr-control-spacing * 5) @plyr-control-spacing @plyr-control-spacing;
background: linear-gradient(fade(@plyr-video-controls-bg, 0%), fade(@plyr-video-controls-bg, 50%));
border-bottom-left-radius: inherit;
@@ -476,7 +477,7 @@
height: 0;
left: 50%;
transform: translateX(-50%);
-
+
// The background triangle
bottom: -@plyr-tooltip-arrow-size;
border-right: @plyr-tooltip-arrow-size solid transparent;
@@ -624,16 +625,16 @@
}
&::-moz-progress-bar {
transition: width .2s ease;
- }
+ }
&::-ms-fill {
transition: width .2s ease;
- }
+ }
}
.plyr--video .plyr__progress--buffer,
.plyr--video .plyr__volume--display {
background: @plyr-video-range-track-bg;
}
-.plyr--video .plyr__progress--buffer {
+.plyr--video .plyr__progress--buffer {
color: @plyr-video-progress-buffered-bg;
}
.plyr--audio .plyr__progress--buffer,
@@ -740,6 +741,10 @@
height: 100%;
width: 100%;
}
+ .plyr__video-embed {
+ // Revert overflow change
+ overflow: visible;
+ }
.plyr__controls {
position: absolute;
bottom: 0;
diff --git a/src/scss/plyr.scss b/src/scss/plyr.scss
index 70518591..91a5d1b2 100644
--- a/src/scss/plyr.scss
+++ b/src/scss/plyr.scss
@@ -61,14 +61,14 @@
height: ($plyr-range-thumb-height * $plyr-range-thumb-active-scale);
width: 100%;
margin: 0;
- padding: 0;
+ padding: 0;
vertical-align: middle;
-
+
appearance: none;
cursor: pointer;
border: none;
background: transparent;
-
+
// WebKit
&::-webkit-slider-runnable-track {
@include plyr-range-track();
@@ -86,7 +86,7 @@
&::-moz-range-thumb {
@include plyr-range-thumb();
}
-
+
// Microsoft
&::-ms-track {
height: $plyr-range-track-height;
@@ -104,7 +104,7 @@
&::-ms-thumb {
@include plyr-range-thumb();
// For some reason, Edge uses the -webkit margin above
- margin-top: 0;
+ margin-top: 0;
}
&::-ms-tooltip {
display: none;
@@ -116,11 +116,11 @@
}
&::-moz-focus-outer {
border: 0;
- }
+ }
&.tab-focus:focus {
outline-offset: 3px;
}
-
+
// Pressed styles
&:active {
&::-webkit-slider-thumb {
@@ -178,10 +178,10 @@
.plyr__video-embed {
padding-bottom: 56.25%; /* 16:9 */
height: 0;
- overflow: hidden;
border-radius: inherit;
- // Require z-index to force border-radius
+ // Require overflow and z-index to force border-radius
+ overflow: hidden;
z-index: 0;
iframe {
@@ -264,7 +264,7 @@
// Playback controls
.plyr__controls {
display: flex;
- align-items: center;
+ align-items: center;
line-height: 1;
text-align: center;
@@ -328,7 +328,7 @@
}
}
}
-// Hide controls
+// Hide controls
.plyr--hide-controls .plyr__controls {
opacity: 0;
pointer-events: none;
@@ -475,7 +475,7 @@
height: 0;
left: 50%;
transform: translateX(-50%);
-
+
// The background triangle
bottom: -$plyr-tooltip-arrow-size;
border-right: $plyr-tooltip-arrow-size solid transparent;
@@ -622,16 +622,16 @@
}
&::-moz-progress-bar {
transition: width .2s ease;
- }
+ }
&::-ms-fill {
transition: width .2s ease;
- }
+ }
}
.plyr--video .plyr__progress--buffer,
.plyr--video .plyr__volume--display {
background: $plyr-video-range-track-bg;
}
-.plyr--video .plyr__progress--buffer {
+.plyr--video .plyr__progress--buffer {
color: $plyr-video-progress-buffered-bg;
}
.plyr--audio .plyr__progress--buffer,
@@ -738,6 +738,10 @@
height: 100%;
width: 100%;
}
+ .plyr__video-embed {
+ // Revert overflow change
+ overflow: visible;
+ }
.plyr__controls {
position: absolute;
bottom: 0;
--
cgit v1.2.3
From a9bb8afca425188216c3eed667b4bc85bbb5ee91 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sun, 27 Nov 2016 20:18:30 +1100
Subject: v2.0.11
---
changelog.md | 26 +++++++++++++++-----------
dist/plyr.js | 4 ++--
package.json | 2 +-
readme.md | 6 +++---
src/js/plyr.js | 4 ++--
5 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/changelog.md b/changelog.md
index 0be6dc90..ef9552d7 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
# Changelog
+## v2.0.11
+- Fix for `cleanUp` being called twice (thanks to @sebastiancarlsson)
+- Fix for YouTube controls on iPad (fixes #391)
+
## v2.0.10
- Added seek event fixes for Vimeo and YouTube (fixes #409)
- Added support for embed URLs rather than ID only (fixes #345)
@@ -21,10 +25,10 @@
## v2.0.6
- Fixed merge issue with `Updated define to work with AMD imports #326` PR
-- Code formatting
+- Code formatting
## v2.0.5
-- Fix for Vimeo in IE9 & IE10
+- Fix for Vimeo in IE9 & IE10
- Fix for HTML5 elements not firing `ready` event
## v2.0.4
@@ -44,8 +48,8 @@ This version contains several potential ***breaking changes***:
- `setup()` has been reverted to pre v1.8.0 behaviour; meaning it will return the *instance* rather than the *element*. This is because the reference to the instance is no longer added to the original element (see below).
- The reference to the `plyr` instance is now added to the media element rather than original container. This is because if a container with multiple children was passed to `setup()` the references to all instances would have been added to the container, creating issues. I would recommend using the return value from `setup()` or the new `get()` method to access the instance.
-- Players will always be wrapped in their own div now - this makes `setup()` and `destroy()` cleaner. This *may* break any custom styling based on DOM position.
-- Players no longer seek to 0 on 'ended' - this is to fix a bug with Microsoft Edge as it triggers 'ended' on media change for whatever reason. They'll never change ;-)
+- Players will always be wrapped in their own div now - this makes `setup()` and `destroy()` cleaner. This *may* break any custom styling based on DOM position.
+- Players no longer seek to 0 on 'ended' - this is to fix a bug with Microsoft Edge as it triggers 'ended' on media change for whatever reason. They'll never change ;-)
And some other changes and bug fixes:
@@ -75,7 +79,7 @@ And some other changes and bug fixes:
## v1.8.11
- Fix for keyboard navigation on Vimeo (Fixes #317)
-- Fix for bug introduced in v1.8.9 related to additional controls
+- 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)
@@ -115,20 +119,20 @@ And some other changes and bug fixes:
- Improvements for controls hiding and showing on touch devices
## v1.8.2
-- Fixed event bubbling
+- Fixed event bubbling
## v1.8.1
- Fixed inaccurate log message
# v1.8.0
- ***(Important)*** `setup()` now returns the element Plyr was setup on rather than the `plyr` object. This means `var player = plyr.setup()[0];` would now be `var player = plyr.setup()[0].plyr;`. This improves support for React and other virtual dom frameworks as mentioned in #254
-- Fixed using a relative URL for `iconUrl` in IE (fixes #269)
+- Fixed using a relative URL for `iconUrl` in IE (fixes #269)
# v1.7.0
- SASS cleanup (fixes #265)
- Docs tidy up to help quick start (fixes #253)
- Fix for issues with data attribute options passing (fixes #257)
-- ***(Important)*** Removed the requirement for a wrapper div to setup Plyr and removed the dependency on the `plyr` classname as a JS hook. By default it will now look for ``, `` and `[data-type]` elements. If you are just calling `setup()` with a `` you may want to give it a good test after upgrading. You can probably remove the wrapper div. The reason behind this is to make setup easier for newcomers and prevent the styling being used on unsupported players (because the plyr classname was used as a CSS and JS hook - which isn't ideal)
+- ***(Important)*** Removed the requirement for a wrapper div to setup Plyr and removed the dependency on the `plyr` classname as a JS hook. By default it will now look for `
`, `` and `[data-type]` elements. If you are just calling `setup()` with a `` you may want to give it a good test after upgrading. You can probably remove the wrapper div. The reason behind this is to make setup easier for newcomers and prevent the styling being used on unsupported players (because the plyr classname was used as a CSS and JS hook - which isn't ideal)
- Renamed the 'docs' folder to `demo` to avoid confusion - the readme is the docs after all
## v1.6.20
@@ -158,7 +162,7 @@ And some other changes and bug fixes:
- Decreased sensitivity and inverted scroll on volume slider (scroll up to increase, down to decrease)
## v1.6.12
-- Fix for undefined buffer error
+- Fix for undefined buffer error
- Add scroll listener on volume slider (PR #227 bty @igoradamenko)
## v1.6.11
@@ -200,13 +204,13 @@ And some other changes and bug fixes:
- Other minor bug fixes
## v1.6.1
-- Tooltip changes for accessibility
+- Tooltip changes for accessibility
## v1.6.0
- New, cleaner, UI:
- Controls are now overlaid, maintaining the video's ratio and making sizing easier
- A large play button can now be overlaid over videos
- - Default number of control buttons reduced
+ - Default number of control buttons reduced
- New play, pause, rewind and fast forward icons
- Flexbox all the things!
- Tidied up the LESS (and SCSS) as part of the above, variables and mixins in seprate files amking customization and upgrades easier
diff --git a/dist/plyr.js b/dist/plyr.js
index 706bbe3c..91383979 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([],function(){return 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 navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,s="IE",o="11"):(n=a.indexOf("MSIE"))!==-1?(l=!0,s="IE",o=a.substring(n+5)):(n=a.indexOf("Chrome"))!==-1?(c=!0,s="Chrome",o=a.substring(n+7)):(n=a.indexOf("Safari"))!==-1?(d=!0,s="Safari",o=a.substring(n+7),(n=a.indexOf("Version"))!==-1&&(o=a.substring(n+8))):(n=a.indexOf("Firefox"))!==-1?(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)),(r=o.indexOf(";"))!==-1&&(o=o.substring(0,r)),(r=o.indexOf(" "))!==-1&&(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),isIphone:/(iPhone|iPod)/g.test(navigator.userAgent),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&&e.indexOf(t)!==-1}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){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(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 f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O.boolean(a)||(a=!1),e instanceof NodeList)for(var o=0;o
',' ',''+E.i18n.play+" ",""),e.push(''),s(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),s(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),s(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),s(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),s(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),s(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),s(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),s(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),s(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),s(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),s(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function q(){if(Xe.supported.full&&("audio"!==Xe.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!U()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Xe.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Xe.buttons&&Xe.buttons.fullscreen&&k(Xe.buttons.fullscreen,!1),$()}}function D(){if("video"===Xe.type){X(E.selectors.captions)||Xe.videoContainer.insertAdjacentHTML("afterbegin",'
'),Xe.usingTextTracks=!1,Xe.media.textTracks&&(Xe.usingTextTracks=!0);for(var e,t="",n=Xe.media.childNodes,r=0;r=10||Xe.browser.isFirefox&&Xe.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Xe.usingTextTracks=!1),Xe.usingTextTracks){Je("TextTracks supported");for(var o=0;o ");for(var r=0;rXe.captions.length-1){Xe.subcount=Xe.captions.length-1;break}Xe.media.currentTime.toFixed(1)>=n(Xe.captions[Xe.subcount][0])&&Xe.media.currentTime.toFixed(1)<=r(Xe.captions[Xe.subcount][0])?(Xe.currentCaption=Xe.captions[Xe.subcount][1],H(Xe.currentCaption)):H()}}function Y(){if(Xe.buttons.captions){m(Xe.container,E.classes.captions.enabled,!0);var e=Xe.storage.captionsEnabled;O.boolean(e)||(e=E.captions.defaultActive),e&&(m(Xe.container,E.classes.captions.active,!0),k(Xe.buttons.captions,!0))}}function B(e){return Xe.container.querySelectorAll(e)}function X(e){return B(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function $(){function e(e){9===e.which&&Xe.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Xe.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Xe.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Xe.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Xe.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Xe.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=B([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Xe.controls=X(E.selectors.controls.wrapper),Xe.buttons={},Xe.buttons.seek=X(E.selectors.buttons.seek),Xe.buttons.play=B(E.selectors.buttons.play),Xe.buttons.pause=X(E.selectors.buttons.pause),Xe.buttons.restart=X(E.selectors.buttons.restart),Xe.buttons.rewind=X(E.selectors.buttons.rewind),Xe.buttons.forward=X(E.selectors.buttons.forward),Xe.buttons.fullscreen=X(E.selectors.buttons.fullscreen),Xe.buttons.mute=X(E.selectors.buttons.mute),Xe.buttons.captions=X(E.selectors.buttons.captions),Xe.progress={},Xe.progress.container=X(E.selectors.progress.container),Xe.progress.buffer={},Xe.progress.buffer.bar=X(E.selectors.progress.buffer),Xe.progress.buffer.text=Xe.progress.buffer.bar&&Xe.progress.buffer.bar.getElementsByTagName("span")[0],Xe.progress.played=X(E.selectors.progress.played),Xe.progress.tooltip=Xe.progress.container&&Xe.progress.container.querySelector("."+E.classes.tooltip),Xe.volume={},Xe.volume.input=X(E.selectors.volume.input),Xe.volume.display=X(E.selectors.volume.display),Xe.duration=X(E.selectors.duration),Xe.currentTime=X(E.selectors.currentTime),Xe.seekTime=B(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Xe.container,E.selectors.container.replace(".",""),Xe.supported.full)}function Q(e){e&&s(E.types.html5,Xe.type)?Xe.media.setAttribute("controls",""):Xe.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Xe.container.setAttribute("aria-label",E.title)),Xe.supported.full&&Xe.buttons.play)for(var n=Xe.buttons.play.length-1;n>=0;n--)Xe.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Xe.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Xe.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Xe.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Xe.storage)))}function ne(){if(!Xe.media)return void ze("No media element found!");if(Xe.supported.full&&(m(Xe.container,E.classes.type.replace("{0}",Xe.type),!0),s(E.types.embed,Xe.type)&&m(Xe.container,E.classes.type.replace("{0}","video"),!0),m(Xe.container,E.classes.stopped,E.autoplay),m(Xe.ontainer,E.classes.isIos,Xe.browser.isIos),m(Xe.container,E.classes.isTouch,Xe.browser.isTouch),"video"===Xe.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Xe.media,e),Xe.videoContainer=e}s(E.types.embed,Xe.type)&&re()}function re(){var n,r=t.createElement("div"),s=Xe.type+"-"+Math.floor(1e4*Math.random());switch(Xe.type){case"youtube":n=T(Xe.embedId);break;case"vimeo":n=S(Xe.embedId);break;default:n=Xe.embedId}for(var o=B('[id^="'+Xe.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Xe.media,E.classes.videoWrapper,!0),m(Xe.media,E.classes.embedWrapper,!0),"youtube"===Xe.type)Xe.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Xe.type)if(Xe.supported.full?Xe.media.appendChild(r):r=Xe.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Xe.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Xe.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Xe.supported.full&&(We(),Ye()),Z(X("iframe"))}function se(t,n){Xe.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Xe.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Xe.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Xe.media.play=function(){n.playVideo(),Xe.media.paused=!1},Xe.media.pause=function(){n.pauseVideo(),Xe.media.paused=!0},Xe.media.stop=function(){n.stopVideo(),Xe.media.paused=!0},Xe.media.duration=n.getDuration(),Xe.media.paused=!0,Xe.media.currentTime=0,Xe.media.muted=n.isMuted(),E.title=n.getVideoData().title,Xe.supported.full&&Xe.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Xe.media,"timeupdate"),A(Xe.media,"durationchange"),e.clearInterval(Ue.buffering),Ue.buffering=e.setInterval(function(){Xe.media.buffered=n.getVideoLoadedFraction(),(null===Xe.media.lastBuffered||Xe.media.lastBufferedr&&(t=r),Ne(t);try{Xe.media.currentTime=t.toFixed(4)}catch(e){}if(s(E.types.embed,Xe.type)){switch(Xe.type){case"youtube":Xe.embed.seekTo(t);break;case"vimeo":Xe.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Xe.embed.seekTo(1e3*t)}n&&ue(),A(Xe.media,"timeupdate"),Xe.media.seeking=!0,A(Xe.media,"seeking")}Je("Seeking to "+Xe.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Xe.media.duration||isNaN(Xe.media.duration)||(t=Xe.media.duration),isNaN(e)?t:e}function ye(){m(Xe.container,E.classes.playing,!Xe.media.paused),m(Xe.container,E.classes.stopped,Xe.media.paused),Me(Xe.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Xe.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Xe.container)),void(Xe.isFullscreen=N.isFullScreen(Xe.container));Xe.isFullscreen=N.isFullScreen(Xe.container)}else Xe.isFullscreen=!Xe.isFullscreen,t.body.style.overflow=Xe.isFullscreen?"hidden":"";m(Xe.container,E.classes.fullscreen.active,Xe.isFullscreen),$(Xe.isFullscreen),Xe.buttons&&Xe.buttons.fullscreen&&k(Xe.buttons.fullscreen,Xe.isFullscreen),A(Xe.container,Xe.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Xe.isFullscreen&&n&&ve()}function he(e){if(O.boolean(e)||(e=!Xe.media.muted),k(Xe.buttons.mute,e),Xe.media.muted=e,0===Xe.media.volume&&ke(E.volume),s(E.types.embed,Xe.type)){switch(Xe.type){case"youtube":Xe.embed[Xe.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Xe.embed.setVolume(Xe.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Xe.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Xe.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&he()}function we(e){var t=Xe.media.muted?0:Xe.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Xe.media.muted?0:Xe.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Xe.media.muted?0:Xe.media.volume*E.volumeMax;Xe.supported.full&&(Xe.volume.input&&(Xe.volume.input.value=e),Xe.volume.display&&(Xe.volume.display.value=e)),te({volume:e}),m(Xe.container,E.classes.muted,0===e),Xe.supported.full&&Xe.buttons.mute&&k(Xe.buttons.mute,0===e)}function Se(e){Xe.supported.full&&Xe.buttons.captions&&(O.boolean(e)||(e=Xe.container.className.indexOf(E.classes.captions.active)===-1),Xe.captionsEnabled=e,k(Xe.buttons.captions,Xe.captionsEnabled),m(Xe.container,E.classes.captions.active,Xe.captionsEnabled),A(Xe.container,Xe.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Xe.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Ue.loading),Ue.loading=setTimeout(function(){m(Xe.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Xe.supported.full){var t=Xe.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Xe.controls.pressed)return;n=w(Xe.media.currentTime,r),"timeupdate"===e.type&&Xe.buttons.seek&&(Xe.buttons.seek.value=n);break;case"playing":case"progress":t=Xe.progress.buffer,n=function(){var e=Xe.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Xe.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Xe.progress||!Xe.progress.buffer)return;e=Xe.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Xe.secs=parseInt(e%60),Xe.mins=parseInt(e/60%60),Xe.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Xe.secs=("0"+Xe.secs).slice(-2),Xe.mins=("0"+Xe.mins).slice(-2),t.innerHTML=(n?Xe.hours+":":"")+Xe.mins+":"+Xe.secs}}function Ae(){if(Xe.supported.full){var e=fe()||0;!Xe.duration&&E.displayDuration&&Xe.media.paused&&Fe(e,Xe.currentTime),Xe.duration&&Fe(e,Xe.duration),Pe()}}function Ie(e){Fe(Xe.media.currentTime,Xe.currentTime),e&&"timeupdate"===e.type&&Xe.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Xe.progress&&Xe.progress.played&&(Xe.progress.played.value=n),Xe.buttons&&Xe.buttons.seek&&(Xe.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Xe.progress.container&&0!==t){var n=Xe.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Xe.progress.tooltip,a))return;r=Xe.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Xe.progress.tooltip),Xe.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Xe.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Xe.type){var n=0,r=!1,a=t,o=f(Xe.container,E.classes.loading);if(O.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=f(Xe.container,E.classes.hideControls)),e.clearTimeout(Ue.hover),a||Xe.media.paused||o){if(m(Xe.container,E.classes.hideControls,!1),Xe.media.paused||o)return;Xe.browser.isTouch&&(n=3e3)}a&&Xe.media.paused||(Ue.hover=e.setTimeout(function(){(!Xe.controls.pressed&&!Xe.controls.hover||r)&&m(Xe.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Xe.type){case"youtube":t=Xe.embed.getVideoUrl();break;case"vimeo":Xe.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Xe.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Xe.media.currentSrc}return t||""}function Le(e){function n(){if(Xe.embed=null,l(Xe.media),"video"===Xe.type&&Xe.videoContainer&&l(Xe.videoContainer),Xe.container&&Xe.container.removeAttribute("class"),"type"in e&&(Xe.type=e.type,"video"===Xe.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Xe.type=n.type)}switch(Xe.supported=F(Xe.type),Xe.type){case"video":Xe.media=t.createElement("video");break;case"audio":Xe.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Xe.media=t.createElement("div"),Xe.embedId=e.sources[0].src}u(Xe.container,Xe.media),O.boolean(e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Xe.type)&&(E.crossorigin&&Xe.media.setAttribute("crossorigin",""),E.autoplay&&Xe.media.setAttribute("autoplay",""),"poster"in e&&Xe.media.setAttribute("poster",e.poster),E.loop&&Xe.media.setAttribute("loop","")),m(Xe.container,E.classes.fullscreen.active,Xe.isFullscreen),m(Xe.container,E.classes.captions.active,Xe.captionsEnabled),K(),s(E.types.html5,Xe.type)&&J("source",e.sources),ne(),s(E.types.html5,Xe.type)&&("tracks"in e&&J("track",e.tracks),Xe.media.load()),(s(E.types.html5,Xe.type)||s(E.types.embed,Xe.type)&&!Xe.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Xe.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Xe.type&&Xe.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Xe.buttons[e?"play":"pause"],n=Xe.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Xe.buttons){var n=Xe.buttons[t];if(O.nodeList(n))for(var r=0;r0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Xe.media,"timeupdate seeking",Ie),g(Xe.media,"timeupdate",W),g(Xe.media,"durationchange loadedmetadata",Ae),g(Xe.media,"ended",function(){"video"===Xe.type&&E.showPosterOnEnd&&("video"===Xe.type&&H(),me(),Xe.media.load())}),g(Xe.media,"progress playing",Ee),g(Xe.media,"volumechange",Te),g(Xe.media,"play pause ended",ye),g(Xe.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Xe.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Xe.browser.isTouch&&!Xe.media.paused||(Xe.media.paused?le():Xe.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Xe.media,"contextmenu",function(e){e.preventDefault()}),g(Xe.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Xe.container,e.type,!0)})}function qe(){if(s(E.types.html5,Xe.type)){for(var e=Xe.media.querySelectorAll("source"),t=0;t=10&&(c=!0);break;case"soundcloud":u=!0,c=!a&&!o;break;default:u=i&&l,c=u&&!a}return{basic:u,full:c}}function A(e,n){function r(e,t){f(t,M.classes.hook)||a.push({target:e,media:t})}var a=[],s=[],o=[M.selectors.html5,M.selectors.embed].join(",");if(O.string(e)?e=t.querySelectorAll(e):O.htmlElement(e)?e=[e]:O.nodeList(e)||O.array(e)||O.string(e)||(O.undefined(n)&&O.object(e)&&(n=e),e=t.querySelectorAll(o)),O.nodeList(e)&&(e=Array.prototype.slice.call(e)),!F().basic||!e.length)return!1;for(var i=0;i=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){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(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 f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O.boolean(a)||(a=!1),e instanceof NodeList)for(var o=0;o',' ',''+E.i18n.play+" ",""),e.push(''),s(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),s(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),s(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),s(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),s(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),s(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),s(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),s(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),s(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),s(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),s(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function q(){if(Ue.supported.full&&("audio"!==Ue.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!X()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Ue.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Ue.buttons&&Ue.buttons.fullscreen&&k(Ue.buttons.fullscreen,!1),$()}}function D(){if("video"===Ue.type){U(E.selectors.captions)||Ue.videoContainer.insertAdjacentHTML("afterbegin",'
'),Ue.usingTextTracks=!1,Ue.media.textTracks&&(Ue.usingTextTracks=!0);for(var e,t="",n=Ue.media.childNodes,r=0;r=10||Ue.browser.isFirefox&&Ue.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Ue.usingTextTracks=!1),Ue.usingTextTracks){Je("TextTracks supported");for(var o=0;o ");for(var r=0;rUe.captions.length-1){Ue.subcount=Ue.captions.length-1;break}Ue.media.currentTime.toFixed(1)>=n(Ue.captions[Ue.subcount][0])&&Ue.media.currentTime.toFixed(1)<=r(Ue.captions[Ue.subcount][0])?(Ue.currentCaption=Ue.captions[Ue.subcount][1],H(Ue.currentCaption)):H()}}function Y(){if(Ue.buttons.captions){m(Ue.container,E.classes.captions.enabled,!0);var e=Ue.storage.captionsEnabled;O.boolean(e)||(e=E.captions.defaultActive),e&&(m(Ue.container,E.classes.captions.active,!0),k(Ue.buttons.captions,!0))}}function B(e){return Ue.container.querySelectorAll(e)}function U(e){return B(e)[0]}function X(){try{return e.self!==e.top}catch(e){return!0}}function $(){function e(e){9===e.which&&Ue.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Ue.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Ue.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Ue.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Ue.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Ue.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=B([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Ue.controls=U(E.selectors.controls.wrapper),Ue.buttons={},Ue.buttons.seek=U(E.selectors.buttons.seek),Ue.buttons.play=B(E.selectors.buttons.play),Ue.buttons.pause=U(E.selectors.buttons.pause),Ue.buttons.restart=U(E.selectors.buttons.restart),Ue.buttons.rewind=U(E.selectors.buttons.rewind),Ue.buttons.forward=U(E.selectors.buttons.forward),Ue.buttons.fullscreen=U(E.selectors.buttons.fullscreen),Ue.buttons.mute=U(E.selectors.buttons.mute),Ue.buttons.captions=U(E.selectors.buttons.captions),Ue.progress={},Ue.progress.container=U(E.selectors.progress.container),Ue.progress.buffer={},Ue.progress.buffer.bar=U(E.selectors.progress.buffer),Ue.progress.buffer.text=Ue.progress.buffer.bar&&Ue.progress.buffer.bar.getElementsByTagName("span")[0],Ue.progress.played=U(E.selectors.progress.played),Ue.progress.tooltip=Ue.progress.container&&Ue.progress.container.querySelector("."+E.classes.tooltip),Ue.volume={},Ue.volume.input=U(E.selectors.volume.input),Ue.volume.display=U(E.selectors.volume.display),Ue.duration=U(E.selectors.duration),Ue.currentTime=U(E.selectors.currentTime),Ue.seekTime=B(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Ue.container,E.selectors.container.replace(".",""),Ue.supported.full)}function Q(e){e&&s(E.types.html5,Ue.type)?Ue.media.setAttribute("controls",""):Ue.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Ue.container.setAttribute("aria-label",E.title)),Ue.supported.full&&Ue.buttons.play)for(var n=Ue.buttons.play.length-1;n>=0;n--)Ue.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Ue.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Ue.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Ue.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Ue.storage)))}function ne(){if(!Ue.media)return void ze("No media element found!");if(Ue.supported.full&&(m(Ue.container,E.classes.type.replace("{0}",Ue.type),!0),s(E.types.embed,Ue.type)&&m(Ue.container,E.classes.type.replace("{0}","video"),!0),m(Ue.container,E.classes.stopped,E.autoplay),m(Ue.ontainer,E.classes.isIos,Ue.browser.isIos),m(Ue.container,E.classes.isTouch,Ue.browser.isTouch),"video"===Ue.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Ue.media,e),Ue.videoContainer=e}s(E.types.embed,Ue.type)&&re()}function re(){var n,r=t.createElement("div"),s=Ue.type+"-"+Math.floor(1e4*Math.random());switch(Ue.type){case"youtube":n=T(Ue.embedId);break;case"vimeo":n=S(Ue.embedId);break;default:n=Ue.embedId}for(var o=B('[id^="'+Ue.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Ue.media,E.classes.videoWrapper,!0),m(Ue.media,E.classes.embedWrapper,!0),"youtube"===Ue.type)Ue.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ue.type)if(Ue.supported.full?Ue.media.appendChild(r):r=Ue.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Ue.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Ue.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Ue.supported.full&&(We(),Ye()),Z(U("iframe"))}function se(t,n){Ue.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Ue.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Ue.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ue.media.play=function(){n.playVideo(),Ue.media.paused=!1},Ue.media.pause=function(){n.pauseVideo(),Ue.media.paused=!0},Ue.media.stop=function(){n.stopVideo(),Ue.media.paused=!0},Ue.media.duration=n.getDuration(),Ue.media.paused=!0,Ue.media.currentTime=0,Ue.media.muted=n.isMuted(),E.title=n.getVideoData().title,Ue.supported.full&&Ue.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Ue.media,"timeupdate"),A(Ue.media,"durationchange"),e.clearInterval(Xe.buffering),Xe.buffering=e.setInterval(function(){Ue.media.buffered=n.getVideoLoadedFraction(),(null===Ue.media.lastBuffered||Ue.media.lastBufferedr&&(t=r),Ne(t);try{Ue.media.currentTime=t.toFixed(4)}catch(e){}if(s(E.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed.seekTo(t);break;case"vimeo":Ue.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ue.embed.seekTo(1e3*t)}n&&ue(),A(Ue.media,"timeupdate"),Ue.media.seeking=!0,A(Ue.media,"seeking")}Je("Seeking to "+Ue.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Ue.media.duration||isNaN(Ue.media.duration)||(t=Ue.media.duration),isNaN(e)?t:e}function ye(){m(Ue.container,E.classes.playing,!Ue.media.paused),m(Ue.container,E.classes.stopped,Ue.media.paused),Me(Ue.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Ue.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Ue.container)),void(Ue.isFullscreen=N.isFullScreen(Ue.container));Ue.isFullscreen=N.isFullScreen(Ue.container)}else Ue.isFullscreen=!Ue.isFullscreen,t.body.style.overflow=Ue.isFullscreen?"hidden":"";m(Ue.container,E.classes.fullscreen.active,Ue.isFullscreen),$(Ue.isFullscreen),Ue.buttons&&Ue.buttons.fullscreen&&k(Ue.buttons.fullscreen,Ue.isFullscreen),A(Ue.container,Ue.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ue.isFullscreen&&n&&ve()}function he(e){if(O.boolean(e)||(e=!Ue.media.muted),k(Ue.buttons.mute,e),Ue.media.muted=e,0===Ue.media.volume&&ke(E.volume),s(E.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed[Ue.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ue.embed.setVolume(Ue.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Ue.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Ue.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&he()}function we(e){var t=Ue.media.muted?0:Ue.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Ue.media.muted?0:Ue.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Ue.media.muted?0:Ue.media.volume*E.volumeMax;Ue.supported.full&&(Ue.volume.input&&(Ue.volume.input.value=e),Ue.volume.display&&(Ue.volume.display.value=e)),te({volume:e}),m(Ue.container,E.classes.muted,0===e),Ue.supported.full&&Ue.buttons.mute&&k(Ue.buttons.mute,0===e)}function Se(e){Ue.supported.full&&Ue.buttons.captions&&(O.boolean(e)||(e=Ue.container.className.indexOf(E.classes.captions.active)===-1),Ue.captionsEnabled=e,k(Ue.buttons.captions,Ue.captionsEnabled),m(Ue.container,E.classes.captions.active,Ue.captionsEnabled),A(Ue.container,Ue.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Ue.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Xe.loading),Xe.loading=setTimeout(function(){m(Ue.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Ue.supported.full){var t=Ue.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ue.controls.pressed)return;n=w(Ue.media.currentTime,r),"timeupdate"===e.type&&Ue.buttons.seek&&(Ue.buttons.seek.value=n);break;case"playing":case"progress":t=Ue.progress.buffer,n=function(){var e=Ue.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Ue.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Ue.progress||!Ue.progress.buffer)return;e=Ue.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Ue.secs=parseInt(e%60),Ue.mins=parseInt(e/60%60),Ue.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Ue.secs=("0"+Ue.secs).slice(-2),Ue.mins=("0"+Ue.mins).slice(-2),t.innerHTML=(n?Ue.hours+":":"")+Ue.mins+":"+Ue.secs}}function Ae(){if(Ue.supported.full){var e=fe()||0;!Ue.duration&&E.displayDuration&&Ue.media.paused&&Fe(e,Ue.currentTime),Ue.duration&&Fe(e,Ue.duration),Pe()}}function Ie(e){Fe(Ue.media.currentTime,Ue.currentTime),e&&"timeupdate"===e.type&&Ue.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Ue.progress&&Ue.progress.played&&(Ue.progress.played.value=n),Ue.buttons&&Ue.buttons.seek&&(Ue.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Ue.progress.container&&0!==t){var n=Ue.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Ue.progress.tooltip,a))return;r=Ue.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Ue.progress.tooltip),Ue.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Ue.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Ue.type){var n=0,r=!1,a=t,o=f(Ue.container,E.classes.loading);if(O.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=f(Ue.container,E.classes.hideControls)),e.clearTimeout(Xe.hover),a||Ue.media.paused||o){if(m(Ue.container,E.classes.hideControls,!1),Ue.media.paused||o)return;Ue.browser.isTouch&&(n=3e3)}a&&Ue.media.paused||(Xe.hover=e.setTimeout(function(){(!Ue.controls.pressed&&!Ue.controls.hover||r)&&m(Ue.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Ue.type){case"youtube":t=Ue.embed.getVideoUrl();break;case"vimeo":Ue.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ue.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ue.media.currentSrc}return t||""}function Le(e){function n(){if(Ue.embed=null,l(Ue.media),"video"===Ue.type&&Ue.videoContainer&&l(Ue.videoContainer),Ue.container&&Ue.container.removeAttribute("class"),"type"in e&&(Ue.type=e.type,"video"===Ue.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Ue.type=n.type)}switch(Ue.supported=F(Ue.type),Ue.type){case"video":Ue.media=t.createElement("video");break;case"audio":Ue.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ue.media=t.createElement("div"),Ue.embedId=e.sources[0].src}u(Ue.container,Ue.media),O.boolean(e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Ue.type)&&(E.crossorigin&&Ue.media.setAttribute("crossorigin",""),E.autoplay&&Ue.media.setAttribute("autoplay",""),"poster"in e&&Ue.media.setAttribute("poster",e.poster),E.loop&&Ue.media.setAttribute("loop","")),m(Ue.container,E.classes.fullscreen.active,Ue.isFullscreen),m(Ue.container,E.classes.captions.active,Ue.captionsEnabled),K(),s(E.types.html5,Ue.type)&&J("source",e.sources),ne(),s(E.types.html5,Ue.type)&&("tracks"in e&&J("track",e.tracks),Ue.media.load()),(s(E.types.html5,Ue.type)||s(E.types.embed,Ue.type)&&!Ue.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Ue.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Ue.type&&Ue.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Ue.buttons[e?"play":"pause"],n=Ue.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Ue.buttons){var n=Ue.buttons[t];if(O.nodeList(n))for(var r=0;r0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Ue.media,"timeupdate seeking",Ie),g(Ue.media,"timeupdate",W),g(Ue.media,"durationchange loadedmetadata",Ae),g(Ue.media,"ended",function(){"video"===Ue.type&&E.showPosterOnEnd&&("video"===Ue.type&&H(),me(),Ue.media.load())}),g(Ue.media,"progress playing",Ee),g(Ue.media,"volumechange",Te),g(Ue.media,"play pause ended",ye),g(Ue.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Ue.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Ue.browser.isTouch&&!Ue.media.paused||(Ue.media.paused?le():Ue.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Ue.media,"contextmenu",function(e){e.preventDefault()}),g(Ue.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Ue.container,e.type,!0)})}function qe(){if(s(E.types.html5,Ue.type)){for(var e=Ue.media.querySelectorAll("source"),t=0;t=10&&(c=!0);break;case"soundcloud":u=!0,c=!a&&!o;break;default:u=i&&l,c=u&&!a}return{basic:u,full:c}}function A(e,n){function r(e,t){f(t,M.classes.hook)||a.push({target:e,media:t})}var a=[],s=[],o=[M.selectors.html5,M.selectors.embed].join(",");if(O.string(e)?e=t.querySelectorAll(e):O.htmlElement(e)?e=[e]:O.nodeList(e)||O.array(e)||O.string(e)||(O.undefined(n)&&O.object(e)&&(n=e),e=t.querySelectorAll(o)),O.nodeList(e)&&(e=Array.prototype.slice.call(e)),!F().basic||!e.length)return!1;for(var i=0;i` tag and then call `ply
If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for the JavaScript, you can use the following:
```html
-
+
```
### CSS
@@ -148,11 +148,11 @@ Include the `plyr.css` stylsheet into your ``
If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for the default CSS, you can use the following:
```html
-
+
```
### SVG Sprite
-The SVG sprite is loaded automatically from our CDN (provided by [Fastly](https://www.fastly.com/)). To change this, see the [options](#Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.10/plyr.svg`.
+The SVG sprite is loaded automatically from our CDN (provided by [Fastly](https://www.fastly.com/)). To change this, see the [options](#Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.11/plyr.svg`.
## Advanced
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 8a486d93..f1a0b192 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -1,6 +1,6 @@
// ==========================================================================
// Plyr
-// plyr.js v2.0.10
+// plyr.js v2.0.11
// https://github.com/selz/plyr
// License: The MIT License (MIT)
// ==========================================================================
@@ -43,7 +43,7 @@
displayDuration: true,
loadSprite: true,
iconPrefix: 'plyr',
- iconUrl: 'https://cdn.plyr.io/2.0.10/plyr.svg',
+ iconUrl: 'https://cdn.plyr.io/2.0.11/plyr.svg',
clickToPlay: true,
hideControls: true,
showPosterOnEnd: false,
--
cgit v1.2.3
From a1d5bccac23668e2c380982d5fe182138fb1edc4 Mon Sep 17 00:00:00 2001
From: Morten Vestergaard Hansen
Date: Wed, 30 Nov 2016 08:54:24 +0100
Subject: Fixed typo
---
src/js/plyr.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/js/plyr.js b/src/js/plyr.js
index f1a0b192..1119700c 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -1490,7 +1490,7 @@
_toggleClass(plyr.container, config.classes.stopped, config.autoplay);
// Add iOS class
- _toggleClass(plyr.ontainer, config.classes.isIos, plyr.browser.isIos);
+ _toggleClass(plyr.container, config.classes.isIos, plyr.browser.isIos);
// Add touch class
_toggleClass(plyr.container, config.classes.isTouch, plyr.browser.isTouch);
--
cgit v1.2.3
From 96ae866baa3afbe0366f4037ac8f2afee864f8ab Mon Sep 17 00:00:00 2001
From: Jason Ronallo
Date: Mon, 26 Dec 2016 17:06:59 -0500
Subject: allow for setting additional listener for captions
---
src/js/plyr.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/js/plyr.js b/src/js/plyr.js
index f1a0b192..fb75c9a7 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -3065,7 +3065,7 @@
}
// Captions
- _on(plyr.buttons.captions, 'click', _toggleCaptions);
+ _proxyListener(plyr.buttons.captions, 'click', config.listeners.captions, _toggleCaptions);
// Seek tooltip
_on(plyr.progress.container, 'mouseenter mouseleave mousemove', _updateSeekTooltip);
--
cgit v1.2.3
From f6612fa78c3012afa64c4aea980c5c83d49601c6 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Tue, 10 Jan 2017 09:45:41 +1100
Subject: Update issue_template.md
---
.github/issue_template.md | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/.github/issue_template.md b/.github/issue_template.md
index f1ee5cd0..0ff465f7 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -1,3 +1,7 @@
+
+
- [ ] Issue does not already exist
- [ ] Issue observed on https://plyr.io
@@ -12,7 +16,13 @@
- Operating System:
- Version:
+Players effected:
+- [ ] HTML5 Video
+- [ ] HTML5 Audio
+- [ ] YouTube
+- [ ] Vimeo
+
### Steps to reproduce
-
-### Relevant links
\ No newline at end of file
+### Relevant links
--
cgit v1.2.3
From 4232aa9ea4b5fbce11822f5e474ec5d3a111da3c Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Tue, 10 Jan 2017 09:47:46 +1100
Subject: Update issue_template.md
---
.github/issue_template.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/issue_template.md b/.github/issue_template.md
index 0ff465f7..8e3b85b7 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -16,7 +16,7 @@ Please use this issue template as it makes replicating and fixing the issue easi
- Operating System:
- Version:
-Players effected:
+Players affected:
- [ ] HTML5 Video
- [ ] HTML5 Audio
- [ ] YouTube
--
cgit v1.2.3
From c843ed3460c91567d35033041f3ee1da69b617b1 Mon Sep 17 00:00:00 2001
From: Robert Stark
Date: Tue, 10 Jan 2017 11:50:26 +0800
Subject: Update index.html
Just missing the closing
---
demo/index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/demo/index.html b/demo/index.html
index ed9faf65..4482ed7d 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -66,8 +66,8 @@
--
cgit v1.2.3
From 871e19ed92a20d2f61b2dc380b1cbbc5e4edb7f5 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Thu, 9 Feb 2017 23:37:29 +1100
Subject: Update readme.md
---
readme.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/readme.md b/readme.md
index e7364517..2d56d135 100644
--- a/readme.md
+++ b/readme.md
@@ -1,6 +1,8 @@
# Plyr
A simple, accessible and customizable HTML5, YouTube and Vimeo media player.
+[Donate to support Plyr](#donate)
+
[Checkout the demo](https://plyr.io)
[](https://plyr.io)
@@ -1033,6 +1035,10 @@ If you find anything weird with Plyr, please let us know using the GitHub issues
## Author
Plyr is developed by [@sam_potts](https://twitter.com/sam_potts) / [sampotts.me](http://sampotts.me) with help from the awesome [contributors](https://github.com/Selz/plyr/graphs/contributors)
+## Donate
+Plyr costs money to run, not my time - I donate that for free but domains, cdn hosting and more. Any help is appreciated...
+[Donate to support Plyr](https://www.paypal.me/pottsy/20usd)
+
## Mentions
- [ProductHunt](https://www.producthunt.com/tech/plyr)
- [The Changelog](http://thechangelog.com/plyr-simple-html5-media-player-custom-controls-webvtt-captions/)
--
cgit v1.2.3
From f4d2f1856f741063ccdb7b03ed3d858cdd5bc713 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Thu, 9 Feb 2017 23:38:52 +1100
Subject: Update readme.md
---
readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/readme.md b/readme.md
index 2d56d135..c753b4d7 100644
--- a/readme.md
+++ b/readme.md
@@ -1036,7 +1036,7 @@ If you find anything weird with Plyr, please let us know using the GitHub issues
Plyr is developed by [@sam_potts](https://twitter.com/sam_potts) / [sampotts.me](http://sampotts.me) with help from the awesome [contributors](https://github.com/Selz/plyr/graphs/contributors)
## Donate
-Plyr costs money to run, not my time - I donate that for free but domains, cdn hosting and more. Any help is appreciated...
+Plyr costs money to run, not my time - I donate that for free but domains, CDN hosting and more. Any help is appreciated...
[Donate to support Plyr](https://www.paypal.me/pottsy/20usd)
## Mentions
--
cgit v1.2.3
From f6f3284dc5e949f49d3a107804d89e9d5556a8c3 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Fri, 10 Feb 2017 11:19:37 +1100
Subject: Update readme.md
---
readme.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/readme.md b/readme.md
index c753b4d7..7e1aef5c 100644
--- a/readme.md
+++ b/readme.md
@@ -1036,7 +1036,7 @@ If you find anything weird with Plyr, please let us know using the GitHub issues
Plyr is developed by [@sam_potts](https://twitter.com/sam_potts) / [sampotts.me](http://sampotts.me) with help from the awesome [contributors](https://github.com/Selz/plyr/graphs/contributors)
## Donate
-Plyr costs money to run, not my time - I donate that for free but domains, CDN hosting and more. Any help is appreciated...
+Plyr costs money to run, not my time - I donate that for free but domains, hosting and more. Any help is appreciated...
[Donate to support Plyr](https://www.paypal.me/pottsy/20usd)
## Mentions
@@ -1073,6 +1073,8 @@ Also these links helped created Plyr:
- [Media Events - W3.org](http://www.w3.org/2010/05/video/mediaevents.html)
- [Styling the `` element - hongkiat.com](http://www.hongkiat.com/blog/html5-progress-bar/)
+## Thanks
+[](https://www.fastly.com/)
Thanks to [Fastly](https://www.fastly.com/) for providing the CDN services.
## Copyright and License
--
cgit v1.2.3
From bc139f16a733c69be8e667bc7dc06dc0a7b49340 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Fri, 10 Feb 2017 11:21:20 +1100
Subject: Update readme.md
---
readme.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/readme.md b/readme.md
index 7e1aef5c..c2fdb83d 100644
--- a/readme.md
+++ b/readme.md
@@ -1075,6 +1075,7 @@ Also these links helped created Plyr:
## Thanks
[](https://www.fastly.com/)
+
Thanks to [Fastly](https://www.fastly.com/) for providing the CDN services.
## Copyright and License
--
cgit v1.2.3
From 7d5c507f16733a1789e540dcab612226e5bf1d32 Mon Sep 17 00:00:00 2001
From: Samuel Hodge
Date: Sat, 11 Feb 2017 23:50:49 -0500
Subject: Allow configuration of the blank.mp4 URL
This is useful for people behind firewalls who need to host a blank mp4 themselves.
---
src/js/plyr.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 1119700c..da4230de 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -44,6 +44,7 @@
loadSprite: true,
iconPrefix: 'plyr',
iconUrl: 'https://cdn.plyr.io/2.0.11/plyr.svg',
+ blankUrl: 'https://cdn.selz.com/plyr/blank.mp4',
clickToPlay: true,
hideControls: true,
showPosterOnEnd: false,
@@ -3217,7 +3218,7 @@
// Set blank video src attribute
// This is to prevent a MEDIA_ERR_SRC_NOT_SUPPORTED error
// Info: http://stackoverflow.com/questions/32231579/how-to-properly-dispose-of-an-html5-video-and-close-socket-or-connection
- plyr.media.setAttribute('src', 'https://cdn.selz.com/plyr/blank.mp4');
+ plyr.media.setAttribute('src', config.blankUrl);
// Load the new empty source
// This will cancel existing requests
--
cgit v1.2.3
From 82809235b91814a3c5cb6116b7384d3c3e070f98 Mon Sep 17 00:00:00 2001
From: Samuel Hodge
Date: Sat, 11 Feb 2017 23:59:14 -0500
Subject: Documented the blankUrl option
---
readme.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/readme.md b/readme.md
index c2fdb83d..c301b22a 100644
--- a/readme.md
+++ b/readme.md
@@ -286,6 +286,12 @@ Note the single quotes encapsulating the JSON and double quotes on the object ke
plyr
Specify the id prefix for the icons used in the default controls (e.g. "plyr-play" would be "plyr"). This is to prevent clashes if you're using your own SVG sprite but with the default controls. Most people can ignore this option.
+
+ blankUrl
+ String
+ https://cdn.selz.com/plyr/blank.mp4
+ Specify a URL or path to a blank video file used to properly cancel network requests. See issue #174 for more info.
+
debug
Boolean
--
cgit v1.2.3
From 382397407fd5d17899705bdcc5f6f8fe16705662 Mon Sep 17 00:00:00 2001
From: Samuel Hodge
Date: Sun, 12 Feb 2017 00:15:21 -0500
Subject: Generated dist files
---
demo/dist/demo.css | 2 +-
demo/dist/demo.js | 2 +-
dist/plyr.css | 2 +-
dist/plyr.js | 4 ++--
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/demo/dist/demo.css b/demo/dist/demo.css
index a9b2f5bc..18d923d7 100644
--- a/demo/dist/demo.css
+++ b/demo/dist/demo.css
@@ -1 +1 @@
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */a.logo,img,legend{border:0}a,h1,h2{color:#3498db}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,small,summary{display:block}body,figure,li,ul{margin:0}[hidden],template{display:none}li,nav ul,ul{list-style:none;padding:0}legend,li,nav ul,ul{padding:0}.btn__bar,sub,sup{position:relative}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a{background:0 0;text-decoration:none;border-bottom:1px dotted currentColor;transition:background .3s ease,color .3s ease,border .3s ease}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}.btn__bar,nav li{white-space:nowrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}@font-face{font-family:Avenir;src:url(//cdn.plyr.io/fonts/avenir-medium.woff2) format("woff2"),url(//cdn.plyr.io/fonts/avenir-medium.woff) format("woff");font-style:normal;font-weight:500}@font-face{font-family:Avenir;src:url(//cdn.plyr.io/fonts/avenir-bold.woff2) format("woff2"),url(//cdn.plyr.io/fonts/avenir-bold.woff) format("woff");font-style:normal;font-weight:700}html{font-size:100%;height:100%;background:fixed #f2f5f7}body{font-family:Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;text-align:center;color:#55646b;font-weight:500;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding:10px}h1,h2{letter-spacing:-.025em;margin:0 0 10px;line-height:1.2;font-weight:700}h1{font-size:64px;font-size:4rem}p,small{margin:0 0 20px}small{padding:0 10px;font-size:14px;font-size:.875rem}a:focus,a:hover{color:#343f4a;border-bottom-color:transparent}a:focus{outline:#343f4a dotted thin;outline-offset:1px}.color--vimeo{color:#19b7ed}.color--youtube{color:#cc181e}*,::after,::before{box-sizing:border-box}.btn__bar ul,nav li{display:inline-block}header{padding:20px;margin-bottom:20px}header p{font-size:18px;font-size:1.125rem}section{max-width:1200px;margin:0 auto 20px}@media (min-width:480px){header{padding-top:60px;padding-bottom:60px}section{margin-bottom:40px}}.icon{fill:currentColor;width:18px;height:18px;vertical-align:-3px}.btn,.btn__count,.error main,video{vertical-align:middle}a svg,button svg,label svg{pointer-events:none}.btn .icon,a .icon{margin-right:10px}.btn:not(.btn-large) .icon{width:16px;height:16px}nav ul{margin:0;font-size:0}nav li{margin-top:10px;font-size:16px;font-size:1rem}nav li+li{margin-left:20px}.btn__bar{margin:0 auto 20px;max-width:1200px}.btn__bar::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#dbe3e8}.btn__bar ul{position:relative;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn__bar li{margin:0}.btn__bar li:first-child .btn{border-radius:4px 0 0 4px}.btn__bar li:last-child .btn{border-radius:0 4px 4px 0}.btn__bar li+li .btn{margin-left:-1px}.btn__bar li.active .btn{position:relative;z-index:1}.btn__bar li.active .btn .icon{color:inherit}.btn__bar li.active+li .btn:hover{z-index:0}.btn__bar .btn{position:relative;display:block;border-radius:0}.btn__bar .btn:focus,.btn__bar .btn:hover{z-index:1}@media (min-width:560px){.btn__bar{margin-bottom:40px}}.btn,.btn__count{display:inline-block;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:700}.btn{padding:10px 12px;background:linear-gradient(#f8fafb,#e9eef1);border:1px solid #cbd0d3;box-shadow:0 1px 1px rgba(0,0,0,.05);text-shadow:0 1px 1px #fff;color:#55646b;transition:background .1s ease,color .1s ease;font-size:14px;font-size:.875rem}.btn:focus,.btn:hover{border-color:#b5bcc0;color:#55646b;outline:0}.btn--large{padding:10px 20px;font-size:16px;font-size:1rem}.btn--primary,.btn__bar li.active .btn{background-image:linear-gradient(#3498db,#258cd1);background-color:#3498db;border-color:#217dbb;box-shadow:0 1px 1px rgba(0,0,0,.15);text-shadow:0 1px 1px rgba(0,0,0,.1);color:#fff}.btn--primary:focus,.btn--primary:hover{color:#fff;border-color:#196090}.btn--youtube .icon{color:#cc181e}.btn--vimeo .icon{color:#19b7ed}.btn--twitter .icon{color:#4BAAF4}.btn__count{position:relative;margin-left:10px;padding:10px 15px;background:#fff;border:1px solid #cbd0d3}.btn__count::before,.plyr__video-wrapper::after{content:"";position:absolute}.btn__count::before{display:block;width:8px;height:8px;left:1px;top:50%;margin-top:-4px;background:inherit;border:inherit;border-width:1px 0 0 1px;transform:rotate(-45deg) translate(-50%,-50%)}.error body,html.error{height:100%}.error body{width:100%;display:table;table-layout:fixed}.error main{display:table-cell;width:100%}video{max-width:100%}.plyr{margin:0 auto;border-radius:6px}.plyr--audio{max-width:520px}.plyr__video-wrapper::after{pointer-events:none;top:0;bottom:0;left:0;right:0;border:1px solid rgba(0,0,0,.15);border-radius:inherit}.plyr__cite{display:none;margin-top:20px}.plyr__cite .icon{margin-right:5px}.plyr--audio~ul .plyr__cite--audio,.plyr--video:not(.plyr--youtube):not(.plyr--vimeo)~ul .plyr__cite--video,.plyr--vimeo~ul .plyr__cite--vimeo,.plyr--youtube~ul .plyr__cite--youtube{display:block}
\ No newline at end of file
+/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}@font-face{font-family:Avenir;src:url(//cdn.plyr.io/fonts/avenir-medium.woff2) format("woff2"),url(//cdn.plyr.io/fonts/avenir-medium.woff) format("woff");font-style:normal;font-weight:500}@font-face{font-family:Avenir;src:url(//cdn.plyr.io/fonts/avenir-bold.woff2) format("woff2"),url(//cdn.plyr.io/fonts/avenir-bold.woff) format("woff");font-style:normal;font-weight:700}html{font-size:100%}body{font-family:Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;text-align:center;color:#55646b;font-weight:500;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}h1,h2{letter-spacing:-.025em;color:#3498db;margin:0 0 10px;line-height:1.2;font-weight:700}h1{font-size:64px;font-size:4rem}p,small{margin:0 0 20px}small{display:block;padding:0 10px;font-size:14px;font-size:.875rem}li,ul{list-style:none;margin:0;padding:0}a{text-decoration:none;color:#3498db;border-bottom:1px dotted currentColor;transition:background .3s ease,color .3s ease,border .3s ease}a:focus,a:hover{color:#343f4a;border-bottom-color:transparent}a:focus{outline:thin dotted #343f4a;outline-offset:1px}a.logo{border:0}.color--vimeo{color:#19b7ed}.color--youtube{color:#cc181e}*,::after,::before{box-sizing:border-box}[hidden]{display:none}html{height:100%;background:#f2f5f7 fixed}body{margin:0;padding:10px}header{padding:20px;margin-bottom:20px}header p{font-size:18px;font-size:1.125rem}@media (min-width:480px){header{padding-top:60px;padding-bottom:60px}}section{max-width:1200px;margin:0 auto 20px}@media (min-width:480px){section{margin-bottom:40px}}.icon{fill:currentColor;width:18px;height:18px;vertical-align:-3px}a svg,button svg,label svg{pointer-events:none}.btn .icon,a .icon{margin-right:10px}.btn:not(.btn-large) .icon{width:16px;height:16px}nav ul{list-style:none;margin:0;padding:0;font-size:0}nav li{display:inline-block;margin-top:10px;font-size:16px;font-size:1rem;white-space:nowrap}nav li+li{margin-left:20px}.btn__bar{position:relative;margin:0 auto 20px;max-width:1200px;white-space:nowrap}.btn__bar::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#dbe3e8}.btn__bar ul{position:relative;z-index:1;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn__bar li{margin:0}.btn__bar li:first-child .btn{border-radius:4px 0 0 4px}.btn__bar li:last-child .btn{border-radius:0 4px 4px 0}.btn__bar li+li .btn{margin-left:-1px}.btn__bar li.active .btn{box-shadow:inset 0 1px 1px rgba(0,0,0,.2);position:relative;z-index:1}.btn__bar li.active .btn .icon{color:inherit}.btn__bar li.active+li .btn:hover{z-index:0}.btn__bar .btn{position:relative;display:block;border-radius:0}.btn__bar .btn:focus,.btn__bar .btn:hover{z-index:1}@media (min-width:560px){.btn__bar{margin-bottom:40px}}.btn,.btn__count{display:inline-block;vertical-align:middle;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:700}.btn{padding:10px 12px;background:linear-gradient(#f8fafb,#e9eef1);border:1px solid #cbd0d3;box-shadow:0 1px 1px rgba(0,0,0,.05);text-shadow:0 1px 1px #fff;color:#55646b;transition:background .1s ease,color .1s ease;font-size:14px;font-size:.875rem}.btn:focus,.btn:hover{border-color:#b5bcc0;color:#55646b;outline:0}.btn--large{padding:10px 20px;font-size:16px;font-size:1rem}.btn--primary,.btn__bar li.active .btn{background-image:linear-gradient(#3498db,#258cd1);background-color:#3498db;border-color:#217dbb;box-shadow:0 1px 1px rgba(0,0,0,.15);text-shadow:0 1px 1px rgba(0,0,0,.1);color:#fff}.btn--primary:focus,.btn--primary:hover{color:#fff;border-color:#196090}.btn--youtube .icon{color:#cc181e}.btn--vimeo .icon{color:#19b7ed}.btn--twitter .icon{color:#4baaf4}.btn__count{position:relative;margin-left:10px;padding:10px 15px;background:#fff;border:1px solid #cbd0d3}.btn__count::before{content:"";position:absolute;display:block;width:8px;height:8px;left:1px;top:50%;margin-top:-4px;background:inherit;border:inherit;border-width:1px 0 0 1px;transform:rotate(-45deg) translate(-50%,-50%)}.error body,html.error{height:100%}.error body{width:100%;display:table;table-layout:fixed}.error main{display:table-cell;width:100%;vertical-align:middle}video{max-width:100%;vertical-align:middle}.plyr{margin:0 auto;border-radius:6px}.plyr--audio{max-width:520px}.plyr__video-wrapper::after{content:"";pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;border:1px solid rgba(0,0,0,.15);border-radius:inherit}.plyr__cite{display:none;margin-top:20px}.plyr__cite .icon{margin-right:5px}.plyr--audio~ul .plyr__cite--audio,.plyr--video:not(.plyr--youtube):not(.plyr--vimeo)~ul .plyr__cite--video,.plyr--vimeo~ul .plyr__cite--vimeo,.plyr--youtube~ul .plyr__cite--youtube{display:block}
\ No newline at end of file
diff --git a/demo/dist/demo.js b/demo/dist/demo.js
index 3ecf85aa..cee62443 100644
--- a/demo/dist/demo.js
+++ b/demo/dist/demo.js
@@ -1 +1 @@
-"document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var e=document.createElement("_");if(e.classList.add("c1","c2"),!e.classList.contains("c2")){var t=function(e){var t=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var i,s=arguments.length;for(i=0;i=0;a--)e(o[a].parentElement,"active",!1);e(document.querySelector('[data-source="'+t+'"]').parentElement,"active",!0)}}var i=plyr.setup({debug:!0,title:"Video demo",iconUrl:"../dist/plyr.svg",tooltips:{controls:!0},captions:{defaultActive:!0}});plyr.loadSprite("dist/demo.svg");for(var s=i[0],o=document.querySelectorAll("[data-source]"),n={video:"video",audio:"audio",youtube:"youtube",vimeo:"vimeo"},r=window.location.hash.replace("#",""),a=window.history&&window.history.pushState,c=o.length-1;c>=0;c--)o[c].addEventListener("click",function(){var e=this.getAttribute("data-source");t(e),a&&history.pushState({type:e},"","#"+e)});if(window.addEventListener("popstate",function(e){e.state&&"type"in e.state&&t(e.state.type)}),a){var l=!r.length;l&&(r=n.video),r in n&&history.replaceState({type:r},"",l?"":"#"+r),r!==n.video&&t(r,!0)}}(),document.domain.indexOf("plyr.io")>-1&&(!function(e,t,i,s,o,n,r){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,n=t.createElement(i),r=t.getElementsByTagName(i)[0],n.async=1,n.src=s,r.parentNode.insertBefore(n,r)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),ga("create","UA-40881672-11","auto"),ga("send","pageview"));
\ No newline at end of file
+"document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var e=document.createElement("_");if(e.classList.add("c1","c2"),!e.classList.contains("c2")){var t=function(e){var t=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var i,s=arguments.length;for(i=0;i=0;a--)e(o[a].parentElement,"active",!1);e(document.querySelector('[data-source="'+t+'"]').parentElement,"active",!0)}}var i=plyr.setup({debug:!0,title:"Video demo",iconUrl:"../dist/plyr.svg",tooltips:{controls:!0},captions:{defaultActive:!0}});plyr.loadSprite("dist/demo.svg");for(var s=i[0],o=document.querySelectorAll("[data-source]"),n={video:"video",audio:"audio",youtube:"youtube",vimeo:"vimeo"},r=window.location.hash.replace("#",""),a=window.history&&window.history.pushState,c=o.length-1;c>=0;c--)o[c].addEventListener("click",function(){var e=this.getAttribute("data-source");t(e),a&&history.pushState({type:e},"","#"+e)});if(window.addEventListener("popstate",function(e){e.state&&"type"in e.state&&t(e.state.type)}),a){var l=!r.length;l&&(r=n.video),r in n&&history.replaceState({type:r},"",l?"":"#"+r),r!==n.video&&t(r,!0)}}(),document.domain.indexOf("plyr.io")>-1&&(!function(e,t,i,s,o,n,r){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,n=t.createElement(i),r=t.getElementsByTagName(i)[0],n.async=1,n.src=s,r.parentNode.insertBefore(n,r)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),ga("create","UA-40881672-11","auto"),ga("send","pageview"));
\ No newline at end of file
diff --git a/dist/plyr.css b/dist/plyr.css
index e92820ce..9c22d075 100644
--- a/dist/plyr.css
+++ b/dist/plyr.css
@@ -1 +1 @@
-.plyr input[type=range]:focus,.plyr:focus{outline:0}.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
+@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr:focus{outline:0}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:1px dotted rgba(255,255,255,.5)}.plyr--audio input[type=range].tab-focus:focus{outline:1px dotted rgba(86,93,100,.5)}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565d64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:1px dotted rgba(255,255,255,.5)}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen]{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/dist/plyr.js b/dist/plyr.js
index 91383979..c7b453ed 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([],function(){return 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 navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,s="IE",o="11"):(n=a.indexOf("MSIE"))!==-1?(l=!0,s="IE",o=a.substring(n+5)):(n=a.indexOf("Chrome"))!==-1?(c=!0,s="Chrome",o=a.substring(n+7)):(n=a.indexOf("Safari"))!==-1?(d=!0,s="Safari",o=a.substring(n+7),(n=a.indexOf("Version"))!==-1&&(o=a.substring(n+8))):(n=a.indexOf("Firefox"))!==-1?(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)),(r=o.indexOf(";"))!==-1&&(o=o.substring(0,r)),(r=o.indexOf(" "))!==-1&&(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),isIphone:/(iPhone|iPod)/g.test(navigator.userAgent),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&&e.indexOf(t)!==-1}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){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(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 f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O.boolean(a)||(a=!1),e instanceof NodeList)for(var o=0;o',' ',''+E.i18n.play+" ",""),e.push(''),s(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),s(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),s(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),s(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),s(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),s(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),s(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),s(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),s(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),s(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),s(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function q(){if(Ue.supported.full&&("audio"!==Ue.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!X()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Ue.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Ue.buttons&&Ue.buttons.fullscreen&&k(Ue.buttons.fullscreen,!1),$()}}function D(){if("video"===Ue.type){U(E.selectors.captions)||Ue.videoContainer.insertAdjacentHTML("afterbegin",'
'),Ue.usingTextTracks=!1,Ue.media.textTracks&&(Ue.usingTextTracks=!0);for(var e,t="",n=Ue.media.childNodes,r=0;r=10||Ue.browser.isFirefox&&Ue.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Ue.usingTextTracks=!1),Ue.usingTextTracks){Je("TextTracks supported");for(var o=0;o ");for(var r=0;rUe.captions.length-1){Ue.subcount=Ue.captions.length-1;break}Ue.media.currentTime.toFixed(1)>=n(Ue.captions[Ue.subcount][0])&&Ue.media.currentTime.toFixed(1)<=r(Ue.captions[Ue.subcount][0])?(Ue.currentCaption=Ue.captions[Ue.subcount][1],H(Ue.currentCaption)):H()}}function Y(){if(Ue.buttons.captions){m(Ue.container,E.classes.captions.enabled,!0);var e=Ue.storage.captionsEnabled;O.boolean(e)||(e=E.captions.defaultActive),e&&(m(Ue.container,E.classes.captions.active,!0),k(Ue.buttons.captions,!0))}}function B(e){return Ue.container.querySelectorAll(e)}function U(e){return B(e)[0]}function X(){try{return e.self!==e.top}catch(e){return!0}}function $(){function e(e){9===e.which&&Ue.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Ue.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Ue.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Ue.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Ue.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Ue.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=B([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Ue.controls=U(E.selectors.controls.wrapper),Ue.buttons={},Ue.buttons.seek=U(E.selectors.buttons.seek),Ue.buttons.play=B(E.selectors.buttons.play),Ue.buttons.pause=U(E.selectors.buttons.pause),Ue.buttons.restart=U(E.selectors.buttons.restart),Ue.buttons.rewind=U(E.selectors.buttons.rewind),Ue.buttons.forward=U(E.selectors.buttons.forward),Ue.buttons.fullscreen=U(E.selectors.buttons.fullscreen),Ue.buttons.mute=U(E.selectors.buttons.mute),Ue.buttons.captions=U(E.selectors.buttons.captions),Ue.progress={},Ue.progress.container=U(E.selectors.progress.container),Ue.progress.buffer={},Ue.progress.buffer.bar=U(E.selectors.progress.buffer),Ue.progress.buffer.text=Ue.progress.buffer.bar&&Ue.progress.buffer.bar.getElementsByTagName("span")[0],Ue.progress.played=U(E.selectors.progress.played),Ue.progress.tooltip=Ue.progress.container&&Ue.progress.container.querySelector("."+E.classes.tooltip),Ue.volume={},Ue.volume.input=U(E.selectors.volume.input),Ue.volume.display=U(E.selectors.volume.display),Ue.duration=U(E.selectors.duration),Ue.currentTime=U(E.selectors.currentTime),Ue.seekTime=B(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Ue.container,E.selectors.container.replace(".",""),Ue.supported.full)}function Q(e){e&&s(E.types.html5,Ue.type)?Ue.media.setAttribute("controls",""):Ue.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Ue.container.setAttribute("aria-label",E.title)),Ue.supported.full&&Ue.buttons.play)for(var n=Ue.buttons.play.length-1;n>=0;n--)Ue.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Ue.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Ue.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Ue.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Ue.storage)))}function ne(){if(!Ue.media)return void ze("No media element found!");if(Ue.supported.full&&(m(Ue.container,E.classes.type.replace("{0}",Ue.type),!0),s(E.types.embed,Ue.type)&&m(Ue.container,E.classes.type.replace("{0}","video"),!0),m(Ue.container,E.classes.stopped,E.autoplay),m(Ue.ontainer,E.classes.isIos,Ue.browser.isIos),m(Ue.container,E.classes.isTouch,Ue.browser.isTouch),"video"===Ue.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Ue.media,e),Ue.videoContainer=e}s(E.types.embed,Ue.type)&&re()}function re(){var n,r=t.createElement("div"),s=Ue.type+"-"+Math.floor(1e4*Math.random());switch(Ue.type){case"youtube":n=T(Ue.embedId);break;case"vimeo":n=S(Ue.embedId);break;default:n=Ue.embedId}for(var o=B('[id^="'+Ue.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Ue.media,E.classes.videoWrapper,!0),m(Ue.media,E.classes.embedWrapper,!0),"youtube"===Ue.type)Ue.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ue.type)if(Ue.supported.full?Ue.media.appendChild(r):r=Ue.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Ue.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Ue.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Ue.supported.full&&(We(),Ye()),Z(U("iframe"))}function se(t,n){Ue.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Ue.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Ue.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ue.media.play=function(){n.playVideo(),Ue.media.paused=!1},Ue.media.pause=function(){n.pauseVideo(),Ue.media.paused=!0},Ue.media.stop=function(){n.stopVideo(),Ue.media.paused=!0},Ue.media.duration=n.getDuration(),Ue.media.paused=!0,Ue.media.currentTime=0,Ue.media.muted=n.isMuted(),E.title=n.getVideoData().title,Ue.supported.full&&Ue.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Ue.media,"timeupdate"),A(Ue.media,"durationchange"),e.clearInterval(Xe.buffering),Xe.buffering=e.setInterval(function(){Ue.media.buffered=n.getVideoLoadedFraction(),(null===Ue.media.lastBuffered||Ue.media.lastBufferedr&&(t=r),Ne(t);try{Ue.media.currentTime=t.toFixed(4)}catch(e){}if(s(E.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed.seekTo(t);break;case"vimeo":Ue.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ue.embed.seekTo(1e3*t)}n&&ue(),A(Ue.media,"timeupdate"),Ue.media.seeking=!0,A(Ue.media,"seeking")}Je("Seeking to "+Ue.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Ue.media.duration||isNaN(Ue.media.duration)||(t=Ue.media.duration),isNaN(e)?t:e}function ye(){m(Ue.container,E.classes.playing,!Ue.media.paused),m(Ue.container,E.classes.stopped,Ue.media.paused),Me(Ue.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Ue.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Ue.container)),void(Ue.isFullscreen=N.isFullScreen(Ue.container));Ue.isFullscreen=N.isFullScreen(Ue.container)}else Ue.isFullscreen=!Ue.isFullscreen,t.body.style.overflow=Ue.isFullscreen?"hidden":"";m(Ue.container,E.classes.fullscreen.active,Ue.isFullscreen),$(Ue.isFullscreen),Ue.buttons&&Ue.buttons.fullscreen&&k(Ue.buttons.fullscreen,Ue.isFullscreen),A(Ue.container,Ue.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ue.isFullscreen&&n&&ve()}function he(e){if(O.boolean(e)||(e=!Ue.media.muted),k(Ue.buttons.mute,e),Ue.media.muted=e,0===Ue.media.volume&&ke(E.volume),s(E.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed[Ue.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ue.embed.setVolume(Ue.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Ue.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Ue.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&he()}function we(e){var t=Ue.media.muted?0:Ue.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Ue.media.muted?0:Ue.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Ue.media.muted?0:Ue.media.volume*E.volumeMax;Ue.supported.full&&(Ue.volume.input&&(Ue.volume.input.value=e),Ue.volume.display&&(Ue.volume.display.value=e)),te({volume:e}),m(Ue.container,E.classes.muted,0===e),Ue.supported.full&&Ue.buttons.mute&&k(Ue.buttons.mute,0===e)}function Se(e){Ue.supported.full&&Ue.buttons.captions&&(O.boolean(e)||(e=Ue.container.className.indexOf(E.classes.captions.active)===-1),Ue.captionsEnabled=e,k(Ue.buttons.captions,Ue.captionsEnabled),m(Ue.container,E.classes.captions.active,Ue.captionsEnabled),A(Ue.container,Ue.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Ue.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Xe.loading),Xe.loading=setTimeout(function(){m(Ue.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Ue.supported.full){var t=Ue.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ue.controls.pressed)return;n=w(Ue.media.currentTime,r),"timeupdate"===e.type&&Ue.buttons.seek&&(Ue.buttons.seek.value=n);break;case"playing":case"progress":t=Ue.progress.buffer,n=function(){var e=Ue.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Ue.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Ue.progress||!Ue.progress.buffer)return;e=Ue.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Ue.secs=parseInt(e%60),Ue.mins=parseInt(e/60%60),Ue.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Ue.secs=("0"+Ue.secs).slice(-2),Ue.mins=("0"+Ue.mins).slice(-2),t.innerHTML=(n?Ue.hours+":":"")+Ue.mins+":"+Ue.secs}}function Ae(){if(Ue.supported.full){var e=fe()||0;!Ue.duration&&E.displayDuration&&Ue.media.paused&&Fe(e,Ue.currentTime),Ue.duration&&Fe(e,Ue.duration),Pe()}}function Ie(e){Fe(Ue.media.currentTime,Ue.currentTime),e&&"timeupdate"===e.type&&Ue.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Ue.progress&&Ue.progress.played&&(Ue.progress.played.value=n),Ue.buttons&&Ue.buttons.seek&&(Ue.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Ue.progress.container&&0!==t){var n=Ue.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Ue.progress.tooltip,a))return;r=Ue.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Ue.progress.tooltip),Ue.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Ue.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Ue.type){var n=0,r=!1,a=t,o=f(Ue.container,E.classes.loading);if(O.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=f(Ue.container,E.classes.hideControls)),e.clearTimeout(Xe.hover),a||Ue.media.paused||o){if(m(Ue.container,E.classes.hideControls,!1),Ue.media.paused||o)return;Ue.browser.isTouch&&(n=3e3)}a&&Ue.media.paused||(Xe.hover=e.setTimeout(function(){(!Ue.controls.pressed&&!Ue.controls.hover||r)&&m(Ue.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Ue.type){case"youtube":t=Ue.embed.getVideoUrl();break;case"vimeo":Ue.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ue.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ue.media.currentSrc}return t||""}function Le(e){function n(){if(Ue.embed=null,l(Ue.media),"video"===Ue.type&&Ue.videoContainer&&l(Ue.videoContainer),Ue.container&&Ue.container.removeAttribute("class"),"type"in e&&(Ue.type=e.type,"video"===Ue.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Ue.type=n.type)}switch(Ue.supported=F(Ue.type),Ue.type){case"video":Ue.media=t.createElement("video");break;case"audio":Ue.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ue.media=t.createElement("div"),Ue.embedId=e.sources[0].src}u(Ue.container,Ue.media),O.boolean(e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Ue.type)&&(E.crossorigin&&Ue.media.setAttribute("crossorigin",""),E.autoplay&&Ue.media.setAttribute("autoplay",""),"poster"in e&&Ue.media.setAttribute("poster",e.poster),E.loop&&Ue.media.setAttribute("loop","")),m(Ue.container,E.classes.fullscreen.active,Ue.isFullscreen),m(Ue.container,E.classes.captions.active,Ue.captionsEnabled),K(),s(E.types.html5,Ue.type)&&J("source",e.sources),ne(),s(E.types.html5,Ue.type)&&("tracks"in e&&J("track",e.tracks),Ue.media.load()),(s(E.types.html5,Ue.type)||s(E.types.embed,Ue.type)&&!Ue.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Ue.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Ue.type&&Ue.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Ue.buttons[e?"play":"pause"],n=Ue.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Ue.buttons){var n=Ue.buttons[t];if(O.nodeList(n))for(var r=0;r0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Ue.media,"timeupdate seeking",Ie),g(Ue.media,"timeupdate",W),g(Ue.media,"durationchange loadedmetadata",Ae),g(Ue.media,"ended",function(){"video"===Ue.type&&E.showPosterOnEnd&&("video"===Ue.type&&H(),me(),Ue.media.load())}),g(Ue.media,"progress playing",Ee),g(Ue.media,"volumechange",Te),g(Ue.media,"play pause ended",ye),g(Ue.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Ue.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Ue.browser.isTouch&&!Ue.media.paused||(Ue.media.paused?le():Ue.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Ue.media,"contextmenu",function(e){e.preventDefault()}),g(Ue.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Ue.container,e.type,!0)})}function qe(){if(s(E.types.html5,Ue.type)){for(var e=Ue.media.querySelectorAll("source"),t=0;t=10&&(c=!0);break;case"soundcloud":u=!0,c=!a&&!o;break;default:u=i&&l,c=u&&!a}return{basic:u,full:c}}function A(e,n){function r(e,t){f(t,M.classes.hook)||a.push({target:e,media:t})}var a=[],s=[],o=[M.selectors.html5,M.selectors.embed].join(",");if(O.string(e)?e=t.querySelectorAll(e):O.htmlElement(e)?e=[e]:O.nodeList(e)||O.array(e)||O.string(e)||(O.undefined(n)&&O.object(e)&&(n=e),e=t.querySelectorAll(o)),O.nodeList(e)&&(e=Array.prototype.slice.call(e)),!F().basic||!e.length)return!1;for(var i=0;i=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){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O["boolean"](t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(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 f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O["boolean"](a)||(a=!1),e instanceof NodeList)for(var o=0;o',' ',''+E.i18n.play+" ",""),e.push(''),s(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),s(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),s(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),s(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),s(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),s(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),s(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),s(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),s(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),s(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),s(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function q(){if(Be.supported.full&&("audio"!==Be.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!X()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Be.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Be.buttons&&Be.buttons.fullscreen&&k(Be.buttons.fullscreen,!1),$()}}function D(){if("video"===Be.type){B(E.selectors.captions)||Be.videoContainer.insertAdjacentHTML("afterbegin",'
'),Be.usingTextTracks=!1,Be.media.textTracks&&(Be.usingTextTracks=!0);for(var e,t="",n=Be.media.childNodes,r=0;r=10||Be.browser.isFirefox&&Be.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Be.usingTextTracks=!1),Be.usingTextTracks){Je("TextTracks supported");for(var o=0;o ");for(var r=0;rBe.captions.length-1){Be.subcount=Be.captions.length-1;break}Be.media.currentTime.toFixed(1)>=n(Be.captions[Be.subcount][0])&&Be.media.currentTime.toFixed(1)<=r(Be.captions[Be.subcount][0])?(Be.currentCaption=Be.captions[Be.subcount][1],H(Be.currentCaption)):H()}}function Y(){if(Be.buttons.captions){m(Be.container,E.classes.captions.enabled,!0);var e=Be.storage.captionsEnabled;O["boolean"](e)||(e=E.captions.defaultActive),e&&(m(Be.container,E.classes.captions.active,!0),k(Be.buttons.captions,!0))}}function U(e){return Be.container.querySelectorAll(e)}function B(e){return U(e)[0]}function X(){try{return e.self!==e.top}catch(t){return!0}}function $(){function e(e){9===e.which&&Be.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=U("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Be.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Be.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Be.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Be.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Be.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=U([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Be.controls=B(E.selectors.controls.wrapper),Be.buttons={},Be.buttons.seek=B(E.selectors.buttons.seek),Be.buttons.play=U(E.selectors.buttons.play),Be.buttons.pause=B(E.selectors.buttons.pause),Be.buttons.restart=B(E.selectors.buttons.restart),Be.buttons.rewind=B(E.selectors.buttons.rewind),Be.buttons.forward=B(E.selectors.buttons.forward),Be.buttons.fullscreen=B(E.selectors.buttons.fullscreen),Be.buttons.mute=B(E.selectors.buttons.mute),Be.buttons.captions=B(E.selectors.buttons.captions),Be.progress={},Be.progress.container=B(E.selectors.progress.container),Be.progress.buffer={},Be.progress.buffer.bar=B(E.selectors.progress.buffer),Be.progress.buffer.text=Be.progress.buffer.bar&&Be.progress.buffer.bar.getElementsByTagName("span")[0],Be.progress.played=B(E.selectors.progress.played),Be.progress.tooltip=Be.progress.container&&Be.progress.container.querySelector("."+E.classes.tooltip),Be.volume={},Be.volume.input=B(E.selectors.volume.input),Be.volume.display=B(E.selectors.volume.display),Be.duration=B(E.selectors.duration),Be.currentTime=B(E.selectors.currentTime),Be.seekTime=U(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Be.container,E.selectors.container.replace(".",""),Be.supported.full)}function Q(e){e&&s(E.types.html5,Be.type)?Be.media.setAttribute("controls",""):Be.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Be.container.setAttribute("aria-label",E.title)),Be.supported.full&&Be.buttons.play)for(var n=Be.buttons.play.length-1;n>=0;n--)Be.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Be.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Be.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Be.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Be.storage)))}function ne(){if(!Be.media)return void ze("No media element found!");if(Be.supported.full&&(m(Be.container,E.classes.type.replace("{0}",Be.type),!0),s(E.types.embed,Be.type)&&m(Be.container,E.classes.type.replace("{0}","video"),!0),m(Be.container,E.classes.stopped,E.autoplay),m(Be.container,E.classes.isIos,Be.browser.isIos),m(Be.container,E.classes.isTouch,Be.browser.isTouch),"video"===Be.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Be.media,e),Be.videoContainer=e}s(E.types.embed,Be.type)&&re()}function re(){var n,r=t.createElement("div"),s=Be.type+"-"+Math.floor(1e4*Math.random());switch(Be.type){case"youtube":n=T(Be.embedId);break;case"vimeo":n=S(Be.embedId);break;default:n=Be.embedId}for(var o=U('[id^="'+Be.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Be.media,E.classes.videoWrapper,!0),m(Be.media,E.classes.embedWrapper,!0),"youtube"===Be.type)Be.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Be.type)if(Be.supported.full?Be.media.appendChild(r):r=Be.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Be.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Be.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Be.supported.full&&(We(),Ye()),Z(B("iframe"))}function se(t,n){Be.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Be.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Be.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Be.media.play=function(){n.playVideo(),Be.media.paused=!1},Be.media.pause=function(){n.pauseVideo(),Be.media.paused=!0},Be.media.stop=function(){n.stopVideo(),Be.media.paused=!0},Be.media.duration=n.getDuration(),Be.media.paused=!0,Be.media.currentTime=0,Be.media.muted=n.isMuted(),E.title=n.getVideoData().title,Be.supported.full&&Be.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Be.media,"timeupdate"),A(Be.media,"durationchange"),e.clearInterval(Xe.buffering),Xe.buffering=e.setInterval(function(){Be.media.buffered=n.getVideoLoadedFraction(),(null===Be.media.lastBuffered||Be.media.lastBufferedr&&(t=r),Ne(t);try{Be.media.currentTime=t.toFixed(4)}catch(a){}if(s(E.types.embed,Be.type)){switch(Be.type){case"youtube":Be.embed.seekTo(t);break;case"vimeo":Be.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Be.embed.seekTo(1e3*t)}n&&ue(),A(Be.media,"timeupdate"),Be.media.seeking=!0,A(Be.media,"seeking")}Je("Seeking to "+Be.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Be.media.duration||isNaN(Be.media.duration)||(t=Be.media.duration),isNaN(e)?t:e}function ye(){m(Be.container,E.classes.playing,!Be.media.paused),m(Be.container,E.classes.stopped,Be.media.paused),Me(Be.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Be.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Be.container)),void(Be.isFullscreen=N.isFullScreen(Be.container));Be.isFullscreen=N.isFullScreen(Be.container)}else Be.isFullscreen=!Be.isFullscreen,t.body.style.overflow=Be.isFullscreen?"hidden":"";m(Be.container,E.classes.fullscreen.active,Be.isFullscreen),$(Be.isFullscreen),Be.buttons&&Be.buttons.fullscreen&&k(Be.buttons.fullscreen,Be.isFullscreen),A(Be.container,Be.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Be.isFullscreen&&n&&ve()}function he(e){if(O["boolean"](e)||(e=!Be.media.muted),k(Be.buttons.mute,e),Be.media.muted=e,0===Be.media.volume&&ke(E.volume),s(E.types.embed,Be.type)){switch(Be.type){case"youtube":Be.embed[Be.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Be.embed.setVolume(Be.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Be.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Be.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&he()}function we(e){var t=Be.media.muted?0:Be.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Be.media.muted?0:Be.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Be.media.muted?0:Be.media.volume*E.volumeMax;Be.supported.full&&(Be.volume.input&&(Be.volume.input.value=e),Be.volume.display&&(Be.volume.display.value=e)),te({volume:e}),m(Be.container,E.classes.muted,0===e),Be.supported.full&&Be.buttons.mute&&k(Be.buttons.mute,0===e)}function Se(e){Be.supported.full&&Be.buttons.captions&&(O["boolean"](e)||(e=Be.container.className.indexOf(E.classes.captions.active)===-1),Be.captionsEnabled=e,k(Be.buttons.captions,Be.captionsEnabled),m(Be.container,E.classes.captions.active,Be.captionsEnabled),A(Be.container,Be.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Be.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Xe.loading),Xe.loading=setTimeout(function(){m(Be.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Be.supported.full){var t=Be.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Be.controls.pressed)return;n=w(Be.media.currentTime,r),"timeupdate"===e.type&&Be.buttons.seek&&(Be.buttons.seek.value=n);break;case"playing":case"progress":t=Be.progress.buffer,n=function(){var e=Be.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Be.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Be.progress||!Be.progress.buffer)return;e=Be.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Be.secs=parseInt(e%60),Be.mins=parseInt(e/60%60),Be.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Be.secs=("0"+Be.secs).slice(-2),Be.mins=("0"+Be.mins).slice(-2),t.innerHTML=(n?Be.hours+":":"")+Be.mins+":"+Be.secs}}function Ae(){if(Be.supported.full){var e=fe()||0;!Be.duration&&E.displayDuration&&Be.media.paused&&Fe(e,Be.currentTime),Be.duration&&Fe(e,Be.duration),Pe()}}function Ie(e){Fe(Be.media.currentTime,Be.currentTime),e&&"timeupdate"===e.type&&Be.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Be.progress&&Be.progress.played&&(Be.progress.played.value=n),Be.buttons&&Be.buttons.seek&&(Be.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Be.progress.container&&0!==t){var n=Be.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Be.progress.tooltip,a))return;r=Be.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Be.progress.tooltip),Be.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Be.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Be.type){var n=0,r=!1,a=t,o=f(Be.container,E.classes.loading);if(O["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=f(Be.container,E.classes.hideControls)),e.clearTimeout(Xe.hover),a||Be.media.paused||o){if(m(Be.container,E.classes.hideControls,!1),Be.media.paused||o)return;Be.browser.isTouch&&(n=3e3)}a&&Be.media.paused||(Xe.hover=e.setTimeout(function(){(!Be.controls.pressed&&!Be.controls.hover||r)&&m(Be.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Be.type){case"youtube":t=Be.embed.getVideoUrl();break;case"vimeo":Be.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Be.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Be.media.currentSrc}return t||""}function Le(e){function n(){if(Be.embed=null,l(Be.media),"video"===Be.type&&Be.videoContainer&&l(Be.videoContainer),Be.container&&Be.container.removeAttribute("class"),"type"in e&&(Be.type=e.type,"video"===Be.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Be.type=n.type)}switch(Be.supported=F(Be.type),Be.type){case"video":Be.media=t.createElement("video");break;case"audio":Be.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Be.media=t.createElement("div"),Be.embedId=e.sources[0].src}u(Be.container,Be.media),O["boolean"](e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Be.type)&&(E.crossorigin&&Be.media.setAttribute("crossorigin",""),E.autoplay&&Be.media.setAttribute("autoplay",""),"poster"in e&&Be.media.setAttribute("poster",e.poster),E.loop&&Be.media.setAttribute("loop","")),m(Be.container,E.classes.fullscreen.active,Be.isFullscreen),m(Be.container,E.classes.captions.active,Be.captionsEnabled),K(),s(E.types.html5,Be.type)&&J("source",e.sources),ne(),s(E.types.html5,Be.type)&&("tracks"in e&&J("track",e.tracks),Be.media.load()),(s(E.types.html5,Be.type)||s(E.types.embed,Be.type)&&!Be.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Be.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Be.type&&Be.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Be.buttons[e?"play":"pause"],n=Be.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Be.buttons){var n=Be.buttons[t];if(O.nodeList(n))for(var r=0;r0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Be.media,"timeupdate seeking",Ie),g(Be.media,"timeupdate",W),g(Be.media,"durationchange loadedmetadata",Ae),g(Be.media,"ended",function(){"video"===Be.type&&E.showPosterOnEnd&&("video"===Be.type&&H(),me(),Be.media.load())}),g(Be.media,"progress playing",Ee),g(Be.media,"volumechange",Te),g(Be.media,"play pause ended",ye),g(Be.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Be.type){var e=B("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Be.browser.isTouch&&!Be.media.paused||(Be.media.paused?le():Be.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Be.media,"contextmenu",function(e){e.preventDefault()}),g(Be.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Be.container,e.type,!0)})}function qe(){if(s(E.types.html5,Be.type)){for(var e=Be.media.querySelectorAll("source"),t=0;t=10&&(c=!0);break;case"soundcloud":u=!0,c=!a&&!o;break;default:u=i&&l,c=u&&!a}return{basic:u,full:c}}function A(e,n){function r(e,t){f(t,M.classes.hook)||a.push({target:e,media:t})}var a=[],s=[],o=[M.selectors.html5,M.selectors.embed].join(",");if(O.string(e)?e=t.querySelectorAll(e):O.htmlElement(e)?e=[e]:O.nodeList(e)||O.array(e)||O.string(e)||(O.undefined(n)&&O.object(e)&&(n=e),e=t.querySelectorAll(o)),O.nodeList(e)&&(e=Array.prototype.slice.call(e)),!F().basic||!e.length)return!1;for(var i=0;i
Date: Tue, 14 Feb 2017 16:04:58 +0200
Subject: Added key bindings for loop
---
dist/plyr.js | 4 ++--
readme.md | 22 +++++++++++++++++++++-
src/js/plyr.js | 42 ++++++++++++++++++++++++++++++++++++++++--
3 files changed, 63 insertions(+), 5 deletions(-)
diff --git a/dist/plyr.js b/dist/plyr.js
index 12373047..6f3ce6dd 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([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,o=navigator.userAgent,r=navigator.appName,s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,r="IE",s="11"):(n=o.indexOf("MSIE"))!==-1?(i=!0,r="IE",s=o.substring(n+5)):(n=o.indexOf("Chrome"))!==-1?(c=!0,r="Chrome",s=o.substring(n+7)):(n=o.indexOf("Safari"))!==-1?(p=!0,r="Safari",s=o.substring(n+7),(n=o.indexOf("Version"))!==-1&&(s=o.substring(n+8))):(n=o.indexOf("Firefox"))!==-1?(u=!0,r="Firefox",s=o.substring(n+8)):(e=o.lastIndexOf(" ")+1)<(n=o.lastIndexOf("/"))&&(r=o.substring(e,n),s=o.substring(n+1),r.toLowerCase()===r.toUpperCase()&&(r=navigator.appName)),(a=s.indexOf(";"))!==-1&&(s=s.substring(0,a)),(a=s.indexOf(" "))!==-1&&(s=s.substring(0,a)),l=parseInt(""+s,10),isNaN(l)&&(s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10)),{name:r,version:l,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function o(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function s(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,s=o.nextSibling;return a.appendChild(o),s?r.insertBefore(a,s):r.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var s=0;s',' ',''+S.i18n.play+" ",""),e.push(''),o(S.controls,"restart")&&e.push('
',' ',''+S.i18n.restart+" "," "),o(S.controls,"rewind")&&e.push('
',' ',''+S.i18n.rewind+" "," "),o(S.controls,"play")&&e.push('
',' ',''+S.i18n.play+" "," ",'
',' ',''+S.i18n.pause+" "," "),o(S.controls,"fast-forward")&&e.push('
',' ',''+S.i18n.forward+" "," "),o(S.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+S.i18n.buffered," "),S.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(S.controls,"current-time")&&e.push('
',''+S.i18n.currentTime+" ",'00:00 '," "),o(S.controls,"duration")&&e.push('
',''+S.i18n.duration+" ",'00:00 '," "),o(S.controls,"mute")&&e.push('
',' ',' ',''+S.i18n.toggleMute+" "," "),o(S.controls,"volume")&&e.push('
',''+S.i18n.volume+" ",' ',' '," "),o(S.controls,"captions")&&e.push('
',' ',' ',''+S.i18n.toggleCaptions+" "," "),o(S.controls,"settings")&&e.push('"),o(S.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(S.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(S.controls,"fullscreen")&&e.push('
',' ',' ',''+S.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',S.i18n.quality," "," "].join("")),U(S.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||S.fullscreen.allowAudio)&&S.fullscreen.enabled){var e=N.fullscreen;e||S.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,S.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){U(S.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):S.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[S.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[S.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(S.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,S.classes.captions.enabled)}}function W(e){var n=U(S.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,S.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=S.captions.defaultActive),e&&(d(Je.container,S.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(S.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),E(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=S.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",S.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(S.selectors.controls.container)&&(a=t.querySelector(S.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),S.tooltips.controls)for(var o=X([S.selectors.controls.wrapper," ",S.selectors.labels," .",S.classes.hidden].join("")),s=o.length-1;s>=0;s--){var l=o[s];d(l,S.classes.hidden,!1),d(l,S.classes.tooltip,!0)}}function z(){return S.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=U(S.selectors.controls.wrapper),Je.buttons={seek:U(S.selectors.buttons.seek),play:X(S.selectors.buttons.play),pause:U(S.selectors.buttons.pause),restart:U(S.selectors.buttons.restart),rewind:U(S.selectors.buttons.rewind),forward:U(S.selectors.buttons.forward),fullscreen:U(S.selectors.buttons.fullscreen),settings:U(S.selectors.buttons.settings),pip:U(S.selectors.buttons.pip),speed:t.querySelectorAll(S.selectors.buttons.speed),loop:t.querySelectorAll(S.selectors.buttons.loop)},Je.buttons.mute=U(S.selectors.buttons.mute),Je.buttons.captions=U(S.selectors.buttons.captions),Je.progress={container:U(S.selectors.progress.container)},Je.progress.buffer=function(){var e=U(S.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(S.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+S.classes.tooltip),Je.volume={input:U(S.selectors.volume.input),display:U(S.selectors.volume.display)},Je.duration=U(S.selectors.duration),Je.currentTime=U(S.selectors.currentTime),Je.seekTime=X(S.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,S.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(S.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=S.i18n.play;if(M.string(S.title)&&S.title.length&&(t+=", "+S.title,Je.container.setAttribute("aria-label",S.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);M.htmlElement(e)&&e.setAttribute("title",S.i18n.frameTitle.replace("{title}",S.title))}function ne(){var t=null;Je.storage={},N.storage&&S.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(S.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){N.storage&&S.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(S.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,S.classes.type.replace("{0}",Je.type),!0),o(S.types.embed,Je.type)&&d(Je.container,S.classes.type.replace("{0}","video"),!0),d(Je.container,S.classes.pip.enabled,N.pip),d(Je.container,S.classes.stopped,S.autoplay),d(Je.container,S.classes.isIos,Je.browser.isIos),d(Je.container,S.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",S.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}o(S.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,S.classes.videoWrapper,!0),d(Je.media,S.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?le(n,o):(a(S.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(S.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(S.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:S.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:S.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),S.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;S.loopout=n;break;case"loopall":S.loopin=0,S.loopout=Je.media.duration-2;break;default:S.loopin=0,S.loopout=null}S.loop=M.number(S.loopin)&&M.number(S.loopout);var a=Me(S.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(S.loopout)?Me(S.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";S.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=S.i18n.loopclear}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||S.defaultSpeed),!M.array(S.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=S.speeds.indexOf(S.currentSpeed);if(n!==-1){var a=n+1;a>=S.speeds.length&&(a=0),e=S.speeds[a]}else e=S.defaultSpeed}S.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=S.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=S.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(S.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(S.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,S.classes.playing,!Je.media.paused),d(Je.container,S.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=N.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(S.volume),o(S.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(S.volume/S.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=S.volumeMax,n=S.volumeMin;
-if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=S.volume),e>t&&(e=t),e0&&we()}function Se(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t+e)}function Ee(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*S.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,S.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(S.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,S.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){S.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,S.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(S.loopin)&&M.number(S.loopout)&&Je.media.currentTime>=S.loopout&&ge(S.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&S.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(S.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=S.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(S.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,s=m(Je.container,S.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,S.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||s){if(d(Je.container,S.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,S.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(S.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(S.autoplay=e.autoplay),o(S.types.html5,Je.type)&&(S.crossorigin&&Je.media.setAttribute("crossorigin",""),S.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),S.loop&&Je.media.setAttribute("loop","")),d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),d(Je.container,S.classes.captions.active,Je.captionsEnabled),Z(),o(S.types.html5,Je.type)&&$("source",e.sources),oe(),o(S.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(S.types.html5,Je.type)||o(S.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),S.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,S.classes.ready,!1),pe(),Oe(),qe(),Be(),void Xe(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,S.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,S.classes.tabFocus,!1),d(n,S.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),s="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}r.setAttribute("aria-hidden",!s),o.setAttribute("aria-expanded",s),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),S.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=S.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Ee(n):Se(n)),(e.deltaY>0||e.deltaX<0)&&(t?Se(n):Ee(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&S.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),S.clickToPlay&&"audio"!==Je.type){var e=U("."+S.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){S.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}S.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,S.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(S.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,l=o.nextSibling;return a.appendChild(o),l?r.insertBefore(a,l):r.appendChild(a),a}}function s(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var l=0;l',' ',''+E.i18n.play+" ",""),e.push(''),o(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),o(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),o(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),o(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),o(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),o(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),o(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),o(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),o(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),o(E.controls,"settings")&&e.push('"),o(E.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(E.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',E.i18n.quality," "," "].join("")),X(E.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.fullscreen;e||E.fullscreen.fallback&&!U()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){X(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),Y(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=X(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function B(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function Y(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function K(e){return Je.container.querySelectorAll(e)}function X(e){return K(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=K("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",E.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var o=K([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),l=o.length-1;l>=0;l--){var s=o[l];d(s,E.classes.hidden,!1),d(s,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=X(E.selectors.controls.wrapper),Je.buttons={seek:X(E.selectors.buttons.seek),play:K(E.selectors.buttons.play),pause:X(E.selectors.buttons.pause),restart:X(E.selectors.buttons.restart),rewind:X(E.selectors.buttons.rewind),forward:X(E.selectors.buttons.forward),fullscreen:X(E.selectors.buttons.fullscreen),settings:X(E.selectors.buttons.settings),pip:X(E.selectors.buttons.pip),speed:t.querySelectorAll(E.selectors.buttons.speed),loop:t.querySelectorAll(E.selectors.buttons.loop)},Je.buttons.mute=X(E.selectors.buttons.mute),Je.buttons.captions=X(E.selectors.buttons.captions),Je.progress={container:X(E.selectors.progress.container)},Je.progress.buffer=function(){var e=X(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=X(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:X(E.selectors.volume.input),display:X(E.selectors.volume.display)},Je.duration=X(E.selectors.duration),Je.currentTime=X(E.selectors.currentTime),Je.seekTime=K(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},N.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){N.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),o(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,N.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),l(Je.media,e),Je.videoContainer=e}o(E.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var l=K('[id^="'+Je.type+'-"]'),i=l.length-1;i>=0;i--)s(l[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?se(n,o):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function le(){Je.supported.full&&(Ue(),Qe()),te(X("iframe"))}function se(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),le(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loopout=n;break;case"loopall":E.loopin=0,E.loopout=Je.media.duration-2;break;case"toggle":E.loop?(E.loopin=0,E.loopout=null):(E.loopin=0,E.loopout=Je.media.duration-2);break;default:E.loopin=0,E.loopout=null}E.loop=M.number(E.loopin)&&M.number(E.loopout);var a=Me(E.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(E.loopout)?Me(E.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";E.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=E.i18n.loopclear}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),B(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=N.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax));
+}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,l=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||l){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||l)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,s(Je.media),"video"===Je.type&&Je.videoContainer&&s(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),o(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),o(E.types.html5,Je.type)&&$("source",e.sources),oe(),o(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(E.types.html5,Je.type)||o(E.types.embed,Je.type)&&!Je.supported.full)&&(Ue(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),qe(),Ye(),void Ke(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function l(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1}).length>=1;switch(f&&(y=q.loopKeyEvents),console.log(y,"~~~loopKeyBindings"),l){case y.toggleLoop:me("toggle");break;case y.loopin:me("loopin");break;case y.loopout:me("loopout")}!N.fullscreen&&Je.isFullscreen&&27===l&&xe(),c=l}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShorcuts.focused){var c=null;E.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=r(e),n=a(),l=[48,49,50,51,52,53,54,56,57,75,77,70,67],s=F().length;1!==s||!o(l,t)||M.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Je.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=r(e),n=a();9===t&&l(n)}),g(t.body,"click",function(){d(X("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var p in Je.buttons){var b=Je.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}f(Je.buttons.play,"click",E.listeners.play,n),f(Je.buttons.pause,"click",E.listeners.pause,n),f(Je.buttons.restart,"click",E.listeners.restart,ge),f(Je.buttons.rewind,"click",E.listeners.rewind,fe),f(Je.buttons.forward,"click",E.listeners.forward,be),f(Je.buttons.speed,"click",E.listeners.speed,function(){var e=t.querySelector('[data-plyr="speed"]:checked').value;ye(Number(e))}),f(Je.buttons.seek,u,E.listeners.seek,ge),f(Je.volume.input,u,E.listeners.volume,function(){Te(Je.volume.input.value)}),f(Je.buttons.mute,"click",E.listeners.mute,we),f(Je.buttons.fullscreen,"click",E.listeners.fullscreen,xe),f(Je.buttons.loop,"click",E.listeners.loop,function(e){var t=e.target.getAttribute("data-loop__value")||e.target.getAttribute("data-loop__type");["loopin","loopout","loopall","loopclear"].indexOf(t)>-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),l="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,s(m)}r.setAttribute("aria-hidden",!l),o.setAttribute("aria-expanded",l),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Be(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",B),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Ye(){if(o(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t✔
Toggle captions
+
+ l
+
+ Toggle Loop All/No Loop
+
+
+ i
+
+ Set the start marker of the loop
+
+
+ o
+
+ Set the end marker of the loop
+
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 490c2626..4f158f04 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -40,6 +40,11 @@
loop: false,
loopin: 0,
loopout: null,
+ loopKeyEvents: {
+ toggleLoop: 76,
+ loopin: 73,
+ loopout: 79
+ },
seekTime: 10,
volume: 10,
volumeMin: 0,
@@ -2463,7 +2468,7 @@
// Toggle loop
function toggleLoop(toggle) {
- if (['loopin', 'loopout', 'loopall'].indexOf(toggle) === -1) {
+ if (['loopin', 'loopout', 'loopall', 'toggle'].indexOf(toggle) === -1) {
toggle = 'loopclear';
}
@@ -2486,6 +2491,15 @@
config.loopin = 0;
config.loopout = plyr.media.duration - 2;
break;
+ case 'toggle':
+ if (config.loop) {
+ config.loopin = 0;
+ config.loopout = null;
+ } else {
+ config.loopin = 0;
+ config.loopout = plyr.media.duration - 2;
+ }
+ break;
default:
config.loopin = 0;
config.loopout = null;
@@ -3528,8 +3542,9 @@
// Which keycodes should we prevent default
var preventDefault = [48, 49, 50, 51, 52, 53, 54, 56, 57, 32, 75, 38, 40, 77, 39, 37, 70, 67];
var checkFocus = [38, 40];
+ var loopKeyEventsValues = Object.values(config.loopKeyEvents);
- if (inArray(checkFocus, code)) {
+ if (inArray(checkFocus, code) || inArray(loopKeyEventsValues, code)) {
var focused = getFocusElement();
if (is.htmlElement(focused) && getFocusElement().type === "radio") {
@@ -3608,6 +3623,29 @@
break;
}
+ //Loop events
+ var loopKeyBindings = config.loopKeyEvents;
+ var hasBindedKey = loopKeyEventsValues.filter(function(el) {
+ return preventDefault.indexOf(el) > -1;
+ }).length >= 1;
+
+ if (hasBindedKey) {
+ loopKeyBindings = defaults.loopKeyEvents;
+ }
+ console.log(loopKeyBindings,'~~~loopKeyBindings')
+
+ switch (code) {
+ case loopKeyBindings.toggleLoop:
+ toggleLoop('toggle');
+ break;
+ case loopKeyBindings.loopin:
+ toggleLoop('loopin');
+ break;
+ case loopKeyBindings.loopout:
+ toggleLoop('loopout');
+ break;
+ }
+
// Escape is handle natively when in full screen
// So we only need to worry about non native
if (!support.fullscreen && plyr.isFullscreen && code === 27) {
--
cgit v1.2.3
From 3f45ef4908e560a130f0d3bffbddf216d89423fe Mon Sep 17 00:00:00 2001
From: Chrysa Papadopoulou
Date: Tue, 14 Feb 2017 16:29:05 +0200
Subject: Removed console
---
dist/plyr.js | 4 ++--
src/js/plyr.js | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/dist/plyr.js b/dist/plyr.js
index 6f3ce6dd..de307707 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([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,o=navigator.userAgent,r=navigator.appName,l=""+parseFloat(navigator.appVersion),s=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,r="IE",l="11"):(n=o.indexOf("MSIE"))!==-1?(i=!0,r="IE",l=o.substring(n+5)):(n=o.indexOf("Chrome"))!==-1?(c=!0,r="Chrome",l=o.substring(n+7)):(n=o.indexOf("Safari"))!==-1?(p=!0,r="Safari",l=o.substring(n+7),(n=o.indexOf("Version"))!==-1&&(l=o.substring(n+8))):(n=o.indexOf("Firefox"))!==-1?(u=!0,r="Firefox",l=o.substring(n+8)):(e=o.lastIndexOf(" ")+1)<(n=o.lastIndexOf("/"))&&(r=o.substring(e,n),l=o.substring(n+1),r.toLowerCase()===r.toUpperCase()&&(r=navigator.appName)),(a=l.indexOf(";"))!==-1&&(l=l.substring(0,a)),(a=l.indexOf(" "))!==-1&&(l=l.substring(0,a)),s=parseInt(""+l,10),isNaN(s)&&(l=""+parseFloat(navigator.appVersion),s=parseInt(navigator.appVersion,10)),{name:r,version:s,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function o(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function l(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,l=o.nextSibling;return a.appendChild(o),l?r.insertBefore(a,l):r.appendChild(a),a}}function s(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var l=0;l',' ',''+E.i18n.play+" ",""),e.push(''),o(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),o(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),o(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),o(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),o(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),o(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),o(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),o(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),o(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),o(E.controls,"settings")&&e.push('"),o(E.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(E.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',E.i18n.quality," "," "].join("")),X(E.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.fullscreen;e||E.fullscreen.fallback&&!U()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){X(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),Y(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=X(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function B(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function Y(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function K(e){return Je.container.querySelectorAll(e)}function X(e){return K(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=K("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",E.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var o=K([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),l=o.length-1;l>=0;l--){var s=o[l];d(s,E.classes.hidden,!1),d(s,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=X(E.selectors.controls.wrapper),Je.buttons={seek:X(E.selectors.buttons.seek),play:K(E.selectors.buttons.play),pause:X(E.selectors.buttons.pause),restart:X(E.selectors.buttons.restart),rewind:X(E.selectors.buttons.rewind),forward:X(E.selectors.buttons.forward),fullscreen:X(E.selectors.buttons.fullscreen),settings:X(E.selectors.buttons.settings),pip:X(E.selectors.buttons.pip),speed:t.querySelectorAll(E.selectors.buttons.speed),loop:t.querySelectorAll(E.selectors.buttons.loop)},Je.buttons.mute=X(E.selectors.buttons.mute),Je.buttons.captions=X(E.selectors.buttons.captions),Je.progress={container:X(E.selectors.progress.container)},Je.progress.buffer=function(){var e=X(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=X(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:X(E.selectors.volume.input),display:X(E.selectors.volume.display)},Je.duration=X(E.selectors.duration),Je.currentTime=X(E.selectors.currentTime),Je.seekTime=K(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},N.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){N.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),o(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,N.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),l(Je.media,e),Je.videoContainer=e}o(E.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var l=K('[id^="'+Je.type+'-"]'),i=l.length-1;i>=0;i--)s(l[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?se(n,o):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function le(){Je.supported.full&&(Ue(),Qe()),te(X("iframe"))}function se(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),le(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loopout=n;break;case"loopall":E.loopin=0,E.loopout=Je.media.duration-2;break;case"toggle":E.loop?(E.loopin=0,E.loopout=null):(E.loopin=0,E.loopout=Je.media.duration-2);break;default:E.loopin=0,E.loopout=null}E.loop=M.number(E.loopin)&&M.number(E.loopout);var a=Me(E.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(E.loopout)?Me(E.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";E.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=E.i18n.loopclear}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),B(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=N.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax));
-}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,l=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||l){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||l)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,s(Je.media),"video"===Je.type&&Je.videoContainer&&s(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),o(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),o(E.types.html5,Je.type)&&$("source",e.sources),oe(),o(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(E.types.html5,Je.type)||o(E.types.embed,Je.type)&&!Je.supported.full)&&(Ue(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),qe(),Ye(),void Ke(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function l(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1}).length>=1;switch(f&&(y=q.loopKeyEvents),console.log(y,"~~~loopKeyBindings"),l){case y.toggleLoop:me("toggle");break;case y.loopin:me("loopin");break;case y.loopout:me("loopout")}!N.fullscreen&&Je.isFullscreen&&27===l&&xe(),c=l}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShorcuts.focused){var c=null;E.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=r(e),n=a(),l=[48,49,50,51,52,53,54,56,57,75,77,70,67],s=F().length;1!==s||!o(l,t)||M.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Je.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=r(e),n=a();9===t&&l(n)}),g(t.body,"click",function(){d(X("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var p in Je.buttons){var b=Je.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}f(Je.buttons.play,"click",E.listeners.play,n),f(Je.buttons.pause,"click",E.listeners.pause,n),f(Je.buttons.restart,"click",E.listeners.restart,ge),f(Je.buttons.rewind,"click",E.listeners.rewind,fe),f(Je.buttons.forward,"click",E.listeners.forward,be),f(Je.buttons.speed,"click",E.listeners.speed,function(){var e=t.querySelector('[data-plyr="speed"]:checked').value;ye(Number(e))}),f(Je.buttons.seek,u,E.listeners.seek,ge),f(Je.volume.input,u,E.listeners.volume,function(){Te(Je.volume.input.value)}),f(Je.buttons.mute,"click",E.listeners.mute,we),f(Je.buttons.fullscreen,"click",E.listeners.fullscreen,xe),f(Je.buttons.loop,"click",E.listeners.loop,function(e){var t=e.target.getAttribute("data-loop__value")||e.target.getAttribute("data-loop__type");["loopin","loopout","loopall","loopclear"].indexOf(t)>-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),l="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,s(m)}r.setAttribute("aria-hidden",!l),o.setAttribute("aria-expanded",l),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Be(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",B),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Ye(){if(o(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,l=o.nextSibling;return a.appendChild(o),l?r.insertBefore(a,l):r.appendChild(a),a}}function s(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var l=0;l',' ',''+E.i18n.play+" ",""),e.push(''),o(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),o(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),o(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),o(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),o(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),o(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),o(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),o(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),o(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),o(E.controls,"settings")&&e.push('"),o(E.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(E.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',E.i18n.quality," "," "].join("")),X(E.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.fullscreen;e||E.fullscreen.fallback&&!U()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){X(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=X(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function K(e){return Je.container.querySelectorAll(e)}function X(e){return K(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=K("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",E.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var o=K([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),l=o.length-1;l>=0;l--){var s=o[l];d(s,E.classes.hidden,!1),d(s,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=X(E.selectors.controls.wrapper),Je.buttons={seek:X(E.selectors.buttons.seek),play:K(E.selectors.buttons.play),pause:X(E.selectors.buttons.pause),restart:X(E.selectors.buttons.restart),rewind:X(E.selectors.buttons.rewind),forward:X(E.selectors.buttons.forward),fullscreen:X(E.selectors.buttons.fullscreen),settings:X(E.selectors.buttons.settings),pip:X(E.selectors.buttons.pip),speed:t.querySelectorAll(E.selectors.buttons.speed),loop:t.querySelectorAll(E.selectors.buttons.loop)},Je.buttons.mute=X(E.selectors.buttons.mute),Je.buttons.captions=X(E.selectors.buttons.captions),Je.progress={container:X(E.selectors.progress.container)},Je.progress.buffer=function(){var e=X(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=X(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:X(E.selectors.volume.input),display:X(E.selectors.volume.display)},Je.duration=X(E.selectors.duration),Je.currentTime=X(E.selectors.currentTime),Je.seekTime=K(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},N.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){N.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),o(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,N.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),l(Je.media,e),Je.videoContainer=e}o(E.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var l=K('[id^="'+Je.type+'-"]'),i=l.length-1;i>=0;i--)s(l[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?se(n,o):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function le(){Je.supported.full&&(Ue(),Qe()),te(X("iframe"))}function se(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),le(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loopout=n;break;case"loopall":E.loopin=0,E.loopout=Je.media.duration-2;break;case"toggle":E.loop?(E.loopin=0,E.loopout=null):(E.loopin=0,E.loopout=Je.media.duration-2);break;default:E.loopin=0,E.loopout=null}E.loop=M.number(E.loopin)&&M.number(E.loopout);var a=Me(E.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(E.loopout)?Me(E.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";E.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=E.i18n.loopclear}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=N.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax));
+}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,l=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||l){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||l)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,s(Je.media),"video"===Je.type&&Je.videoContainer&&s(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),o(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),o(E.types.html5,Je.type)&&$("source",e.sources),oe(),o(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(E.types.html5,Je.type)||o(E.types.embed,Je.type)&&!Je.supported.full)&&(Ue(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),qe(),Be(),void Ke(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function l(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1}).length>=1;switch(f&&(y=q.loopKeyEvents),l){case y.toggleLoop:me("toggle");break;case y.loopin:me("loopin");break;case y.loopout:me("loopout")}!N.fullscreen&&Je.isFullscreen&&27===l&&xe(),c=l}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShorcuts.focused){var c=null;E.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=r(e),n=a(),l=[48,49,50,51,52,53,54,56,57,75,77,70,67],s=F().length;1!==s||!o(l,t)||M.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Je.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=r(e),n=a();9===t&&l(n)}),g(t.body,"click",function(){d(X("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var p in Je.buttons){var b=Je.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}f(Je.buttons.play,"click",E.listeners.play,n),f(Je.buttons.pause,"click",E.listeners.pause,n),f(Je.buttons.restart,"click",E.listeners.restart,ge),f(Je.buttons.rewind,"click",E.listeners.rewind,fe),f(Je.buttons.forward,"click",E.listeners.forward,be),f(Je.buttons.speed,"click",E.listeners.speed,function(){var e=t.querySelector('[data-plyr="speed"]:checked').value;ye(Number(e))}),f(Je.buttons.seek,u,E.listeners.seek,ge),f(Je.volume.input,u,E.listeners.volume,function(){Te(Je.volume.input.value)}),f(Je.buttons.mute,"click",E.listeners.mute,we),f(Je.buttons.fullscreen,"click",E.listeners.fullscreen,xe),f(Je.buttons.loop,"click",E.listeners.loop,function(e){var t=e.target.getAttribute("data-loop__value")||e.target.getAttribute("data-loop__type");["loopin","loopout","loopall","loopclear"].indexOf(t)>-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),l="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,s(m)}r.setAttribute("aria-hidden",!l),o.setAttribute("aria-expanded",l),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t
Date: Tue, 14 Feb 2017 16:42:40 +0200
Subject: Fix on typo
---
src/js/plyr.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 490c2626..f44dc4dc 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -57,7 +57,7 @@
hideControls: true,
showPosterOnEnd: false,
disableContextMenu: true,
- keyboardShorcuts: {
+ keyboardShortcuts: {
focused: true,
global: false
},
@@ -3472,11 +3472,11 @@
}
// Keyboard shortcuts
- if (config.keyboardShorcuts.focused) {
+ if (config.keyboardShortcuts.focused) {
var last = null;
// Handle global presses
- if (config.keyboardShorcuts.global) {
+ if (config.keyboardShortcuts.global) {
on(window, 'keydown keyup', function(event) {
var code = getKeyCode(event),
focused = getFocusElement(),
--
cgit v1.2.3
From 054c243416efa090ec98dcd57d7efd6a6f4baf85 Mon Sep 17 00:00:00 2001
From: Chrysa Papadopoulou
Date: Tue, 14 Feb 2017 16:44:29 +0200
Subject: Fix on typo and gulp
---
dist/plyr.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dist/plyr.js b/dist/plyr.js
index 12373047..4a0f704a 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([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,o=navigator.userAgent,r=navigator.appName,s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,r="IE",s="11"):(n=o.indexOf("MSIE"))!==-1?(i=!0,r="IE",s=o.substring(n+5)):(n=o.indexOf("Chrome"))!==-1?(c=!0,r="Chrome",s=o.substring(n+7)):(n=o.indexOf("Safari"))!==-1?(p=!0,r="Safari",s=o.substring(n+7),(n=o.indexOf("Version"))!==-1&&(s=o.substring(n+8))):(n=o.indexOf("Firefox"))!==-1?(u=!0,r="Firefox",s=o.substring(n+8)):(e=o.lastIndexOf(" ")+1)<(n=o.lastIndexOf("/"))&&(r=o.substring(e,n),s=o.substring(n+1),r.toLowerCase()===r.toUpperCase()&&(r=navigator.appName)),(a=s.indexOf(";"))!==-1&&(s=s.substring(0,a)),(a=s.indexOf(" "))!==-1&&(s=s.substring(0,a)),l=parseInt(""+s,10),isNaN(l)&&(s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10)),{name:r,version:l,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function o(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function s(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,s=o.nextSibling;return a.appendChild(o),s?r.insertBefore(a,s):r.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var s=0;s',' ',''+S.i18n.play+" ",""),e.push(''),o(S.controls,"restart")&&e.push('
',' ',''+S.i18n.restart+" "," "),o(S.controls,"rewind")&&e.push('
',' ',''+S.i18n.rewind+" "," "),o(S.controls,"play")&&e.push('
',' ',''+S.i18n.play+" "," ",'
',' ',''+S.i18n.pause+" "," "),o(S.controls,"fast-forward")&&e.push('
',' ',''+S.i18n.forward+" "," "),o(S.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+S.i18n.buffered," "),S.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(S.controls,"current-time")&&e.push('
',''+S.i18n.currentTime+" ",'00:00 '," "),o(S.controls,"duration")&&e.push('
',''+S.i18n.duration+" ",'00:00 '," "),o(S.controls,"mute")&&e.push('
',' ',' ',''+S.i18n.toggleMute+" "," "),o(S.controls,"volume")&&e.push('
',''+S.i18n.volume+" ",' ',' '," "),o(S.controls,"captions")&&e.push('
',' ',' ',''+S.i18n.toggleCaptions+" "," "),o(S.controls,"settings")&&e.push('"),o(S.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(S.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(S.controls,"fullscreen")&&e.push('
',' ',' ',''+S.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',S.i18n.quality," "," "].join("")),U(S.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||S.fullscreen.allowAudio)&&S.fullscreen.enabled){var e=N.fullscreen;e||S.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,S.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){U(S.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):S.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[S.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[S.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(S.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,S.classes.captions.enabled)}}function W(e){var n=U(S.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,S.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=S.captions.defaultActive),e&&(d(Je.container,S.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(S.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),E(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=S.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",S.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(S.selectors.controls.container)&&(a=t.querySelector(S.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),S.tooltips.controls)for(var o=X([S.selectors.controls.wrapper," ",S.selectors.labels," .",S.classes.hidden].join("")),s=o.length-1;s>=0;s--){var l=o[s];d(l,S.classes.hidden,!1),d(l,S.classes.tooltip,!0)}}function z(){return S.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=U(S.selectors.controls.wrapper),Je.buttons={seek:U(S.selectors.buttons.seek),play:X(S.selectors.buttons.play),pause:U(S.selectors.buttons.pause),restart:U(S.selectors.buttons.restart),rewind:U(S.selectors.buttons.rewind),forward:U(S.selectors.buttons.forward),fullscreen:U(S.selectors.buttons.fullscreen),settings:U(S.selectors.buttons.settings),pip:U(S.selectors.buttons.pip),speed:t.querySelectorAll(S.selectors.buttons.speed),loop:t.querySelectorAll(S.selectors.buttons.loop)},Je.buttons.mute=U(S.selectors.buttons.mute),Je.buttons.captions=U(S.selectors.buttons.captions),Je.progress={container:U(S.selectors.progress.container)},Je.progress.buffer=function(){var e=U(S.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(S.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+S.classes.tooltip),Je.volume={input:U(S.selectors.volume.input),display:U(S.selectors.volume.display)},Je.duration=U(S.selectors.duration),Je.currentTime=U(S.selectors.currentTime),Je.seekTime=X(S.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,S.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(S.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=S.i18n.play;if(M.string(S.title)&&S.title.length&&(t+=", "+S.title,Je.container.setAttribute("aria-label",S.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);M.htmlElement(e)&&e.setAttribute("title",S.i18n.frameTitle.replace("{title}",S.title))}function ne(){var t=null;Je.storage={},N.storage&&S.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(S.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){N.storage&&S.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(S.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,S.classes.type.replace("{0}",Je.type),!0),o(S.types.embed,Je.type)&&d(Je.container,S.classes.type.replace("{0}","video"),!0),d(Je.container,S.classes.pip.enabled,N.pip),d(Je.container,S.classes.stopped,S.autoplay),d(Je.container,S.classes.isIos,Je.browser.isIos),d(Je.container,S.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",S.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}o(S.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,S.classes.videoWrapper,!0),d(Je.media,S.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?le(n,o):(a(S.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(S.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(S.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:S.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:S.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),S.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;S.loopout=n;break;case"loopall":S.loopin=0,S.loopout=Je.media.duration-2;break;default:S.loopin=0,S.loopout=null}S.loop=M.number(S.loopin)&&M.number(S.loopout);var a=Me(S.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(S.loopout)?Me(S.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";S.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=S.i18n.loopclear}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||S.defaultSpeed),!M.array(S.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=S.speeds.indexOf(S.currentSpeed);if(n!==-1){var a=n+1;a>=S.speeds.length&&(a=0),e=S.speeds[a]}else e=S.defaultSpeed}S.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=S.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=S.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(S.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(S.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,S.classes.playing,!Je.media.paused),d(Je.container,S.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=N.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(S.volume),o(S.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(S.volume/S.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=S.volumeMax,n=S.volumeMin;
-if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=S.volume),e>t&&(e=t),e0&&we()}function Se(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t+e)}function Ee(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*S.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,S.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(S.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,S.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){S.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,S.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(S.loopin)&&M.number(S.loopout)&&Je.media.currentTime>=S.loopout&&ge(S.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&S.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(S.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=S.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(S.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,s=m(Je.container,S.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,S.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||s){if(d(Je.container,S.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,S.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(S.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(S.autoplay=e.autoplay),o(S.types.html5,Je.type)&&(S.crossorigin&&Je.media.setAttribute("crossorigin",""),S.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),S.loop&&Je.media.setAttribute("loop","")),d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),d(Je.container,S.classes.captions.active,Je.captionsEnabled),Z(),o(S.types.html5,Je.type)&&$("source",e.sources),oe(),o(S.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(S.types.html5,Je.type)||o(S.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),S.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,S.classes.ready,!1),pe(),Oe(),qe(),Be(),void Xe(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,S.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,S.classes.tabFocus,!1),d(n,S.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),s="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}r.setAttribute("aria-hidden",!s),o.setAttribute("aria-expanded",s),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),S.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=S.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Ee(n):Se(n)),(e.deltaY>0||e.deltaX<0)&&(t?Se(n):Ee(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&S.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),S.clickToPlay&&"audio"!==Je.type){var e=U("."+S.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){S.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}S.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,S.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(S.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;tt&&(e=t),e0&&we()}function Se(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t+e)}function Ee(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*S.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,S.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(S.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,S.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){S.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,S.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(S.loopin)&&M.number(S.loopout)&&Je.media.currentTime>=S.loopout&&ge(S.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&S.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(S.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=S.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(S.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,s=m(Je.container,S.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,S.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||s){if(d(Je.container,S.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,S.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(S.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(S.autoplay=e.autoplay),o(S.types.html5,Je.type)&&(S.crossorigin&&Je.media.setAttribute("crossorigin",""),S.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),S.loop&&Je.media.setAttribute("loop","")),d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),d(Je.container,S.classes.captions.active,Je.captionsEnabled),Z(),o(S.types.html5,Je.type)&&$("source",e.sources),oe(),o(S.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(S.types.html5,Je.type)||o(S.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),S.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,S.classes.ready,!1),pe(),Oe(),qe(),Be(),void Xe(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,S.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,S.classes.tabFocus,!1),d(n,S.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),s="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}r.setAttribute("aria-hidden",!s),o.setAttribute("aria-expanded",s),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),S.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=S.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Ee(n):Se(n)),(e.deltaY>0||e.deltaX<0)&&(t?Se(n):Ee(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&S.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),S.clickToPlay&&"audio"!==Je.type){var e=U("."+S.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){S.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}S.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,S.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(S.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t
Date: Tue, 14 Feb 2017 17:15:27 +0200
Subject: Add looping key bindings to allowed array
---
dist/plyr.js | 2 +-
src/js/plyr.js | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dist/plyr.js b/dist/plyr.js
index de307707..cc1bf913 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([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,o=navigator.userAgent,r=navigator.appName,l=""+parseFloat(navigator.appVersion),s=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,r="IE",l="11"):(n=o.indexOf("MSIE"))!==-1?(i=!0,r="IE",l=o.substring(n+5)):(n=o.indexOf("Chrome"))!==-1?(c=!0,r="Chrome",l=o.substring(n+7)):(n=o.indexOf("Safari"))!==-1?(p=!0,r="Safari",l=o.substring(n+7),(n=o.indexOf("Version"))!==-1&&(l=o.substring(n+8))):(n=o.indexOf("Firefox"))!==-1?(u=!0,r="Firefox",l=o.substring(n+8)):(e=o.lastIndexOf(" ")+1)<(n=o.lastIndexOf("/"))&&(r=o.substring(e,n),l=o.substring(n+1),r.toLowerCase()===r.toUpperCase()&&(r=navigator.appName)),(a=l.indexOf(";"))!==-1&&(l=l.substring(0,a)),(a=l.indexOf(" "))!==-1&&(l=l.substring(0,a)),s=parseInt(""+l,10),isNaN(s)&&(l=""+parseFloat(navigator.appVersion),s=parseInt(navigator.appVersion,10)),{name:r,version:s,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function o(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function l(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,l=o.nextSibling;return a.appendChild(o),l?r.insertBefore(a,l):r.appendChild(a),a}}function s(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var l=0;l',' ',''+E.i18n.play+" ",""),e.push(''),o(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),o(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),o(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),o(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),o(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),o(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),o(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),o(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),o(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),o(E.controls,"settings")&&e.push('"),o(E.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(E.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',E.i18n.quality," "," "].join("")),X(E.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.fullscreen;e||E.fullscreen.fallback&&!U()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){X(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=X(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function K(e){return Je.container.querySelectorAll(e)}function X(e){return K(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=K("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",E.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var o=K([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),l=o.length-1;l>=0;l--){var s=o[l];d(s,E.classes.hidden,!1),d(s,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=X(E.selectors.controls.wrapper),Je.buttons={seek:X(E.selectors.buttons.seek),play:K(E.selectors.buttons.play),pause:X(E.selectors.buttons.pause),restart:X(E.selectors.buttons.restart),rewind:X(E.selectors.buttons.rewind),forward:X(E.selectors.buttons.forward),fullscreen:X(E.selectors.buttons.fullscreen),settings:X(E.selectors.buttons.settings),pip:X(E.selectors.buttons.pip),speed:t.querySelectorAll(E.selectors.buttons.speed),loop:t.querySelectorAll(E.selectors.buttons.loop)},Je.buttons.mute=X(E.selectors.buttons.mute),Je.buttons.captions=X(E.selectors.buttons.captions),Je.progress={container:X(E.selectors.progress.container)},Je.progress.buffer=function(){var e=X(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=X(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:X(E.selectors.volume.input),display:X(E.selectors.volume.display)},Je.duration=X(E.selectors.duration),Je.currentTime=X(E.selectors.currentTime),Je.seekTime=K(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},N.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){N.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),o(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,N.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),l(Je.media,e),Je.videoContainer=e}o(E.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var l=K('[id^="'+Je.type+'-"]'),i=l.length-1;i>=0;i--)s(l[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?se(n,o):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function le(){Je.supported.full&&(Ue(),Qe()),te(X("iframe"))}function se(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),le(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loopout=n;break;case"loopall":E.loopin=0,E.loopout=Je.media.duration-2;break;case"toggle":E.loop?(E.loopin=0,E.loopout=null):(E.loopin=0,E.loopout=Je.media.duration-2);break;default:E.loopin=0,E.loopout=null}E.loop=M.number(E.loopin)&&M.number(E.loopout);var a=Me(E.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(E.loopout)?Me(E.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";E.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=E.i18n.loopclear}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=N.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax));
-}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,l=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||l){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||l)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,s(Je.media),"video"===Je.type&&Je.videoContainer&&s(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),o(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),o(E.types.html5,Je.type)&&$("source",e.sources),oe(),o(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(E.types.html5,Je.type)||o(E.types.embed,Je.type)&&!Je.supported.full)&&(Ue(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),qe(),Be(),void Ke(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function l(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1}).length>=1;switch(f&&(y=q.loopKeyEvents),l){case y.toggleLoop:me("toggle");break;case y.loopin:me("loopin");break;case y.loopout:me("loopout")}!N.fullscreen&&Je.isFullscreen&&27===l&&xe(),c=l}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShorcuts.focused){var c=null;E.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=r(e),n=a(),l=[48,49,50,51,52,53,54,56,57,75,77,70,67],s=F().length;1!==s||!o(l,t)||M.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Je.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=r(e),n=a();9===t&&l(n)}),g(t.body,"click",function(){d(X("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var p in Je.buttons){var b=Je.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}f(Je.buttons.play,"click",E.listeners.play,n),f(Je.buttons.pause,"click",E.listeners.pause,n),f(Je.buttons.restart,"click",E.listeners.restart,ge),f(Je.buttons.rewind,"click",E.listeners.rewind,fe),f(Je.buttons.forward,"click",E.listeners.forward,be),f(Je.buttons.speed,"click",E.listeners.speed,function(){var e=t.querySelector('[data-plyr="speed"]:checked').value;ye(Number(e))}),f(Je.buttons.seek,u,E.listeners.seek,ge),f(Je.volume.input,u,E.listeners.volume,function(){Te(Je.volume.input.value)}),f(Je.buttons.mute,"click",E.listeners.mute,we),f(Je.buttons.fullscreen,"click",E.listeners.fullscreen,xe),f(Je.buttons.loop,"click",E.listeners.loop,function(e){var t=e.target.getAttribute("data-loop__value")||e.target.getAttribute("data-loop__type");["loopin","loopout","loopall","loopclear"].indexOf(t)>-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),l="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,s(m)}r.setAttribute("aria-hidden",!l),o.setAttribute("aria-expanded",l),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;tt&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,l=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||l){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||l)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,s(Je.media),"video"===Je.type&&Je.videoContainer&&s(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),o(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),o(E.types.html5,Je.type)&&$("source",e.sources),oe(),o(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(E.types.html5,Je.type)||o(E.types.embed,Je.type)&&!Je.supported.full)&&(Ue(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),qe(),Be(),void Ke(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function l(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1}).length>=1;switch(f&&(y=q.loopKeyEvents),l){case y.toggleLoop:me("toggle");break;case y.loopin:me("loopin");break;case y.loopout:me("loopout")}!N.fullscreen&&Je.isFullscreen&&27===l&&xe(),c=l}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShorcuts.focused){var c=null;E.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=r(e),n=a(),l=[48,49,50,51,52,53,54,56,57,75,77,70,67],s=F().length;l=l.concat(Object.values(E.loopKeyEvents)),1!==s||!o(l,t)||M.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Je.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=r(e),n=a();9===t&&l(n)}),g(t.body,"click",function(){d(X("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var p in Je.buttons){var b=Je.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}f(Je.buttons.play,"click",E.listeners.play,n),f(Je.buttons.pause,"click",E.listeners.pause,n),f(Je.buttons.restart,"click",E.listeners.restart,ge),f(Je.buttons.rewind,"click",E.listeners.rewind,fe),f(Je.buttons.forward,"click",E.listeners.forward,be),f(Je.buttons.speed,"click",E.listeners.speed,function(){var e=t.querySelector('[data-plyr="speed"]:checked').value;ye(Number(e))}),f(Je.buttons.seek,u,E.listeners.seek,ge),f(Je.volume.input,u,E.listeners.volume,function(){Te(Je.volume.input.value)}),f(Je.buttons.mute,"click",E.listeners.mute,we),f(Je.buttons.fullscreen,"click",E.listeners.fullscreen,xe),f(Je.buttons.loop,"click",E.listeners.loop,function(e){var t=e.target.getAttribute("data-loop__value")||e.target.getAttribute("data-loop__type");["loopin","loopout","loopall","loopclear"].indexOf(t)>-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),l="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,s(m)}r.setAttribute("aria-hidden",!l),o.setAttribute("aria-expanded",l),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t
Date: Wed, 15 Feb 2017 17:41:04 +0200
Subject: Colored strip indicating looped area
---
dist/plyr.js | 4 ++--
src/js/plyr.js | 26 +++++++++++++++++++++++++-
2 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/dist/plyr.js b/dist/plyr.js
index 4a0f704a..86b0629e 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([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,o=navigator.userAgent,r=navigator.appName,s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,r="IE",s="11"):(n=o.indexOf("MSIE"))!==-1?(i=!0,r="IE",s=o.substring(n+5)):(n=o.indexOf("Chrome"))!==-1?(c=!0,r="Chrome",s=o.substring(n+7)):(n=o.indexOf("Safari"))!==-1?(p=!0,r="Safari",s=o.substring(n+7),(n=o.indexOf("Version"))!==-1&&(s=o.substring(n+8))):(n=o.indexOf("Firefox"))!==-1?(u=!0,r="Firefox",s=o.substring(n+8)):(e=o.lastIndexOf(" ")+1)<(n=o.lastIndexOf("/"))&&(r=o.substring(e,n),s=o.substring(n+1),r.toLowerCase()===r.toUpperCase()&&(r=navigator.appName)),(a=s.indexOf(";"))!==-1&&(s=s.substring(0,a)),(a=s.indexOf(" "))!==-1&&(s=s.substring(0,a)),l=parseInt(""+s,10),isNaN(l)&&(s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10)),{name:r,version:l,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function o(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function s(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,s=o.nextSibling;return a.appendChild(o),s?r.insertBefore(a,s):r.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var s=0;s',' ',''+S.i18n.play+" ",""),e.push(''),o(S.controls,"restart")&&e.push('
',' ',''+S.i18n.restart+" "," "),o(S.controls,"rewind")&&e.push('
',' ',''+S.i18n.rewind+" "," "),o(S.controls,"play")&&e.push('
',' ',''+S.i18n.play+" "," ",'
',' ',''+S.i18n.pause+" "," "),o(S.controls,"fast-forward")&&e.push('
',' ',''+S.i18n.forward+" "," "),o(S.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+S.i18n.buffered," "),S.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(S.controls,"current-time")&&e.push('
',''+S.i18n.currentTime+" ",'00:00 '," "),o(S.controls,"duration")&&e.push('
',''+S.i18n.duration+" ",'00:00 '," "),o(S.controls,"mute")&&e.push('
',' ',' ',''+S.i18n.toggleMute+" "," "),o(S.controls,"volume")&&e.push('
',''+S.i18n.volume+" ",' ',' '," "),o(S.controls,"captions")&&e.push('
',' ',' ',''+S.i18n.toggleCaptions+" "," "),o(S.controls,"settings")&&e.push('"),o(S.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(S.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(S.controls,"fullscreen")&&e.push('
',' ',' ',''+S.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',S.i18n.quality," "," "].join("")),U(S.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||S.fullscreen.allowAudio)&&S.fullscreen.enabled){var e=N.fullscreen;e||S.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,S.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){U(S.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):S.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[S.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[S.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(S.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,S.classes.captions.enabled)}}function W(e){var n=U(S.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,S.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=S.captions.defaultActive),e&&(d(Je.container,S.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(S.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),E(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=S.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",S.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(S.selectors.controls.container)&&(a=t.querySelector(S.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),S.tooltips.controls)for(var o=X([S.selectors.controls.wrapper," ",S.selectors.labels," .",S.classes.hidden].join("")),s=o.length-1;s>=0;s--){var l=o[s];d(l,S.classes.hidden,!1),d(l,S.classes.tooltip,!0)}}function z(){return S.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=U(S.selectors.controls.wrapper),Je.buttons={seek:U(S.selectors.buttons.seek),play:X(S.selectors.buttons.play),pause:U(S.selectors.buttons.pause),restart:U(S.selectors.buttons.restart),rewind:U(S.selectors.buttons.rewind),forward:U(S.selectors.buttons.forward),fullscreen:U(S.selectors.buttons.fullscreen),settings:U(S.selectors.buttons.settings),pip:U(S.selectors.buttons.pip),speed:t.querySelectorAll(S.selectors.buttons.speed),loop:t.querySelectorAll(S.selectors.buttons.loop)},Je.buttons.mute=U(S.selectors.buttons.mute),Je.buttons.captions=U(S.selectors.buttons.captions),Je.progress={container:U(S.selectors.progress.container)},Je.progress.buffer=function(){var e=U(S.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(S.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+S.classes.tooltip),Je.volume={input:U(S.selectors.volume.input),display:U(S.selectors.volume.display)},Je.duration=U(S.selectors.duration),Je.currentTime=U(S.selectors.currentTime),Je.seekTime=X(S.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,S.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(S.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=S.i18n.play;if(M.string(S.title)&&S.title.length&&(t+=", "+S.title,Je.container.setAttribute("aria-label",S.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);M.htmlElement(e)&&e.setAttribute("title",S.i18n.frameTitle.replace("{title}",S.title))}function ne(){var t=null;Je.storage={},N.storage&&S.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(S.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){N.storage&&S.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(S.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,S.classes.type.replace("{0}",Je.type),!0),o(S.types.embed,Je.type)&&d(Je.container,S.classes.type.replace("{0}","video"),!0),d(Je.container,S.classes.pip.enabled,N.pip),d(Je.container,S.classes.stopped,S.autoplay),d(Je.container,S.classes.isIos,Je.browser.isIos),d(Je.container,S.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",S.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}o(S.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,S.classes.videoWrapper,!0),d(Je.media,S.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?le(n,o):(a(S.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(S.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(S.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:S.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:S.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),S.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;S.loopout=n;break;case"loopall":S.loopin=0,S.loopout=Je.media.duration-2;break;default:S.loopin=0,S.loopout=null}S.loop=M.number(S.loopin)&&M.number(S.loopout);var a=Me(S.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(S.loopout)?Me(S.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";S.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=S.i18n.loopclear}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||S.defaultSpeed),!M.array(S.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=S.speeds.indexOf(S.currentSpeed);if(n!==-1){var a=n+1;a>=S.speeds.length&&(a=0),e=S.speeds[a]}else e=S.defaultSpeed}S.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=S.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=S.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(S.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(S.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,S.classes.playing,!Je.media.paused),d(Je.container,S.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=N.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(S.volume),o(S.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(S.volume/S.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=S.volumeMax,n=S.volumeMin;
-if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=S.volume),e>t&&(e=t),e0&&we()}function Se(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t+e)}function Ee(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*S.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,S.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(S.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,S.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){S.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,S.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(S.loopin)&&M.number(S.loopout)&&Je.media.currentTime>=S.loopout&&ge(S.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&S.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(S.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=S.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(S.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,s=m(Je.container,S.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,S.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||s){if(d(Je.container,S.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,S.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(S.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(S.autoplay=e.autoplay),o(S.types.html5,Je.type)&&(S.crossorigin&&Je.media.setAttribute("crossorigin",""),S.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),S.loop&&Je.media.setAttribute("loop","")),d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),d(Je.container,S.classes.captions.active,Je.captionsEnabled),Z(),o(S.types.html5,Je.type)&&$("source",e.sources),oe(),o(S.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(S.types.html5,Je.type)||o(S.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),S.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,S.classes.ready,!1),pe(),Oe(),qe(),Be(),void Xe(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,S.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,S.classes.tabFocus,!1),d(n,S.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),s="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}r.setAttribute("aria-hidden",!s),o.setAttribute("aria-expanded",s),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),S.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=S.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Ee(n):Se(n)),(e.deltaY>0||e.deltaX<0)&&(t?Se(n):Ee(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&S.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),S.clickToPlay&&"audio"!==Je.type){var e=U("."+S.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){S.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}S.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,S.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(S.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,s=o.nextSibling;return a.appendChild(o),s?r.insertBefore(a,s):r.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function p(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function c(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var s=0;s',' ',''+S.i18n.play+" ",""),e.push(''),o(S.controls,"restart")&&e.push('
',' ',''+S.i18n.restart+" "," "),o(S.controls,"rewind")&&e.push('
',' ',''+S.i18n.rewind+" "," "),o(S.controls,"play")&&e.push('
',' ',''+S.i18n.play+" "," ",'
',' ',''+S.i18n.pause+" "," "),o(S.controls,"fast-forward")&&e.push('
',' ',''+S.i18n.forward+" "," "),o(S.controls,"progress")&&(e.push('
','
','Seek ',' ',' ','',"0 % "+S.i18n.buffered," "),S.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(S.controls,"current-time")&&e.push('
',''+S.i18n.currentTime+" ",'00:00 '," "),o(S.controls,"duration")&&e.push('
',''+S.i18n.duration+" ",'00:00 '," "),o(S.controls,"mute")&&e.push('
',' ',' ',''+S.i18n.toggleMute+" "," "),o(S.controls,"volume")&&e.push('
',''+S.i18n.volume+" ",' ',' '," "),o(S.controls,"captions")&&e.push('
',' ',' ',''+S.i18n.toggleCaptions+" "," "),o(S.controls,"settings")&&e.push('"),o(S.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(S.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(S.controls,"fullscreen")&&e.push('
',' ',' ',''+S.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(ze.quality)&&(ze.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',S.i18n.quality," "," "].join("")),U(S.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(ze.supported.full&&("audio"!==ze.type||S.fullscreen.allowAudio)&&S.fullscreen.enabled){var e=N.fullscreen;e||S.fullscreen.fallback&&!K()?(et((e?"Native":"Fallback")+" fullscreen enabled"),d(ze.container,S.classes.fullscreen.enabled,!0)):et("Fullscreen not supported and fallback disabled"),ze.buttons&&ze.buttons.fullscreen&&_(ze.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===ze.type){U(S.selectors.captions)||ze.videoContainer.insertAdjacentHTML("afterbegin",'
'),ze.usingTextTracks=!1,ze.media.textTracks&&(ze.usingTextTracks=!0);var e=[],t="";if(ze.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),ze.captionExists=!0,0===e.length?(ze.captionExists=!1,et("No caption track found")):S.captions.selectedIndex+1>e.length?(ze.captionExists=!1,et("Caption index out of bound")):(t=e[S.captions.selectedIndex],et("Caption track found; URI: "+t)),ze.captionExists){var n=ze.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),B(ze),(ze.browser.isIE&&ze.browser.version>=10||ze.browser.isFirefox&&ze.browser.version>=31)&&(et("Detected browser with known TextTrack issues - using manual fallback"),ze.usingTextTracks=!1),ze.usingTextTracks){et("TextTracks supported");var a=n[S.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(et("TextTracks not supported so rendering captions manually"),ze.currentCaption="",ze.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);ze.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),ze.captions.shift(),et("Successfully loaded the caption file via AJAX")}else tt(S.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(ze.container,S.classes.captions.enabled)}}function W(e){var n=U(S.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aze.captions.length-1){ze.subcount=ze.captions.length-1;break}ze.media.currentTime.toFixed(1)>=n(ze.captions[ze.subcount][0])&&ze.media.currentTime.toFixed(1)<=a(ze.captions[ze.subcount][0])?(ze.currentCaption=ze.captions[ze.subcount][1],W(ze.currentCaption)):W()}}function B(){if(ze.buttons.captions){d(ze.container,S.classes.captions.enabled,!0);var e=ze.storage.captionsEnabled;M.boolean(e)||(e=S.captions.defaultActive),e&&(d(ze.container,S.classes.captions.active,!0),_(ze.buttons.captions,!0))}}function X(e){return ze.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&ze.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(ze.container,"keydown",e)}function $(e,t){if(M.string(t))p(e,ze.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)p(e,ze.media,t[n])}function J(){if(S.loadSprite){var e=O();e.absolute?(et("AJAX loading absolute SVG sprite"+(ze.browser.isIE?" (due to IE)":"")),E(e.url,"sprite-plyr")):et("Sprite will be used as external resource directly")}var n=S.html;et("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",S.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),ze.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",ze.id);var a;if(M.string(S.selectors.controls.container)&&(a=t.querySelector(S.selectors.controls.container)),M.htmlElement(a)||(a=ze.container),a.insertAdjacentHTML("beforeend",n),S.tooltips.controls)for(var o=X([S.selectors.controls.wrapper," ",S.selectors.labels," .",S.classes.hidden].join("")),s=o.length-1;s>=0;s--){var l=o[s];d(l,S.classes.hidden,!1),d(l,S.classes.tooltip,!0)}}function z(){return S.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return ze.controls=U(S.selectors.controls.wrapper),ze.buttons={seek:U(S.selectors.buttons.seek),play:X(S.selectors.buttons.play),pause:U(S.selectors.buttons.pause),restart:U(S.selectors.buttons.restart),rewind:U(S.selectors.buttons.rewind),forward:U(S.selectors.buttons.forward),fullscreen:U(S.selectors.buttons.fullscreen),settings:U(S.selectors.buttons.settings),pip:U(S.selectors.buttons.pip),speed:t.querySelectorAll(S.selectors.buttons.speed),loop:t.querySelectorAll(S.selectors.buttons.loop)},ze.buttons.mute=U(S.selectors.buttons.mute),ze.buttons.captions=U(S.selectors.buttons.captions),ze.progress={container:U(S.selectors.progress.container)},ze.progress.buffer=function(){var e=U(S.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),ze.progress.played=U(S.selectors.progress.played),ze.progress.tooltip=ze.progress.container&&ze.progress.container.querySelector("."+S.classes.tooltip),ze.volume={input:U(S.selectors.volume.input),display:U(S.selectors.volume.display)},ze.duration=U(S.selectors.duration),ze.currentTime=U(S.selectors.currentTime),ze.seekTime=X(S.selectors.seekTime),!0}catch(e){return tt("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(ze.container,S.selectors.container.replace(".",""),ze.supported.full)}function ee(e){e&&o(S.types.html5,ze.type)?ze.media.setAttribute("controls",""):ze.media.removeAttribute("controls")}function te(e){var t=S.i18n.play;if(M.string(S.title)&&S.title.length&&(t+=", "+S.title,ze.container.setAttribute("aria-label",S.title)),ze.supported.full&&ze.buttons.play)for(var n=ze.buttons.play.length-1;n>=0;n--)ze.buttons.play[n].setAttribute("aria-label",t);M.htmlElement(e)&&e.setAttribute("title",S.i18n.frameTitle.replace("{title}",S.title))}function ne(){var t=null;ze.storage={},N.storage&&S.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(S.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):ze.storage=JSON.parse(t)))}function ae(t){N.storage&&S.storage.enabled&&(x(ze.storage,t),e.localStorage.setItem(S.storage.key,JSON.stringify(ze.storage)))}function oe(){if(!ze.media)return void tt("No media element found!");if(ze.supported.full&&(d(ze.container,S.classes.type.replace("{0}",ze.type),!0),o(S.types.embed,ze.type)&&d(ze.container,S.classes.type.replace("{0}","video"),!0),d(ze.container,S.classes.pip.enabled,N.pip),d(ze.container,S.classes.stopped,S.autoplay),d(ze.container,S.classes.isIos,ze.browser.isIos),d(ze.container,S.classes.isTouch,ze.browser.isTouch),"video"===ze.type)){var e=t.createElement("div");e.setAttribute("class",S.classes.videoWrapper),s(ze.media,e),ze.videoContainer=e}o(S.types.embed,ze.type)&&re()}function re(){var n,o=t.createElement("div"),r=ze.type+"-"+Math.floor(1e4*Math.random());switch(ze.type){case"youtube":n=w(ze.embedId);break;case"vimeo":n=T(ze.embedId);break;default:n=ze.embedId}for(var s=X('[id^="'+ze.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(ze.media,S.classes.videoWrapper,!0),d(ze.media,S.classes.embedWrapper,!0),"youtube"===ze.type)ze.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?le(n,o):(a(S.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===ze.type)if(ze.supported.full?ze.media.appendChild(o):o=ze.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(S.urls.vimeo.api);var p=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(p),ie(n,o))},50)}else if("soundcloud"===ze.type){var c=t.createElement("iframe");c.loaded=!1,g(c,"load",function(){c.loaded=!0}),u(c,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(c),ze.media.appendChild(o),e.SC||a(S.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&c.loaded&&(e.clearInterval(m),ue.call(c))},50)}}function se(){ze.supported.full&&(Qe(),$e()),te(U("iframe"))}function le(t,n){ze.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:S.autoplay?1:0,controls:ze.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:S.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(ze.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},onReady:function(t){var n=t.target;ze.media.play=function(){n.playVideo(),ze.media.paused=!1},ze.media.pause=function(){n.pauseVideo(),ze.media.paused=!0},ze.media.stop=function(){n.stopVideo(),ze.media.paused=!0},ze.media.duration=n.getDuration(),ze.media.paused=!0,ze.media.currentTime=0,ze.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),S.title=n.getVideoData().title,ze.supported.full&&ze.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(ze.media,"timeupdate"),C(ze.media,"durationchange"),e.clearInterval(Ge.buffering),Ge.buffering=e.setInterval(function(){ze.media.buffered=n.getVideoLoadedFraction(),(null===ze.media.lastBuffered||ze.media.lastBuffered=n)return;S.loopout=n,S.loopoutPositionPercentage=ze.progress.played.value;break;case"loopall":S.loopin=0,S.loopout=ze.media.duration-2,S.loopinPositionPercentage=0,S.loopoutPositionPercentage=100;break;default:S.loopin=0,S.loopout=null}S.loop=M.number(S.loopin)&&M.number(S.loopout);var a=Ne(S.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(S.loopout)?Ne(S.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";S.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=S.i18n.loopclear,ye()}function ye(){S.loop?(U(S.selectors.progress.looped).style.position="absolute",U(S.selectors.progress.looped).style.left=S.loopinPositionPercentage+"%",U(S.selectors.progress.looped).style.width=S.loopoutPositionPercentage-S.loopinPositionPercentage+"%",U(S.selectors.progress.looped).style.background="#ffbb00",U(S.selectors.progress.looped).style.height="3px",U(S.selectors.progress.looped).style.top="3px",U(S.selectors.progress.looped).style["border-radius"]="100px"):U(S.selectors.progress.looped).style.width="0px"}function fe(e){if(M.undefined(e)&&(e=ze.storage.speed||S.defaultSpeed),!M.array(S.speeds))return void tt("Invalid speeds format");if(!M.number(e)){var n=S.speeds.indexOf(S.currentSpeed);if(n!==-1){var a=n+1;a>=S.speeds.length&&(a=0),e=S.speeds[a]}else e=S.defaultSpeed}S.currentSpeed=e,ze.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function be(e){M.number(e)||(e=S.seekTime),ve(ze.media.currentTime-e)}function ge(e){M.number(e)||(e=S.seekTime),ve(ze.media.currentTime+e)}function ve(e){var t=0,n=ze.media.paused,a=he();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),je(t);try{ze.media.currentTime=t.toFixed(4)}catch(e){}if(o(S.types.embed,ze.type)){switch(ze.type){case"youtube":ze.embed.seekTo(t);break;case"vimeo":ze.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":ze.embed.seekTo(1e3*t)}n&&ce(),C(ze.media,"timeupdate"),ze.media.seeking=!0,C(ze.media,"seeking")}et("Seeking to "+ze.media.currentTime+" seconds"),Y(t)}function he(){var e=parseInt(S.duration),t=0;return null===ze.media.duration||isNaN(ze.media.duration)||(t=ze.media.duration),isNaN(e)?t:e}function _e(){d(ze.container,S.classes.playing,!ze.media.paused),d(ze.container,S.classes.stopped,ze.media.paused),Re(ze.media.paused)}function ke(){I={x:e.pageXOffset||0,y:e.pageYOffset||0}}function xe(){e.scrollTo(I.x,I.y)}function we(e){var n=N.fullscreen;if(n){if(!e||e.type!==F.eventType)return F.isFullScreen(ze.container)?F.cancelFullScreen():(ke(),F.requestFullScreen(ze.container)),void(ze.isFullscreen=F.isFullScreen(ze.container));ze.isFullscreen=F.isFullScreen(ze.container);
+}else ze.isFullscreen=!ze.isFullscreen,t.body.style.overflow=ze.isFullscreen?"hidden":"";d(ze.container,S.classes.fullscreen.active,ze.isFullscreen),Q(ze.isFullscreen),ze.buttons&&ze.buttons.fullscreen&&_(ze.buttons.fullscreen,ze.isFullscreen),C(ze.container,ze.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!ze.isFullscreen&&n&&xe()}function Te(e){if(M.boolean(e)||(e=!ze.media.muted),_(ze.buttons.mute,e),ze.media.muted=e,0===ze.media.volume&&Se(S.volume),o(S.types.embed,ze.type)){switch(ze.type){case"youtube":ze.embed[ze.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":ze.embed.setVolume(ze.media.muted?0:parseFloat(S.volume/S.volumeMax))}C(ze.media,"volumechange")}}function Se(e){var t=S.volumeMax,n=S.volumeMin;if(M.undefined(e)&&(e=ze.storage.volume),(null===e||isNaN(e))&&(e=S.volume),e>t&&(e=t),e0&&Te()}function Ee(e){var t=ze.media.muted?0:ze.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Se(t+e)}function Ae(e){var t=ze.media.muted?0:ze.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Se(t-e)}function Ce(){var e=ze.media.muted?0:ze.media.volume*S.volumeMax;ze.supported.full&&(ze.volume.input&&(ze.volume.input.value=e),ze.volume.display&&(ze.volume.display.value=e)),ae({volume:e}),d(ze.container,S.classes.muted,0===e),ze.supported.full&&ze.buttons.mute&&_(ze.buttons.mute,0===e)}function Pe(e){ze.supported.full&&ze.buttons.captions&&(M.boolean(e)||(e=ze.container.className.indexOf(S.classes.captions.active)===-1),ze.captionsEnabled=e,_(ze.buttons.captions,ze.captionsEnabled),d(ze.container,S.classes.captions.active,ze.captionsEnabled),C(ze.container,ze.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:ze.captionsEnabled}))}function Fe(e){S.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(Ge.loading),Ge.loading=setTimeout(function(){d(ze.container,S.classes.loading,t),Re(t)},t?250:0)}function qe(e){if(ze.supported.full){var t=ze.progress.played,n=0,a=he();if(e)switch(e.type){case"timeupdate":case"seeking":if(ze.controls.pressed)return;n=k(ze.media.currentTime,a),"timeupdate"===e.type&&ze.buttons.seek&&(ze.buttons.seek.value=n);break;case"playing":case"progress":t=ze.progress.buffer,n=function(){var e=ze.media.buffered;return e&&e.length?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(S.loopin)&&M.number(S.loopout)&&ze.media.currentTime>=S.loopout&&ve(S.loopin),Me(t,n)}}function Me(e,t){if(ze.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!ze.progress||!ze.progress.buffer)return;e=ze.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ne(e,t){if(t){isNaN(e)&&(e=0),ze.secs=parseInt(e%60),ze.mins=parseInt(e/60%60),ze.hours=parseInt(e/60/60%60);var n=parseInt(he()/60/60%60)>0;ze.secs=("0"+ze.secs).slice(-2),ze.mins=("0"+ze.mins).slice(-2);var a=(n?ze.hours+":":"")+ze.mins+":"+ze.secs;return t.innerHTML=a,a}}function Le(){if(ze.supported.full){var e=he()||0;!ze.duration&&S.displayDuration&&ze.media.paused&&Ne(e,ze.currentTime),ze.duration&&Ne(e,ze.duration),He()}}function Oe(e){Ne(ze.media.currentTime,ze.currentTime),e&&"timeupdate"===e.type&&ze.media.seeking||qe(e)}function je(e){M.number(e)||(e=0);var t=he(),n=k(e,t);ze.progress&&ze.progress.played&&(ze.progress.played.value=n),ze.buttons&&ze.buttons.seek&&(ze.buttons.seek.value=n)}function He(e){var t=he();if(S.tooltips.seek&&ze.progress.container&&0!==t){var n=ze.progress.container.getBoundingClientRect(),a=0,r=S.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(ze.progress.tooltip,r))return;a=ze.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Ne(t/100*a,ze.progress.tooltip),ze.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(ze.progress.tooltip,r,"mouseenter"===e.type)}}function Re(t){if(S.hideControls&&"audio"!==ze.type){var n=0,a=!1,r=t,s=m(ze.container,S.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(ze.container,S.classes.hideControls)),e.clearTimeout(Ge.hover),r||ze.media.paused||s){if(d(ze.container,S.classes.hideControls,!1),ze.media.paused||s)return;ze.browser.isTouch&&(n=3e3)}r&&ze.media.paused||(Ge.hover=e.setTimeout(function(){(!ze.controls.pressed&&!ze.controls.hover||a)&&d(ze.container,S.classes.hideControls,!0)},n))}}function De(e){if(!M.undefined(e))return void Ve(e);var t;switch(ze.type){case"youtube":t=ze.embed.getVideoUrl();break;case"vimeo":ze.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":ze.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=ze.media.currentSrc}return t||""}function Ve(e){function n(){if(ze.embed=null,l(ze.media),"video"===ze.type&&ze.videoContainer&&l(ze.videoContainer),ze.container&&ze.container.removeAttribute("class"),"type"in e&&(ze.type=e.type,"video"===ze.type)){var n=e.sources[0];"type"in n&&o(S.types.embed,n.type)&&(ze.type=n.type)}switch(ze.supported=A(ze.type),ze.type){case"video":ze.media=t.createElement("video");break;case"audio":ze.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":ze.media=t.createElement("div"),ze.embedId=e.sources[0].src}i(ze.container,ze.media),M.boolean(e.autoplay)&&(S.autoplay=e.autoplay),o(S.types.html5,ze.type)&&(S.crossorigin&&ze.media.setAttribute("crossorigin",""),S.autoplay&&ze.media.setAttribute("autoplay",""),"poster"in e&&ze.media.setAttribute("poster",e.poster),S.loop&&ze.media.setAttribute("loop","")),d(ze.container,S.classes.fullscreen.active,ze.isFullscreen),d(ze.container,S.classes.captions.active,ze.captionsEnabled),Z(),o(S.types.html5,ze.type)&&$("source",e.sources),oe(),o(S.types.html5,ze.type)&&("tracks"in e&&$("track",e.tracks),ze.media.load()),(o(S.types.html5,ze.type)||o(S.types.embed,ze.type)&&!ze.supported.full)&&(Qe(),$e()),S.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(ze.container,S.classes.ready,!1),ce(),je(),Me(),Xe(),void Ue(n,!1)):void tt("Invalid source format")}function We(e){"video"===ze.type&&ze.media.setAttribute("poster",e)}function Ye(){function n(){var e=de(),t=ze.buttons[e?"play":"pause"],n=ze.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,S.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,S.classes.tabFocus,!1),d(n,S.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in ze.buttons){var n=ze.buttons[t];if(M.nodeList(n))for(var a=0;a-1&&me(t)}),N.fullscreen&&g(t,F.eventType,we),g(ze.buttons.captions,"click",Pe),g(ze.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),s="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,p,c="tabpanel"===r.getAttribute("role");if(c){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');p=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),p.style.width=d.scrollWidth+"px",p.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),p.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}r.setAttribute("aria-hidden",!s),o.setAttribute("aria-expanded",s),r.setAttribute("tabindex",0),c&&(p.style.width=i+"px",p.style.height=u+"px",e.setTimeout(function(){p.style.width="",p.style.height=""},300))}}),g(ze.buttons.pip,"click",function(){ze.media.webkitSetPresentationMode("picture-in-picture"===ze.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(ze.progress.container,"mouseenter mouseleave mousemove",He),S.hideControls&&(g(ze.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Re),g(ze.controls,"mouseenter mouseleave",function(e){ze.controls.hover="mouseenter"===e.type}),g(ze.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){ze.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(ze.controls,"focus blur",Re,!0)),g(ze.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=S.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Ae(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Ae(n))})}function Be(){if(g(ze.media,"timeupdate seeking",Oe),g(ze.media,"timeupdate",Y),g(ze.media,"durationchange loadedmetadata",Le),g(ze.media,"ended",function(){"video"===ze.type&&S.showPosterOnEnd&&("video"===ze.type&&W(),ve(),ze.media.load())}),g(ze.media,"progress playing",qe),g(ze.media,"volumechange",Ce),g(ze.media,"play pause ended",_e),g(ze.media,"waiting canplay seeked",Ie),S.clickToPlay&&"audio"!==ze.type){var e=U("."+S.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){S.hideControls&&ze.browser.isTouch&&!ze.media.paused||(ze.media.paused?pe():ze.media.ended?(ve(),pe()):ce())})}S.disableContextMenu&&g(ze.media,"contextmenu",function(e){e.preventDefault()}),g(ze.media,S.events.concat(["keyup","keydown"]).join(" "),function(e){C(ze.container,e.type,!0)})}function Xe(){if(o(S.types.html5,ze.type)){for(var e=ze.media.querySelectorAll("source"),t=0;t',
+ '
',
'Seek ',
' ',
' ',
@@ -2475,16 +2479,20 @@
config.loopout = null;
}
config.loopin = currentTime;
+ config.loopinPositionPercentage = plyr.progress.played.value;
break;
case 'loopout':
if (config.loopin >= currentTime) {
return;
}
config.loopout = currentTime;
+ config.loopoutPositionPercentage = plyr.progress.played.value;
break;
case 'loopall':
config.loopin = 0;
config.loopout = plyr.media.duration - 2;
+ config.loopinPositionPercentage = 0;
+ config.loopoutPositionPercentage = 100;
break;
default:
config.loopin = 0;
@@ -2502,6 +2510,22 @@
document.querySelector('[data-menu="loop"]').innerHTML = config.i18n.loopclear;
}
+ displayLoopBar();
+
+ }
+
+ function displayLoopBar() {
+ if (config.loop) {
+ getElement(config.selectors.progress.looped).style.position = 'absolute';
+ getElement(config.selectors.progress.looped).style.left = config.loopinPositionPercentage + '%';
+ getElement(config.selectors.progress.looped).style.width = (config.loopoutPositionPercentage - config.loopinPositionPercentage) + '%';
+ getElement(config.selectors.progress.looped).style.background = '#ffbb00';
+ getElement(config.selectors.progress.looped).style.height = '3px';
+ getElement(config.selectors.progress.looped).style.top = '3px';
+ getElement(config.selectors.progress.looped).style['border-radius'] = '100px';
+ } else {
+ getElement(config.selectors.progress.looped).style.width = '0px';
+ }
}
// Speed-up
--
cgit v1.2.3
From a971850d26b97f011d13fd90b8c7f28dd0967101 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Thu, 9 Mar 2017 15:35:29 +1100
Subject: Update readme.md
---
readme.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/readme.md b/readme.md
index c2fdb83d..d4a45b22 100644
--- a/readme.md
+++ b/readme.md
@@ -154,7 +154,7 @@ If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for t
```
### SVG Sprite
-The SVG sprite is loaded automatically from our CDN (provided by [Fastly](https://www.fastly.com/)). To change this, see the [options](#Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.11/plyr.svg`.
+The SVG sprite is loaded automatically from our CDN (provided by [Fastly](https://www.fastly.com/)). To change this, see the [options](#options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.11/plyr.svg`.
## Advanced
@@ -1015,7 +1015,7 @@ Fullscreen in Plyr is supported by all browsers that [currently support it](http
² Native player used (no support for `` or ` `) but the API is supported (v1.0.28+)
-³ IE10 has no native fullscreen support, fallback can be used (see options)
+³ IE10 has no native fullscreen support, fallback can be used (see [options](#options))
The `enabled` option can be used to disable certain User Agents. For example, if you don't want to use Plyr for smartphones, you could use:
--
cgit v1.2.3
From 13973125fbc18768400c55b7eece1ac4649b5386 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sat, 25 Mar 2017 10:08:39 +1100
Subject: Loop variable naming
---
demo/dist/demo.js | 2 +-
demo/src/js/main.js | 2 +-
dist/plyr.js | 4 +-
notes.md | 6 ++-
src/js/plyr.js | 127 ++++++++++++++++++++++++++++++----------------------
5 files changed, 81 insertions(+), 60 deletions(-)
diff --git a/demo/dist/demo.js b/demo/dist/demo.js
index d79c71e7..f3971661 100644
--- a/demo/dist/demo.js
+++ b/demo/dist/demo.js
@@ -1 +1 @@
-"document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var e=document.createElement("_");if(e.classList.add("c1","c2"),!e.classList.contains("c2")){var t=function(e){var t=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var i,s=arguments.length;for(i=0;i=0;a--)e(o[a].parentElement,"active",!1);e(document.querySelector('[data-source="'+t+'"]').parentElement,"active",!0)}}var i=plyr.setup({debug:!0,title:"Video demo",iconUrl:"../dist/plyr.svg",tooltips:{controls:!0},captions:{defaultActive:!0},controls:["play-large","play","speed-up","progress","current-time","mute","volume","captions","settings","fullscreen"]});plyr.loadSprite("dist/demo.svg");for(var s=i[0],o=document.querySelectorAll("[data-source]"),n={video:"video",audio:"audio",youtube:"youtube",vimeo:"vimeo"},r=window.location.hash.replace("#",""),a=window.history&&window.history.pushState,c=o.length-1;c>=0;c--)o[c].addEventListener("click",function(){var e=this.getAttribute("data-source");t(e),a&&history.pushState({type:e},"","#"+e)});if(window.addEventListener("popstate",function(e){e.state&&"type"in e.state&&t(e.state.type)}),a){var l=!r.length;l&&(r=n.video),r in n&&history.replaceState({type:r},"",l?"":"#"+r),r!==n.video&&t(r,!0)}}(),document.domain.indexOf("plyr.io")>-1&&(!function(e,t,i,s,o,n,r){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,n=t.createElement(i),r=t.getElementsByTagName(i)[0],n.async=1,n.src=s,r.parentNode.insertBefore(n,r)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),ga("create","UA-40881672-11","auto"),ga("send","pageview"));
\ No newline at end of file
+"document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var e=document.createElement("_");if(e.classList.add("c1","c2"),!e.classList.contains("c2")){var t=function(e){var t=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var i,s=arguments.length;for(i=0;i=0;a--)e(o[a].parentElement,"active",!1);e(document.querySelector('[data-source="'+t+'"]').parentElement,"active",!0)}}var i=plyr.setup({debug:!0,title:"Video demo",iconUrl:"../dist/plyr.svg",tooltips:{controls:!0},captions:{defaultActive:!0},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","fullscreen"]});plyr.loadSprite("dist/demo.svg");for(var s=i[0],o=document.querySelectorAll("[data-source]"),n={video:"video",audio:"audio",youtube:"youtube",vimeo:"vimeo"},r=window.location.hash.replace("#",""),a=window.history&&window.history.pushState,c=o.length-1;c>=0;c--)o[c].addEventListener("click",function(){var e=this.getAttribute("data-source");t(e),a&&history.pushState({type:e},"","#"+e)});if(window.addEventListener("popstate",function(e){e.state&&"type"in e.state&&t(e.state.type)}),a){var l=!r.length;l&&(r=n.video),r in n&&history.replaceState({type:r},"",l?"":"#"+r),r!==n.video&&t(r,!0)}}(),document.domain.indexOf("plyr.io")>-1&&(!function(e,t,i,s,o,n,r){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,n=t.createElement(i),r=t.getElementsByTagName(i)[0],n.async=1,n.src=s,r.parentNode.insertBefore(n,r)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),ga("create","UA-40881672-11","auto"),ga("send","pageview"));
\ No newline at end of file
diff --git a/demo/src/js/main.js b/demo/src/js/main.js
index d7c5f42a..2b8deb91 100644
--- a/demo/src/js/main.js
+++ b/demo/src/js/main.js
@@ -21,7 +21,7 @@
captions: {
defaultActive: true
},
- controls: ['play-large', 'play', 'speed-up', 'progress', 'current-time', 'mute', 'volume', 'captions', 'settings', 'fullscreen']
+ controls: ['play-large', 'play', 'progress', 'current-time', 'mute', 'volume', 'captions', 'settings', 'fullscreen']
});
plyr.loadSprite('dist/demo.svg');
diff --git a/dist/plyr.js b/dist/plyr.js
index 12373047..0ac2f795 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([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,o=navigator.userAgent,r=navigator.appName,s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,r="IE",s="11"):(n=o.indexOf("MSIE"))!==-1?(i=!0,r="IE",s=o.substring(n+5)):(n=o.indexOf("Chrome"))!==-1?(c=!0,r="Chrome",s=o.substring(n+7)):(n=o.indexOf("Safari"))!==-1?(p=!0,r="Safari",s=o.substring(n+7),(n=o.indexOf("Version"))!==-1&&(s=o.substring(n+8))):(n=o.indexOf("Firefox"))!==-1?(u=!0,r="Firefox",s=o.substring(n+8)):(e=o.lastIndexOf(" ")+1)<(n=o.lastIndexOf("/"))&&(r=o.substring(e,n),s=o.substring(n+1),r.toLowerCase()===r.toUpperCase()&&(r=navigator.appName)),(a=s.indexOf(";"))!==-1&&(s=s.substring(0,a)),(a=s.indexOf(" "))!==-1&&(s=s.substring(0,a)),l=parseInt(""+s,10),isNaN(l)&&(s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10)),{name:r,version:l,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function o(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function s(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,s=o.nextSibling;return a.appendChild(o),s?r.insertBefore(a,s):r.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var s=0;s',' ',''+S.i18n.play+" ",""),e.push(''),o(S.controls,"restart")&&e.push('
',' ',''+S.i18n.restart+" "," "),o(S.controls,"rewind")&&e.push('
',' ',''+S.i18n.rewind+" "," "),o(S.controls,"play")&&e.push('
',' ',''+S.i18n.play+" "," ",'
',' ',''+S.i18n.pause+" "," "),o(S.controls,"fast-forward")&&e.push('
',' ',''+S.i18n.forward+" "," "),o(S.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+S.i18n.buffered," "),S.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(S.controls,"current-time")&&e.push('
',''+S.i18n.currentTime+" ",'00:00 '," "),o(S.controls,"duration")&&e.push('
',''+S.i18n.duration+" ",'00:00 '," "),o(S.controls,"mute")&&e.push('
',' ',' ',''+S.i18n.toggleMute+" "," "),o(S.controls,"volume")&&e.push('
',''+S.i18n.volume+" ",' ',' '," "),o(S.controls,"captions")&&e.push('
',' ',' ',''+S.i18n.toggleCaptions+" "," "),o(S.controls,"settings")&&e.push('"),o(S.controls,"pip")&&N.pip&&e.push('
',' ','PIP '," "),o(S.controls,"airplay")&&N.airplay&&e.push('
',' ','AirPlay '," "),o(S.controls,"fullscreen")&&e.push('
',' ',' ',''+S.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',S.i18n.quality," "," "].join("")),U(S.selectors.menu.quality).innerHTML=r.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||S.fullscreen.allowAudio)&&S.fullscreen.enabled){var e=N.fullscreen;e||S.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,S.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){U(S.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):S.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[S.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[S.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(S.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,S.classes.captions.enabled)}}function W(e){var n=U(S.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,S.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=S.captions.defaultActive),e&&(d(Je.container,S.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(S.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),E(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=S.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",S.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(S.selectors.controls.container)&&(a=t.querySelector(S.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),S.tooltips.controls)for(var o=X([S.selectors.controls.wrapper," ",S.selectors.labels," .",S.classes.hidden].join("")),s=o.length-1;s>=0;s--){var l=o[s];d(l,S.classes.hidden,!1),d(l,S.classes.tooltip,!0)}}function z(){return S.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=U(S.selectors.controls.wrapper),Je.buttons={seek:U(S.selectors.buttons.seek),play:X(S.selectors.buttons.play),pause:U(S.selectors.buttons.pause),restart:U(S.selectors.buttons.restart),rewind:U(S.selectors.buttons.rewind),forward:U(S.selectors.buttons.forward),fullscreen:U(S.selectors.buttons.fullscreen),settings:U(S.selectors.buttons.settings),pip:U(S.selectors.buttons.pip),speed:t.querySelectorAll(S.selectors.buttons.speed),loop:t.querySelectorAll(S.selectors.buttons.loop)},Je.buttons.mute=U(S.selectors.buttons.mute),Je.buttons.captions=U(S.selectors.buttons.captions),Je.progress={container:U(S.selectors.progress.container)},Je.progress.buffer=function(){var e=U(S.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(S.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+S.classes.tooltip),Je.volume={input:U(S.selectors.volume.input),display:U(S.selectors.volume.display)},Je.duration=U(S.selectors.duration),Je.currentTime=U(S.selectors.currentTime),Je.seekTime=X(S.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,S.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(S.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=S.i18n.play;if(M.string(S.title)&&S.title.length&&(t+=", "+S.title,Je.container.setAttribute("aria-label",S.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);M.htmlElement(e)&&e.setAttribute("title",S.i18n.frameTitle.replace("{title}",S.title))}function ne(){var t=null;Je.storage={},N.storage&&S.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(S.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){N.storage&&S.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(S.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,S.classes.type.replace("{0}",Je.type),!0),o(S.types.embed,Je.type)&&d(Je.container,S.classes.type.replace("{0}","video"),!0),d(Je.container,S.classes.pip.enabled,N.pip),d(Je.container,S.classes.stopped,S.autoplay),d(Je.container,S.classes.isIos,Je.browser.isIos),d(Je.container,S.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",S.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}o(S.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,S.classes.videoWrapper,!0),d(Je.media,S.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?le(n,o):(a(S.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(S.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(S.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:S.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:S.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),S.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;S.loopout=n;break;case"loopall":S.loopin=0,S.loopout=Je.media.duration-2;break;default:S.loopin=0,S.loopout=null}S.loop=M.number(S.loopin)&&M.number(S.loopout);var a=Me(S.loopin,t.querySelector('[data-loop__value="loopin"]')),o=M.number(S.loopout)?Me(S.loopout+2,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="";S.loop?t.querySelector('[data-menu="loop"]').innerHTML=a+" - "+o:t.querySelector('[data-menu="loop"]').innerHTML=S.i18n.loopclear}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||S.defaultSpeed),!M.array(S.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=S.speeds.indexOf(S.currentSpeed);if(n!==-1){var a=n+1;a>=S.speeds.length&&(a=0),e=S.speeds[a]}else e=S.defaultSpeed}S.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=S.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=S.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(S.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(S.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,S.classes.playing,!Je.media.paused),d(Je.container,S.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=N.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(S.volume),o(S.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(S.volume/S.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=S.volumeMax,n=S.volumeMin;
-if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=S.volume),e>t&&(e=t),e0&&we()}function Se(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t+e)}function Ee(e){var t=Je.media.muted?0:Je.media.volume*S.volumeMax;M.number(e)||(e=S.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*S.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,S.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(S.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,S.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){S.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,S.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(S.loopin)&&M.number(S.loopout)&&Je.media.currentTime>=S.loopout&&ge(S.loopin),qe(t,n)}}function qe(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function Ne(){if(Je.supported.full){var e=ve()||0;!Je.duration&&S.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(S.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=S.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function He(t){if(S.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,s=m(Je.container,S.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,S.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||s){if(d(Je.container,S.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,S.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(S.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(S.autoplay=e.autoplay),o(S.types.html5,Je.type)&&(S.crossorigin&&Je.media.setAttribute("crossorigin",""),S.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),S.loop&&Je.media.setAttribute("loop","")),d(Je.container,S.classes.fullscreen.active,Je.isFullscreen),d(Je.container,S.classes.captions.active,Je.captionsEnabled),Z(),o(S.types.html5,Je.type)&&$("source",e.sources),oe(),o(S.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(S.types.html5,Je.type)||o(S.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),S.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,S.classes.ready,!1),pe(),Oe(),qe(),Be(),void Xe(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,S.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,S.classes.tabFocus,!1),d(n,S.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1&&me(t)}),N.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),s="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}r.setAttribute("aria-hidden",!s),o.setAttribute("aria-expanded",s),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),S.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",He),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",He,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=S.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Ee(n):Se(n)),(e.deltaY>0||e.deltaX<0)&&(t?Se(n):Ee(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",Ne),g(Je.media,"ended",function(){"video"===Je.type&&S.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),S.clickToPlay&&"audio"!==Je.type){var e=U("."+S.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){S.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}S.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,S.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(S.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],o=r.parentNode,s=r.nextSibling;return a.appendChild(r),s?o.insertBefore(a,s):o.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),i(n,r)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return r.call(e,n)}function f(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function b(e,t,n,a,r){var o=t.split(" ");if(M.boolean(r)||(r=!1),e instanceof NodeList)for(var s=0;s',' ',''+E.i18n.play+" ",""),e.push(''),r(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),r(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),r(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),r(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),r(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),r(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),r(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),r(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),r(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),r(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),r(E.controls,"settings")&&e.push('"),r(E.controls,"pip")&&q.pip&&e.push('
',' ','PIP '," "),r(E.controls,"airplay")&&q.airplay&&e.push('
',' ','AirPlay '," "),r(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function H(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var r=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),o=r.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});o.unshift(['','',E.i18n.quality," "," "].join("")),U(E.selectors.menu.quality).innerHTML=o.join("")}}function R(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=q.fullscreen;e||E.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function D(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function V(){if("video"===Je.type){U(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",D),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",D),a.activeCues&&a.activeCues.length>0&&D(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status){var e=r.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},r.open("get",t,!0),r.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=U(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{speed}",z()),n=o(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=o(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var r=X([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=r.length-1;s>=0;s--){var l=r[s];d(l,E.classes.hidden,!1),d(l,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=U(E.selectors.controls.wrapper),Je.buttons={seek:U(E.selectors.buttons.seek),play:X(E.selectors.buttons.play),pause:U(E.selectors.buttons.pause),restart:U(E.selectors.buttons.restart),rewind:U(E.selectors.buttons.rewind),forward:U(E.selectors.buttons.forward),fullscreen:U(E.selectors.buttons.fullscreen),settings:U(E.selectors.buttons.settings),pip:U(E.selectors.buttons.pip),speed:U(E.selectors.buttons.speed),loop:U(E.selectors.buttons.loop)},Je.buttons.mute=U(E.selectors.buttons.mute),Je.buttons.captions=U(E.selectors.buttons.captions),Je.progress={container:U(E.selectors.progress.container)},Je.progress.buffer=function(){var e=U(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:U(E.selectors.volume.input),display:U(E.selectors.volume.display)},Je.duration=U(E.selectors.duration),Je.currentTime=U(E.selectors.currentTime),Je.seekTime=X(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&r(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},q.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){q.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function re(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),r(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,q.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}r(E.types.embed,Je.type)&&oe()}function oe(){var n,r=t.createElement("div"),o=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(r),r.setAttribute("id",o),M.object(e.YT)?le(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(r):r=Je.media,r.setAttribute("id",o),M.object(e.Vimeo))ie(n,r);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,r))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:o}),r.appendChild(p),Je.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),r=n.getAvailablePlaybackRates();console.warn(a,r),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loop.end=n;break;case"all":E.loop.start=0,E.loop.end=Je.media.duration;break;default:E.loop.start=0,E.loop.end=null}E.loop=M.number(E.loop.start)&&M.number(E.loop.end);var a=Me(E.loop.start,U('[data-plyr-loop="start"]')),o=null;o=M.number(E.loop.end)?Me(E.loop.end,t.querySelector('[data-loop__value="loopout"]')):t.querySelector('[data-loop__value="loopout"]').innerHTML="",E.loop?U('[data-menu="loop"]').innerHTML=a+" - "+o:U('[data-menu="loop"]').innerHTML=E.i18n.loopNone}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),He(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=q.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),V()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),He(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),Ne(t,n)}}function Ne(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function qe(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,o=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,o))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,o,"mouseenter"===e.type)}}function He(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,o=t,s=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,o=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):o=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),o||Je.media.paused||s){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}o&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function Re(e){if(!M.undefined(e))return void De(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 De(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&r(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),r(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),r(E.types.html5,Je.type)&&$("source",e.sources),re(),r(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),Ne(),Be(),void Xe(n,!1)):void et("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function o(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",qe),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(r(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t',
'',
config.i18n.quality +
- '',
+ '',
' ',
'',
'',
'',
- config.i18n.loop +
- '',
+ config.i18n.loop +
+ '',
' ',
' ',
'',
@@ -1130,26 +1132,26 @@
'',
'',
'',
- '',
- config.i18n.loopall,
- ' ',
+ '',
+ config.i18n.loopAll,
+ ' ',
' ',
' ',
'',
- '',
- config.i18n.loopin + ': ',
- ' ',
+ '',
+ config.i18n.loopStart,
+ ' ',
' ',
' ',
'',
- '',
- config.i18n.loopout + ': ',
- ' ',
+ '',
+ config.i18n.loopEnd,
+ ' ',
' ',
' ',
'',
- '',
- config.i18n.loopclear,
+ '',
+ config.i18n.loopNone,
' ',
' ',
'',
@@ -1765,8 +1767,8 @@
fullscreen: getElement(config.selectors.buttons.fullscreen),
settings: getElement(config.selectors.buttons.settings),
pip: getElement(config.selectors.buttons.pip),
- speed: document.querySelectorAll(config.selectors.buttons.speed),
- loop: document.querySelectorAll(config.selectors.buttons.loop)
+ speed: getElement(config.selectors.buttons.speed),
+ loop: getElement(config.selectors.buttons.loop)
};
// Inputs
@@ -2265,7 +2267,7 @@
// https://github.com/vimeo/player.js
plyr.embed = new window.Vimeo.Player(container, {
id: parseInt(mediaId),
- loop: config.loop,
+ loop: config.loop.enabled,
autoplay: config.autoplay,
byline: false,
portrait: false,
@@ -2462,46 +2464,57 @@
}
// Toggle loop
- function toggleLoop(toggle) {
- if (['loopin', 'loopout', 'loopall'].indexOf(toggle) === -1) {
- toggle = 'loopclear';
+ function toggleLoop(type) {
+ if (!inArray(['start', 'end', 'all'], type)) {
+ type = 'none';
}
var currentTime = Number(plyr.media.currentTime);
- switch (toggle) {
- case 'loopin':
- if (config.loopout && config.loopout <= currentTime) {
- config.loopout = null;
+ switch (type) {
+ case 'start':
+ if (config.loop.end && config.loop.end <= currentTime) {
+ config.loop.end = null;
}
- config.loopin = currentTime;
+ config.loop.start = plyr.media.currentTime;
break;
- case 'loopout':
- if (config.loopin >= currentTime) {
+
+ case 'end':
+ if (config.loop.start >= currentTime) {
return;
}
- config.loopout = currentTime;
+ config.loop.end = currentTime;
break;
- case 'loopall':
- config.loopin = 0;
- config.loopout = plyr.media.duration - 2;
+
+ case 'all':
+ config.loop.start = 0;
+ config.loop.end = plyr.media.duration;
break;
+
default:
- config.loopin = 0;
- config.loopout = null;
+ config.loop.start = 0;
+ config.loop.end = null;
break;
}
- //check if can loop
- config.loop = is.number(config.loopin) && is.number(config.loopout);
- var loopin = updateTimeDisplay(config.loopin, document.querySelector('[data-loop__value="loopin"]'));
- var loopout = is.number(config.loopout) ? updateTimeDisplay(config.loopout + 2, document.querySelector('[data-loop__value="loopout"]')) : document.querySelector('[data-loop__value="loopout"]').innerHTML = '';
- if (config.loop) {
- document.querySelector('[data-menu="loop"]').innerHTML = loopin + ' - ' + loopout;
+ // Check if can loop
+ config.loop = is.number(config.loop.start) && is.number(config.loop.end);
+ var start = updateTimeDisplay(config.loop.start, getElement('[data-plyr-loop="start"]'));
+ var end = null;
+
+ if (is.number(config.loop.end)) {
+ // Find the inside button
+ end = updateTimeDisplay(config.loop.end, document.querySelector('[data-loop__value="loopout"]'));
} else {
- document.querySelector('[data-menu="loop"]').innerHTML = config.i18n.loopclear;
+ // Find the inside button
+ //end = document.querySelector('[data-loop__value="loopout"]').innerHTML = '';
}
+ if (config.loop) {
+ //getElement('[data-menu="loop"]').innerHTML = start + ' - ' + end;
+ } else {
+ //getElement('[data-menu="loop"]').innerHTML = config.i18n.loopNone;
+ }
}
// Speed-up
@@ -2515,6 +2528,7 @@
warn('Invalid speeds format');
return;
}
+
if (!is.number(speed)) {
var index = config.speeds.indexOf(config.currentSpeed);
@@ -3042,10 +3056,14 @@
plyr.secs = ('0' + plyr.secs).slice(-2);
plyr.mins = ('0' + plyr.mins).slice(-2);
- var txt = (displayHours ? plyr.hours + ':' : '') + plyr.mins + ':' + plyr.secs;
+ // Generate display
+ var display = (displayHours ? plyr.hours + ':' : '') + plyr.mins + ':' + plyr.secs;
+
// Render
- element.innerHTML = txt;
- return txt;
+ element.innerHTML = display;
+
+ // Return for looping
+ return display;
}
// Show the duration on metadataloaded
@@ -3676,11 +3694,12 @@
// Fullscreen
proxy(plyr.buttons.fullscreen, 'click', config.listeners.fullscreen, toggleFullscreen);
- // Loop
+ // Looping
proxy(plyr.buttons.loop, 'click', config.listeners.loop, function(event) {
- var loopValue = event.target.getAttribute('data-loop__value') || event.target.getAttribute('data-loop__type');
- if (['loopin', 'loopout', 'loopall', 'loopclear'].indexOf(loopValue) > -1) {
- toggleLoop(loopValue);
+ var value = event.target.getAttribute('data-loop__value') || event.target.getAttribute('data-loop__type');
+
+ if (inArray(['start', 'end', 'all', 'none'], value)) {
+ toggleLoop(value);
}
});
--
cgit v1.2.3
From bc323e905cb8380016334b466965e444bf6699e9 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sat, 25 Mar 2017 10:27:03 +1100
Subject: Manual merge of #543 PR
---
dist/plyr.css | 2 +-
dist/plyr.js | 4 ++--
src/less/plyr.less | 6 ++----
src/scss/plyr.scss | 37 ++++++++++++++++++-------------------
4 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/dist/plyr.css b/dist/plyr.css
index 6df59d5e..30b6a06c 100644
--- a/dist/plyr.css
+++ b/dist/plyr.css
@@ -1 +1 @@
-.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr [aria-hidden=true]{display:none}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;z-index:0;overflow:hidden}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:5px}.plyr__controls .plyr__menu:first-child,.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>.plyr__control:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}@media (min-width:480px){.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:10px}.plyr__controls .plyr__menu+.plyr__control,.plyr__controls>.plyr__control+.plyr__control,.plyr__controls>.plyr__control+.plyr__menu{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr__control{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__control svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__control .icon--captions-on,.plyr__control .icon--exit-fullscreen,.plyr__control .icon--muted{display:none}.plyr__control:focus{outline:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls .plyr__control.tab-focus:focus,.plyr--video .plyr__controls .plyr__control:hover,.plyr--video .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls .plyr__control.tab-focus:focus,.plyr--audio .plyr__controls .plyr__control:hover,.plyr--audio .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__control .icon--captions-on,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen,.plyr--muted .plyr__control .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__control .icon--captions-on+svg,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen+svg,.plyr--muted .plyr__control .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__menu{position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu__container.is-resizing,.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;bottom:100%;right:-5px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:6px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:5px;list-style:none;overflow:hidden}.plyr__menu__container .plyr__control{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__control::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:5px solid transparent}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back{position:relative;padding-top:4px;padding-bottom:4px;padding-left:28px;margin-bottom:10px;font-weight:500}.plyr__menu__container .plyr__control--back::after{left:5px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container label.plyr__control{padding-left:18px}.plyr__menu__container label.plyr__control input[type=radio]{position:relative;left:-7px}.plyr__menu__container .plyr__menu__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden;font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__value .plyr__badge{font-weight:600}.plyr__badge{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);border-left:4px solid transparent;z-index:2}.plyr .plyr__control.tab-focus:focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
+.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr [aria-hidden=true]{display:none}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;z-index:0;overflow:hidden}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:5px}.plyr__controls .plyr__menu:first-child,.plyr__controls .plyr__menu:first-child+[data-plyr=pause],.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__progress:first-child+[data-plyr=pause],.plyr__controls .plyr__time:first-child,.plyr__controls .plyr__time:first-child+[data-plyr=pause],.plyr__controls>.plyr__control:first-child,.plyr__controls>.plyr__control:first-child+[data-plyr=pause]{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}@media (min-width:480px){.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:10px}.plyr__controls .plyr__menu+.plyr__control,.plyr__controls>.plyr__control+.plyr__control,.plyr__controls>.plyr__control+.plyr__menu{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr__control{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__control svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__control .icon--captions-on,.plyr__control .icon--exit-fullscreen,.plyr__control .icon--muted{display:none}.plyr__control:focus{outline:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls .plyr__control.tab-focus:focus,.plyr--video .plyr__controls .plyr__control:hover,.plyr--video .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls .plyr__control.tab-focus:focus,.plyr--audio .plyr__controls .plyr__control:hover,.plyr--audio .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__control .icon--captions-on,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen,.plyr--muted .plyr__control .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__control .icon--captions-on+svg,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen+svg,.plyr--muted .plyr__control .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__menu{position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu__container.is-resizing,.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;bottom:100%;right:-5px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:6px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:5px;list-style:none;overflow:hidden}.plyr__menu__container .plyr__control{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__control::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:5px solid transparent}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back{position:relative;padding-top:4px;padding-bottom:4px;padding-left:28px;margin-bottom:10px;font-weight:500}.plyr__menu__container .plyr__control--back::after{left:5px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container label.plyr__control{padding-left:18px}.plyr__menu__container label.plyr__control input[type=radio]{position:relative;left:-7px}.plyr__menu__container .plyr__menu__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden;font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__value .plyr__badge{font-weight:600}.plyr__badge{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);border-left:4px solid transparent;z-index:2}.plyr .plyr__control.tab-focus:focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/dist/plyr.js b/dist/plyr.js
index b904313d..74707d4c 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([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,r=navigator.userAgent,o=navigator.appName,s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,o="IE",s="11"):(n=r.indexOf("MSIE"))!==-1?(i=!0,o="IE",s=r.substring(n+5)):(n=r.indexOf("Chrome"))!==-1?(c=!0,o="Chrome",s=r.substring(n+7)):(n=r.indexOf("Safari"))!==-1?(p=!0,o="Safari",s=r.substring(n+7),(n=r.indexOf("Version"))!==-1&&(s=r.substring(n+8))):(n=r.indexOf("Firefox"))!==-1?(u=!0,o="Firefox",s=r.substring(n+8)):(e=r.lastIndexOf(" ")+1)<(n=r.lastIndexOf("/"))&&(o=r.substring(e,n),s=r.substring(n+1),o.toLowerCase()===o.toUpperCase()&&(o=navigator.appName)),(a=s.indexOf(";"))!==-1&&(s=s.substring(0,a)),(a=s.indexOf(" "))!==-1&&(s=s.substring(0,a)),l=parseInt(""+s,10),isNaN(l)&&(s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10)),{name:o,version:l,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function r(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function o(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function s(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],o=r.parentNode,s=r.nextSibling;return a.appendChild(r),s?o.insertBefore(a,s):o.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),i(n,r)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return r.call(e,n)}function f(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function b(e,t,n,a,r){var o=t.split(" ");if(M.boolean(r)||(r=!1),e instanceof NodeList)for(var s=0;s',' ',''+E.i18n.play+" ",""),e.push(''),r(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),r(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),r(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),r(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),r(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),r(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),r(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),r(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),r(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),r(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),r(E.controls,"settings")&&e.push('"),r(E.controls,"pip")&&q.pip&&e.push('
',' ','PIP '," "),r(E.controls,"airplay")&&q.airplay&&e.push('
',' ','AirPlay '," "),r(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function R(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var r=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),o=r.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});o.unshift(['','',E.i18n.quality," "," "].join("")),U(E.selectors.menu.quality).innerHTML=o.join("")}}function D(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=q.fullscreen;e||E.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function V(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function H(){if("video"===Je.type){U(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",V),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",V),a.activeCues&&a.activeCues.length>0&&V(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status){var e=r.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},r.open("get",t,!0),r.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=U(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{speed}",z()),n=o(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=o(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var r=X([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=r.length-1;s>=0;s--){var l=r[s];d(l,E.classes.hidden,!1),d(l,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=U(E.selectors.controls.wrapper),Je.buttons={seek:U(E.selectors.buttons.seek),play:X(E.selectors.buttons.play),pause:U(E.selectors.buttons.pause),restart:U(E.selectors.buttons.restart),rewind:U(E.selectors.buttons.rewind),forward:U(E.selectors.buttons.forward),fullscreen:U(E.selectors.buttons.fullscreen),settings:U(E.selectors.buttons.settings),pip:U(E.selectors.buttons.pip),speed:U(E.selectors.buttons.speed),loop:U(E.selectors.buttons.loop)},Je.buttons.mute=U(E.selectors.buttons.mute),Je.buttons.captions=U(E.selectors.buttons.captions),Je.progress={container:U(E.selectors.progress.container)},Je.progress.buffer=function(){var e=U(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:U(E.selectors.volume.input),display:U(E.selectors.volume.display)},Je.duration=U(E.selectors.duration),Je.currentTime=U(E.selectors.currentTime),Je.seekTime=X(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&r(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},q.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){q.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function re(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),r(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,q.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}r(E.types.embed,Je.type)&&oe()}function oe(){var n,r=t.createElement("div"),o=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(r),r.setAttribute("id",o),M.object(e.YT)?le(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(r):r=Je.media,r.setAttribute("id",o),M.object(e.Vimeo))ie(n,r);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,r))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:o}),r.appendChild(p),Je.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),r=n.getAvailablePlaybackRates();console.warn(a,r),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loop.end=n;break;case"all":E.loop.start=0,E.loop.end=Je.media.duration;break;default:E.loop.start=0,E.loop.end=null}E.loop=M.number(E.loop.start)&&M.number(E.loop.end);var a=(Me(E.loop.start,U('[data-plyr-loop="start"]')),null);M.number(E.loop.end)&&(a=Me(E.loop.end,t.querySelector('[data-loop__value="loopout"]'))),E.loop}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),Re(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=q.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),H()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),Re(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),Ne(t,n)}}function Ne(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function qe(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,o=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,o))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,o,"mouseenter"===e.type)}}function Re(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,o=t,s=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,o=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):o=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),o||Je.media.paused||s){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}o&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function De(e){if(!M.undefined(e))return void Ve(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 Ve(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&r(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),r(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),r(E.types.html5,Je.type)&&$("source",e.sources),re(),r(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),Ne(),Be(),void Xe(n,!1)):void et("Invalid source format")}function He(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function o(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",qe),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(r(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],o=r.parentNode,s=r.nextSibling;return a.appendChild(r),s?o.insertBefore(a,s):o.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),i(n,r)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return r.call(e,n)}function f(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function b(e,t,n,a,r){var o=t.split(" ");if(M.boolean(r)||(r=!1),e instanceof NodeList)for(var s=0;s',' ',''+E.i18n.play+" ",""),e.push(''),r(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),r(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),r(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),r(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),r(E.controls,"progress")&&(e.push('
','
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),r(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),r(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),r(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),r(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),r(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),r(E.controls,"settings")&&e.push('"),r(E.controls,"pip")&&q.pip&&e.push('
',' ','PIP '," "),r(E.controls,"airplay")&&q.airplay&&e.push('
',' ','AirPlay '," "),r(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function R(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var r=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),o=r.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});o.unshift(['','',E.i18n.quality," "," "].join("")),U(E.selectors.menu.quality).innerHTML=o.join("")}}function D(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=q.fullscreen;e||E.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function V(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function H(){if("video"===Je.type){U(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",V),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",V),a.activeCues&&a.activeCues.length>0&&V(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status){var e=r.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},r.open("get",t,!0),r.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=U(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{speed}",z()),n=o(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=o(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var r=X([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=r.length-1;s>=0;s--){var l=r[s];d(l,E.classes.hidden,!1),d(l,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=U(E.selectors.controls.wrapper),Je.buttons={seek:U(E.selectors.buttons.seek),play:X(E.selectors.buttons.play),pause:U(E.selectors.buttons.pause),restart:U(E.selectors.buttons.restart),rewind:U(E.selectors.buttons.rewind),forward:U(E.selectors.buttons.forward),fullscreen:U(E.selectors.buttons.fullscreen),settings:U(E.selectors.buttons.settings),pip:U(E.selectors.buttons.pip),speed:U(E.selectors.buttons.speed),loop:U(E.selectors.buttons.loop)},Je.buttons.mute=U(E.selectors.buttons.mute),Je.buttons.captions=U(E.selectors.buttons.captions),Je.progress={container:U(E.selectors.progress.container)},Je.progress.buffer=function(){var e=U(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:U(E.selectors.volume.input),display:U(E.selectors.volume.display)},Je.duration=U(E.selectors.duration),Je.currentTime=U(E.selectors.currentTime),Je.seekTime=X(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&r(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},q.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){q.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function re(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),r(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,q.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}r(E.types.embed,Je.type)&&oe()}function oe(){var n,r=t.createElement("div"),o=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(r),r.setAttribute("id",o),M.object(e.YT)?le(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(r):r=Je.media,r.setAttribute("id",o),M.object(e.Vimeo))ie(n,r);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,r))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:o}),r.appendChild(p),Je.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),r=n.getAvailablePlaybackRates();console.warn(a,r),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loop.end=n,E.loop.indicator.end=Je.progress.played.value;break;case"all":E.loop.start=0,E.loop.end=Je.media.duration,E.loop.indicator.start=0,E.loop.indicator.end=100;break;default:E.loop.start=0,E.loop.end=null}E.loop=M.number(E.loop.start)&&M.number(E.loop.end);var a=(Me(E.loop.start,U('[data-plyr-loop="start"]')),null);M.number(E.loop.end)&&(a=Me(E.loop.end,t.querySelector('[data-loop__value="loopout"]'))),E.loop?(U(E.selectors.progress.looped).style.position="absolute",U(E.selectors.progress.looped).style.left=E.loopinPositionPercentage+"%",U(E.selectors.progress.looped).style.width=E.loopoutPositionPercentage-E.loopinPositionPercentage+"%",U(E.selectors.progress.looped).style.background="#ffbb00",U(E.selectors.progress.looped).style.height="3px",U(E.selectors.progress.looped).style.top="3px",U(E.selectors.progress.looped).style["border-radius"]="100px"):U(E.selectors.progress.looped).style.width="0px"}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),Re(Je.media.paused)}function _e(){I={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(I.x,I.y)}function xe(e){var n=q.fullscreen;if(n){if(!e||e.type!==F.eventType)return F.isFullScreen(Je.container)?F.cancelFullScreen():(_e(),F.requestFullScreen(Je.container)),void(Je.isFullscreen=F.isFullScreen(Je.container));Je.isFullscreen=F.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),
+_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Pe(e){E.captions.selectedIndex=e,W(),H()}function Fe(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),Re(t)},t?250:0)}function Ie(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),Ne(t,n)}}function Ne(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function qe(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Ie(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,o=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,o))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,o,"mouseenter"===e.type)}}function Re(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,o=t,s=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,o=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):o=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),o||Je.media.paused||s){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}o&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function De(e){if(!M.undefined(e))return void Ve(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 Ve(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&r(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),r(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),r(E.types.html5,Je.type)&&$("source",e.sources),re(),r(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),Ne(),Be(),void Xe(n,!1)):void et("Invalid source format")}function He(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function o(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",qe),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Ie),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Fe),E.clickToPlay&&"audio"!==Je.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(r(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t .plyr__control,
diff --git a/src/scss/plyr.scss b/src/scss/plyr.scss
index 639caaf1..60d2e2fe 100644
--- a/src/scss/plyr.scss
+++ b/src/scss/plyr.scss
@@ -61,14 +61,14 @@
height: ($plyr-range-thumb-height * $plyr-range-thumb-active-scale);
width: 100%;
margin: 0;
- padding: 0;
+ padding: 0;
vertical-align: middle;
-
+
appearance: none;
cursor: pointer;
border: none;
background: transparent;
-
+
// WebKit
&::-webkit-slider-runnable-track {
@include plyr-range-track();
@@ -86,7 +86,7 @@
&::-moz-range-thumb {
@include plyr-range-thumb();
}
-
+
// Microsoft
&::-ms-track {
height: $plyr-range-track-height;
@@ -104,7 +104,7 @@
&::-ms-thumb {
@include plyr-range-thumb();
// For some reason, Edge uses the -webkit margin above
- margin-top: 0;
+ margin-top: 0;
}
&::-ms-tooltip {
display: none;
@@ -116,11 +116,11 @@
}
&::-moz-focus-outer {
border: 0;
- }
+ }
&.tab-focus:focus {
outline-offset: 3px;
}
-
+
// Pressed styles
&:active {
&::-webkit-slider-thumb {
@@ -264,26 +264,25 @@
// Playback controls
.plyr__controls {
display: flex;
- align-items: center;
+ align-items: center;
line-height: 1;
text-align: center;
// Spacing
- > button,
+ > .plyr__control,
.plyr__progress,
- .plyr__time {
+ .plyr__time,
+ .plyr__menu {
margin-left: ($plyr-control-spacing / 2);
- &:first-child {
+ &:first-child,
+ &:first-child + [data-plyr="pause"] {
margin-left: 0;
}
}
.plyr__volume {
margin-left: ($plyr-control-spacing / 2);
}
- [data-plyr="pause"] {
- margin-left: 0;
- }
// Buttons
button {
@@ -328,7 +327,7 @@
}
}
}
-// Hide controls
+// Hide controls
.plyr--hide-controls .plyr__controls {
opacity: 0;
pointer-events: none;
@@ -475,7 +474,7 @@
height: 0;
left: 50%;
transform: translateX(-50%);
-
+
// The background triangle
bottom: -$plyr-tooltip-arrow-size;
border-right: $plyr-tooltip-arrow-size solid transparent;
@@ -624,16 +623,16 @@
}
&::-moz-progress-bar {
transition: width .2s ease;
- }
+ }
&::-ms-fill {
transition: width .2s ease;
- }
+ }
}
.plyr--video .plyr__progress--buffer,
.plyr--video .plyr__volume--display {
background: $plyr-video-range-track-bg;
}
-.plyr--video .plyr__progress--buffer {
+.plyr--video .plyr__progress--buffer {
color: $plyr-video-progress-buffered-bg;
}
.plyr--audio .plyr__progress--buffer,
--
cgit v1.2.3
From 1a05f352c71e52b98ff4c0753c35bb51a6bf10f0 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sat, 25 Mar 2017 10:37:00 +1100
Subject: Code formatting
---
src/js/plyr.js | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/js/plyr.js b/src/js/plyr.js
index b5fcb18f..5f5e8404 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -3515,10 +3515,10 @@
// Handle global presses
if (config.keyboardShortcuts.global) {
on(window, 'keydown keyup', function(event) {
- var code = getKeyCode(event),
- focused = getFocusElement(),
- allowed = [48, 49, 50, 51, 52, 53, 54, 56, 57, 75, 77, 70, 67],
- count = get().length;
+ var code = getKeyCode(event);
+ var focused = getFocusElement();
+ var allowed = [48, 49, 50, 51, 52, 53, 54, 56, 57, 75, 77, 70, 67];
+ var count = get().length;
// Only handle global key press if there's only one player
// and the key is in the allowed keys
@@ -3535,9 +3535,9 @@
}
function handleKey(event) {
- var code = getKeyCode(event),
- pressed = event.type === 'keydown',
- held = pressed && code === last;
+ var code = getKeyCode(event);
+ var pressed = event.type === 'keydown';
+ var held = pressed && code === last;
// If the event is bubbled from the media element
// Firefox doesn't get the keycode for whatever reason
@@ -3618,7 +3618,7 @@
case 77:
// M key
if (!held) {
- toggleMute()
+ toggleMute();
}
break;
--
cgit v1.2.3
From a60868bfe8f358c7dee76159824a538915be0a81 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sat, 25 Mar 2017 10:47:37 +1100
Subject: Clean up
---
dist/plyr.js | 4 +--
src/js/plyr.js | 90 +++++++++++++++++++++++++---------------------------------
2 files changed, 41 insertions(+), 53 deletions(-)
diff --git a/dist/plyr.js b/dist/plyr.js
index 5b3c9ee3..c3c3d848 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([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,o=navigator.userAgent,r=navigator.appName,s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,r="IE",s="11"):(n=o.indexOf("MSIE"))!==-1?(i=!0,r="IE",s=o.substring(n+5)):(n=o.indexOf("Chrome"))!==-1?(c=!0,r="Chrome",s=o.substring(n+7)):(n=o.indexOf("Safari"))!==-1?(p=!0,r="Safari",s=o.substring(n+7),(n=o.indexOf("Version"))!==-1&&(s=o.substring(n+8))):(n=o.indexOf("Firefox"))!==-1?(u=!0,r="Firefox",s=o.substring(n+8)):(e=o.lastIndexOf(" ")+1)<(n=o.lastIndexOf("/"))&&(r=o.substring(e,n),s=o.substring(n+1),r.toLowerCase()===r.toUpperCase()&&(r=navigator.appName)),(a=s.indexOf(";"))!==-1&&(s=s.substring(0,a)),(a=s.indexOf(" "))!==-1&&(s=s.substring(0,a)),l=parseInt(""+s,10),isNaN(l)&&(s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10)),{name:r,version:l,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function o(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function s(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,o=e[n],r=o.parentNode,s=o.nextSibling;return a.appendChild(o),s?r.insertBefore(a,s):r.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var o=t.createElement(e);u(o,a),i(n,o)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,o=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return o.call(e,n)}function f(e,t,n,a,o){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},o)}function b(e,t,n,a,o){var r=t.split(" ");if(M.boolean(o)||(o=!1),e instanceof NodeList)for(var s=0;s',' ',''+E.i18n.play+" ",""),e.push(''),o(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),o(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),o(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),o(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),o(E.controls,"progress")&&(e.push('
','
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),o(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),o(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),o(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),o(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),o(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),o(E.controls,"settings")&&e.push('"),o(E.controls,"pip")&&q.pip&&e.push('
',' ','PIP '," "),o(E.controls,"airplay")&&q.airplay&&e.push('
',' ','AirPlay '," "),o(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function R(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var o=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),r=o.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});r.unshift(['','',E.i18n.quality," "," "].join("")),X(E.selectors.menu.quality).innerHTML=r.join("")}}function D(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=q.fullscreen;e||E.fullscreen.fallback&&!U()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function V(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function H(){if("video"===Je.type){X(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",V),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",V),a.activeCues&&a.activeCues.length>0&&V(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){var e=o.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},o.open("get",t,!0),o.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=X(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function K(e){return Je.container.querySelectorAll(e)}function X(e){return K(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=K("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=r(n,"{seektime}",E.seekTime),n=r(n,"{speed}",z()),n=r(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=r(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var o=K([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=o.length-1;s>=0;s--){var l=o[s];d(l,E.classes.hidden,!1),d(l,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=X(E.selectors.controls.wrapper),Je.buttons={seek:X(E.selectors.buttons.seek),play:K(E.selectors.buttons.play),pause:X(E.selectors.buttons.pause),restart:X(E.selectors.buttons.restart),rewind:X(E.selectors.buttons.rewind),forward:X(E.selectors.buttons.forward),fullscreen:X(E.selectors.buttons.fullscreen),settings:X(E.selectors.buttons.settings),pip:X(E.selectors.buttons.pip),speed:X(E.selectors.buttons.speed),loop:X(E.selectors.buttons.loop)},Je.buttons.mute=X(E.selectors.buttons.mute),Je.buttons.captions=X(E.selectors.buttons.captions),Je.progress={container:X(E.selectors.progress.container)},Je.progress.buffer=function(){var e=X(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=X(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:X(E.selectors.volume.input),display:X(E.selectors.volume.display)},Je.duration=X(E.selectors.duration),Je.currentTime=X(E.selectors.currentTime),Je.seekTime=K(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&o(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},q.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){q.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function oe(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),o(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,q.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}o(E.types.embed,Je.type)&&re()}function re(){var n,o=t.createElement("div"),r=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=K('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(o),o.setAttribute("id",r),M.object(e.YT)?le(n,o):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,o)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(o):o=Je.media,o.setAttribute("id",r),M.object(e.Vimeo))ie(n,o);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,o))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:r}),o.appendChild(p),Je.media.appendChild(o),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ue(),Qe()),te(X("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),o=n.getAvailablePlaybackRates();console.warn(a,o),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loop.end=n,E.loop.indicator.end=Je.progress.played.value;break;case"all":E.loop.start=0,E.loop.end=Je.media.duration-2,E.loop.indicator.start=0,E.loop.indicator.end=100;break;case"toggle":E.loop?(E.loop.start=0,E.loop.end=null):(E.loop.start=0,E.loop.end=Je.media.duration-2);break;default:E.loop.start=0,E.loop.end=null}E.loop=M.number(E.loop.start)&&M.number(E.loop.end);var a=(Me(E.loop.start,X('[data-plyr-loop="start"]')),null);M.number(E.loop.end)&&(a=Me(E.loop.end,t.querySelector('[data-loop__value="loopout"]'))),E.loop?(X(E.selectors.progress.looped).style.position="absolute",X(E.selectors.progress.looped).style.left=E.loopinPositionPercentage+"%",X(E.selectors.progress.looped).style.width=E.loopoutPositionPercentage-E.loopinPositionPercentage+"%",X(E.selectors.progress.looped).style.background="#ffbb00",X(E.selectors.progress.looped).style.height="3px",X(E.selectors.progress.looped).style.top="3px",X(E.selectors.progress.looped).style["border-radius"]="100px"):X(E.selectors.progress.looped).style.width="0px"}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),Re(Je.media.paused)}function _e(){I={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(I.x,I.y)}function xe(e){var n=q.fullscreen;if(n){if(!e||e.type!==F.eventType)return F.isFullScreen(Je.container)?F.cancelFullScreen():(_e(),F.requestFullScreen(Je.container)),void(Je.isFullscreen=F.isFullScreen(Je.container));Je.isFullscreen=F.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),
-!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),o(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Pe(e){E.captions.selectedIndex=e,W(),H()}function Fe(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),Re(t)},t?250:0)}function Ie(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loopin)&&M.number(E.loopout)&&Je.media.currentTime>=E.loopout&&ge(E.loopin),Ne(t,n)}}function Ne(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function qe(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Ie(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,r=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,r))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&o(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,r,"mouseenter"===e.type)}}function Re(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,r=t,s=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,r=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),r||Je.media.paused||s){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}r&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function De(e){if(!M.undefined(e))return void Ve(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 Ve(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&o(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),o(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),o(E.types.html5,Je.type)&&$("source",e.sources),oe(),o(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(o(E.types.html5,Je.type)||o(E.types.embed,Je.type)&&!Je.supported.full)&&(Ue(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),Ne(),Be(),void Ke(n,!1)):void et("Invalid source format")}function He(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a-1}).length>=1;switch(f&&(y=N.loopKeyEvents),s){case y.toggleLoop:me("toggle");break;case y.loopin:me("loopin");break;case y.loopout:me("loopout")}!q.fullscreen&&Je.isFullscreen&&27===s&&xe(),c=s}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShortcuts.focused){var c=null;E.keyboardShortcuts.global&&g(e,"keydown keyup",function(e){var t=r(e),n=a(),s=[48,49,50,51,52,53,54,56,57,75,77,70,67],l=P().length;s=s.concat(Object.values(E.loopKeyEvents)),1!==l||!o(s,t)||M.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Je.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=r(e),n=a();9===t&&s(n)}),g(t.body,"click",function(){d(X("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var p in Je.buttons){var b=Je.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}f(Je.buttons.play,"click",E.listeners.play,n),f(Je.buttons.pause,"click",E.listeners.pause,n),f(Je.buttons.restart,"click",E.listeners.restart,ge),f(Je.buttons.rewind,"click",E.listeners.rewind,fe),f(Je.buttons.forward,"click",E.listeners.forward,be),f(Je.buttons.speed,"click",E.listeners.speed,function(){var e=t.querySelector('[data-plyr="speed"]:checked').value;ye(Number(e))}),f(Je.buttons.seek,u,E.listeners.seek,ge),f(Je.volume.input,u,E.listeners.volume,function(){Te(Je.volume.input.value)}),f(Je.buttons.mute,"click",E.listeners.mute,we),f(Je.buttons.fullscreen,"click",E.listeners.fullscreen,xe),f(Je.buttons.loop,"click",E.listeners.loop,function(e){var t=e.target.getAttribute("data-loop__value")||e.target.getAttribute("data-loop__type");o(["start","end","all","none"],t)&&me(t)}),q.fullscreen&&g(t,F.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,o=n.target,r=t.getElementById(o.getAttribute("aria-controls")),s="false"===o.getAttribute("aria-expanded");if(M.htmlElement(r)){var i,u,c,p="tabpanel"===r.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}r.setAttribute("aria-hidden",!s),o.setAttribute("aria-expanded",s),r.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Re),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=o(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",Re,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",qe),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Ie),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Fe),E.clickToPlay&&"audio"!==Je.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(o(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],o=r.parentNode,s=r.nextSibling;return a.appendChild(r),s?o.insertBefore(a,s):o.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),i(n,r)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return r.call(e,n)}function f(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function b(e,t,n,a,r){var o=t.split(" ");if(M.boolean(r)||(r=!1),e instanceof NodeList)for(var s=0;s',' ',''+E.i18n.play+" ",""),e.push(''),r(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),r(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),r(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),r(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),r(E.controls,"progress")&&(e.push('
','
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),r(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),r(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),r(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),r(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),r(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),r(E.controls,"settings")&&e.push('"),r(E.controls,"pip")&&q.pip&&e.push('
',' ','PIP '," "),r(E.controls,"airplay")&&q.airplay&&e.push('
',' ','AirPlay '," "),r(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function R(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var r=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),o=r.map(function(e){return["",'',' ",a(e),n(e)," "," "].join("")});o.unshift(['','',E.i18n.quality," "," "].join("")),U(E.selectors.menu.quality).innerHTML=o.join("")}}function D(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=q.fullscreen;e||E.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function V(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function H(){if("video"===Je.type){U(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'
'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",V),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",V),a.activeCues&&a.activeCues.length>0&&V(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status){var e=r.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},r.open("get",t,!0),r.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=U(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;aJe.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)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{speed}",z()),n=o(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=o(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var r=X([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=r.length-1;s>=0;s--){var l=r[s];d(l,E.classes.hidden,!1),d(l,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"×"}function G(){try{return Je.controls=U(E.selectors.controls.wrapper),Je.buttons={seek:U(E.selectors.buttons.seek),play:X(E.selectors.buttons.play),pause:U(E.selectors.buttons.pause),restart:U(E.selectors.buttons.restart),rewind:U(E.selectors.buttons.rewind),forward:U(E.selectors.buttons.forward),fullscreen:U(E.selectors.buttons.fullscreen),settings:U(E.selectors.buttons.settings),pip:U(E.selectors.buttons.pip),speed:U(E.selectors.buttons.speed),loop:U(E.selectors.buttons.loop)},Je.buttons.mute=U(E.selectors.buttons.mute),Je.buttons.captions=U(E.selectors.buttons.captions),Je.progress={container:U(E.selectors.progress.container)},Je.progress.buffer=function(){var e=U(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:U(E.selectors.volume.input),display:U(E.selectors.volume.display)},Je.duration=U(E.selectors.duration),Je.currentTime=U(E.selectors.currentTime),Je.seekTime=X(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&r(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.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);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},q.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){q.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function re(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),r(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,q.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}r(E.types.embed,Je.type)&&oe()}function oe(){var n,r=t.createElement("div"),o=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(r),r.setAttribute("id",o),M.object(e.YT)?le(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(r):r=Je.media,r.setAttribute("id",o),M.object(e.Vimeo))ie(n,r);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,r))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:o}),r.appendChild(p),Je.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},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=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),r=n.getAvailablePlaybackRates();console.warn(a,r),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered=n)return;E.loop.end=n,E.loop.indicator.end=Je.progress.played.value;break;case"all":E.loop.start=0,E.loop.end=Je.media.duration-2,E.loop.indicator.start=0,E.loop.indicator.end=100;break;case"toggle":E.loop.active?(E.loop.start=0,E.loop.end=null):(E.loop.start=0,E.loop.end=Je.media.duration-2);break;default:E.loop.start=0,E.loop.end=null}E.loop.active=M.number(E.loop.start)&&M.number(E.loop.end);var a=(Me(E.loop.start,U('[data-plyr-loop="start"]')),null);M.number(E.loop.end)&&(a=Me(E.loop.end,t.querySelector('[data-loop__value="loopout"]'))),E.loop.active}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),Re(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=q.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;
+if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),H()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),Re(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"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?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loop.start)&&M.number(E.loop.end)&&Je.media.currentTime>=E.loop.end&&ge(E.loop.start),Ne(t,n)}}function Ne(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(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(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function qe(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,o=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,o))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,o,"mouseenter"===e.type)}}function Re(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,o=t,s=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,o=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):o=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),o||Je.media.paused||s){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}o&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function De(e){if(!M.undefined(e))return void Ve(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(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 Ve(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&r(E.types.embed,n.type)&&(Je.type=n.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=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),r(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop.active&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),r(E.types.html5,Je.type)&&$("source",e.sources),re(),r(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),Ne(),Be(),void Xe(n,!1)):void et("Invalid source format")}function He(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),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 a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function o(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",qe),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(r(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t= config.loopout) {
- seek(config.loopin);
+ if (is.number(config.loop.start) && is.number(config.loop.end) && plyr.media.currentTime >= config.loop.end) {
+ seek(config.loop.start);
}
setProgress(progress, value);
@@ -3395,7 +3397,7 @@
if ('poster' in source) {
plyr.media.setAttribute('poster', source.poster);
}
- if (config.loop) {
+ if (config.loop.active) {
plyr.media.setAttribute('loop', '');
}
}
@@ -3527,12 +3529,9 @@
on(window, 'keydown keyup', function(event) {
var code = getKeyCode(event);
var focused = getFocusElement();
- var allowed = [48, 49, 50, 51, 52, 53, 54, 56, 57, 75, 77, 70, 67];
+ var allowed = [48, 49, 50, 51, 52, 53, 54, 56, 57, 75, 77, 70, 67, 73, 76, 79];
var count = get().length;
- //add also to allowed the keys of looping events
- allowed = allowed.concat(Object.values(config.loopKeyEvents));
-
// Only handle global key press if there's only one player
// and the key is in the allowed keys
// and if the focused element is not editable (e.g. text input)
@@ -3576,11 +3575,10 @@
// Reset on keyup
if (pressed) {
// Which keycodes should we prevent default
- var preventDefault = [48, 49, 50, 51, 52, 53, 54, 56, 57, 32, 75, 38, 40, 77, 39, 37, 70, 67];
+ var preventDefault = [48, 49, 50, 51, 52, 53, 54, 56, 57, 32, 75, 38, 40, 77, 39, 37, 70, 67, 73, 76, 79];
var checkFocus = [38, 40];
- var loopKeyEventsValues = Object.values(config.loopKeyEvents);
- if (inArray(checkFocus, code) || inArray(loopKeyEventsValues, code)) {
+ if (inArray(checkFocus, code)) {
var focused = getFocusElement();
if (is.htmlElement(focused) && getFocusElement().type === "radio") {
@@ -3657,28 +3655,18 @@
toggleCaptions();
}
break;
- }
- //Loop events
- var loopKeyBindings = config.loopKeyEvents;
- var hasBindedKey = loopKeyEventsValues.filter(function(el) {
- return preventDefault.indexOf(el) > -1;
- }).length >= 1;
+ case 73:
+ toggleLoop('start');
+ break;
- if (hasBindedKey) {
- loopKeyBindings = defaults.loopKeyEvents;
- }
+ case 76:
+ toggleLoop();
+ break;
- switch (code) {
- case loopKeyBindings.toggleLoop:
- toggleLoop('toggle');
- break;
- case loopKeyBindings.loopin:
- toggleLoop('loopin');
- break;
- case loopKeyBindings.loopout:
- toggleLoop('loopout');
- break;
+ case 79:
+ toggleLoop('end');
+ break;
}
// Escape is handle natively when in full screen
@@ -4246,7 +4234,7 @@
return plyr.media.paused;
},
isLooping: function() {
- return config.loopin && config.loopout;
+ return config.loop.active;
},
on: function(event, callback) {
on(plyr.container, event, callback);
--
cgit v1.2.3
From ebc7ed538a292211cf45cc6b638e9527170d0f06 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sat, 25 Mar 2017 10:49:04 +1100
Subject: Manual merge of #509
---
dist/plyr.css | 2 +-
src/less/plyr.less | 2 ++
src/scss/plyr.scss | 2 ++
3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dist/plyr.css b/dist/plyr.css
index 30b6a06c..e164ff6e 100644
--- a/dist/plyr.css
+++ b/dist/plyr.css
@@ -1 +1 @@
-.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr [aria-hidden=true]{display:none}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;z-index:0;overflow:hidden}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:5px}.plyr__controls .plyr__menu:first-child,.plyr__controls .plyr__menu:first-child+[data-plyr=pause],.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__progress:first-child+[data-plyr=pause],.plyr__controls .plyr__time:first-child,.plyr__controls .plyr__time:first-child+[data-plyr=pause],.plyr__controls>.plyr__control:first-child,.plyr__controls>.plyr__control:first-child+[data-plyr=pause]{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}@media (min-width:480px){.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:10px}.plyr__controls .plyr__menu+.plyr__control,.plyr__controls>.plyr__control+.plyr__control,.plyr__controls>.plyr__control+.plyr__menu{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr__control{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__control svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__control .icon--captions-on,.plyr__control .icon--exit-fullscreen,.plyr__control .icon--muted{display:none}.plyr__control:focus{outline:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls .plyr__control.tab-focus:focus,.plyr--video .plyr__controls .plyr__control:hover,.plyr--video .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls .plyr__control.tab-focus:focus,.plyr--audio .plyr__controls .plyr__control:hover,.plyr--audio .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__control .icon--captions-on,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen,.plyr--muted .plyr__control .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__control .icon--captions-on+svg,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen+svg,.plyr--muted .plyr__control .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__menu{position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu__container.is-resizing,.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;bottom:100%;right:-5px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:6px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:5px;list-style:none;overflow:hidden}.plyr__menu__container .plyr__control{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__control::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:5px solid transparent}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back{position:relative;padding-top:4px;padding-bottom:4px;padding-left:28px;margin-bottom:10px;font-weight:500}.plyr__menu__container .plyr__control--back::after{left:5px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container label.plyr__control{padding-left:18px}.plyr__menu__container label.plyr__control input[type=radio]{position:relative;left:-7px}.plyr__menu__container .plyr__menu__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden;font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__value .plyr__badge{font-weight:600}.plyr__badge{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);border-left:4px solid transparent;z-index:2}.plyr .plyr__control.tab-focus:focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
+.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr [aria-hidden=true]{display:none}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;z-index:0;overflow:hidden}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:5px}.plyr__controls .plyr__menu:first-child,.plyr__controls .plyr__menu:first-child+[data-plyr=pause],.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__progress:first-child+[data-plyr=pause],.plyr__controls .plyr__time:first-child,.plyr__controls .plyr__time:first-child+[data-plyr=pause],.plyr__controls>.plyr__control:first-child,.plyr__controls>.plyr__control:first-child+[data-plyr=pause]{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}@media (min-width:480px){.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:10px}.plyr__controls .plyr__menu+.plyr__control,.plyr__controls>.plyr__control+.plyr__control,.plyr__controls>.plyr__control+.plyr__menu{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr__control{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__control svg{width:18px;height:18px;display:block;fill:currentColor;pointer-events:none}.plyr__control .icon--captions-on,.plyr__control .icon--exit-fullscreen,.plyr__control .icon--muted{display:none}.plyr__control:focus{outline:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls .plyr__control.tab-focus:focus,.plyr--video .plyr__controls .plyr__control:hover,.plyr--video .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls .plyr__control.tab-focus:focus,.plyr--audio .plyr__controls .plyr__control:hover,.plyr--audio .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor;pointer-events:none}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__control .icon--captions-on,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen,.plyr--muted .plyr__control .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__control .icon--captions-on+svg,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen+svg,.plyr--muted .plyr__control .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__menu{position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu__container.is-resizing,.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;bottom:100%;right:-5px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:6px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:5px;list-style:none;overflow:hidden}.plyr__menu__container .plyr__control{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__control::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:5px solid transparent}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back{position:relative;padding-top:4px;padding-bottom:4px;padding-left:28px;margin-bottom:10px;font-weight:500}.plyr__menu__container .plyr__control--back::after{left:5px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container label.plyr__control{padding-left:18px}.plyr__menu__container label.plyr__control input[type=radio]{position:relative;left:-7px}.plyr__menu__container .plyr__menu__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden;font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__value .plyr__badge{font-weight:600}.plyr__badge{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);border-left:4px solid transparent;z-index:2}.plyr .plyr__control.tab-focus:focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/src/less/plyr.less b/src/less/plyr.less
index b85a5221..16bfbf14 100644
--- a/src/less/plyr.less
+++ b/src/less/plyr.less
@@ -341,6 +341,7 @@
height: @plyr-control-icon-size;
display: block;
fill: currentColor;
+ pointer-events: none;
}
// Hide toggle icons by default
.icon--exit-fullscreen,
@@ -421,6 +422,7 @@
height: 20px;
display: block;
fill: currentColor;
+ pointer-events: none;
}
&:focus {
diff --git a/src/scss/plyr.scss b/src/scss/plyr.scss
index 60d2e2fe..08f41920 100644
--- a/src/scss/plyr.scss
+++ b/src/scss/plyr.scss
@@ -304,6 +304,7 @@
height: $plyr-control-icon-size;
display: block;
fill: currentColor;
+ pointer-events: none;
}
// Default focus
@@ -397,6 +398,7 @@
height: 20px;
display: block;
fill: currentColor;
+ pointer-events: none;
}
&:focus {
--
cgit v1.2.3
From 605f8a8249f16b2744a8f4ad1311d383a330a92e Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sat, 25 Mar 2017 10:57:52 +1100
Subject: Changelog update
---
changelog.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/changelog.md b/changelog.md
index ef9552d7..1fc85a42 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
# Changelog
+## v2.0.12
+- Ability to set custom `blankUrl` for source changes (https://github.com/Selz/plyr/pull/504)
+- Ability to set caption button listener (https://github.com/Selz/plyr/pull/468)
+
## v2.0.11
- Fix for `cleanUp` being called twice (thanks to @sebastiancarlsson)
- Fix for YouTube controls on iPad (fixes #391)
--
cgit v1.2.3
From 4957e4d80c833bbfa915c0c20d3d79245221b6f6 Mon Sep 17 00:00:00 2001
From: Sam Potts
Date: Sat, 25 Mar 2017 10:58:41 +1100
Subject: Version bump to 2.0.12
---
demo/dist/demo.css | 2 +-
demo/dist/demo.js | 2 +-
dist/plyr.css | 2 +-
dist/plyr.js | 4 ++--
package.json | 2 +-
readme.md | 6 +++---
src/js/plyr.js | 4 ++--
7 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/demo/dist/demo.css b/demo/dist/demo.css
index 18d923d7..a9b2f5bc 100644
--- a/demo/dist/demo.css
+++ b/demo/dist/demo.css
@@ -1 +1 @@
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}@font-face{font-family:Avenir;src:url(//cdn.plyr.io/fonts/avenir-medium.woff2) format("woff2"),url(//cdn.plyr.io/fonts/avenir-medium.woff) format("woff");font-style:normal;font-weight:500}@font-face{font-family:Avenir;src:url(//cdn.plyr.io/fonts/avenir-bold.woff2) format("woff2"),url(//cdn.plyr.io/fonts/avenir-bold.woff) format("woff");font-style:normal;font-weight:700}html{font-size:100%}body{font-family:Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;text-align:center;color:#55646b;font-weight:500;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}h1,h2{letter-spacing:-.025em;color:#3498db;margin:0 0 10px;line-height:1.2;font-weight:700}h1{font-size:64px;font-size:4rem}p,small{margin:0 0 20px}small{display:block;padding:0 10px;font-size:14px;font-size:.875rem}li,ul{list-style:none;margin:0;padding:0}a{text-decoration:none;color:#3498db;border-bottom:1px dotted currentColor;transition:background .3s ease,color .3s ease,border .3s ease}a:focus,a:hover{color:#343f4a;border-bottom-color:transparent}a:focus{outline:thin dotted #343f4a;outline-offset:1px}a.logo{border:0}.color--vimeo{color:#19b7ed}.color--youtube{color:#cc181e}*,::after,::before{box-sizing:border-box}[hidden]{display:none}html{height:100%;background:#f2f5f7 fixed}body{margin:0;padding:10px}header{padding:20px;margin-bottom:20px}header p{font-size:18px;font-size:1.125rem}@media (min-width:480px){header{padding-top:60px;padding-bottom:60px}}section{max-width:1200px;margin:0 auto 20px}@media (min-width:480px){section{margin-bottom:40px}}.icon{fill:currentColor;width:18px;height:18px;vertical-align:-3px}a svg,button svg,label svg{pointer-events:none}.btn .icon,a .icon{margin-right:10px}.btn:not(.btn-large) .icon{width:16px;height:16px}nav ul{list-style:none;margin:0;padding:0;font-size:0}nav li{display:inline-block;margin-top:10px;font-size:16px;font-size:1rem;white-space:nowrap}nav li+li{margin-left:20px}.btn__bar{position:relative;margin:0 auto 20px;max-width:1200px;white-space:nowrap}.btn__bar::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#dbe3e8}.btn__bar ul{position:relative;z-index:1;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn__bar li{margin:0}.btn__bar li:first-child .btn{border-radius:4px 0 0 4px}.btn__bar li:last-child .btn{border-radius:0 4px 4px 0}.btn__bar li+li .btn{margin-left:-1px}.btn__bar li.active .btn{box-shadow:inset 0 1px 1px rgba(0,0,0,.2);position:relative;z-index:1}.btn__bar li.active .btn .icon{color:inherit}.btn__bar li.active+li .btn:hover{z-index:0}.btn__bar .btn{position:relative;display:block;border-radius:0}.btn__bar .btn:focus,.btn__bar .btn:hover{z-index:1}@media (min-width:560px){.btn__bar{margin-bottom:40px}}.btn,.btn__count{display:inline-block;vertical-align:middle;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:700}.btn{padding:10px 12px;background:linear-gradient(#f8fafb,#e9eef1);border:1px solid #cbd0d3;box-shadow:0 1px 1px rgba(0,0,0,.05);text-shadow:0 1px 1px #fff;color:#55646b;transition:background .1s ease,color .1s ease;font-size:14px;font-size:.875rem}.btn:focus,.btn:hover{border-color:#b5bcc0;color:#55646b;outline:0}.btn--large{padding:10px 20px;font-size:16px;font-size:1rem}.btn--primary,.btn__bar li.active .btn{background-image:linear-gradient(#3498db,#258cd1);background-color:#3498db;border-color:#217dbb;box-shadow:0 1px 1px rgba(0,0,0,.15);text-shadow:0 1px 1px rgba(0,0,0,.1);color:#fff}.btn--primary:focus,.btn--primary:hover{color:#fff;border-color:#196090}.btn--youtube .icon{color:#cc181e}.btn--vimeo .icon{color:#19b7ed}.btn--twitter .icon{color:#4baaf4}.btn__count{position:relative;margin-left:10px;padding:10px 15px;background:#fff;border:1px solid #cbd0d3}.btn__count::before{content:"";position:absolute;display:block;width:8px;height:8px;left:1px;top:50%;margin-top:-4px;background:inherit;border:inherit;border-width:1px 0 0 1px;transform:rotate(-45deg) translate(-50%,-50%)}.error body,html.error{height:100%}.error body{width:100%;display:table;table-layout:fixed}.error main{display:table-cell;width:100%;vertical-align:middle}video{max-width:100%;vertical-align:middle}.plyr{margin:0 auto;border-radius:6px}.plyr--audio{max-width:520px}.plyr__video-wrapper::after{content:"";pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;border:1px solid rgba(0,0,0,.15);border-radius:inherit}.plyr__cite{display:none;margin-top:20px}.plyr__cite .icon{margin-right:5px}.plyr--audio~ul .plyr__cite--audio,.plyr--video:not(.plyr--youtube):not(.plyr--vimeo)~ul .plyr__cite--video,.plyr--vimeo~ul .plyr__cite--vimeo,.plyr--youtube~ul .plyr__cite--youtube{display:block}
\ No newline at end of file
+/*! normalize.css v2.1.3 | MIT License | git.io/normalize */a.logo,img,legend{border:0}a,h1,h2{color:#3498db}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,small,summary{display:block}body,figure,li,ul{margin:0}[hidden],template{display:none}li,nav ul,ul{list-style:none;padding:0}legend,li,nav ul,ul{padding:0}.btn__bar,sub,sup{position:relative}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a{background:0 0;text-decoration:none;border-bottom:1px dotted currentColor;transition:background .3s ease,color .3s ease,border .3s ease}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}.btn__bar,nav li{white-space:nowrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}@font-face{font-family:Avenir;src:url(//cdn.plyr.io/fonts/avenir-medium.woff2) format("woff2"),url(//cdn.plyr.io/fonts/avenir-medium.woff) format("woff");font-style:normal;font-weight:500}@font-face{font-family:Avenir;src:url(//cdn.plyr.io/fonts/avenir-bold.woff2) format("woff2"),url(//cdn.plyr.io/fonts/avenir-bold.woff) format("woff");font-style:normal;font-weight:700}html{font-size:100%;height:100%;background:fixed #f2f5f7}body{font-family:Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;text-align:center;color:#55646b;font-weight:500;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding:10px}h1,h2{letter-spacing:-.025em;margin:0 0 10px;line-height:1.2;font-weight:700}h1{font-size:64px;font-size:4rem}p,small{margin:0 0 20px}small{padding:0 10px;font-size:14px;font-size:.875rem}a:focus,a:hover{color:#343f4a;border-bottom-color:transparent}a:focus{outline:#343f4a dotted thin;outline-offset:1px}.color--vimeo{color:#19b7ed}.color--youtube{color:#cc181e}*,::after,::before{box-sizing:border-box}.btn__bar ul,nav li{display:inline-block}header{padding:20px;margin-bottom:20px}header p{font-size:18px;font-size:1.125rem}section{max-width:1200px;margin:0 auto 20px}@media (min-width:480px){header{padding-top:60px;padding-bottom:60px}section{margin-bottom:40px}}.icon{fill:currentColor;width:18px;height:18px;vertical-align:-3px}.btn,.btn__count,.error main,video{vertical-align:middle}a svg,button svg,label svg{pointer-events:none}.btn .icon,a .icon{margin-right:10px}.btn:not(.btn-large) .icon{width:16px;height:16px}nav ul{margin:0;font-size:0}nav li{margin-top:10px;font-size:16px;font-size:1rem}nav li+li{margin-left:20px}.btn__bar{margin:0 auto 20px;max-width:1200px}.btn__bar::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#dbe3e8}.btn__bar ul{position:relative;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn__bar li{margin:0}.btn__bar li:first-child .btn{border-radius:4px 0 0 4px}.btn__bar li:last-child .btn{border-radius:0 4px 4px 0}.btn__bar li+li .btn{margin-left:-1px}.btn__bar li.active .btn{position:relative;z-index:1}.btn__bar li.active .btn .icon{color:inherit}.btn__bar li.active+li .btn:hover{z-index:0}.btn__bar .btn{position:relative;display:block;border-radius:0}.btn__bar .btn:focus,.btn__bar .btn:hover{z-index:1}@media (min-width:560px){.btn__bar{margin-bottom:40px}}.btn,.btn__count{display:inline-block;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:700}.btn{padding:10px 12px;background:linear-gradient(#f8fafb,#e9eef1);border:1px solid #cbd0d3;box-shadow:0 1px 1px rgba(0,0,0,.05);text-shadow:0 1px 1px #fff;color:#55646b;transition:background .1s ease,color .1s ease;font-size:14px;font-size:.875rem}.btn:focus,.btn:hover{border-color:#b5bcc0;color:#55646b;outline:0}.btn--large{padding:10px 20px;font-size:16px;font-size:1rem}.btn--primary,.btn__bar li.active .btn{background-image:linear-gradient(#3498db,#258cd1);background-color:#3498db;border-color:#217dbb;box-shadow:0 1px 1px rgba(0,0,0,.15);text-shadow:0 1px 1px rgba(0,0,0,.1);color:#fff}.btn--primary:focus,.btn--primary:hover{color:#fff;border-color:#196090}.btn--youtube .icon{color:#cc181e}.btn--vimeo .icon{color:#19b7ed}.btn--twitter .icon{color:#4BAAF4}.btn__count{position:relative;margin-left:10px;padding:10px 15px;background:#fff;border:1px solid #cbd0d3}.btn__count::before,.plyr__video-wrapper::after{content:"";position:absolute}.btn__count::before{display:block;width:8px;height:8px;left:1px;top:50%;margin-top:-4px;background:inherit;border:inherit;border-width:1px 0 0 1px;transform:rotate(-45deg) translate(-50%,-50%)}.error body,html.error{height:100%}.error body{width:100%;display:table;table-layout:fixed}.error main{display:table-cell;width:100%}video{max-width:100%}.plyr{margin:0 auto;border-radius:6px}.plyr--audio{max-width:520px}.plyr__video-wrapper::after{pointer-events:none;top:0;bottom:0;left:0;right:0;border:1px solid rgba(0,0,0,.15);border-radius:inherit}.plyr__cite{display:none;margin-top:20px}.plyr__cite .icon{margin-right:5px}.plyr--audio~ul .plyr__cite--audio,.plyr--video:not(.plyr--youtube):not(.plyr--vimeo)~ul .plyr__cite--video,.plyr--vimeo~ul .plyr__cite--vimeo,.plyr--youtube~ul .plyr__cite--youtube{display:block}
\ No newline at end of file
diff --git a/demo/dist/demo.js b/demo/dist/demo.js
index cee62443..3ecf85aa 100644
--- a/demo/dist/demo.js
+++ b/demo/dist/demo.js
@@ -1 +1 @@
-"document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var e=document.createElement("_");if(e.classList.add("c1","c2"),!e.classList.contains("c2")){var t=function(e){var t=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var i,s=arguments.length;for(i=0;i=0;a--)e(o[a].parentElement,"active",!1);e(document.querySelector('[data-source="'+t+'"]').parentElement,"active",!0)}}var i=plyr.setup({debug:!0,title:"Video demo",iconUrl:"../dist/plyr.svg",tooltips:{controls:!0},captions:{defaultActive:!0}});plyr.loadSprite("dist/demo.svg");for(var s=i[0],o=document.querySelectorAll("[data-source]"),n={video:"video",audio:"audio",youtube:"youtube",vimeo:"vimeo"},r=window.location.hash.replace("#",""),a=window.history&&window.history.pushState,c=o.length-1;c>=0;c--)o[c].addEventListener("click",function(){var e=this.getAttribute("data-source");t(e),a&&history.pushState({type:e},"","#"+e)});if(window.addEventListener("popstate",function(e){e.state&&"type"in e.state&&t(e.state.type)}),a){var l=!r.length;l&&(r=n.video),r in n&&history.replaceState({type:r},"",l?"":"#"+r),r!==n.video&&t(r,!0)}}(),document.domain.indexOf("plyr.io")>-1&&(!function(e,t,i,s,o,n,r){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,n=t.createElement(i),r=t.getElementsByTagName(i)[0],n.async=1,n.src=s,r.parentNode.insertBefore(n,r)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),ga("create","UA-40881672-11","auto"),ga("send","pageview"));
\ No newline at end of file
+"document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var e=document.createElement("_");if(e.classList.add("c1","c2"),!e.classList.contains("c2")){var t=function(e){var t=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var i,s=arguments.length;for(i=0;i=0;a--)e(o[a].parentElement,"active",!1);e(document.querySelector('[data-source="'+t+'"]').parentElement,"active",!0)}}var i=plyr.setup({debug:!0,title:"Video demo",iconUrl:"../dist/plyr.svg",tooltips:{controls:!0},captions:{defaultActive:!0}});plyr.loadSprite("dist/demo.svg");for(var s=i[0],o=document.querySelectorAll("[data-source]"),n={video:"video",audio:"audio",youtube:"youtube",vimeo:"vimeo"},r=window.location.hash.replace("#",""),a=window.history&&window.history.pushState,c=o.length-1;c>=0;c--)o[c].addEventListener("click",function(){var e=this.getAttribute("data-source");t(e),a&&history.pushState({type:e},"","#"+e)});if(window.addEventListener("popstate",function(e){e.state&&"type"in e.state&&t(e.state.type)}),a){var l=!r.length;l&&(r=n.video),r in n&&history.replaceState({type:r},"",l?"":"#"+r),r!==n.video&&t(r,!0)}}(),document.domain.indexOf("plyr.io")>-1&&(!function(e,t,i,s,o,n,r){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,n=t.createElement(i),r=t.getElementsByTagName(i)[0],n.async=1,n.src=s,r.parentNode.insertBefore(n,r)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),ga("create","UA-40881672-11","auto"),ga("send","pageview"));
\ No newline at end of file
diff --git a/dist/plyr.css b/dist/plyr.css
index 9c22d075..e92820ce 100644
--- a/dist/plyr.css
+++ b/dist/plyr.css
@@ -1 +1 @@
-@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr:focus{outline:0}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:1px dotted rgba(255,255,255,.5)}.plyr--audio input[type=range].tab-focus:focus{outline:1px dotted rgba(86,93,100,.5)}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565d64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:1px dotted rgba(255,255,255,.5)}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen]{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
+.plyr input[type=range]:focus,.plyr:focus{outline:0}.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/dist/plyr.js b/dist/plyr.js
index c7b453ed..c94c75c7 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([],function(){return 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 navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,s="IE",o="11"):(n=a.indexOf("MSIE"))!==-1?(l=!0,s="IE",o=a.substring(n+5)):(n=a.indexOf("Chrome"))!==-1?(c=!0,s="Chrome",o=a.substring(n+7)):(n=a.indexOf("Safari"))!==-1?(d=!0,s="Safari",o=a.substring(n+7),(n=a.indexOf("Version"))!==-1&&(o=a.substring(n+8))):(n=a.indexOf("Firefox"))!==-1?(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)),(r=o.indexOf(";"))!==-1&&(o=o.substring(0,r)),(r=o.indexOf(" "))!==-1&&(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),isIphone:/(iPhone|iPod)/g.test(navigator.userAgent),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&&e.indexOf(t)!==-1}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){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O["boolean"](t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(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 f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O["boolean"](a)||(a=!1),e instanceof NodeList)for(var o=0;o',' ',''+E.i18n.play+" ",""),e.push(''),s(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),s(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),s(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),s(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),s(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),s(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),s(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),s(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),s(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),s(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),s(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function q(){if(Be.supported.full&&("audio"!==Be.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!X()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Be.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Be.buttons&&Be.buttons.fullscreen&&k(Be.buttons.fullscreen,!1),$()}}function D(){if("video"===Be.type){B(E.selectors.captions)||Be.videoContainer.insertAdjacentHTML("afterbegin",'
'),Be.usingTextTracks=!1,Be.media.textTracks&&(Be.usingTextTracks=!0);for(var e,t="",n=Be.media.childNodes,r=0;r=10||Be.browser.isFirefox&&Be.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Be.usingTextTracks=!1),Be.usingTextTracks){Je("TextTracks supported");for(var o=0;o ");for(var r=0;rBe.captions.length-1){Be.subcount=Be.captions.length-1;break}Be.media.currentTime.toFixed(1)>=n(Be.captions[Be.subcount][0])&&Be.media.currentTime.toFixed(1)<=r(Be.captions[Be.subcount][0])?(Be.currentCaption=Be.captions[Be.subcount][1],H(Be.currentCaption)):H()}}function Y(){if(Be.buttons.captions){m(Be.container,E.classes.captions.enabled,!0);var e=Be.storage.captionsEnabled;O["boolean"](e)||(e=E.captions.defaultActive),e&&(m(Be.container,E.classes.captions.active,!0),k(Be.buttons.captions,!0))}}function U(e){return Be.container.querySelectorAll(e)}function B(e){return U(e)[0]}function X(){try{return e.self!==e.top}catch(t){return!0}}function $(){function e(e){9===e.which&&Be.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=U("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Be.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Be.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Be.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Be.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Be.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=U([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Be.controls=B(E.selectors.controls.wrapper),Be.buttons={},Be.buttons.seek=B(E.selectors.buttons.seek),Be.buttons.play=U(E.selectors.buttons.play),Be.buttons.pause=B(E.selectors.buttons.pause),Be.buttons.restart=B(E.selectors.buttons.restart),Be.buttons.rewind=B(E.selectors.buttons.rewind),Be.buttons.forward=B(E.selectors.buttons.forward),Be.buttons.fullscreen=B(E.selectors.buttons.fullscreen),Be.buttons.mute=B(E.selectors.buttons.mute),Be.buttons.captions=B(E.selectors.buttons.captions),Be.progress={},Be.progress.container=B(E.selectors.progress.container),Be.progress.buffer={},Be.progress.buffer.bar=B(E.selectors.progress.buffer),Be.progress.buffer.text=Be.progress.buffer.bar&&Be.progress.buffer.bar.getElementsByTagName("span")[0],Be.progress.played=B(E.selectors.progress.played),Be.progress.tooltip=Be.progress.container&&Be.progress.container.querySelector("."+E.classes.tooltip),Be.volume={},Be.volume.input=B(E.selectors.volume.input),Be.volume.display=B(E.selectors.volume.display),Be.duration=B(E.selectors.duration),Be.currentTime=B(E.selectors.currentTime),Be.seekTime=U(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Be.container,E.selectors.container.replace(".",""),Be.supported.full)}function Q(e){e&&s(E.types.html5,Be.type)?Be.media.setAttribute("controls",""):Be.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Be.container.setAttribute("aria-label",E.title)),Be.supported.full&&Be.buttons.play)for(var n=Be.buttons.play.length-1;n>=0;n--)Be.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Be.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Be.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Be.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Be.storage)))}function ne(){if(!Be.media)return void ze("No media element found!");if(Be.supported.full&&(m(Be.container,E.classes.type.replace("{0}",Be.type),!0),s(E.types.embed,Be.type)&&m(Be.container,E.classes.type.replace("{0}","video"),!0),m(Be.container,E.classes.stopped,E.autoplay),m(Be.container,E.classes.isIos,Be.browser.isIos),m(Be.container,E.classes.isTouch,Be.browser.isTouch),"video"===Be.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Be.media,e),Be.videoContainer=e}s(E.types.embed,Be.type)&&re()}function re(){var n,r=t.createElement("div"),s=Be.type+"-"+Math.floor(1e4*Math.random());switch(Be.type){case"youtube":n=T(Be.embedId);break;case"vimeo":n=S(Be.embedId);break;default:n=Be.embedId}for(var o=U('[id^="'+Be.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Be.media,E.classes.videoWrapper,!0),m(Be.media,E.classes.embedWrapper,!0),"youtube"===Be.type)Be.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Be.type)if(Be.supported.full?Be.media.appendChild(r):r=Be.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Be.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Be.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Be.supported.full&&(We(),Ye()),Z(B("iframe"))}function se(t,n){Be.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Be.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Be.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Be.media.play=function(){n.playVideo(),Be.media.paused=!1},Be.media.pause=function(){n.pauseVideo(),Be.media.paused=!0},Be.media.stop=function(){n.stopVideo(),Be.media.paused=!0},Be.media.duration=n.getDuration(),Be.media.paused=!0,Be.media.currentTime=0,Be.media.muted=n.isMuted(),E.title=n.getVideoData().title,Be.supported.full&&Be.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Be.media,"timeupdate"),A(Be.media,"durationchange"),e.clearInterval(Xe.buffering),Xe.buffering=e.setInterval(function(){Be.media.buffered=n.getVideoLoadedFraction(),(null===Be.media.lastBuffered||Be.media.lastBufferedr&&(t=r),Ne(t);try{Be.media.currentTime=t.toFixed(4)}catch(a){}if(s(E.types.embed,Be.type)){switch(Be.type){case"youtube":Be.embed.seekTo(t);break;case"vimeo":Be.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Be.embed.seekTo(1e3*t)}n&&ue(),A(Be.media,"timeupdate"),Be.media.seeking=!0,A(Be.media,"seeking")}Je("Seeking to "+Be.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Be.media.duration||isNaN(Be.media.duration)||(t=Be.media.duration),isNaN(e)?t:e}function ye(){m(Be.container,E.classes.playing,!Be.media.paused),m(Be.container,E.classes.stopped,Be.media.paused),Me(Be.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Be.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Be.container)),void(Be.isFullscreen=N.isFullScreen(Be.container));Be.isFullscreen=N.isFullScreen(Be.container)}else Be.isFullscreen=!Be.isFullscreen,t.body.style.overflow=Be.isFullscreen?"hidden":"";m(Be.container,E.classes.fullscreen.active,Be.isFullscreen),$(Be.isFullscreen),Be.buttons&&Be.buttons.fullscreen&&k(Be.buttons.fullscreen,Be.isFullscreen),A(Be.container,Be.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Be.isFullscreen&&n&&ve()}function he(e){if(O["boolean"](e)||(e=!Be.media.muted),k(Be.buttons.mute,e),Be.media.muted=e,0===Be.media.volume&&ke(E.volume),s(E.types.embed,Be.type)){switch(Be.type){case"youtube":Be.embed[Be.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Be.embed.setVolume(Be.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Be.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Be.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&he()}function we(e){var t=Be.media.muted?0:Be.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Be.media.muted?0:Be.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Be.media.muted?0:Be.media.volume*E.volumeMax;Be.supported.full&&(Be.volume.input&&(Be.volume.input.value=e),Be.volume.display&&(Be.volume.display.value=e)),te({volume:e}),m(Be.container,E.classes.muted,0===e),Be.supported.full&&Be.buttons.mute&&k(Be.buttons.mute,0===e)}function Se(e){Be.supported.full&&Be.buttons.captions&&(O["boolean"](e)||(e=Be.container.className.indexOf(E.classes.captions.active)===-1),Be.captionsEnabled=e,k(Be.buttons.captions,Be.captionsEnabled),m(Be.container,E.classes.captions.active,Be.captionsEnabled),A(Be.container,Be.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Be.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Xe.loading),Xe.loading=setTimeout(function(){m(Be.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Be.supported.full){var t=Be.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Be.controls.pressed)return;n=w(Be.media.currentTime,r),"timeupdate"===e.type&&Be.buttons.seek&&(Be.buttons.seek.value=n);break;case"playing":case"progress":t=Be.progress.buffer,n=function(){var e=Be.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Be.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Be.progress||!Be.progress.buffer)return;e=Be.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Be.secs=parseInt(e%60),Be.mins=parseInt(e/60%60),Be.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Be.secs=("0"+Be.secs).slice(-2),Be.mins=("0"+Be.mins).slice(-2),t.innerHTML=(n?Be.hours+":":"")+Be.mins+":"+Be.secs}}function Ae(){if(Be.supported.full){var e=fe()||0;!Be.duration&&E.displayDuration&&Be.media.paused&&Fe(e,Be.currentTime),Be.duration&&Fe(e,Be.duration),Pe()}}function Ie(e){Fe(Be.media.currentTime,Be.currentTime),e&&"timeupdate"===e.type&&Be.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Be.progress&&Be.progress.played&&(Be.progress.played.value=n),Be.buttons&&Be.buttons.seek&&(Be.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Be.progress.container&&0!==t){var n=Be.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Be.progress.tooltip,a))return;r=Be.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Be.progress.tooltip),Be.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Be.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Be.type){var n=0,r=!1,a=t,o=f(Be.container,E.classes.loading);if(O["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=f(Be.container,E.classes.hideControls)),e.clearTimeout(Xe.hover),a||Be.media.paused||o){if(m(Be.container,E.classes.hideControls,!1),Be.media.paused||o)return;Be.browser.isTouch&&(n=3e3)}a&&Be.media.paused||(Xe.hover=e.setTimeout(function(){(!Be.controls.pressed&&!Be.controls.hover||r)&&m(Be.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Be.type){case"youtube":t=Be.embed.getVideoUrl();break;case"vimeo":Be.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Be.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Be.media.currentSrc}return t||""}function Le(e){function n(){if(Be.embed=null,l(Be.media),"video"===Be.type&&Be.videoContainer&&l(Be.videoContainer),Be.container&&Be.container.removeAttribute("class"),"type"in e&&(Be.type=e.type,"video"===Be.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Be.type=n.type)}switch(Be.supported=F(Be.type),Be.type){case"video":Be.media=t.createElement("video");break;case"audio":Be.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Be.media=t.createElement("div"),Be.embedId=e.sources[0].src}u(Be.container,Be.media),O["boolean"](e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Be.type)&&(E.crossorigin&&Be.media.setAttribute("crossorigin",""),E.autoplay&&Be.media.setAttribute("autoplay",""),"poster"in e&&Be.media.setAttribute("poster",e.poster),E.loop&&Be.media.setAttribute("loop","")),m(Be.container,E.classes.fullscreen.active,Be.isFullscreen),m(Be.container,E.classes.captions.active,Be.captionsEnabled),K(),s(E.types.html5,Be.type)&&J("source",e.sources),ne(),s(E.types.html5,Be.type)&&("tracks"in e&&J("track",e.tracks),Be.media.load()),(s(E.types.html5,Be.type)||s(E.types.embed,Be.type)&&!Be.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Be.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Be.type&&Be.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Be.buttons[e?"play":"pause"],n=Be.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Be.buttons){var n=Be.buttons[t];if(O.nodeList(n))for(var r=0;r0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Be.media,"timeupdate seeking",Ie),g(Be.media,"timeupdate",W),g(Be.media,"durationchange loadedmetadata",Ae),g(Be.media,"ended",function(){"video"===Be.type&&E.showPosterOnEnd&&("video"===Be.type&&H(),me(),Be.media.load())}),g(Be.media,"progress playing",Ee),g(Be.media,"volumechange",Te),g(Be.media,"play pause ended",ye),g(Be.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Be.type){var e=B("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Be.browser.isTouch&&!Be.media.paused||(Be.media.paused?le():Be.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Be.media,"contextmenu",function(e){e.preventDefault()}),g(Be.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Be.container,e.type,!0)})}function qe(){if(s(E.types.html5,Be.type)){for(var e=Be.media.querySelectorAll("source"),t=0;t=10&&(c=!0);break;case"soundcloud":u=!0,c=!a&&!o;break;default:u=i&&l,c=u&&!a}return{basic:u,full:c}}function A(e,n){function r(e,t){f(t,M.classes.hook)||a.push({target:e,media:t})}var a=[],s=[],o=[M.selectors.html5,M.selectors.embed].join(",");if(O.string(e)?e=t.querySelectorAll(e):O.htmlElement(e)?e=[e]:O.nodeList(e)||O.array(e)||O.string(e)||(O.undefined(n)&&O.object(e)&&(n=e),e=t.querySelectorAll(o)),O.nodeList(e)&&(e=Array.prototype.slice.call(e)),!F().basic||!e.length)return!1;for(var i=0;i=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){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(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 f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O.boolean(a)||(a=!1),e instanceof NodeList)for(var o=0;o',' ',''+E.i18n.play+" ",""),e.push(''),s(E.controls,"restart")&&e.push('
',' ',''+E.i18n.restart+" "," "),s(E.controls,"rewind")&&e.push('
',' ',''+E.i18n.rewind+" "," "),s(E.controls,"play")&&e.push('
',' ',''+E.i18n.play+" "," ",'
',' ',''+E.i18n.pause+" "," "),s(E.controls,"fast-forward")&&e.push('
',' ',''+E.i18n.forward+" "," "),s(E.controls,"progress")&&(e.push('
','Seek ',' ',' ','',"0 % "+E.i18n.buffered," "),E.tooltips.seek&&e.push('00:00 '),e.push(" ")),s(E.controls,"current-time")&&e.push('
',''+E.i18n.currentTime+" ",'00:00 '," "),s(E.controls,"duration")&&e.push('
',''+E.i18n.duration+" ",'00:00 '," "),s(E.controls,"mute")&&e.push('
',' ',' ',''+E.i18n.toggleMute+" "," "),s(E.controls,"volume")&&e.push('
',''+E.i18n.volume+" ",' ',' '," "),s(E.controls,"captions")&&e.push('
',' ',' ',''+E.i18n.toggleCaptions+" "," "),s(E.controls,"fullscreen")&&e.push('
',' ',' ',''+E.i18n.toggleFullscreen+" "," "),e.push("
"),e.join("")}function q(){if(Be.supported.full&&("audio"!==Be.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!X()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Be.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Be.buttons&&Be.buttons.fullscreen&&k(Be.buttons.fullscreen,!1),$()}}function D(){if("video"===Be.type){B(E.selectors.captions)||Be.videoContainer.insertAdjacentHTML("afterbegin",'
'),Be.usingTextTracks=!1,Be.media.textTracks&&(Be.usingTextTracks=!0);for(var e,t="",n=Be.media.childNodes,r=0;r=10||Be.browser.isFirefox&&Be.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Be.usingTextTracks=!1),Be.usingTextTracks){Je("TextTracks supported");for(var o=0;o ");for(var r=0;rBe.captions.length-1){Be.subcount=Be.captions.length-1;break}Be.media.currentTime.toFixed(1)>=n(Be.captions[Be.subcount][0])&&Be.media.currentTime.toFixed(1)<=r(Be.captions[Be.subcount][0])?(Be.currentCaption=Be.captions[Be.subcount][1],H(Be.currentCaption)):H()}}function Y(){if(Be.buttons.captions){m(Be.container,E.classes.captions.enabled,!0);var e=Be.storage.captionsEnabled;O.boolean(e)||(e=E.captions.defaultActive),e&&(m(Be.container,E.classes.captions.active,!0),k(Be.buttons.captions,!0))}}function U(e){return Be.container.querySelectorAll(e)}function B(e){return U(e)[0]}function X(){try{return e.self!==e.top}catch(e){return!0}}function $(){function e(e){9===e.which&&Be.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=U("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Be.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Be.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Be.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Be.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Be.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=U([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Be.controls=B(E.selectors.controls.wrapper),Be.buttons={},Be.buttons.seek=B(E.selectors.buttons.seek),Be.buttons.play=U(E.selectors.buttons.play),Be.buttons.pause=B(E.selectors.buttons.pause),Be.buttons.restart=B(E.selectors.buttons.restart),Be.buttons.rewind=B(E.selectors.buttons.rewind),Be.buttons.forward=B(E.selectors.buttons.forward),Be.buttons.fullscreen=B(E.selectors.buttons.fullscreen),Be.buttons.mute=B(E.selectors.buttons.mute),Be.buttons.captions=B(E.selectors.buttons.captions),Be.progress={},Be.progress.container=B(E.selectors.progress.container),Be.progress.buffer={},Be.progress.buffer.bar=B(E.selectors.progress.buffer),Be.progress.buffer.text=Be.progress.buffer.bar&&Be.progress.buffer.bar.getElementsByTagName("span")[0],Be.progress.played=B(E.selectors.progress.played),Be.progress.tooltip=Be.progress.container&&Be.progress.container.querySelector("."+E.classes.tooltip),Be.volume={},Be.volume.input=B(E.selectors.volume.input),Be.volume.display=B(E.selectors.volume.display),Be.duration=B(E.selectors.duration),Be.currentTime=B(E.selectors.currentTime),Be.seekTime=U(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Be.container,E.selectors.container.replace(".",""),Be.supported.full)}function Q(e){e&&s(E.types.html5,Be.type)?Be.media.setAttribute("controls",""):Be.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Be.container.setAttribute("aria-label",E.title)),Be.supported.full&&Be.buttons.play)for(var n=Be.buttons.play.length-1;n>=0;n--)Be.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Be.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Be.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Be.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Be.storage)))}function ne(){if(!Be.media)return void ze("No media element found!");if(Be.supported.full&&(m(Be.container,E.classes.type.replace("{0}",Be.type),!0),s(E.types.embed,Be.type)&&m(Be.container,E.classes.type.replace("{0}","video"),!0),m(Be.container,E.classes.stopped,E.autoplay),m(Be.container,E.classes.isIos,Be.browser.isIos),m(Be.container,E.classes.isTouch,Be.browser.isTouch),"video"===Be.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Be.media,e),Be.videoContainer=e}s(E.types.embed,Be.type)&&re()}function re(){var n,r=t.createElement("div"),s=Be.type+"-"+Math.floor(1e4*Math.random());switch(Be.type){case"youtube":n=T(Be.embedId);break;case"vimeo":n=S(Be.embedId);break;default:n=Be.embedId}for(var o=U('[id^="'+Be.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Be.media,E.classes.videoWrapper,!0),m(Be.media,E.classes.embedWrapper,!0),"youtube"===Be.type)Be.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Be.type)if(Be.supported.full?Be.media.appendChild(r):r=Be.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Be.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Be.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Be.supported.full&&(We(),Ye()),Z(B("iframe"))}function se(t,n){Be.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Be.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Be.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Be.media.play=function(){n.playVideo(),Be.media.paused=!1},Be.media.pause=function(){n.pauseVideo(),Be.media.paused=!0},Be.media.stop=function(){n.stopVideo(),Be.media.paused=!0},Be.media.duration=n.getDuration(),Be.media.paused=!0,Be.media.currentTime=0,Be.media.muted=n.isMuted(),E.title=n.getVideoData().title,Be.supported.full&&Be.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Be.media,"timeupdate"),A(Be.media,"durationchange"),e.clearInterval(Xe.buffering),Xe.buffering=e.setInterval(function(){Be.media.buffered=n.getVideoLoadedFraction(),(null===Be.media.lastBuffered||Be.media.lastBufferedr&&(t=r),Ne(t);try{Be.media.currentTime=t.toFixed(4)}catch(e){}if(s(E.types.embed,Be.type)){switch(Be.type){case"youtube":Be.embed.seekTo(t);break;case"vimeo":Be.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Be.embed.seekTo(1e3*t)}n&&ue(),A(Be.media,"timeupdate"),Be.media.seeking=!0,A(Be.media,"seeking")}Je("Seeking to "+Be.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Be.media.duration||isNaN(Be.media.duration)||(t=Be.media.duration),isNaN(e)?t:e}function ye(){m(Be.container,E.classes.playing,!Be.media.paused),m(Be.container,E.classes.stopped,Be.media.paused),Me(Be.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Be.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Be.container)),void(Be.isFullscreen=N.isFullScreen(Be.container));Be.isFullscreen=N.isFullScreen(Be.container)}else Be.isFullscreen=!Be.isFullscreen,t.body.style.overflow=Be.isFullscreen?"hidden":"";m(Be.container,E.classes.fullscreen.active,Be.isFullscreen),$(Be.isFullscreen),Be.buttons&&Be.buttons.fullscreen&&k(Be.buttons.fullscreen,Be.isFullscreen),A(Be.container,Be.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Be.isFullscreen&&n&&ve()}function he(e){if(O.boolean(e)||(e=!Be.media.muted),k(Be.buttons.mute,e),Be.media.muted=e,0===Be.media.volume&&ke(E.volume),s(E.types.embed,Be.type)){switch(Be.type){case"youtube":Be.embed[Be.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Be.embed.setVolume(Be.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Be.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Be.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e0&&he()}function we(e){var t=Be.media.muted?0:Be.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Be.media.muted?0:Be.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Be.media.muted?0:Be.media.volume*E.volumeMax;Be.supported.full&&(Be.volume.input&&(Be.volume.input.value=e),Be.volume.display&&(Be.volume.display.value=e)),te({volume:e}),m(Be.container,E.classes.muted,0===e),Be.supported.full&&Be.buttons.mute&&k(Be.buttons.mute,0===e)}function Se(e){Be.supported.full&&Be.buttons.captions&&(O.boolean(e)||(e=Be.container.className.indexOf(E.classes.captions.active)===-1),Be.captionsEnabled=e,k(Be.buttons.captions,Be.captionsEnabled),m(Be.container,E.classes.captions.active,Be.captionsEnabled),A(Be.container,Be.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Be.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Xe.loading),Xe.loading=setTimeout(function(){m(Be.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Be.supported.full){var t=Be.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Be.controls.pressed)return;n=w(Be.media.currentTime,r),"timeupdate"===e.type&&Be.buttons.seek&&(Be.buttons.seek.value=n);break;case"playing":case"progress":t=Be.progress.buffer,n=function(){var e=Be.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Be.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Be.progress||!Be.progress.buffer)return;e=Be.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Be.secs=parseInt(e%60),Be.mins=parseInt(e/60%60),Be.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Be.secs=("0"+Be.secs).slice(-2),Be.mins=("0"+Be.mins).slice(-2),t.innerHTML=(n?Be.hours+":":"")+Be.mins+":"+Be.secs}}function Ae(){if(Be.supported.full){var e=fe()||0;!Be.duration&&E.displayDuration&&Be.media.paused&&Fe(e,Be.currentTime),Be.duration&&Fe(e,Be.duration),Pe()}}function Ie(e){Fe(Be.media.currentTime,Be.currentTime),e&&"timeupdate"===e.type&&Be.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Be.progress&&Be.progress.played&&(Be.progress.played.value=n),Be.buttons&&Be.buttons.seek&&(Be.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Be.progress.container&&0!==t){var n=Be.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Be.progress.tooltip,a))return;r=Be.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Be.progress.tooltip),Be.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Be.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Be.type){var n=0,r=!1,a=t,o=f(Be.container,E.classes.loading);if(O.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=f(Be.container,E.classes.hideControls)),e.clearTimeout(Xe.hover),a||Be.media.paused||o){if(m(Be.container,E.classes.hideControls,!1),Be.media.paused||o)return;Be.browser.isTouch&&(n=3e3)}a&&Be.media.paused||(Xe.hover=e.setTimeout(function(){(!Be.controls.pressed&&!Be.controls.hover||r)&&m(Be.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Be.type){case"youtube":t=Be.embed.getVideoUrl();break;case"vimeo":Be.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Be.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Be.media.currentSrc}return t||""}function Le(e){function n(){if(Be.embed=null,l(Be.media),"video"===Be.type&&Be.videoContainer&&l(Be.videoContainer),Be.container&&Be.container.removeAttribute("class"),"type"in e&&(Be.type=e.type,"video"===Be.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Be.type=n.type)}switch(Be.supported=F(Be.type),Be.type){case"video":Be.media=t.createElement("video");break;case"audio":Be.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Be.media=t.createElement("div"),Be.embedId=e.sources[0].src}u(Be.container,Be.media),O.boolean(e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Be.type)&&(E.crossorigin&&Be.media.setAttribute("crossorigin",""),E.autoplay&&Be.media.setAttribute("autoplay",""),"poster"in e&&Be.media.setAttribute("poster",e.poster),E.loop&&Be.media.setAttribute("loop","")),m(Be.container,E.classes.fullscreen.active,Be.isFullscreen),m(Be.container,E.classes.captions.active,Be.captionsEnabled),K(),s(E.types.html5,Be.type)&&J("source",e.sources),ne(),s(E.types.html5,Be.type)&&("tracks"in e&&J("track",e.tracks),Be.media.load()),(s(E.types.html5,Be.type)||s(E.types.embed,Be.type)&&!Be.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Be.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Be.type&&Be.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Be.buttons[e?"play":"pause"],n=Be.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Be.buttons){var n=Be.buttons[t];if(O.nodeList(n))for(var r=0;r0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Be.media,"timeupdate seeking",Ie),g(Be.media,"timeupdate",W),g(Be.media,"durationchange loadedmetadata",Ae),g(Be.media,"ended",function(){"video"===Be.type&&E.showPosterOnEnd&&("video"===Be.type&&H(),me(),Be.media.load())}),g(Be.media,"progress playing",Ee),g(Be.media,"volumechange",Te),g(Be.media,"play pause ended",ye),g(Be.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Be.type){var e=B("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Be.browser.isTouch&&!Be.media.paused||(Be.media.paused?le():Be.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Be.media,"contextmenu",function(e){e.preventDefault()}),g(Be.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Be.container,e.type,!0)})}function qe(){if(s(E.types.html5,Be.type)){for(var e=Be.media.querySelectorAll("source"),t=0;t=10&&(c=!0);break;case"soundcloud":u=!0,c=!a&&!o;break;default:u=i&&l,c=u&&!a}return{basic:u,full:c}}function A(e,n){function r(e,t){f(t,M.classes.hook)||a.push({target:e,media:t})}var a=[],s=[],o=[M.selectors.html5,M.selectors.embed].join(",");if(O.string(e)?e=t.querySelectorAll(e):O.htmlElement(e)?e=[e]:O.nodeList(e)||O.array(e)||O.string(e)||(O.undefined(n)&&O.object(e)&&(n=e),e=t.querySelectorAll(o)),O.nodeList(e)&&(e=Array.prototype.slice.call(e)),!F().basic||!e.length)return!1;for(var i=0;i` tag and then call `ply
If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for the JavaScript, you can use the following:
```html
-
+
```
### CSS
@@ -150,11 +150,11 @@ Include the `plyr.css` stylsheet into your ``
If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for the default CSS, you can use the following:
```html
-
+
```
### SVG Sprite
-The SVG sprite is loaded automatically from our CDN (provided by [Fastly](https://www.fastly.com/)). To change this, see the [options](#options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.11/plyr.svg`.
+The SVG sprite is loaded automatically from our CDN (provided by [Fastly](https://www.fastly.com/)). To change this, see the [options](#options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.12/plyr.svg`.
## Advanced
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 815a4c01..d86a2ecb 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -1,6 +1,6 @@
// ==========================================================================
// Plyr
-// plyr.js v2.0.11
+// plyr.js v2.0.12
// https://github.com/selz/plyr
// License: The MIT License (MIT)
// ==========================================================================
@@ -43,7 +43,7 @@
displayDuration: true,
loadSprite: true,
iconPrefix: 'plyr',
- iconUrl: 'https://cdn.plyr.io/2.0.11/plyr.svg',
+ iconUrl: 'https://cdn.plyr.io/2.0.12/plyr.svg',
blankUrl: 'https://cdn.selz.com/plyr/blank.mp4',
clickToPlay: true,
hideControls: true,
--
cgit v1.2.3