From fe7bf227cdb06e742a47a819099d2b45bea37cec Mon Sep 17 00:00:00 2001
From: "spip.franck@lien-d-amis.net" <>
Date: Sun, 8 Oct 2017 18:51:03 +0000
Subject: [PATCH] =?UTF-8?q?Dans=20spip=203.3=20-=20Mise=20=C3=A0=20jour=20?=
 =?UTF-8?q?de=20la=20lib=20getid=20en=20version=201.9.14=20(nous=20=C3=A9t?=
 =?UTF-8?q?ions=20en=201.9.13)=20https://github.com/JamesHeinrich/getID3/b?=
 =?UTF-8?q?lob/master/changelog.txt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- Mise à jour de la lib mediaelement en version 4.2.6 (nous étions en 4.2.5)
https://github.com/mediaelement/mediaelement/blob/master/changelog.md
---
 .gitattributes                              |   1 -
 lib/getid3/getid3.php                       |  29 +-
 lib/getid3/module.archive.gzip.php          |   8 +-
 lib/getid3/module.archive.rar.php           |   6 +-
 lib/getid3/module.archive.szip.php          |   4 +-
 lib/getid3/module.archive.zip.php           |  24 +-
 lib/getid3/module.audio-video.asf.php       |  38 +-
 lib/getid3/module.audio-video.bink.php      |   6 +-
 lib/getid3/module.audio-video.flv.php       |   2 +-
 lib/getid3/module.audio-video.matroska.php  |   9 +-
 lib/getid3/module.audio-video.mpeg.php      |   2 +-
 lib/getid3/module.audio-video.nsv.php       |  12 +-
 lib/getid3/module.audio-video.quicktime.php |  30 +-
 lib/getid3/module.audio-video.real.php      |   8 +-
 lib/getid3/module.audio-video.riff.php      |  50 +-
 lib/getid3/module.audio-video.swf.php       |   4 +-
 lib/getid3/module.audio-video.ts.php        |   4 +-
 lib/getid3/module.audio.aa.php              |   6 +-
 lib/getid3/module.audio.aac.php             |  16 +-
 lib/getid3/module.audio.ac3.php             | 589 +++++++++++++------
 lib/getid3/module.audio.amr.php             |   3 +-
 lib/getid3/module.audio.au.php              |   4 +-
 lib/getid3/module.audio.avr.php             |   4 +-
 lib/getid3/module.audio.bonk.php            |   6 +-
 lib/getid3/module.audio.dsf.php             |   8 +-
 lib/getid3/module.audio.dss.php             |   2 +-
 lib/getid3/module.audio.la.php              |  20 +-
 lib/getid3/module.audio.lpac.php            |  12 +-
 lib/getid3/module.audio.midi.php            |  20 +-
 lib/getid3/module.audio.mod.php             |  18 +-
 lib/getid3/module.audio.monkey.php          |  10 +-
 lib/getid3/module.audio.mp3.php             |  76 +--
 lib/getid3/module.audio.mpc.php             |  16 +-
 lib/getid3/module.audio.ogg.php             |  46 +-
 lib/getid3/module.audio.optimfrog.php       |  10 +-
 lib/getid3/module.audio.rkau.php            |   4 +-
 lib/getid3/module.audio.shorten.php         |  14 +-
 lib/getid3/module.audio.tta.php             |   4 +-
 lib/getid3/module.audio.voc.php             |   4 +-
 lib/getid3/module.audio.vqf.php             |  12 +-
 lib/getid3/module.audio.wavpack.php         |  14 +-
 lib/getid3/module.graphic.bmp.php           |  16 +-
 lib/getid3/module.graphic.efax.php          |   6 +-
 lib/getid3/module.graphic.gif.php           |   4 +-
 lib/getid3/module.graphic.jpg.php           |   8 +-
 lib/getid3/module.graphic.pcd.php           |   2 +-
 lib/getid3/module.graphic.png.php           |  12 +-
 lib/getid3/module.graphic.svg.php           |   2 +-
 lib/getid3/module.graphic.tiff.php          |   2 +-
 lib/getid3/module.misc.exe.php              |   4 +-
 lib/getid3/module.misc.iso.php              |  10 +-
 lib/getid3/module.misc.msoffice.php         |   4 +-
 lib/getid3/module.misc.par2.php             |   2 +-
 lib/getid3/module.misc.pdf.php              |   2 +-
 lib/getid3/module.tag.apetag.php            |  38 +-
 lib/getid3/module.tag.id3v1.php             |   6 +-
 lib/getid3/module.tag.id3v2.php             |  80 +--
 lib/getid3/module.tag.lyrics3.php           |  22 +-
 lib/getid3/write.php                        |  11 +
 lib/mejs/lang/pt-br.js                      |  91 ---
 lib/mejs/mediaelement-and-player.js         | 593 ++++++++++++--------
 lib/mejs/mediaelement-and-player.min.js     |   2 +-
 lib/mejs/mediaelement-flash-video-hls.swf   | Bin 92749 -> 92776 bytes
 lib/mejs/mediaelement-flash-video.swf       | Bin 8017 -> 8174 bytes
 lib/mejs/mediaelement.js                    | 178 ++++--
 lib/mejs/mediaelement.min.js                |   2 +-
 lib/mejs/mediaelementplayer-legacy.css      |   6 +-
 lib/mejs/mediaelementplayer-legacy.min.css  |   2 +-
 lib/mejs/mediaelementplayer.css             |   6 +-
 lib/mejs/mediaelementplayer.min.css         |   2 +-
 lib/mejs/renderers/facebook.js              | 352 ++++++------
 lib/mejs/renderers/facebook.min.js          |   2 +-
 lib/mejs/renderers/twitch.js                |  16 +-
 lib/mejs/renderers/twitch.min.js            |   2 +-
 paquet.xml                                  |   2 +-
 75 files changed, 1535 insertions(+), 1107 deletions(-)
 delete mode 100644 lib/mejs/lang/pt-br.js

diff --git a/.gitattributes b/.gitattributes
index 80a48922..afcbb44a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -217,7 +217,6 @@ lib/mejs/lang/ja.js -text
 lib/mejs/lang/ko.js -text
 lib/mejs/lang/nl.js -text
 lib/mejs/lang/pl.js -text
-lib/mejs/lang/pt-br.js -text
 lib/mejs/lang/pt.js -text
 lib/mejs/lang/ro.js -text
 lib/mejs/lang/ru.js -text
diff --git a/lib/getid3/getid3.php b/lib/getid3/getid3.php
index 79f562aa..37bf9443 100644
--- a/lib/getid3/getid3.php
+++ b/lib/getid3/getid3.php
@@ -112,7 +112,7 @@ class getID3
 	protected $startup_error   = '';
 	protected $startup_warning = '';
 
-	const VERSION           = '1.9.13-201612051806';
+	const VERSION           = '1.9.14-201703261440';
 	const FREAD_BUFFER_SIZE = 32768;
 
 	const ATTACHMENTS_NONE   = false;
@@ -308,6 +308,17 @@ class getID3
 			$this->info['filename']     = getid3_lib::mb_basename($filename);
 			$this->info['filenamepath'] = $this->info['filepath'].'/'.$this->info['filename'];
 
+			// set more parameters
+			$this->info['avdataoffset']        = 0;
+			$this->info['avdataend']           = $this->info['filesize'];
+			$this->info['fileformat']          = '';                // filled in later
+			$this->info['audio']['dataformat'] = '';                // filled in later, unset if not used
+			$this->info['video']['dataformat'] = '';                // filled in later, unset if not used
+			$this->info['tags']                = array();           // filled in later, unset if not used
+			$this->info['error']               = array();           // filled in later, unset if not used
+			$this->info['warning']             = array();           // filled in later, unset if not used
+			$this->info['comments']            = array();           // filled in later, unset if not used
+			$this->info['encoding']            = $this->encoding;   // required by id3v2 and iso modules - can be unset at the end if desired
 
 			// option_max_2gb_check
 			if ($this->option_max_2gb_check) {
@@ -334,18 +345,6 @@ class getID3
 				}
 			}
 
-			// set more parameters
-			$this->info['avdataoffset']        = 0;
-			$this->info['avdataend']           = $this->info['filesize'];
-			$this->info['fileformat']          = '';                // filled in later
-			$this->info['audio']['dataformat'] = '';                // filled in later, unset if not used
-			$this->info['video']['dataformat'] = '';                // filled in later, unset if not used
-			$this->info['tags']                = array();           // filled in later, unset if not used
-			$this->info['error']               = array();           // filled in later, unset if not used
-			$this->info['warning']             = array();           // filled in later, unset if not used
-			$this->info['comments']            = array();           // filled in later, unset if not used
-			$this->info['encoding']            = $this->encoding;   // required by id3v2 and iso modules - can be unset at the end if desired
-
 			return true;
 
 		} catch (Exception $e) {
@@ -1381,8 +1380,8 @@ class getID3
 
 				if (!empty($VorbisCommentError)) {
 
-					$this->info['warning'][]         = 'Failed making system call to vorbiscomment(.exe) - '.$algorithm.'_data will be incorrect. If vorbiscomment is unavailable, please download from http://www.vorbis.com/download.psp and put in the getID3() directory. Error returned: '.$VorbisCommentError;
-					$this->info[$algorithm.'_data']  = false;
+					$this->warning('Failed making system call to vorbiscomment(.exe) - '.$algorithm.'_data will be incorrect. If vorbiscomment is unavailable, please download from http://www.vorbis.com/download.psp and put in the getID3() directory. Error returned: '.$VorbisCommentError);
+					$this->info[$algorithm.'_data'] = false;
 
 				} else {
 
diff --git a/lib/getid3/module.archive.gzip.php b/lib/getid3/module.archive.gzip.php
index fc84988c..112a1e6d 100644
--- a/lib/getid3/module.archive.gzip.php
+++ b/lib/getid3/module.archive.gzip.php
@@ -37,7 +37,7 @@ class getid3_gzip extends getid3_handler {
 		//+---+---+---+---+---+---+---+---+---+---+
 
 		if ($info['php_memory_limit'] && ($info['filesize'] > $info['php_memory_limit'])) {
-			$info['error'][] = 'File is too large ('.number_format($info['filesize']).' bytes) to read into memory (limit: '.number_format($info['php_memory_limit'] / 1048576).'MB)';
+			$this->error('File is too large ('.number_format($info['filesize']).' bytes) to read into memory (limit: '.number_format($info['php_memory_limit'] / 1048576).'MB)');
 			return false;
 		}
 		$this->fseek(0);
@@ -97,7 +97,7 @@ class getid3_gzip extends getid3_handler {
 
 			$thisInfo['os'] = $this->get_os_type($thisInfo['raw']['os']);
 			if (!$thisInfo['os']) {
-				$info['error'][] = 'Read error on gzip file';
+				$this->error('Read error on gzip file');
 				return false;
 			}
 
@@ -215,7 +215,7 @@ class getid3_gzip extends getid3_handler {
 							if (file_exists(GETID3_INCLUDEPATH.$determined_format['include']) && include_once(GETID3_INCLUDEPATH.$determined_format['include'])) {
 								if (($temp_tar_filename = tempnam(GETID3_TEMP_DIR, 'getID3')) === false) {
 									// can't find anywhere to create a temp file, abort
-									$info['error'][] = 'Unable to create temp file to parse TAR inside GZIP file';
+									$this->error('Unable to create temp file to parse TAR inside GZIP file');
 									break;
 								}
 								if ($fp_temp_tar = fopen($temp_tar_filename, 'w+b')) {
@@ -229,7 +229,7 @@ class getid3_gzip extends getid3_handler {
 									unset($getid3_temp, $getid3_tar);
 									unlink($temp_tar_filename);
 								} else {
-									$info['error'][] = 'Unable to fopen() temp file to parse TAR inside GZIP file';
+									$this->error('Unable to fopen() temp file to parse TAR inside GZIP file');
 									break;
 								}
 							}
diff --git a/lib/getid3/module.archive.rar.php b/lib/getid3/module.archive.rar.php
index 665cf1cd..30961fb5 100644
--- a/lib/getid3/module.archive.rar.php
+++ b/lib/getid3/module.archive.rar.php
@@ -36,13 +36,13 @@ class getid3_rar extends getid3_handler
 					rar_close($rp);
 					return true;
 				} else {
-					$info['error'][] = 'failed to rar_open('.$info['filename'].')';
+					$this->error('failed to rar_open('.$info['filename'].')');
 				}
 			} else {
-				$info['error'][] = 'RAR support does not appear to be available in this PHP installation';
+				$this->error('RAR support does not appear to be available in this PHP installation');
 			}
 		} else {
-			$info['error'][] = 'PHP-RAR processing has been disabled (set $getid3_rar->option_use_rar_extension=true to enable)';
+			$this->error('PHP-RAR processing has been disabled (set $getid3_rar->option_use_rar_extension=true to enable)');
 		}
 		return false;
 
diff --git a/lib/getid3/module.archive.szip.php b/lib/getid3/module.archive.szip.php
index be152a39..67517294 100644
--- a/lib/getid3/module.archive.szip.php
+++ b/lib/getid3/module.archive.szip.php
@@ -24,13 +24,13 @@ class getid3_szip extends getid3_handler
 		$this->fseek($info['avdataoffset']);
 		$SZIPHeader = $this->fread(6);
 		if (substr($SZIPHeader, 0, 4) != "SZ\x0A\x04") {
-			$info['error'][] = 'Expecting "53 5A 0A 04" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($SZIPHeader, 0, 4)).'"';
+			$this->error('Expecting "53 5A 0A 04" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($SZIPHeader, 0, 4)).'"');
 			return false;
 		}
 		$info['fileformat']            = 'szip';
 		$info['szip']['major_version'] = getid3_lib::BigEndian2Int(substr($SZIPHeader, 4, 1));
 		$info['szip']['minor_version'] = getid3_lib::BigEndian2Int(substr($SZIPHeader, 5, 1));
-$info['error'][] = 'SZIP parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+$this->error('SZIP parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 return false;
 
 		while (!$this->feof()) {
diff --git a/lib/getid3/module.archive.zip.php b/lib/getid3/module.archive.zip.php
index 3716dcdd..4b7aa583 100644
--- a/lib/getid3/module.archive.zip.php
+++ b/lib/getid3/module.archive.zip.php
@@ -30,7 +30,7 @@ class getid3_zip extends getid3_handler
 		$info['zip']['entries_count']     = 0;
 
 		if (!getid3_lib::intValueSupported($info['filesize'])) {
-			$info['error'][] = 'File is larger than '.round(PHP_INT_MAX / 1073741824).'GB, not supported by PHP';
+			$this->error('File is larger than '.round(PHP_INT_MAX / 1073741824).'GB, not supported by PHP');
 			return false;
 		} else {
 			$EOCDsearchData    = '';
@@ -61,7 +61,7 @@ class getid3_zip extends getid3_handler
 					}
 
 					if ($info['zip']['entries_count'] == 0) {
-						$info['error'][] = 'No Central Directory entries found (truncated file?)';
+						$this->error('No Central Directory entries found (truncated file?)');
 						return false;
 					}
 
@@ -86,7 +86,7 @@ class getid3_zip extends getid3_handler
 						if ($fileentry = $this->ZIPparseLocalFileHeader()) {
 							$info['zip']['entries'][] = $fileentry;
 						} else {
-							$info['warning'][] = 'Error parsing Local File Header at offset '.$central_directory_entry['entry_offset'];
+							$this->warning('Error parsing Local File Header at offset '.$central_directory_entry['entry_offset']);
 						}
 					}
 
@@ -113,16 +113,16 @@ class getid3_zip extends getid3_handler
 		if (!$this->getZIPentriesFilepointer()) {
 			unset($info['zip']);
 			$info['fileformat'] = '';
-			$info['error'][] = 'Cannot find End Of Central Directory (truncated file?)';
+			$this->error('Cannot find End Of Central Directory (truncated file?)');
 			return false;
 		}
 
 		// central directory couldn't be found and/or parsed
 		// scan through actual file data entries, recover as much as possible from probable trucated file
 		if ($info['zip']['compressed_size'] > ($info['filesize'] - 46 - 22)) {
-			$info['error'][] = 'Warning: Truncated file! - Total compressed file sizes ('.$info['zip']['compressed_size'].' bytes) is greater than filesize minus Central Directory and End Of Central Directory structures ('.($info['filesize'] - 46 - 22).' bytes)';
+			$this->error('Warning: Truncated file! - Total compressed file sizes ('.$info['zip']['compressed_size'].' bytes) is greater than filesize minus Central Directory and End Of Central Directory structures ('.($info['filesize'] - 46 - 22).' bytes)');
 		}
-		$info['error'][] = 'Cannot find End Of Central Directory - returned list of files in [zip][entries] array may not be complete';
+		$this->error('Cannot find End Of Central Directory - returned list of files in [zip][entries] array may not be complete');
 		foreach ($info['zip']['entries'] as $key => $valuearray) {
 			$info['zip']['files'][$valuearray['filename']] = $valuearray['uncompressed_size'];
 		}
@@ -145,7 +145,7 @@ class getid3_zip extends getid3_handler
 			$info['zip']['entries_count']++;
 		}
 		if ($info['zip']['entries_count'] == 0) {
-			$info['error'][] = 'No Local File Header entries found';
+			$this->error('No Local File Header entries found');
 			return false;
 		}
 
@@ -157,14 +157,14 @@ class getid3_zip extends getid3_handler
 			$info['zip']['uncompressed_size'] += $centraldirectoryentry['uncompressed_size'];
 		}
 		if ($info['zip']['entries_count'] == 0) {
-			$info['error'][] = 'No Central Directory entries found (truncated file?)';
+			$this->error('No Central Directory entries found (truncated file?)');
 			return false;
 		}
 
 		if ($EOCD = $this->ZIPparseEndOfCentralDirectory()) {
 			$info['zip']['end_central_directory'] = $EOCD;
 		} else {
-			$info['error'][] = 'No End Of Central Directory entry found (truncated file?)';
+			$this->error('No End Of Central Directory entry found (truncated file?)');
 			return false;
 		}
 
@@ -191,7 +191,7 @@ class getid3_zip extends getid3_handler
 			$info['zip']['uncompressed_size'] += $fileentry['uncompressed_size'];
 		}
 		if ($info['zip']['entries_count'] == 0) {
-			$info['error'][] = 'No Local File Header entries found';
+			$this->error('No Local File Header entries found');
 			return false;
 		}
 
@@ -278,13 +278,13 @@ class getid3_zip extends getid3_handler
 						if ($LocalFileHeader['data_descriptor']['compressed_size'] == $central_directory_entry['compressed_size']) {
 							// $LocalFileHeader['compressed_size'] already set from Central Directory
 						} else {
-							$this->getid3->info['warning'][] = 'conflicting compressed_size from data_descriptor ('.$LocalFileHeader['data_descriptor']['compressed_size'].') vs Central Directory ('.$central_directory_entry['compressed_size'].') for file at offset '.$LocalFileHeader['offset'];
+							$this->warning('conflicting compressed_size from data_descriptor ('.$LocalFileHeader['data_descriptor']['compressed_size'].') vs Central Directory ('.$central_directory_entry['compressed_size'].') for file at offset '.$LocalFileHeader['offset']);
 						}
 
 						if ($LocalFileHeader['data_descriptor']['uncompressed_size'] == $central_directory_entry['uncompressed_size']) {
 							$LocalFileHeader['uncompressed_size'] = $LocalFileHeader['data_descriptor']['uncompressed_size'];
 						} else {
-							$this->getid3->info['warning'][] = 'conflicting uncompressed_size from data_descriptor ('.$LocalFileHeader['data_descriptor']['uncompressed_size'].') vs Central Directory ('.$central_directory_entry['uncompressed_size'].') for file at offset '.$LocalFileHeader['offset'];
+							$this->warning('conflicting uncompressed_size from data_descriptor ('.$LocalFileHeader['data_descriptor']['uncompressed_size'].') vs Central Directory ('.$central_directory_entry['uncompressed_size'].') for file at offset '.$LocalFileHeader['offset']);
 						}
 						break;
 					}
diff --git a/lib/getid3/module.audio-video.asf.php b/lib/getid3/module.audio-video.asf.php
index b22798f8..23d3a0e6 100644
--- a/lib/getid3/module.audio-video.asf.php
+++ b/lib/getid3/module.audio-video.asf.php
@@ -266,14 +266,14 @@ class getid3_asf extends getid3_handler {
 					$offset += 16;
 					$thisfile_asf_headerextensionobject['reserved_1_guid']     = $this->BytestringToGUID($thisfile_asf_headerextensionobject['reserved_1']);
 					if ($thisfile_asf_headerextensionobject['reserved_1'] != GETID3_ASF_Reserved_1) {
-						$info['warning'][] = 'header_extension_object.reserved_1 GUID ('.$this->BytestringToGUID($thisfile_asf_headerextensionobject['reserved_1']).') does not match expected "GETID3_ASF_Reserved_1" GUID ('.$this->BytestringToGUID(GETID3_ASF_Reserved_1).')';
+						$this->warning('header_extension_object.reserved_1 GUID ('.$this->BytestringToGUID($thisfile_asf_headerextensionobject['reserved_1']).') does not match expected "GETID3_ASF_Reserved_1" GUID ('.$this->BytestringToGUID(GETID3_ASF_Reserved_1).')');
 						//return false;
 						break;
 					}
 					$thisfile_asf_headerextensionobject['reserved_2']          = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2));
 					$offset += 2;
 					if ($thisfile_asf_headerextensionobject['reserved_2'] != 6) {
-						$info['warning'][] = 'header_extension_object.reserved_2 ('.getid3_lib::PrintHexBytes($thisfile_asf_headerextensionobject['reserved_2']).') does not match expected value of "6"';
+						$this->warning('header_extension_object.reserved_2 ('.getid3_lib::PrintHexBytes($thisfile_asf_headerextensionobject['reserved_2']).') does not match expected value of "6"');
 						//return false;
 						break;
 					}
@@ -316,7 +316,7 @@ class getid3_asf extends getid3_handler {
 					$offset += 16;
 					$thisfile_asf_codeclistobject['reserved_guid']             = $this->BytestringToGUID($thisfile_asf_codeclistobject['reserved']);
 					if ($thisfile_asf_codeclistobject['reserved'] != $this->GUIDtoBytestring('86D15241-311D-11D0-A3A4-00A0C90348F6')) {
-						$info['warning'][] = 'codec_list_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_codeclistobject['reserved']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {86D15241-311D-11D0-A3A4-00A0C90348F6}';
+						$this->warning('codec_list_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_codeclistobject['reserved']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {86D15241-311D-11D0-A3A4-00A0C90348F6}');
 						//return false;
 						break;
 					}
@@ -349,7 +349,7 @@ class getid3_asf extends getid3_handler {
 						if ($thisfile_asf_codeclistobject_codecentries_current['type_raw'] == 2) { // audio codec
 
 							if (strpos($thisfile_asf_codeclistobject_codecentries_current['description'], ',') === false) {
-								$info['warning'][] = '[asf][codec_list_object][codec_entries]['.$CodecEntryCounter.'][description] expected to contain comma-separated list of parameters: "'.$thisfile_asf_codeclistobject_codecentries_current['description'].'"';
+								$this->warning('[asf][codec_list_object][codec_entries]['.$CodecEntryCounter.'][description] expected to contain comma-separated list of parameters: "'.$thisfile_asf_codeclistobject_codecentries_current['description'].'"');
 							} else {
 
 								list($AudioCodecBitrate, $AudioCodecFrequency, $AudioCodecChannels) = explode(',', $this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['description']));
@@ -412,7 +412,7 @@ class getid3_asf extends getid3_handler {
 										break;
 
 									default:
-										$info['warning'][] = 'unknown frequency: "'.$AudioCodecFrequency.'" ('.$this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['description']).')';
+										$this->warning('unknown frequency: "'.$AudioCodecFrequency.'" ('.$this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['description']).')');
 										break;
 								}
 
@@ -458,7 +458,7 @@ class getid3_asf extends getid3_handler {
 					$offset += 16;
 					$thisfile_asf_scriptcommandobject['reserved_guid']        = $this->BytestringToGUID($thisfile_asf_scriptcommandobject['reserved']);
 					if ($thisfile_asf_scriptcommandobject['reserved'] != $this->GUIDtoBytestring('4B1ACBE3-100B-11D0-A39B-00A0C90348F6')) {
-						$info['warning'][] = 'script_command_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_scriptcommandobject['reserved']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {4B1ACBE3-100B-11D0-A39B-00A0C90348F6}';
+						$this->warning('script_command_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_scriptcommandobject['reserved']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {4B1ACBE3-100B-11D0-A39B-00A0C90348F6}');
 						//return false;
 						break;
 					}
@@ -517,7 +517,7 @@ class getid3_asf extends getid3_handler {
 					$offset += 16;
 					$thisfile_asf_markerobject['reserved_guid']        = $this->BytestringToGUID($thisfile_asf_markerobject['reserved']);
 					if ($thisfile_asf_markerobject['reserved'] != $this->GUIDtoBytestring('4CFEDB20-75F6-11CF-9C0F-00A0C90349CB')) {
-						$info['warning'][] = 'marker_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_markerobject['reserved_1']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {4CFEDB20-75F6-11CF-9C0F-00A0C90349CB}';
+						$this->warning('marker_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_markerobject['reserved_1']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {4CFEDB20-75F6-11CF-9C0F-00A0C90349CB}');
 						break;
 					}
 					$thisfile_asf_markerobject['markers_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 4));
@@ -525,7 +525,7 @@ class getid3_asf extends getid3_handler {
 					$thisfile_asf_markerobject['reserved_2'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2));
 					$offset += 2;
 					if ($thisfile_asf_markerobject['reserved_2'] != 0) {
-						$info['warning'][] = 'marker_object.reserved_2 ('.getid3_lib::PrintHexBytes($thisfile_asf_markerobject['reserved_2']).') does not match expected value of "0"';
+						$this->warning('marker_object.reserved_2 ('.getid3_lib::PrintHexBytes($thisfile_asf_markerobject['reserved_2']).') does not match expected value of "0"');
 						break;
 					}
 					$thisfile_asf_markerobject['name_length'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2));
@@ -576,7 +576,7 @@ class getid3_asf extends getid3_handler {
 					$thisfile_asf_bitratemutualexclusionobject['reserved_guid']        = $this->BytestringToGUID($thisfile_asf_bitratemutualexclusionobject['reserved']);
 					$offset += 16;
 					if (($thisfile_asf_bitratemutualexclusionobject['reserved'] != GETID3_ASF_Mutex_Bitrate) && ($thisfile_asf_bitratemutualexclusionobject['reserved'] != GETID3_ASF_Mutex_Unknown)) {
-						$info['warning'][] = 'bitrate_mutual_exclusion_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_bitratemutualexclusionobject['reserved']).'} does not match expected "GETID3_ASF_Mutex_Bitrate" GUID {'.$this->BytestringToGUID(GETID3_ASF_Mutex_Bitrate).'} or  "GETID3_ASF_Mutex_Unknown" GUID {'.$this->BytestringToGUID(GETID3_ASF_Mutex_Unknown).'}';
+						$this->warning('bitrate_mutual_exclusion_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_bitratemutualexclusionobject['reserved']).'} does not match expected "GETID3_ASF_Mutex_Bitrate" GUID {'.$this->BytestringToGUID(GETID3_ASF_Mutex_Bitrate).'} or  "GETID3_ASF_Mutex_Unknown" GUID {'.$this->BytestringToGUID(GETID3_ASF_Mutex_Unknown).'}');
 						//return false;
 						break;
 					}
@@ -637,7 +637,7 @@ class getid3_asf extends getid3_handler {
 							break;
 
 						default:
-							$info['warning'][] = 'error_correction_object.error_correction_type GUID {'.$this->BytestringToGUID($thisfile_asf_errorcorrectionobject['reserved']).'} does not match expected "GETID3_ASF_No_Error_Correction" GUID {'.$this->BytestringToGUID(GETID3_ASF_No_Error_Correction).'} or  "GETID3_ASF_Audio_Spread" GUID {'.$this->BytestringToGUID(GETID3_ASF_Audio_Spread).'}';
+							$this->warning('error_correction_object.error_correction_type GUID {'.$this->BytestringToGUID($thisfile_asf_errorcorrectionobject['reserved']).'} does not match expected "GETID3_ASF_No_Error_Correction" GUID {'.$this->BytestringToGUID(GETID3_ASF_No_Error_Correction).'} or  "GETID3_ASF_Audio_Spread" GUID {'.$this->BytestringToGUID(GETID3_ASF_Audio_Spread).'}');
 							//return false;
 							break;
 					}
@@ -761,7 +761,7 @@ class getid3_asf extends getid3_handler {
 								break;
 
 							default:
-								$info['warning'][] = 'extended_content_description.content_descriptors.'.$ExtendedContentDescriptorsCounter.'.value_type is invalid ('.$thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['value_type'].')';
+								$this->warning('extended_content_description.content_descriptors.'.$ExtendedContentDescriptorsCounter.'.value_type is invalid ('.$thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['value_type'].')');
 								//return false;
 								break;
 						}
@@ -962,9 +962,9 @@ class getid3_asf extends getid3_handler {
 				default:
 					// Implementations shall ignore any standard or non-standard object that they do not know how to handle.
 					if ($this->GUIDname($NextObjectGUIDtext)) {
-						$info['warning'][] = 'unhandled GUID "'.$this->GUIDname($NextObjectGUIDtext).'" {'.$NextObjectGUIDtext.'} in ASF header at offset '.($offset - 16 - 8);
+						$this->warning('unhandled GUID "'.$this->GUIDname($NextObjectGUIDtext).'" {'.$NextObjectGUIDtext.'} in ASF header at offset '.($offset - 16 - 8));
 					} else {
-						$info['warning'][] = 'unknown GUID {'.$NextObjectGUIDtext.'} in ASF header at offset '.($offset - 16 - 8);
+						$this->warning('unknown GUID {'.$NextObjectGUIDtext.'} in ASF header at offset '.($offset - 16 - 8));
 					}
 					$offset += ($NextObjectSize - 16 - 8);
 					break;
@@ -1183,7 +1183,7 @@ class getid3_asf extends getid3_handler {
 					$thisfile_asf_dataobject['reserved']           = getid3_lib::LittleEndian2Int(substr($DataObjectData, $offset, 2));
 					$offset += 2;
 					if ($thisfile_asf_dataobject['reserved'] != 0x0101) {
-						$info['warning'][] = 'data_object.reserved ('.getid3_lib::PrintHexBytes($thisfile_asf_dataobject['reserved']).') does not match expected value of "0x0101"';
+						$this->warning('data_object.reserved ('.getid3_lib::PrintHexBytes($thisfile_asf_dataobject['reserved']).') does not match expected value of "0x0101"');
 						//return false;
 						break;
 					}
@@ -1319,9 +1319,9 @@ class getid3_asf extends getid3_handler {
 				default:
 					// Implementations shall ignore any standard or non-standard object that they do not know how to handle.
 					if ($this->GUIDname($NextObjectGUIDtext)) {
-						$info['warning'][] = 'unhandled GUID "'.$this->GUIDname($NextObjectGUIDtext).'" {'.$NextObjectGUIDtext.'} in ASF body at offset '.($offset - 16 - 8);
+						$this->warning('unhandled GUID "'.$this->GUIDname($NextObjectGUIDtext).'" {'.$NextObjectGUIDtext.'} in ASF body at offset '.($offset - 16 - 8));
 					} else {
-						$info['warning'][] = 'unknown GUID {'.$NextObjectGUIDtext.'} in ASF body at offset '.($this->ftell() - 16 - 8);
+						$this->warning('unknown GUID {'.$NextObjectGUIDtext.'} in ASF body at offset '.($this->ftell() - 16 - 8));
 					}
 					$this->fseek(($NextObjectSize - 16 - 8), SEEK_CUR);
 					break;
@@ -1405,7 +1405,7 @@ class getid3_asf extends getid3_handler {
 						break;
 
 					default:
-						$info['warning'][] = 'Unknown streamtype: [codec_list_object][codec_entries]['.$streamnumber.'][type_raw] == '.$streamdata['type_raw'];
+						$this->warning('Unknown streamtype: [codec_list_object][codec_entries]['.$streamnumber.'][type_raw] == '.$streamdata['type_raw']);
 						break;
 
 				}
@@ -1917,9 +1917,9 @@ class getid3_asf extends getid3_handler {
 				default:
 					$unhandled_sections++;
 					if ($this->GUIDname($thisObject['guid_text'])) {
-						$this->getid3->info['warning'][] = 'unhandled Header Extension Object GUID "'.$this->GUIDname($thisObject['guid_text']).'" {'.$thisObject['guid_text'].'} at offset '.($offset - 16 - 8);
+						$this->warning('unhandled Header Extension Object GUID "'.$this->GUIDname($thisObject['guid_text']).'" {'.$thisObject['guid_text'].'} at offset '.($offset - 16 - 8));
 					} else {
-						$this->getid3->info['warning'][] = 'unknown Header Extension Object GUID {'.$thisObject['guid_text'].'} in at offset '.($offset - 16 - 8);
+						$this->warning('unknown Header Extension Object GUID {'.$thisObject['guid_text'].'} in at offset '.($offset - 16 - 8));
 					}
 					break;
 			}
diff --git a/lib/getid3/module.audio-video.bink.php b/lib/getid3/module.audio-video.bink.php
index 4fd5b90b..af4b4f8d 100644
--- a/lib/getid3/module.audio-video.bink.php
+++ b/lib/getid3/module.audio-video.bink.php
@@ -21,7 +21,7 @@ class getid3_bink extends getid3_handler
 	public function Analyze() {
 		$info = &$this->getid3->info;
 
-$info['error'][] = 'Bink / Smacker files not properly processed by this version of getID3() ['.$this->getid3->version().']';
+$this->error('Bink / Smacker files not properly processed by this version of getID3() ['.$this->getid3->version().']');
 
 		$this->fseek($info['avdataoffset']);
 		$fileTypeID = $this->fread(3);
@@ -35,7 +35,7 @@ $info['error'][] = 'Bink / Smacker files not properly processed by this version
 				break;
 
 			default:
-				$info['error'][] = 'Expecting "BIK" or "SMK" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($fileTypeID).'"';
+				$this->error('Expecting "BIK" or "SMK" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($fileTypeID).'"');
 				return false;
 				break;
 		}
@@ -55,7 +55,7 @@ $info['error'][] = 'Bink / Smacker files not properly processed by this version
 		$info['bink']['frame_count'] = getid3_lib::LittleEndian2Int(substr($fileData, 8, 2));
 
 		if (($info['avdataend'] - $info['avdataoffset']) != ($info['bink']['data_size'] + 8)) {
-			$info['error'][] = 'Probably truncated file: expecting '.$info['bink']['data_size'].' bytes, found '.($info['avdataend'] - $info['avdataoffset']);
+			$this->error('Probably truncated file: expecting '.$info['bink']['data_size'].' bytes, found '.($info['avdataend'] - $info['avdataoffset']));
 		}
 
 		return true;
diff --git a/lib/getid3/module.audio-video.flv.php b/lib/getid3/module.audio-video.flv.php
index 2f86ebd9..661c77ca 100644
--- a/lib/getid3/module.audio-video.flv.php
+++ b/lib/getid3/module.audio-video.flv.php
@@ -93,7 +93,7 @@ class getid3_flv extends getid3_handler {
 		$TypeFlags                          = getid3_lib::BigEndian2Int(substr($FLVheader, 4, 1));
 
 		if ($info['flv']['header']['signature'] != self::magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes(self::magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['flv']['header']['signature']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes(self::magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['flv']['header']['signature']).'"');
 			unset($info['flv'], $info['fileformat']);
 			return false;
 		}
diff --git a/lib/getid3/module.audio-video.matroska.php b/lib/getid3/module.audio-video.matroska.php
index 57e2746b..825a22e1 100644
--- a/lib/getid3/module.audio-video.matroska.php
+++ b/lib/getid3/module.audio-video.matroska.php
@@ -234,7 +234,7 @@ class getid3_matroska extends getid3_handler
 		try {
 			$this->parseEBML($info);
 		} catch (Exception $e) {
-			$info['error'][] = 'EBML parser: '.$e->getMessage();
+			$this->error('EBML parser: '.$e->getMessage());
 		}
 
 		// calculate playtime
@@ -330,11 +330,13 @@ class getid3_matroska extends getid3_handler
 								break;
 
 							case 'A_AC3':
+							case 'A_EAC3':
 							case 'A_DTS':
 							case 'A_MPEG/L3':
 							case 'A_MPEG/L2':
 							case 'A_FLAC':
-								getid3_lib::IncludeDependency(GETID3_INCLUDEPATH.'module.audio.'.($track_info['dataformat'] == 'mp2' ? 'mp3' : $track_info['dataformat']).'.php', __FILE__, true);
+								$module_dataformat = ($track_info['dataformat'] == 'mp2' ? 'mp3' : ($track_info['dataformat'] == 'eac3' ? 'ac3' : $track_info['dataformat']));
+								getid3_lib::IncludeDependency(GETID3_INCLUDEPATH.'module.audio.'.$module_dataformat.'.php', __FILE__, true);
 
 								if (!isset($info['matroska']['track_data_offsets'][$trackarray['TrackNumber']])) {
 									$this->warning('Unable to parse audio data ['.basename(__FILE__).':'.__LINE__.'] because $info[matroska][track_data_offsets]['.$trackarray['TrackNumber'].'] not set');
@@ -352,7 +354,7 @@ class getid3_matroska extends getid3_handler
 								}
 
 								// analyze
-								$class = 'getid3_'.($track_info['dataformat'] == 'mp2' ? 'mp3' : $track_info['dataformat']);
+								$class = 'getid3_'.$module_dataformat;
 								$header_data_key = $track_info['dataformat'][0] == 'm' ? 'mpeg' : $track_info['dataformat'];
 								$getid3_audio = new $class($getid3_temp, __CLASS__);
 								if ($track_info['dataformat'] == 'flac') {
@@ -1526,6 +1528,7 @@ class getid3_matroska extends getid3_handler
 			$CodecIDlist['A_AAC']            = 'aac';
 			$CodecIDlist['A_AAC/MPEG2/LC']   = 'aac';
 			$CodecIDlist['A_AC3']            = 'ac3';
+			$CodecIDlist['A_EAC3']           = 'eac3';
 			$CodecIDlist['A_DTS']            = 'dts';
 			$CodecIDlist['A_FLAC']           = 'flac';
 			$CodecIDlist['A_MPEG/L1']        = 'mp1';
diff --git a/lib/getid3/module.audio-video.mpeg.php b/lib/getid3/module.audio-video.mpeg.php
index ea7a9a9c..044481fb 100644
--- a/lib/getid3/module.audio-video.mpeg.php
+++ b/lib/getid3/module.audio-video.mpeg.php
@@ -459,7 +459,7 @@ $PackedElementaryStream['additional_header_bytes'] = $additional_header_bytes;
 //			//		break;
 //			//}
 //			//$info['playtime_seconds'] *= $multiplier;
-//			//$info['warning'][] = 'Interleaved MPEG audio/video playtime may be inaccurate. With current hack should be within a few seconds of accurate. Report to info@getid3.org if off by more than 10 seconds.';
+//			//$this->warning('Interleaved MPEG audio/video playtime may be inaccurate. With current hack should be within a few seconds of accurate. Report to info@getid3.org if off by more than 10 seconds.');
 //			if ($info['video']['bitrate'] < 50000) {
 //				$this->warning('Interleaved MPEG audio/video playtime may be slightly inaccurate for video bitrates below 100kbps. Except in extreme low-bitrate situations, error should be less than 1%. Report to info@getid3.org if greater than this.');
 //			}
diff --git a/lib/getid3/module.audio-video.nsv.php b/lib/getid3/module.audio-video.nsv.php
index 697d5956..eab601b7 100644
--- a/lib/getid3/module.audio-video.nsv.php
+++ b/lib/getid3/module.audio-video.nsv.php
@@ -47,13 +47,13 @@ class getid3_nsv extends getid3_handler
 				break;
 
 			default:
-				$info['error'][] = 'Expecting "NSVs" or "NSVf" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($NSVheader).'"';
+				$this->error('Expecting "NSVs" or "NSVf" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($NSVheader).'"');
 				return false;
 				break;
 		}
 
 		if (!isset($info['nsv']['NSVf'])) {
-			$info['warning'][] = 'NSVf header not present - cannot calculate playtime or bitrate';
+			$this->warning('NSVf header not present - cannot calculate playtime or bitrate');
 		}
 
 		return true;
@@ -69,7 +69,7 @@ class getid3_nsv extends getid3_handler
 		$offset += 4;
 
 		if ($info['nsv']['NSVs']['identifier'] != 'NSVs') {
-			$info['error'][] = 'expected "NSVs" at offset ('.$fileoffset.'), found "'.$info['nsv']['NSVs']['identifier'].'" instead';
+			$this->error('expected "NSVs" at offset ('.$fileoffset.'), found "'.$info['nsv']['NSVs']['identifier'].'" instead');
 			unset($info['nsv']['NSVs']);
 			return false;
 		}
@@ -142,7 +142,7 @@ class getid3_nsv extends getid3_handler
 		$offset += 4;
 
 		if ($info['nsv']['NSVf']['identifier'] != 'NSVf') {
-			$info['error'][] = 'expected "NSVf" at offset ('.$fileoffset.'), found "'.$info['nsv']['NSVf']['identifier'].'" instead';
+			$this->error('expected "NSVf" at offset ('.$fileoffset.'), found "'.$info['nsv']['NSVf']['identifier'].'" instead');
 			unset($info['nsv']['NSVf']);
 			return false;
 		}
@@ -155,7 +155,7 @@ class getid3_nsv extends getid3_handler
 		$offset += 4;
 
 		if ($info['nsv']['NSVf']['file_size'] > $info['avdataend']) {
-			$info['warning'][] = 'truncated file - NSVf header indicates '.$info['nsv']['NSVf']['file_size'].' bytes, file actually '.$info['avdataend'].' bytes';
+			$this->warning('truncated file - NSVf header indicates '.$info['nsv']['NSVf']['file_size'].' bytes, file actually '.$info['avdataend'].' bytes');
 		}
 
 		$info['nsv']['NSVf']['playtime_ms']   = getid3_lib::LittleEndian2Int(substr($NSVfheader, $offset, 4));
@@ -168,7 +168,7 @@ class getid3_nsv extends getid3_handler
 		$offset += 4;
 
 		if ($info['nsv']['NSVf']['playtime_ms'] == 0) {
-			$info['error'][] = 'Corrupt NSV file: NSVf.playtime_ms == zero';
+			$this->error('Corrupt NSV file: NSVf.playtime_ms == zero');
 			return false;
 		}
 
diff --git a/lib/getid3/module.audio-video.quicktime.php b/lib/getid3/module.audio-video.quicktime.php
index eecd96a3..2ae7c749 100644
--- a/lib/getid3/module.audio-video.quicktime.php
+++ b/lib/getid3/module.audio-video.quicktime.php
@@ -38,7 +38,7 @@ class getid3_quicktime extends getid3_handler
 		$atom_data_read_buffer_size = max($this->getid3->option_fread_buffer_size * 1024, ($info['php_memory_limit'] ? round($info['php_memory_limit'] / 4) : 1024)); // set read buffer to 25% of PHP memory limit (if one is specified), otherwise use option_fread_buffer_size [default: 32MB]
 		while ($offset < $info['avdataend']) {
 			if (!getid3_lib::intValueSupported($offset)) {
-				$info['error'][] = 'Unable to parse atom at offset '.$offset.' because beyond '.round(PHP_INT_MAX / 1073741824).'GB limit of PHP filesystem functions';
+				$this->error('Unable to parse atom at offset '.$offset.' because beyond '.round(PHP_INT_MAX / 1073741824).'GB limit of PHP filesystem functions');
 				break;
 			}
 			$this->fseek($offset);
@@ -57,7 +57,7 @@ class getid3_quicktime extends getid3_handler
 			$info['quicktime'][$atomname]['offset'] = $offset;
 
 			if (($offset + $atomsize) > $info['avdataend']) {
-				$info['error'][] = 'Atom at offset '.$offset.' claims to go beyond end-of-file (length: '.$atomsize.' bytes)';
+				$this->error('Atom at offset '.$offset.' claims to go beyond end-of-file (length: '.$atomsize.' bytes)');
 				return false;
 			}
 
@@ -150,7 +150,7 @@ class getid3_quicktime extends getid3_handler
 					}
 				}
 				if ($latitude === false) {
-					$info['warning'][] = 'location.ISO6709 string not parsed correctly: "'.$ISO6709string.'", please submit as a bug';
+					$this->warning('location.ISO6709 string not parsed correctly: "'.$ISO6709string.'", please submit as a bug');
 				}
 				break;
 			}
@@ -405,7 +405,7 @@ class getid3_quicktime extends getid3_handler
 							$boxsmalltype =                           substr($atom_data, $atomoffset + 2, 2);
 							$boxsmalldata =                           substr($atom_data, $atomoffset + 4, $boxsmallsize);
 							if ($boxsmallsize <= 1) {
-								$info['warning'][] = 'Invalid QuickTime atom smallbox size "'.$boxsmallsize.'" in atom "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $atomname).'" at offset: '.($atom_structure['offset'] + $atomoffset);
+								$this->warning('Invalid QuickTime atom smallbox size "'.$boxsmallsize.'" in atom "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $atomname).'" at offset: '.($atom_structure['offset'] + $atomoffset));
 								$atom_structure['data'] = null;
 								$atomoffset = strlen($atom_data);
 								break;
@@ -415,7 +415,7 @@ class getid3_quicktime extends getid3_handler
 									$atom_structure['data'] = $boxsmalldata;
 									break;
 								default:
-									$info['warning'][] = 'Unknown QuickTime smallbox type: "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $boxsmalltype).'" ('.trim(getid3_lib::PrintHexBytes($boxsmalltype)).') at offset '.$baseoffset;
+									$this->warning('Unknown QuickTime smallbox type: "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $boxsmalltype).'" ('.trim(getid3_lib::PrintHexBytes($boxsmalltype)).') at offset '.$baseoffset);
 									$atom_structure['data'] = $atom_data;
 									break;
 							}
@@ -427,7 +427,7 @@ class getid3_quicktime extends getid3_handler
 							$boxtype =                           substr($atom_data, $atomoffset + 4, 4);
 							$boxdata =                           substr($atom_data, $atomoffset + 8, $boxsize - 8);
 							if ($boxsize <= 1) {
-								$info['warning'][] = 'Invalid QuickTime atom box size "'.$boxsize.'" in atom "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $atomname).'" at offset: '.($atom_structure['offset'] + $atomoffset);
+								$this->warning('Invalid QuickTime atom box size "'.$boxsize.'" in atom "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $atomname).'" at offset: '.($atom_structure['offset'] + $atomoffset));
 								$atom_structure['data'] = null;
 								$atomoffset = strlen($atom_data);
 								break;
@@ -546,7 +546,7 @@ class getid3_quicktime extends getid3_handler
 									break;
 
 								default:
-									$info['warning'][] = 'Unknown QuickTime box type: "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $boxtype).'" ('.trim(getid3_lib::PrintHexBytes($boxtype)).') at offset '.$baseoffset;
+									$this->warning('Unknown QuickTime box type: "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $boxtype).'" ('.trim(getid3_lib::PrintHexBytes($boxtype)).') at offset '.$baseoffset);
 									$atom_structure['data'] = $atom_data;
 
 							}
@@ -594,7 +594,7 @@ class getid3_quicktime extends getid3_handler
 				if ($UncompressedHeader = @gzuncompress($CompressedFileData)) {
 					$atom_structure['subatoms'] = $this->QuicktimeParseContainerAtom($UncompressedHeader, 0, $atomHierarchy, $ParseAllPossibleAtoms);
 				} else {
-					$info['warning'][] = 'Error decompressing compressed MOV atom at offset '.$atom_structure['offset'];
+					$this->warning('Error decompressing compressed MOV atom at offset '.$atom_structure['offset']);
 				}
 				break;
 
@@ -713,7 +713,7 @@ class getid3_quicktime extends getid3_handler
 				if (isset($ptv_lookup[$atom_structure['display_size_raw']])) {
 					$atom_structure['display_size'] = $ptv_lookup[$atom_structure['display_size_raw']];
 				} else {
-					$info['warning'][] = 'unknown "ptv " display constant ('.$atom_structure['display_size_raw'].')';
+					$this->warning('unknown "ptv " display constant ('.$atom_structure['display_size_raw'].')');
 				}
 				break;
 
@@ -919,7 +919,7 @@ if (!empty($atom_structure['sample_description_table'][$i]['width']) && !empty($
 
 				$max_stts_entries_to_scan = ($info['php_memory_limit'] ? min(floor($this->getid3->memory_limit / 10000), $atom_structure['number_entries']) : $atom_structure['number_entries']);
 				if ($max_stts_entries_to_scan < $atom_structure['number_entries']) {
-					$info['warning'][] = 'QuickTime atom "stts" has '.$atom_structure['number_entries'].' but only scanning the first '.$max_stts_entries_to_scan.' entries due to limited PHP memory available ('.floor($atom_structure['number_entries'] / 1048576).'MB).';
+					$this->warning('QuickTime atom "stts" has '.$atom_structure['number_entries'].' but only scanning the first '.$max_stts_entries_to_scan.' entries due to limited PHP memory available ('.floor($atom_structure['number_entries'] / 1048576).'MB).');
 				}
 				for ($i = 0; $i < $max_stts_entries_to_scan; $i++) {
 					$atom_structure['time_to_sample_table'][$i]['sample_count']    = getid3_lib::BigEndian2Int(substr($atom_data, $sttsEntriesDataOffset, 4));
@@ -1119,7 +1119,7 @@ if (!empty($atom_structure['sample_description_table'][$i]['width']) && !empty($
 				$atom_structure['quality']               = getid3_lib::BigEndian2Int(substr($atom_data, 22, 2));
 
 				if ($atom_structure['time_scale'] == 0) {
-					$info['error'][] = 'Corrupt Quicktime file: mdhd.time_scale == zero';
+					$this->error('Corrupt Quicktime file: mdhd.time_scale == zero');
 					return false;
 				}
 				$info['quicktime']['time_scale'] = ((isset($info['quicktime']['time_scale']) && ($info['quicktime']['time_scale'] < 1000)) ? max($info['quicktime']['time_scale'], $atom_structure['time_scale']) : $atom_structure['time_scale']);
@@ -1233,7 +1233,7 @@ if (!empty($atom_structure['sample_description_table'][$i]['width']) && !empty($
 				$atom_structure['next_track_id']      =   getid3_lib::BigEndian2Int(substr($atom_data, 96, 4));
 
 				if ($atom_structure['time_scale'] == 0) {
-					$info['error'][] = 'Corrupt Quicktime file: mvhd.time_scale == zero';
+					$this->error('Corrupt Quicktime file: mvhd.time_scale == zero');
 					return false;
 				}
 				$atom_structure['creation_time_unix']        = getid3_lib::DateMac2Unix($atom_structure['creation_time']);
@@ -1389,7 +1389,7 @@ if (!empty($atom_structure['sample_description_table'][$i]['width']) && !empty($
 						$getid3_mp3->getOnlyMPEGaudioInfo($getid3_temp->info['avdataoffset'], false);
 						if (!empty($getid3_temp->info['warning'])) {
 							foreach ($getid3_temp->info['warning'] as $value) {
-								$info['warning'][] = $value;
+								$this->warning($value);
 							}
 						}
 						if (!empty($getid3_temp->info['mpeg'])) {
@@ -1492,7 +1492,7 @@ if (!empty($atom_structure['sample_description_table'][$i]['width']) && !empty($
 						$info['quicktime']['comments']['gps_altitude'][] = floatval($altitude);
 					}
 				} else {
-					$info['warning'][] = 'QuickTime atom "©xyz" data does not match expected data pattern at offset '.$baseoffset.'. Please report as getID3() bug.';
+					$this->warning('QuickTime atom "©xyz" data does not match expected data pattern at offset '.$baseoffset.'. Please report as getID3() bug.');
 				}
 				break;
 
@@ -1571,7 +1571,7 @@ if (!empty($atom_structure['sample_description_table'][$i]['width']) && !empty($
 				break;
 
 			default:
-				$info['warning'][] = 'Unknown QuickTime atom type: "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $atomname).'" ('.trim(getid3_lib::PrintHexBytes($atomname)).') at offset '.$baseoffset;
+				$this->warning('Unknown QuickTime atom type: "'.preg_replace('#[^a-zA-Z0-9 _\\-]#', '?', $atomname).'" ('.trim(getid3_lib::PrintHexBytes($atomname)).') at offset '.$baseoffset);
 				$atom_structure['data'] = $atom_data;
 				break;
 		}
diff --git a/lib/getid3/module.audio-video.real.php b/lib/getid3/module.audio-video.real.php
index 1cc3731b..280d43c8 100644
--- a/lib/getid3/module.audio-video.real.php
+++ b/lib/getid3/module.audio-video.real.php
@@ -53,7 +53,7 @@ class getid3_real extends getid3_handler
 					}
 					return true;
 				}
-				$info['error'][] = 'There was a problem parsing this RealAudio file. Please submit it for analysis to info@getid3.org';
+				$this->error('There was a problem parsing this RealAudio file. Please submit it for analysis to info@getid3.org');
 				unset($info['bitrate']);
 				unset($info['playtime_seconds']);
 				return false;
@@ -67,7 +67,7 @@ class getid3_real extends getid3_handler
 			$thisfile_real_chunks_currentchunk['offset'] = $this->ftell() - 8;
 			$thisfile_real_chunks_currentchunk['length'] = $ChunkSize;
 			if (($thisfile_real_chunks_currentchunk['offset'] + $thisfile_real_chunks_currentchunk['length']) > $info['avdataend']) {
-				$info['warning'][] = 'Chunk "'.$thisfile_real_chunks_currentchunk['name'].'" at offset '.$thisfile_real_chunks_currentchunk['offset'].' claims to be '.$thisfile_real_chunks_currentchunk['length'].' bytes long, which is beyond end of file';
+				$this->warning('Chunk "'.$thisfile_real_chunks_currentchunk['name'].'" at offset '.$thisfile_real_chunks_currentchunk['offset'].' claims to be '.$thisfile_real_chunks_currentchunk['length'].' bytes long, which is beyond end of file');
 				return false;
 			}
 
@@ -98,7 +98,7 @@ class getid3_real extends getid3_handler
 							break;
 
 						default:
-							//$info['warning'][] = 'Expected .RMF-object_version to be "0", actual value is "'.$thisfile_real_chunks_currentchunk['object_version'].'" (should not be a problem)';
+							//$this->warning('Expected .RMF-object_version to be "0", actual value is "'.$thisfile_real_chunks_currentchunk['object_version'].'" (should not be a problem)');
 							break;
 
 					}
@@ -354,7 +354,7 @@ class getid3_real extends getid3_handler
 					break;
 
 				default:
-					$info['warning'][] = 'Unhandled RealMedia chunk "'.$ChunkName.'" at offset '.$thisfile_real_chunks_currentchunk['offset'];
+					$this->warning('Unhandled RealMedia chunk "'.$ChunkName.'" at offset '.$thisfile_real_chunks_currentchunk['offset']);
 					break;
 			}
 			$ChunkCounter++;
diff --git a/lib/getid3/module.audio-video.riff.php b/lib/getid3/module.audio-video.riff.php
index f0be500a..f61f28ab 100644
--- a/lib/getid3/module.audio-video.riff.php
+++ b/lib/getid3/module.audio-video.riff.php
@@ -190,7 +190,7 @@ class getid3_riff extends getid3_handler {
 					$thisfile_riff_audio[$streamindex] = self::parseWAVEFORMATex($thisfile_riff_WAVE['fmt '][0]['data']);
 					$thisfile_audio['wformattag'] = $thisfile_riff_audio[$streamindex]['raw']['wFormatTag'];
 					if (!isset($thisfile_riff_audio[$streamindex]['bitrate']) || ($thisfile_riff_audio[$streamindex]['bitrate'] == 0)) {
-						$info['error'][] = 'Corrupt RIFF file: bitrate_audio == zero';
+						$this->error('Corrupt RIFF file: bitrate_audio == zero');
 						return false;
 					}
 					$thisfile_riff_raw['fmt '] = $thisfile_riff_audio[$streamindex]['raw'];
@@ -199,7 +199,7 @@ class getid3_riff extends getid3_handler {
 
 					$thisfile_audio = getid3_lib::array_merge_noclobber($thisfile_audio, $thisfile_riff_audio[$streamindex]);
 					if (substr($thisfile_audio['codec'], 0, strlen('unknown: 0x')) == 'unknown: 0x') {
-						$info['warning'][] = 'Audio codec = '.$thisfile_audio['codec'];
+						$this->warning('Audio codec = '.$thisfile_audio['codec']);
 					}
 					$thisfile_audio['bitrate'] = $thisfile_riff_audio[$streamindex]['bitrate'];
 
@@ -302,10 +302,10 @@ class getid3_riff extends getid3_handler {
 							list($dummy, $bext_timestamp['hour'], $bext_timestamp['minute'], $bext_timestamp['second']) = $matches_bext_time;
 							$thisfile_riff_WAVE_bext_0['origin_date_unix'] = gmmktime($bext_timestamp['hour'], $bext_timestamp['minute'], $bext_timestamp['second'], $bext_timestamp['month'], $bext_timestamp['day'], $bext_timestamp['year']);
 						} else {
-							$info['warning'][] = 'RIFF.WAVE.BEXT.origin_time is invalid';
+							$this->warning('RIFF.WAVE.BEXT.origin_time is invalid');
 						}
 					} else {
-						$info['warning'][] = 'RIFF.WAVE.BEXT.origin_date is invalid';
+						$this->warning('RIFF.WAVE.BEXT.origin_date is invalid');
 					}
 					$thisfile_riff['comments']['author'][] = $thisfile_riff_WAVE_bext_0['author'];
 					$thisfile_riff['comments']['title'][]  = $thisfile_riff_WAVE_bext_0['title'];
@@ -385,10 +385,10 @@ class getid3_riff extends getid3_handler {
 						$SNDM_thisTagOffset += $SNDM_thisTagDataSize;
 
 						if ($SNDM_thisTagSize != (4 + 4 + 2 + 2 + $SNDM_thisTagDataSize)) {
-							$info['warning'][] = 'RIFF.WAVE.SNDM.data contains tag not expected length (expected: '.$SNDM_thisTagSize.', found: '.(4 + 4 + 2 + 2 + $SNDM_thisTagDataSize).') at offset '.$SNDM_startoffset.' (file offset '.($thisfile_riff_WAVE_SNDM_0['offset'] + $SNDM_startoffset).')';
+							$this->warning('RIFF.WAVE.SNDM.data contains tag not expected length (expected: '.$SNDM_thisTagSize.', found: '.(4 + 4 + 2 + 2 + $SNDM_thisTagDataSize).') at offset '.$SNDM_startoffset.' (file offset '.($thisfile_riff_WAVE_SNDM_0['offset'] + $SNDM_startoffset).')');
 							break;
 						} elseif ($SNDM_thisTagSize <= 0) {
-							$info['warning'][] = 'RIFF.WAVE.SNDM.data contains zero-size tag at offset '.$SNDM_startoffset.' (file offset '.($thisfile_riff_WAVE_SNDM_0['offset'] + $SNDM_startoffset).')';
+							$this->warning('RIFF.WAVE.SNDM.data contains zero-size tag at offset '.$SNDM_startoffset.' (file offset '.($thisfile_riff_WAVE_SNDM_0['offset'] + $SNDM_startoffset).')');
 							break;
 						}
 						$SNDM_startoffset += $SNDM_thisTagSize;
@@ -397,7 +397,7 @@ class getid3_riff extends getid3_handler {
 						if ($parsedkey = self::waveSNDMtagLookup($SNDM_thisTagKey)) {
 							$thisfile_riff_WAVE_SNDM_0['parsed'][$parsedkey] = $SNDM_thisTagDataText;
 						} else {
-							$info['warning'][] = 'RIFF.WAVE.SNDM contains unknown tag "'.$SNDM_thisTagKey.'" at offset '.$SNDM_startoffset.' (file offset '.($thisfile_riff_WAVE_SNDM_0['offset'] + $SNDM_startoffset).')';
+							$this->warning('RIFF.WAVE.SNDM contains unknown tag "'.$SNDM_thisTagKey.'" at offset '.$SNDM_startoffset.' (file offset '.($thisfile_riff_WAVE_SNDM_0['offset'] + $SNDM_startoffset).')');
 						}
 					}
 
@@ -428,13 +428,15 @@ class getid3_riff extends getid3_handler {
 						}
 						if (isset($parsedXML['SPEED']['TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_LO']) && !empty($parsedXML['SPEED']['TIMESTAMP_SAMPLE_RATE']) && !empty($thisfile_riff_WAVE['iXML'][0]['timecode_rate'])) {
 							$samples_since_midnight = floatval(ltrim($parsedXML['SPEED']['TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_HI'].$parsedXML['SPEED']['TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_LO'], '0'));
-							$thisfile_riff_WAVE['iXML'][0]['timecode_seconds'] = $samples_since_midnight / $parsedXML['SPEED']['TIMESTAMP_SAMPLE_RATE'];
+							$timestamp_sample_rate = (is_array($parsedXML['SPEED']['TIMESTAMP_SAMPLE_RATE']) ? max($parsedXML['SPEED']['TIMESTAMP_SAMPLE_RATE']) : $parsedXML['SPEED']['TIMESTAMP_SAMPLE_RATE']); // XML could possibly contain more than one TIMESTAMP_SAMPLE_RATE tag, returning as array instead of integer [why? does it make sense? perhaps doesn't matter but getID3 needs to deal with it] - see https://github.com/JamesHeinrich/getID3/issues/105
+							$thisfile_riff_WAVE['iXML'][0]['timecode_seconds'] = $samples_since_midnight / $timestamp_sample_rate;
 							$h = floor( $thisfile_riff_WAVE['iXML'][0]['timecode_seconds']       / 3600);
 							$m = floor(($thisfile_riff_WAVE['iXML'][0]['timecode_seconds'] - ($h * 3600))      / 60);
 							$s = floor( $thisfile_riff_WAVE['iXML'][0]['timecode_seconds'] - ($h * 3600) - ($m * 60));
 							$f =       ($thisfile_riff_WAVE['iXML'][0]['timecode_seconds'] - ($h * 3600) - ($m * 60) - $s) * $thisfile_riff_WAVE['iXML'][0]['timecode_rate'];
 							$thisfile_riff_WAVE['iXML'][0]['timecode_string']       = sprintf('%02d:%02d:%02d:%05.2f', $h, $m, $s,       $f);
 							$thisfile_riff_WAVE['iXML'][0]['timecode_string_round'] = sprintf('%02d:%02d:%02d:%02d',   $h, $m, $s, round($f));
+							unset($samples_since_midnight, $timestamp_sample_rate, $h, $m, $s, $f);
 						}
 						unset($parsedXML);
 					}
@@ -570,7 +572,7 @@ class getid3_riff extends getid3_handler {
 								// byte, in which case - skip warning
 							} else {
 								// Short by more than one byte, throw warning
-								$info['warning'][] = 'Probably truncated file - expecting '.$thisfile_riff[$RIFFsubtype]['data'][0]['size'].' bytes of data, only found '.($info['filesize'] - $info['avdataoffset']).' (short by '.($thisfile_riff[$RIFFsubtype]['data'][0]['size'] - ($info['filesize'] - $info['avdataoffset'])).' bytes)';
+								$this->warning('Probably truncated file - expecting '.$thisfile_riff[$RIFFsubtype]['data'][0]['size'].' bytes of data, only found '.($info['filesize'] - $info['avdataoffset']).' (short by '.($thisfile_riff[$RIFFsubtype]['data'][0]['size'] - ($info['filesize'] - $info['avdataoffset'])).' bytes)');
 								$info['avdataend'] = $info['filesize'];
 							}
 							break;
@@ -579,11 +581,11 @@ class getid3_riff extends getid3_handler {
 							if ((($info['avdataend'] - $info['filesize']) == 1) && (($thisfile_riff[$RIFFsubtype]['data'][0]['size'] % 2) == 0) && ((($info['filesize'] - $info['avdataoffset']) % 2) == 1)) {
 								// output file appears to be incorrectly *not* padded to nearest WORD boundary
 								// Output less severe warning
-								$info['warning'][] = 'File should probably be padded to nearest WORD boundary, but it is not (expecting '.$thisfile_riff[$RIFFsubtype]['data'][0]['size'].' bytes of data, only found '.($info['filesize'] - $info['avdataoffset']).' therefore short by '.($thisfile_riff[$RIFFsubtype]['data'][0]['size'] - ($info['filesize'] - $info['avdataoffset'])).' bytes)';
+								$this->warning('File should probably be padded to nearest WORD boundary, but it is not (expecting '.$thisfile_riff[$RIFFsubtype]['data'][0]['size'].' bytes of data, only found '.($info['filesize'] - $info['avdataoffset']).' therefore short by '.($thisfile_riff[$RIFFsubtype]['data'][0]['size'] - ($info['filesize'] - $info['avdataoffset'])).' bytes)');
 								$info['avdataend'] = $info['filesize'];
 							} else {
 								// Short by more than one byte, throw warning
-								$info['warning'][] = 'Probably truncated file - expecting '.$thisfile_riff[$RIFFsubtype]['data'][0]['size'].' bytes of data, only found '.($info['filesize'] - $info['avdataoffset']).' (short by '.($thisfile_riff[$RIFFsubtype]['data'][0]['size'] - ($info['filesize'] - $info['avdataoffset'])).' bytes)';
+								$this->warning('Probably truncated file - expecting '.$thisfile_riff[$RIFFsubtype]['data'][0]['size'].' bytes of data, only found '.($info['filesize'] - $info['avdataoffset']).' (short by '.($thisfile_riff[$RIFFsubtype]['data'][0]['size'] - ($info['filesize'] - $info['avdataoffset'])).' bytes)');
 								$info['avdataend'] = $info['filesize'];
 							}
 							break;
@@ -592,7 +594,7 @@ class getid3_riff extends getid3_handler {
 				if (!empty($info['mpeg']['audio']['LAME']['audio_bytes'])) {
 					if ((($info['avdataend'] - $info['avdataoffset']) - $info['mpeg']['audio']['LAME']['audio_bytes']) == 1) {
 						$info['avdataend']--;
-						$info['warning'][] = 'Extra null byte at end of MP3 data assumed to be RIFF padding and therefore ignored';
+						$this->warning('Extra null byte at end of MP3 data assumed to be RIFF padding and therefore ignored');
 					}
 				}
 				if (isset($thisfile_audio_dataformat) && ($thisfile_audio_dataformat == 'ac3')) {
@@ -619,7 +621,7 @@ class getid3_riff extends getid3_handler {
 						$info['avdataend'] = $thisfile_riff['AVI ']['movi']['offset'] + $thisfile_riff['AVI ']['movi']['size'];
 					}
 					if ($info['avdataend'] > $info['filesize']) {
-						$info['warning'][] = 'Probably truncated file - expecting '.($info['avdataend'] - $info['avdataoffset']).' bytes of data, only found '.($info['filesize'] - $info['avdataoffset']).' (short by '.($info['avdataend'] - $info['filesize']).' bytes)';
+						$this->warning('Probably truncated file - expecting '.($info['avdataend'] - $info['avdataoffset']).' bytes of data, only found '.($info['filesize'] - $info['avdataoffset']).' (short by '.($info['avdataend'] - $info['filesize']).' bytes)');
 						$info['avdataend'] = $info['filesize'];
 					}
 				}
@@ -660,7 +662,7 @@ class getid3_riff extends getid3_handler {
 
 					$thisfile_riff_raw_avih['dwMicroSecPerFrame']    = $this->EitherEndian2Int(substr($avihData,  0, 4)); // frame display rate (or 0L)
 					if ($thisfile_riff_raw_avih['dwMicroSecPerFrame'] == 0) {
-						$info['error'][] = 'Corrupt RIFF file: avih.dwMicroSecPerFrame == zero';
+						$this->error('Corrupt RIFF file: avih.dwMicroSecPerFrame == zero');
 						return false;
 					}
 
@@ -858,7 +860,7 @@ class getid3_riff extends getid3_handler {
 											break;
 
 										default:
-											$info['warning'][] = 'Unhandled fccType for stream ('.$i.'): "'.$strhfccType.'"';
+											$this->warning('Unhandled fccType for stream ('.$i.'): "'.$strhfccType.'"');
 											break;
 
 									}
@@ -963,7 +965,7 @@ class getid3_riff extends getid3_handler {
 							// structures rounded to 2-byte boundary, but dumb encoders
 							// forget to pad end of file to make this actually work
 						} else {
-							$info['warning'][] = 'Probable truncated AIFF file: expecting '.$thisfile_riff[$RIFFsubtype]['SSND'][0]['size'].' bytes of audio data, only '.($info['filesize'] - $info['avdataoffset']).' bytes found';
+							$this->warning('Probable truncated AIFF file: expecting '.$thisfile_riff[$RIFFsubtype]['SSND'][0]['size'].' bytes of audio data, only '.($info['filesize'] - $info['avdataoffset']).' bytes found');
 						}
 						$info['avdataend'] = $info['filesize'];
 					}
@@ -1020,7 +1022,7 @@ class getid3_riff extends getid3_handler {
 					}
 					$thisfile_audio['sample_rate']     = $thisfile_riff_audio['sample_rate'];
 					if ($thisfile_audio['sample_rate'] == 0) {
-						$info['error'][] = 'Corrupted AIFF file: sample_rate == zero';
+						$this->error('Corrupted AIFF file: sample_rate == zero');
 						return false;
 					}
 					$info['playtime_seconds'] = $thisfile_riff_audio['total_samples'] / $thisfile_audio['sample_rate'];
@@ -1080,7 +1082,7 @@ class getid3_riff extends getid3_handler {
 					$info['avdataoffset'] = $thisfile_riff[$RIFFsubtype]['BODY'][0]['offset'] + 8;
 					$info['avdataend']    = $info['avdataoffset'] + $thisfile_riff[$RIFFsubtype]['BODY'][0]['size'];
 					if ($info['avdataend'] > $info['filesize']) {
-						$info['warning'][] = 'Probable truncated AIFF file: expecting '.$thisfile_riff[$RIFFsubtype]['BODY'][0]['size'].' bytes of audio data, only '.($info['filesize'] - $info['avdataoffset']).' bytes found';
+						$this->warning('Probable truncated AIFF file: expecting '.$thisfile_riff[$RIFFsubtype]['BODY'][0]['size'].' bytes of audio data, only '.($info['filesize'] - $info['avdataoffset']).' bytes found');
 					}
 				}
 
@@ -1112,7 +1114,7 @@ class getid3_riff extends getid3_handler {
 							break;
 
 						default:
-							$info['warning'][] = 'Unexpected sCompression value in 8SVX.VHDR chunk - expecting 0 or 1, found "'.sCompression.'"';
+							$this->warning('Unexpected sCompression value in 8SVX.VHDR chunk - expecting 0 or 1, found "'.sCompression.'"');
 							break;
 					}
 				}
@@ -1130,7 +1132,7 @@ class getid3_riff extends getid3_handler {
 							break;
 
 						default:
-							$info['warning'][] = 'Unexpected value in 8SVX.CHAN chunk - expecting 2 or 4 or 6, found "'.$ChannelsIndex.'"';
+							$this->warning('Unexpected value in 8SVX.CHAN chunk - expecting 2 or 4 or 6, found "'.$ChannelsIndex.'"');
 							break;
 					}
 
@@ -1175,11 +1177,11 @@ class getid3_riff extends getid3_handler {
 				$info['fileformat'] = 'webp';
 				$info['mime_type']  = 'image/webp';
 
-$info['error'][] = 'WebP image parsing not supported in this version of getID3()';
+$this->error('WebP image parsing not supported in this version of getID3()');
 				break;
 
 			default:
-				$info['error'][] = 'Unknown RIFF type: expecting one of (WAVE|RMP3|AVI |CDDA|AIFF|AIFC|8SVX|CDXA|WEBP), found "'.$RIFFsubtype.'" instead';
+				$this->error('Unknown RIFF type: expecting one of (WAVE|RMP3|AVI |CDDA|AIFF|AIFC|8SVX|CDXA|WEBP), found "'.$RIFFsubtype.'" instead');
 				//unset($info['fileformat']);
 		}
 
@@ -1192,7 +1194,7 @@ $info['error'][] = 'WebP image parsing not supported in this version of getID3()
 				foreach ($ID3v2_keys_bad as $ID3v2_key_bad) {
 					if (isset($thisfile_riff[$RIFFsubtype][$ID3v2_key_bad]) && !array_key_exists($ID3v2_key_good, $thisfile_riff[$RIFFsubtype])) {
 						$thisfile_riff[$RIFFsubtype][$ID3v2_key_good] = $thisfile_riff[$RIFFsubtype][$ID3v2_key_bad];
-						$info['warning'][] = 'mapping "'.$ID3v2_key_bad.'" chunk to "'.$ID3v2_key_good.'"';
+						$this->warning('mapping "'.$ID3v2_key_bad.'" chunk to "'.$ID3v2_key_good.'"');
 					}
 				}
 
@@ -1516,7 +1518,7 @@ $info['error'][] = 'WebP image parsing not supported in this version of getID3()
 											$info['ac3']     = $getid3_temp->info['ac3'];
 											if (!empty($getid3_temp->info['warning'])) {
 												foreach ($getid3_temp->info['warning'] as $key => $value) {
-													$info['warning'][] = $value;
+													$this->warning($value);
 												}
 											}
 										}
diff --git a/lib/getid3/module.audio-video.swf.php b/lib/getid3/module.audio-video.swf.php
index e4f7651e..178f439a 100644
--- a/lib/getid3/module.audio-video.swf.php
+++ b/lib/getid3/module.audio-video.swf.php
@@ -42,7 +42,7 @@ class getid3_swf extends getid3_handler
 				break;
 
 			default:
-				$info['error'][] = 'Expecting "FWS" or "CWS" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['swf']['header']['signature']).'"';
+				$this->error('Expecting "FWS" or "CWS" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['swf']['header']['signature']).'"');
 				unset($info['swf']);
 				unset($info['fileformat']);
 				return false;
@@ -57,7 +57,7 @@ class getid3_swf extends getid3_handler
 			if ($decompressed = @gzuncompress($SWFfileData)) {
 				$SWFfileData = $SWFHead.$decompressed;
 			} else {
-				$info['error'][] = 'Error decompressing compressed SWF data ('.strlen($SWFfileData).' bytes compressed, should be '.($info['swf']['header']['length'] - 8).' bytes uncompressed)';
+				$this->error('Error decompressing compressed SWF data ('.strlen($SWFfileData).' bytes compressed, should be '.($info['swf']['header']['length'] - 8).' bytes uncompressed)');
 				return false;
 			}
 		}
diff --git a/lib/getid3/module.audio-video.ts.php b/lib/getid3/module.audio-video.ts.php
index b32e3ad7..33620242 100644
--- a/lib/getid3/module.audio-video.ts.php
+++ b/lib/getid3/module.audio-video.ts.php
@@ -25,7 +25,7 @@ class getid3_ts extends getid3_handler
 		$TSheader = $this->fread(19);
 		$magic = "\x47";
 		if (substr($TSheader, 0, 1) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at '.$info['avdataoffset'].', found '.getid3_lib::PrintHexBytes(substr($TSheader, 0, 1)).' instead.';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at '.$info['avdataoffset'].', found '.getid3_lib::PrintHexBytes(substr($TSheader, 0, 1)).' instead.');
 			return false;
 		}
 		$info['fileformat'] = 'ts';
@@ -66,7 +66,7 @@ class getid3_ts extends getid3_handler
 			}
 		}
 
-$info['error'][] = 'MPEG Transport Stream (.ts) parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+$this->error('MPEG Transport Stream (.ts) parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 return false;
 
 	}
diff --git a/lib/getid3/module.audio.aa.php b/lib/getid3/module.audio.aa.php
index f5aa1015..889fd581 100644
--- a/lib/getid3/module.audio.aa.php
+++ b/lib/getid3/module.audio.aa.php
@@ -26,7 +26,7 @@ class getid3_aa extends getid3_handler
 
 		$magic = "\x57\x90\x75\x36";
 		if (substr($AAheader, 4, 4) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($AAheader, 4, 4)).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($AAheader, 4, 4)).'"');
 			return false;
 		}
 
@@ -36,14 +36,14 @@ class getid3_aa extends getid3_handler
 
 		$info['fileformat']            = 'aa';
 		$info['audio']['dataformat']   = 'aa';
-$info['error'][] = 'Audible Audiobook (.aa) parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+$this->error('Audible Audiobook (.aa) parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 return false;
 		$info['audio']['bitrate_mode'] = 'cbr'; // is it?
 		$thisfile_aa['encoding']       = 'ISO-8859-1';
 
 		$thisfile_aa['filesize'] = getid3_lib::BigEndian2Int(substr($AUheader,  0, 4));
 		if ($thisfile_aa['filesize'] > ($info['avdataend'] - $info['avdataoffset'])) {
-			$info['warning'][] = 'Possible truncated file - expecting "'.$thisfile_aa['filesize'].'" bytes of data, only found '.($info['avdataend'] - $info['avdataoffset']).' bytes"';
+			$this->warning('Possible truncated file - expecting "'.$thisfile_aa['filesize'].'" bytes of data, only found '.($info['avdataend'] - $info['avdataoffset']).' bytes"');
 		}
 
 		$info['audio']['bits_per_sample'] = 16; // is it?
diff --git a/lib/getid3/module.audio.aac.php b/lib/getid3/module.audio.aac.php
index cc07085e..59d79def 100644
--- a/lib/getid3/module.audio.aac.php
+++ b/lib/getid3/module.audio.aac.php
@@ -92,7 +92,7 @@ class getid3_aac extends getid3_handler
 				$info['audio']['bitrate']                 = $info['aac']['header']['bitrate'];
 			}
 			if ($info['audio']['bitrate'] == 0) {
-				$info['error'][] = 'Corrupt AAC file: bitrate_audio == zero';
+				$this->error('Corrupt AAC file: bitrate_audio == zero');
 				return false;
 			}
 			$info['aac']['header']['num_program_configs'] = 1 + getid3_lib::Bin2Dec(substr($AACheaderBitstream, $bitoffset, 4));
@@ -250,7 +250,7 @@ class getid3_aac extends getid3_handler
 
 			unset($info['fileformat']);
 			unset($info['aac']);
-			$info['error'][] = 'AAC-ADIF synch not found at offset '.$info['avdataoffset'].' (expected "ADIF", found "'.substr($AACheader, 0, 4).'" instead)';
+			$this->error('AAC-ADIF synch not found at offset '.$info['avdataoffset'].' (expected "ADIF", found "'.substr($AACheader, 0, 4).'" instead)');
 			return false;
 
 		}
@@ -311,7 +311,7 @@ class getid3_aac extends getid3_handler
 			// or MaxFramesToScan frames have been scanned
 
 			if (!getid3_lib::intValueSupported($byteoffset)) {
-				$info['warning'][] = 'Unable to parse AAC file beyond '.$this->ftell().' (PHP does not support file operations beyond '.round(PHP_INT_MAX / 1073741824).'GB)';
+				$this->warning('Unable to parse AAC file beyond '.$this->ftell().' (PHP does not support file operations beyond '.round(PHP_INT_MAX / 1073741824).'GB)');
 				return false;
 			}
 			$this->fseek($byteoffset);
@@ -320,7 +320,7 @@ class getid3_aac extends getid3_handler
 			$substring = $this->fread(9); // header is 7 bytes (or 9 if CRC is present)
 			$substringlength = strlen($substring);
 			if ($substringlength != 9) {
-				$info['error'][] = 'Failed to read 7 bytes at offset '.($this->ftell() - $substringlength).' (only read '.$substringlength.' bytes)';
+				$this->error('Failed to read 7 bytes at offset '.($this->ftell() - $substringlength).' (only read '.$substringlength.' bytes)');
 				return false;
 			}
 			// this would be easier with 64-bit math, but split it up to allow for 32-bit:
@@ -330,7 +330,7 @@ class getid3_aac extends getid3_handler
 
 			$info['aac']['header']['raw']['syncword']          = ($header1 & 0xFFF0) >> 4;
 			if ($info['aac']['header']['raw']['syncword'] != 0x0FFF) {
-				$info['error'][] = 'Synch pattern (0x0FFF) not found at offset '.($this->ftell() - $substringlength).' (found 0x0'.strtoupper(dechex($info['aac']['header']['raw']['syncword'])).' instead)';
+				$this->error('Synch pattern (0x0FFF) not found at offset '.($this->ftell() - $substringlength).' (found 0x0'.strtoupper(dechex($info['aac']['header']['raw']['syncword'])).' instead)');
 				//if ($info['fileformat'] == 'aac') {
 				//	return true;
 				//}
@@ -372,10 +372,10 @@ class getid3_aac extends getid3_handler
 				}
 
 				if ($info['aac']['header']['raw']['mpeg_layer'] != 0) {
-					$info['warning'][] = 'Layer error - expected "0", found "'.$info['aac']['header']['raw']['mpeg_layer'].'" instead';
+					$this->warning('Layer error - expected "0", found "'.$info['aac']['header']['raw']['mpeg_layer'].'" instead');
 				}
 				if ($info['aac']['header']['sample_frequency'] == 0) {
-					$info['error'][] = 'Corrupt AAC file: sample_frequency == zero';
+					$this->error('Corrupt AAC file: sample_frequency == zero');
 					return false;
 				}
 
@@ -428,7 +428,7 @@ class getid3_aac extends getid3_handler
 				$info['aac']['frames']    = $framenumber;
 				$info['playtime_seconds'] = ($info['avdataend'] / $byteoffset) * (($framenumber * 1024) / $info['aac']['header']['sample_frequency']);  // (1 / % of file scanned) * (samples / (samples/sec)) = seconds
 				if ($info['playtime_seconds'] == 0) {
-					$info['error'][] = 'Corrupt AAC file: playtime_seconds == zero';
+					$this->error('Corrupt AAC file: playtime_seconds == zero');
 					return false;
 				}
 				$info['audio']['bitrate']    = (($info['avdataend'] - $info['avdataoffset']) * 8) / $info['playtime_seconds'];
diff --git a/lib/getid3/module.audio.ac3.php b/lib/getid3/module.audio.ac3.php
index 2dc52f48..c370c7f6 100644
--- a/lib/getid3/module.audio.ac3.php
+++ b/lib/getid3/module.audio.ac3.php
@@ -20,7 +20,7 @@ class getid3_ac3 extends getid3_handler
     private $AC3header = array();
     private $BSIoffset = 0;
 
-    const syncword = "\x0B\x77";
+    const syncword = 0x0B77;
 
 	public function Analyze() {
 		$info = &$this->getid3->info;
@@ -55,182 +55,418 @@ class getid3_ac3 extends getid3_handler
 		// } /* end of syncinfo */
 
 		$this->fseek($info['avdataoffset']);
-		$this->AC3header['syncinfo'] = $this->fread(5);
+		$tempAC3header = $this->fread(100); // should be enough to cover all data, there are some variable-length fields...?
+		$this->AC3header['syncinfo']  =     getid3_lib::BigEndian2Int(substr($tempAC3header, 0, 2));
+		$this->AC3header['bsi']       =     getid3_lib::BigEndian2Bin(substr($tempAC3header, 2));
+		$thisfile_ac3_raw_bsi['bsid'] = (getid3_lib::LittleEndian2Int(substr($tempAC3header, 5, 1)) & 0xF8) >> 3; // AC3 and E-AC3 put the "bsid" version identifier in the same place, but unfortnately the 4 bytes between the syncword and the version identifier are interpreted differently, so grab it here so the following code structure can make sense
+		unset($tempAC3header);
 
-		if (strpos($this->AC3header['syncinfo'], self::syncword) === 0) {
-			$thisfile_ac3_raw['synchinfo']['synchword'] = self::syncword;
-			$offset = 2;
-		} else {
+		if ($this->AC3header['syncinfo'] !== self::syncword) {
 			if (!$this->isDependencyFor('matroska')) {
 				unset($info['fileformat'], $info['ac3']);
-				return $this->error('Expecting "'.getid3_lib::PrintHexBytes(self::syncword).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($this->AC3header['syncinfo'], 0, 2)).'"');
+				return $this->error('Expecting "'.dechex(self::syncword).'" at offset '.$info['avdataoffset'].', found "'.dechex($this->AC3header['syncinfo']).'"');
 			}
-			$offset = 0;
-			$this->fseek(-2, SEEK_CUR);
 		}
 
 		$info['audio']['dataformat']   = 'ac3';
 		$info['audio']['bitrate_mode'] = 'cbr';
 		$info['audio']['lossless']     = false;
 
-		$thisfile_ac3_raw['synchinfo']['crc1']       = getid3_lib::LittleEndian2Int(substr($this->AC3header['syncinfo'], $offset, 2));
-		$ac3_synchinfo_fscod_frmsizecod              = getid3_lib::LittleEndian2Int(substr($this->AC3header['syncinfo'], ($offset + 2), 1));
-		$thisfile_ac3_raw['synchinfo']['fscod']      = ($ac3_synchinfo_fscod_frmsizecod & 0xC0) >> 6;
-		$thisfile_ac3_raw['synchinfo']['frmsizecod'] = ($ac3_synchinfo_fscod_frmsizecod & 0x3F);
+		if ($thisfile_ac3_raw_bsi['bsid'] <= 8) {
 
-		$thisfile_ac3['sample_rate'] = self::sampleRateCodeLookup($thisfile_ac3_raw['synchinfo']['fscod']);
-		if ($thisfile_ac3_raw['synchinfo']['fscod'] <= 3) {
-			$info['audio']['sample_rate'] = $thisfile_ac3['sample_rate'];
-		}
+			$thisfile_ac3_raw_bsi['crc1']       = getid3_lib::Bin2Dec($this->readHeaderBSI(16));
+			$thisfile_ac3_raw_bsi['fscod']      =                     $this->readHeaderBSI(2);   // 5.4.1.3
+			$thisfile_ac3_raw_bsi['frmsizecod'] =                     $this->readHeaderBSI(6);   // 5.4.1.4
+			if ($thisfile_ac3_raw_bsi['frmsizecod'] > 37) { // binary: 100101 - see Table 5.18 Frame Size Code Table (1 word = 16 bits)
+				$this->warning('Unexpected ac3.bsi.frmsizecod value: '.$thisfile_ac3_raw_bsi['frmsizecod'].', bitrate not set correctly');
+			}
 
-		$thisfile_ac3['frame_length'] = self::frameSizeLookup($thisfile_ac3_raw['synchinfo']['frmsizecod'], $thisfile_ac3_raw['synchinfo']['fscod']);
-		$thisfile_ac3['bitrate']      = self::bitrateLookup($thisfile_ac3_raw['synchinfo']['frmsizecod']);
-		$info['audio']['bitrate'] = $thisfile_ac3['bitrate'];
+			$thisfile_ac3_raw_bsi['bsid']  = $this->readHeaderBSI(5); // we already know this from pre-parsing the version identifier, but re-read it to let the bitstream flow as intended
+			$thisfile_ac3_raw_bsi['bsmod'] = $this->readHeaderBSI(3);
+			$thisfile_ac3_raw_bsi['acmod'] = $this->readHeaderBSI(3);
 
-		$this->AC3header['bsi'] = getid3_lib::BigEndian2Bin($this->fread(15));
-		$ac3_bsi_offset = 0;
+			if ($thisfile_ac3_raw_bsi['acmod'] & 0x01) {
+				// If the lsb of acmod is a 1, center channel is in use and cmixlev follows in the bit stream.
+				$thisfile_ac3_raw_bsi['cmixlev'] = $this->readHeaderBSI(2);
+				$thisfile_ac3['center_mix_level'] = self::centerMixLevelLookup($thisfile_ac3_raw_bsi['cmixlev']);
+			}
 
-		$thisfile_ac3_raw_bsi['bsid'] = $this->readHeaderBSI(5);
-		if ($thisfile_ac3_raw_bsi['bsid'] > 8) {
-			// Decoders which can decode version 8 will thus be able to decode version numbers less than 8.
-			// If this standard is extended by the addition of additional elements or features, a value of bsid greater than 8 will be used.
-			// Decoders built to this version of the standard will not be able to decode versions with bsid greater than 8.
-			$this->error('Bit stream identification is version '.$thisfile_ac3_raw_bsi['bsid'].', but getID3() only understands up to version 8');
-		    unset($info['ac3']);
-			return false;
-		}
+			if ($thisfile_ac3_raw_bsi['acmod'] & 0x04) {
+				// If the msb of acmod is a 1, surround channels are in use and surmixlev follows in the bit stream.
+				$thisfile_ac3_raw_bsi['surmixlev'] = $this->readHeaderBSI(2);
+				$thisfile_ac3['surround_mix_level'] = self::surroundMixLevelLookup($thisfile_ac3_raw_bsi['surmixlev']);
+			}
 
-		$thisfile_ac3_raw_bsi['bsmod'] = $this->readHeaderBSI(3);
-		$thisfile_ac3_raw_bsi['acmod'] = $this->readHeaderBSI(3);
+			if ($thisfile_ac3_raw_bsi['acmod'] == 0x02) {
+				// When operating in the two channel mode, this 2-bit code indicates whether or not the program has been encoded in Dolby Surround.
+				$thisfile_ac3_raw_bsi['dsurmod'] = $this->readHeaderBSI(2);
+				$thisfile_ac3['dolby_surround_mode'] = self::dolbySurroundModeLookup($thisfile_ac3_raw_bsi['dsurmod']);
+			}
 
-		$thisfile_ac3['service_type'] = self::serviceTypeLookup($thisfile_ac3_raw_bsi['bsmod'], $thisfile_ac3_raw_bsi['acmod']);
-		$ac3_coding_mode = self::audioCodingModeLookup($thisfile_ac3_raw_bsi['acmod']);
-		foreach($ac3_coding_mode as $key => $value) {
-			$thisfile_ac3[$key] = $value;
-		}
-		switch ($thisfile_ac3_raw_bsi['acmod']) {
-			case 0:
-			case 1:
-				$info['audio']['channelmode'] = 'mono';
-				break;
-			case 3:
-			case 4:
-				$info['audio']['channelmode'] = 'stereo';
-				break;
-			default:
-				$info['audio']['channelmode'] = 'surround';
-				break;
-		}
-		$info['audio']['channels'] = $thisfile_ac3['num_channels'];
+			$thisfile_ac3_raw_bsi['flags']['lfeon'] = (bool) $this->readHeaderBSI(1);
 
-		if ($thisfile_ac3_raw_bsi['acmod'] & 0x01) {
-			// If the lsb of acmod is a 1, center channel is in use and cmixlev follows in the bit stream.
-			$thisfile_ac3_raw_bsi['cmixlev'] = $this->readHeaderBSI(2);
-			$thisfile_ac3['center_mix_level'] = self::centerMixLevelLookup($thisfile_ac3_raw_bsi['cmixlev']);
-		}
+			// This indicates how far the average dialogue level is below digital 100 percent. Valid values are 1-31.
+			// The value of 0 is reserved. The values of 1 to 31 are interpreted as -1 dB to -31 dB with respect to digital 100 percent.
+			$thisfile_ac3_raw_bsi['dialnorm'] = $this->readHeaderBSI(5);                 // 5.4.2.8 dialnorm: Dialogue Normalization, 5 Bits
 
-		if ($thisfile_ac3_raw_bsi['acmod'] & 0x04) {
-			// If the msb of acmod is a 1, surround channels are in use and surmixlev follows in the bit stream.
-			$thisfile_ac3_raw_bsi['surmixlev'] = $this->readHeaderBSI(2);
-			$thisfile_ac3['surround_mix_level'] = self::surroundMixLevelLookup($thisfile_ac3_raw_bsi['surmixlev']);
-		}
+			$thisfile_ac3_raw_bsi['flags']['compr'] = (bool) $this->readHeaderBSI(1);       // 5.4.2.9 compre: Compression Gain Word Exists, 1 Bit
+			if ($thisfile_ac3_raw_bsi['flags']['compr']) {
+				$thisfile_ac3_raw_bsi['compr'] = $this->readHeaderBSI(8);                // 5.4.2.10 compr: Compression Gain Word, 8 Bits
+				$thisfile_ac3['heavy_compression'] = self::heavyCompression($thisfile_ac3_raw_bsi['compr']);
+			}
 
-		if ($thisfile_ac3_raw_bsi['acmod'] == 0x02) {
-			// When operating in the two channel mode, this 2-bit code indicates whether or not the program has been encoded in Dolby Surround.
-			$thisfile_ac3_raw_bsi['dsurmod'] = $this->readHeaderBSI(2);
-			$thisfile_ac3['dolby_surround_mode'] = self::dolbySurroundModeLookup($thisfile_ac3_raw_bsi['dsurmod']);
-		}
+			$thisfile_ac3_raw_bsi['flags']['langcod'] = (bool) $this->readHeaderBSI(1);     // 5.4.2.11 langcode: Language Code Exists, 1 Bit
+			if ($thisfile_ac3_raw_bsi['flags']['langcod']) {
+				$thisfile_ac3_raw_bsi['langcod'] = $this->readHeaderBSI(8);              // 5.4.2.12 langcod: Language Code, 8 Bits
+			}
 
-		$thisfile_ac3_raw_bsi['lfeon'] = (bool) $this->readHeaderBSI(1);
-		$thisfile_ac3['lfe_enabled'] = $thisfile_ac3_raw_bsi['lfeon'];
-		if ($thisfile_ac3_raw_bsi['lfeon']) {
-			//$info['audio']['channels']++;
-			$info['audio']['channels'] .= '.1';
-		}
+			$thisfile_ac3_raw_bsi['flags']['audprodinfo'] = (bool) $this->readHeaderBSI(1);  // 5.4.2.13 audprodie: Audio Production Information Exists, 1 Bit
+			if ($thisfile_ac3_raw_bsi['flags']['audprodinfo']) {
+				$thisfile_ac3_raw_bsi['mixlevel'] = $this->readHeaderBSI(5);             // 5.4.2.14 mixlevel: Mixing Level, 5 Bits
+				$thisfile_ac3_raw_bsi['roomtyp']  = $this->readHeaderBSI(2);             // 5.4.2.15 roomtyp: Room Type, 2 Bits
 
-		$thisfile_ac3['channels_enabled'] = self::channelsEnabledLookup($thisfile_ac3_raw_bsi['acmod'], $thisfile_ac3_raw_bsi['lfeon']);
+				$thisfile_ac3['mixing_level'] = (80 + $thisfile_ac3_raw_bsi['mixlevel']).'dB';
+				$thisfile_ac3['room_type']    = self::roomTypeLookup($thisfile_ac3_raw_bsi['roomtyp']);
+			}
 
-		// This indicates how far the average dialogue level is below digital 100 percent. Valid values are 1-31.
-		// The value of 0 is reserved. The values of 1 to 31 are interpreted as -1 dB to -31 dB with respect to digital 100 percent.
-		$thisfile_ac3_raw_bsi['dialnorm'] = $this->readHeaderBSI(5);
-		$thisfile_ac3['dialogue_normalization'] = '-'.$thisfile_ac3_raw_bsi['dialnorm'].'dB';
 
-		$thisfile_ac3_raw_bsi['compre_flag'] = (bool) $this->readHeaderBSI(1);
-		if ($thisfile_ac3_raw_bsi['compre_flag']) {
-			$thisfile_ac3_raw_bsi['compr'] = $this->readHeaderBSI(8);
-			$thisfile_ac3['heavy_compression'] = self::heavyCompression($thisfile_ac3_raw_bsi['compr']);
-		}
+			$thisfile_ac3_raw_bsi['dialnorm2'] = $this->readHeaderBSI(5);                // 5.4.2.16 dialnorm2: Dialogue Normalization, ch2, 5 Bits
+			$thisfile_ac3['dialogue_normalization2'] = '-'.$thisfile_ac3_raw_bsi['dialnorm2'].'dB';  // This indicates how far the average dialogue level is below digital 100 percent. Valid values are 1-31. The value of 0 is reserved. The values of 1 to 31 are interpreted as -1 dB to -31 dB with respect to digital 100 percent.
 
-		$thisfile_ac3_raw_bsi['langcode_flag'] = (bool) $this->readHeaderBSI(1);
-		if ($thisfile_ac3_raw_bsi['langcode_flag']) {
-			$thisfile_ac3_raw_bsi['langcod'] = $this->readHeaderBSI(8);
-		}
+			$thisfile_ac3_raw_bsi['flags']['compr2'] = (bool) $this->readHeaderBSI(1);       // 5.4.2.17 compr2e: Compression Gain Word Exists, ch2, 1 Bit
+			if ($thisfile_ac3_raw_bsi['flags']['compr2']) {
+				$thisfile_ac3_raw_bsi['compr2'] = $this->readHeaderBSI(8);               // 5.4.2.18 compr2: Compression Gain Word, ch2, 8 Bits
+				$thisfile_ac3['heavy_compression2'] = self::heavyCompression($thisfile_ac3_raw_bsi['compr2']);
+			}
 
-		$thisfile_ac3_raw_bsi['audprodie'] = (bool) $this->readHeaderBSI(1);
-		if ($thisfile_ac3_raw_bsi['audprodie']) {
-			$thisfile_ac3_raw_bsi['mixlevel'] = $this->readHeaderBSI(5);
-			$thisfile_ac3_raw_bsi['roomtyp']  = $this->readHeaderBSI(2);
+			$thisfile_ac3_raw_bsi['flags']['langcod2'] = (bool) $this->readHeaderBSI(1);    // 5.4.2.19 langcod2e: Language Code Exists, ch2, 1 Bit
+			if ($thisfile_ac3_raw_bsi['flags']['langcod2']) {
+				$thisfile_ac3_raw_bsi['langcod2'] = $this->readHeaderBSI(8);             // 5.4.2.20 langcod2: Language Code, ch2, 8 Bits
+			}
 
-			$thisfile_ac3['mixing_level'] = (80 + $thisfile_ac3_raw_bsi['mixlevel']).'dB';
-			$thisfile_ac3['room_type']    = self::roomTypeLookup($thisfile_ac3_raw_bsi['roomtyp']);
-		}
+			$thisfile_ac3_raw_bsi['flags']['audprodinfo2'] = (bool) $this->readHeaderBSI(1); // 5.4.2.21 audprodi2e: Audio Production Information Exists, ch2, 1 Bit
+			if ($thisfile_ac3_raw_bsi['flags']['audprodinfo2']) {
+				$thisfile_ac3_raw_bsi['mixlevel2'] = $this->readHeaderBSI(5);            // 5.4.2.22 mixlevel2: Mixing Level, ch2, 5 Bits
+				$thisfile_ac3_raw_bsi['roomtyp2']  = $this->readHeaderBSI(2);            // 5.4.2.23 roomtyp2: Room Type, ch2, 2 Bits
+
+				$thisfile_ac3['mixing_level2'] = (80 + $thisfile_ac3_raw_bsi['mixlevel2']).'dB';
+				$thisfile_ac3['room_type2']    = self::roomTypeLookup($thisfile_ac3_raw_bsi['roomtyp2']);
+			}
 
-		if ($thisfile_ac3_raw_bsi['acmod'] == 0x00) {
-			// If acmod is 0, then two completely independent program channels (dual mono)
-			// are encoded into the bit stream, and are referenced as Ch1, Ch2. In this case,
-			// a number of additional items are present in BSI or audblk to fully describe Ch2.
+			$thisfile_ac3_raw_bsi['copyright'] = (bool) $this->readHeaderBSI(1);         // 5.4.2.24 copyrightb: Copyright Bit, 1 Bit
 
-			// This indicates how far the average dialogue level is below digital 100 percent. Valid values are 1-31.
-			// The value of 0 is reserved. The values of 1 to 31 are interpreted as -1 dB to -31 dB with respect to digital 100 percent.
-			$thisfile_ac3_raw_bsi['dialnorm2'] = $this->readHeaderBSI(5);
-			$thisfile_ac3['dialogue_normalization2'] = '-'.$thisfile_ac3_raw_bsi['dialnorm2'].'dB';
+			$thisfile_ac3_raw_bsi['original']  = (bool) $this->readHeaderBSI(1);         // 5.4.2.25 origbs: Original Bit Stream, 1 Bit
 
-			$thisfile_ac3_raw_bsi['compre_flag2'] = (bool) $this->readHeaderBSI(1);
-			if ($thisfile_ac3_raw_bsi['compre_flag2']) {
-				$thisfile_ac3_raw_bsi['compr2'] = $this->readHeaderBSI(8);
-				$thisfile_ac3['heavy_compression2'] = self::heavyCompression($thisfile_ac3_raw_bsi['compr2']);
+			$thisfile_ac3_raw_bsi['flags']['timecod1'] = $this->readHeaderBSI(2);            // 5.4.2.26 timecod1e, timcode2e: Time Code (first and second) Halves Exist, 2 Bits
+			if ($thisfile_ac3_raw_bsi['flags']['timecod1'] & 0x01) {
+				$thisfile_ac3_raw_bsi['timecod1'] = $this->readHeaderBSI(14);            // 5.4.2.27 timecod1: Time code first half, 14 bits
+				$thisfile_ac3['timecode1'] = 0;
+				$thisfile_ac3['timecode1'] += (($thisfile_ac3_raw_bsi['timecod1'] & 0x3E00) >>  9) * 3600;  // The first 5 bits of this 14-bit field represent the time in hours, with valid values of 0–23
+				$thisfile_ac3['timecode1'] += (($thisfile_ac3_raw_bsi['timecod1'] & 0x01F8) >>  3) *   60;  // The next 6 bits represent the time in minutes, with valid values of 0–59
+				$thisfile_ac3['timecode1'] += (($thisfile_ac3_raw_bsi['timecod1'] & 0x0003) >>  0) *    8;  // The final 3 bits represents the time in 8 second increments, with valid values of 0–7 (representing 0, 8, 16, ... 56 seconds)
 			}
-
-			$thisfile_ac3_raw_bsi['langcode_flag2'] = (bool) $this->readHeaderBSI(1);
-			if ($thisfile_ac3_raw_bsi['langcode_flag2']) {
-				$thisfile_ac3_raw_bsi['langcod2'] = $this->readHeaderBSI(8);
+			if ($thisfile_ac3_raw_bsi['flags']['timecod1'] & 0x02) {
+				$thisfile_ac3_raw_bsi['timecod2'] = $this->readHeaderBSI(14);            // 5.4.2.28 timecod2: Time code second half, 14 bits
+				$thisfile_ac3['timecode2'] = 0;
+				$thisfile_ac3['timecode2'] += (($thisfile_ac3_raw_bsi['timecod2'] & 0x3800) >> 11) *   1;              // The first 3 bits of this 14-bit field represent the time in seconds, with valid values from 0–7 (representing 0-7 seconds)
+				$thisfile_ac3['timecode2'] += (($thisfile_ac3_raw_bsi['timecod2'] & 0x07C0) >>  6) *  (1 / 30);        // The next 5 bits represents the time in frames, with valid values from 0–29 (one frame = 1/30th of a second)
+				$thisfile_ac3['timecode2'] += (($thisfile_ac3_raw_bsi['timecod2'] & 0x003F) >>  0) * ((1 / 30) / 60);  // The final 6 bits represents fractions of 1/64 of a frame, with valid values from 0–63
 			}
 
-			$thisfile_ac3_raw_bsi['audprodie2'] = (bool) $this->readHeaderBSI(1);
-			if ($thisfile_ac3_raw_bsi['audprodie2']) {
-				$thisfile_ac3_raw_bsi['mixlevel2'] = $this->readHeaderBSI(5);
-				$thisfile_ac3_raw_bsi['roomtyp2']  = $this->readHeaderBSI(2);
+			$thisfile_ac3_raw_bsi['flags']['addbsi'] = (bool) $this->readHeaderBSI(1);
+			if ($thisfile_ac3_raw_bsi['flags']['addbsi']) {
+				$thisfile_ac3_raw_bsi['addbsi_length'] = $this->readHeaderBSI(6) + 1; // This 6-bit code, which exists only if addbside is a 1, indicates the length in bytes of additional bit stream information. The valid range of addbsil is 0–63, indicating 1–64 additional bytes, respectively.
 
-				$thisfile_ac3['mixing_level2'] = (80 + $thisfile_ac3_raw_bsi['mixlevel2']).'dB';
-				$thisfile_ac3['room_type2']    = self::roomTypeLookup($thisfile_ac3_raw_bsi['roomtyp2']);
+				$this->AC3header['bsi'] .= getid3_lib::BigEndian2Bin($this->fread($thisfile_ac3_raw_bsi['addbsi_length']));
+
+				$thisfile_ac3_raw_bsi['addbsi_data'] = substr($this->AC3header['bsi'], $this->BSIoffset, $thisfile_ac3_raw_bsi['addbsi_length'] * 8);
+				$this->BSIoffset += $thisfile_ac3_raw_bsi['addbsi_length'] * 8;
 			}
 
-		}
 
-		$thisfile_ac3_raw_bsi['copyright'] = (bool) $this->readHeaderBSI(1);
+		} elseif ($thisfile_ac3_raw_bsi['bsid'] <= 16) { // E-AC3
 
-		$thisfile_ac3_raw_bsi['original']  = (bool) $this->readHeaderBSI(1);
 
-		$thisfile_ac3_raw_bsi['timecode1_flag'] = (bool) $this->readHeaderBSI(1);
-		if ($thisfile_ac3_raw_bsi['timecode1_flag']) {
-			$thisfile_ac3_raw_bsi['timecode1'] = $this->readHeaderBSI(14);
-		}
+$this->error('E-AC3 parsing is incomplete and experimental in this version of getID3 ('.$this->getid3->version().'). Notably the bitrate calculations are wrong -- value might (or not) be correct, but it is not calculated correctly. Email info@getid3.org if you know how to calculate EAC3 bitrate correctly.');
+			$info['audio']['dataformat'] = 'eac3';
+
+			$thisfile_ac3_raw_bsi['strmtyp']          =        $this->readHeaderBSI(2);
+			$thisfile_ac3_raw_bsi['substreamid']      =        $this->readHeaderBSI(3);
+			$thisfile_ac3_raw_bsi['frmsiz']           =        $this->readHeaderBSI(11);
+			$thisfile_ac3_raw_bsi['fscod']            =        $this->readHeaderBSI(2);
+			if ($thisfile_ac3_raw_bsi['fscod'] == 3) {
+				$thisfile_ac3_raw_bsi['fscod2']       =        $this->readHeaderBSI(2);
+				$thisfile_ac3_raw_bsi['numblkscod'] = 3; // six blocks per syncframe
+			} else {
+				$thisfile_ac3_raw_bsi['numblkscod']   =        $this->readHeaderBSI(2);
+			}
+			$thisfile_ac3['bsi']['blocks_per_sync_frame'] = self::blocksPerSyncFrame($thisfile_ac3_raw_bsi['numblkscod']);
+			$thisfile_ac3_raw_bsi['acmod']            =        $this->readHeaderBSI(3);
+			$thisfile_ac3_raw_bsi['flags']['lfeon']   = (bool) $this->readHeaderBSI(1);
+			$thisfile_ac3_raw_bsi['bsid']             =        $this->readHeaderBSI(5); // we already know this from pre-parsing the version identifier, but re-read it to let the bitstream flow as intended
+			$thisfile_ac3_raw_bsi['dialnorm']         =        $this->readHeaderBSI(5);
+			$thisfile_ac3_raw_bsi['flags']['compr']       = (bool) $this->readHeaderBSI(1);
+			if ($thisfile_ac3_raw_bsi['flags']['compr']) {
+				$thisfile_ac3_raw_bsi['compr']        =        $this->readHeaderBSI(8);
+			}
+			if ($thisfile_ac3_raw_bsi['acmod'] == 0) { // if 1+1 mode (dual mono, so some items need a second value)
+				$thisfile_ac3_raw_bsi['dialnorm2']    =        $this->readHeaderBSI(5);
+				$thisfile_ac3_raw_bsi['flags']['compr2']  = (bool) $this->readHeaderBSI(1);
+				if ($thisfile_ac3_raw_bsi['flags']['compr2']) {
+					$thisfile_ac3_raw_bsi['compr2']   =        $this->readHeaderBSI(8);
+				}
+			}
+			if ($thisfile_ac3_raw_bsi['strmtyp'] == 1) { // if dependent stream
+				$thisfile_ac3_raw_bsi['flags']['chanmap'] = (bool) $this->readHeaderBSI(1);
+				if ($thisfile_ac3_raw_bsi['flags']['chanmap']) {
+					$thisfile_ac3_raw_bsi['chanmap']  =        $this->readHeaderBSI(8);
+				}
+			}
+			$thisfile_ac3_raw_bsi['flags']['mixmdat']     = (bool) $this->readHeaderBSI(1);
+			if ($thisfile_ac3_raw_bsi['flags']['mixmdat']) { // Mixing metadata
+				if ($thisfile_ac3_raw_bsi['acmod'] > 2) { // if more than 2 channels
+					$thisfile_ac3_raw_bsi['dmixmod']  =        $this->readHeaderBSI(2);
+				}
+				if (($thisfile_ac3_raw_bsi['acmod'] & 0x01) && ($thisfile_ac3_raw_bsi['acmod'] > 2)) { // if three front channels exist
+					$thisfile_ac3_raw_bsi['ltrtcmixlev'] =        $this->readHeaderBSI(3);
+					$thisfile_ac3_raw_bsi['lorocmixlev'] =        $this->readHeaderBSI(3);
+				}
+				if ($thisfile_ac3_raw_bsi['acmod'] & 0x04) { // if a surround channel exists
+					$thisfile_ac3_raw_bsi['ltrtsurmixlev'] =        $this->readHeaderBSI(3);
+					$thisfile_ac3_raw_bsi['lorosurmixlev'] =        $this->readHeaderBSI(3);
+				}
+				if ($thisfile_ac3_raw_bsi['flags']['lfeon']) { // if the LFE channel exists
+					$thisfile_ac3_raw_bsi['flags']['lfemixlevcod'] = (bool) $this->readHeaderBSI(1);
+					if ($thisfile_ac3_raw_bsi['flags']['lfemixlevcod']) {
+						$thisfile_ac3_raw_bsi['lfemixlevcod']  =        $this->readHeaderBSI(5);
+					}
+				}
+				if ($thisfile_ac3_raw_bsi['strmtyp'] == 0) { // if independent stream
+					$thisfile_ac3_raw_bsi['flags']['pgmscl'] = (bool) $this->readHeaderBSI(1);
+					if ($thisfile_ac3_raw_bsi['flags']['pgmscl']) {
+						$thisfile_ac3_raw_bsi['pgmscl']  =        $this->readHeaderBSI(6);
+					}
+					if ($thisfile_ac3_raw_bsi['acmod'] == 0) { // if 1+1 mode (dual mono, so some items need a second value)
+						$thisfile_ac3_raw_bsi['flags']['pgmscl2'] = (bool) $this->readHeaderBSI(1);
+						if ($thisfile_ac3_raw_bsi['flags']['pgmscl2']) {
+							$thisfile_ac3_raw_bsi['pgmscl2']  =        $this->readHeaderBSI(6);
+						}
+					}
+					$thisfile_ac3_raw_bsi['flags']['extpgmscl'] = (bool) $this->readHeaderBSI(1);
+					if ($thisfile_ac3_raw_bsi['flags']['extpgmscl']) {
+						$thisfile_ac3_raw_bsi['extpgmscl']  =        $this->readHeaderBSI(6);
+					}
+					$thisfile_ac3_raw_bsi['mixdef']  =        $this->readHeaderBSI(2);
+					if ($thisfile_ac3_raw_bsi['mixdef'] == 1) { // mixing option 2
+						$thisfile_ac3_raw_bsi['premixcmpsel']  = (bool) $this->readHeaderBSI(1);
+						$thisfile_ac3_raw_bsi['drcsrc']        = (bool) $this->readHeaderBSI(1);
+						$thisfile_ac3_raw_bsi['premixcmpscl']  =        $this->readHeaderBSI(3);
+					} elseif ($thisfile_ac3_raw_bsi['mixdef'] == 2) { // mixing option 3
+						$thisfile_ac3_raw_bsi['mixdata']       =        $this->readHeaderBSI(12);
+					} elseif ($thisfile_ac3_raw_bsi['mixdef'] == 3) { // mixing option 4
+						$mixdefbitsread = 0;
+						$thisfile_ac3_raw_bsi['mixdeflen']     =        $this->readHeaderBSI(5); $mixdefbitsread += 5;
+						$thisfile_ac3_raw_bsi['flags']['mixdata2'] = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+						if ($thisfile_ac3_raw_bsi['flags']['mixdata2']) {
+							$thisfile_ac3_raw_bsi['premixcmpsel']  = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							$thisfile_ac3_raw_bsi['drcsrc']        = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							$thisfile_ac3_raw_bsi['premixcmpscl']  =        $this->readHeaderBSI(3); $mixdefbitsread += 3;
+							$thisfile_ac3_raw_bsi['flags']['extpgmlscl']   = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['extpgmlscl']) {
+								$thisfile_ac3_raw_bsi['extpgmlscl']    =        $this->readHeaderBSI(4); $mixdefbitsread += 4;
+							}
+							$thisfile_ac3_raw_bsi['flags']['extpgmcscl']   = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['extpgmcscl']) {
+								$thisfile_ac3_raw_bsi['extpgmcscl']    =        $this->readHeaderBSI(4); $mixdefbitsread += 4;
+							}
+							$thisfile_ac3_raw_bsi['flags']['extpgmrscl']   = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['extpgmrscl']) {
+								$thisfile_ac3_raw_bsi['extpgmrscl']    =        $this->readHeaderBSI(4);
+							}
+							$thisfile_ac3_raw_bsi['flags']['extpgmlsscl']  = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['extpgmlsscl']) {
+								$thisfile_ac3_raw_bsi['extpgmlsscl']   =        $this->readHeaderBSI(4); $mixdefbitsread += 4;
+							}
+							$thisfile_ac3_raw_bsi['flags']['extpgmrsscl']  = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['extpgmrsscl']) {
+								$thisfile_ac3_raw_bsi['extpgmrsscl']   =        $this->readHeaderBSI(4); $mixdefbitsread += 4;
+							}
+							$thisfile_ac3_raw_bsi['flags']['extpgmlfescl'] = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['extpgmlfescl']) {
+								$thisfile_ac3_raw_bsi['extpgmlfescl']  =        $this->readHeaderBSI(4); $mixdefbitsread += 4;
+							}
+							$thisfile_ac3_raw_bsi['flags']['dmixscl']      = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['dmixscl']) {
+								$thisfile_ac3_raw_bsi['dmixscl']       =        $this->readHeaderBSI(4); $mixdefbitsread += 4;
+							}
+							$thisfile_ac3_raw_bsi['flags']['addch']        = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['addch']) {
+								$thisfile_ac3_raw_bsi['flags']['extpgmaux1scl']   = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+								if ($thisfile_ac3_raw_bsi['flags']['extpgmaux1scl']) {
+									$thisfile_ac3_raw_bsi['extpgmaux1scl']    =        $this->readHeaderBSI(4); $mixdefbitsread += 4;
+								}
+								$thisfile_ac3_raw_bsi['flags']['extpgmaux2scl']   = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+								if ($thisfile_ac3_raw_bsi['flags']['extpgmaux2scl']) {
+									$thisfile_ac3_raw_bsi['extpgmaux2scl']    =        $this->readHeaderBSI(4); $mixdefbitsread += 4;
+								}
+							}
+						}
+						$thisfile_ac3_raw_bsi['flags']['mixdata3'] = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+						if ($thisfile_ac3_raw_bsi['flags']['mixdata3']) {
+							$thisfile_ac3_raw_bsi['spchdat']   =        $this->readHeaderBSI(5); $mixdefbitsread += 5;
+							$thisfile_ac3_raw_bsi['flags']['addspchdat'] = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+							if ($thisfile_ac3_raw_bsi['flags']['addspchdat']) {
+								$thisfile_ac3_raw_bsi['spchdat1']   =         $this->readHeaderBSI(5); $mixdefbitsread += 5;
+								$thisfile_ac3_raw_bsi['spchan1att'] =         $this->readHeaderBSI(2); $mixdefbitsread += 2;
+								$thisfile_ac3_raw_bsi['flags']['addspchdat1'] = (bool) $this->readHeaderBSI(1); $mixdefbitsread += 1;
+								if ($thisfile_ac3_raw_bsi['flags']['addspchdat1']) {
+									$thisfile_ac3_raw_bsi['spchdat2']   =         $this->readHeaderBSI(5); $mixdefbitsread += 5;
+									$thisfile_ac3_raw_bsi['spchan2att'] =         $this->readHeaderBSI(3); $mixdefbitsread += 3;
+								}
+							}
+						}
+						$mixdata_bits = (8 * ($thisfile_ac3_raw_bsi['mixdeflen'] + 2)) - $mixdefbitsread;
+						$mixdata_fill = (($mixdata_bits % 8) ? 8 - ($mixdata_bits % 8) : 0);
+						$thisfile_ac3_raw_bsi['mixdata']     =        $this->readHeaderBSI($mixdata_bits);
+						$thisfile_ac3_raw_bsi['mixdatafill'] =        $this->readHeaderBSI($mixdata_fill);
+						unset($mixdefbitsread, $mixdata_bits, $mixdata_fill);
+					}
+					if ($thisfile_ac3_raw_bsi['acmod'] < 2) { // if mono or dual mono source
+						$thisfile_ac3_raw_bsi['flags']['paninfo'] = (bool) $this->readHeaderBSI(1);
+						if ($thisfile_ac3_raw_bsi['flags']['paninfo']) {
+							$thisfile_ac3_raw_bsi['panmean']   =        $this->readHeaderBSI(8);
+							$thisfile_ac3_raw_bsi['paninfo']   =        $this->readHeaderBSI(6);
+						}
+						if ($thisfile_ac3_raw_bsi['acmod'] == 0) { // if 1+1 mode (dual mono, so some items need a second value)
+							$thisfile_ac3_raw_bsi['flags']['paninfo2'] = (bool) $this->readHeaderBSI(1);
+							if ($thisfile_ac3_raw_bsi['flags']['paninfo2']) {
+								$thisfile_ac3_raw_bsi['panmean2']   =        $this->readHeaderBSI(8);
+								$thisfile_ac3_raw_bsi['paninfo2']   =        $this->readHeaderBSI(6);
+							}
+						}
+					}
+					$thisfile_ac3_raw_bsi['flags']['frmmixcfginfo'] = (bool) $this->readHeaderBSI(1);
+					if ($thisfile_ac3_raw_bsi['flags']['frmmixcfginfo']) { // mixing configuration information
+						if ($thisfile_ac3_raw_bsi['numblkscod'] == 0) {
+							$thisfile_ac3_raw_bsi['blkmixcfginfo'][0]  =        $this->readHeaderBSI(5);
+						} else {
+							for ($blk = 0; $blk < $thisfile_ac3_raw_bsi['numblkscod']; $blk++) {
+								$thisfile_ac3_raw_bsi['flags']['blkmixcfginfo'.$blk] = (bool) $this->readHeaderBSI(1);
+								if ($thisfile_ac3_raw_bsi['flags']['blkmixcfginfo'.$blk]) { // mixing configuration information
+									$thisfile_ac3_raw_bsi['blkmixcfginfo'][$blk]  =        $this->readHeaderBSI(5);
+								}
+							}
+						}
+					}
+				}
+			}
+			$thisfile_ac3_raw_bsi['flags']['infomdat']          = (bool) $this->readHeaderBSI(1);
+			if ($thisfile_ac3_raw_bsi['flags']['infomdat']) { // Informational metadata
+				$thisfile_ac3_raw_bsi['bsmod']                  =        $this->readHeaderBSI(3);
+				$thisfile_ac3_raw_bsi['flags']['copyrightb']    = (bool) $this->readHeaderBSI(1);
+				$thisfile_ac3_raw_bsi['flags']['origbs']        = (bool) $this->readHeaderBSI(1);
+				if ($thisfile_ac3_raw_bsi['acmod'] == 2) { //  if in 2/0 mode
+					$thisfile_ac3_raw_bsi['dsurmod']            =        $this->readHeaderBSI(2);
+					$thisfile_ac3_raw_bsi['dheadphonmod']       =        $this->readHeaderBSI(2);
+				}
+				if ($thisfile_ac3_raw_bsi['acmod'] >= 6) { //  if both surround channels exist
+					$thisfile_ac3_raw_bsi['dsurexmod']          =        $this->readHeaderBSI(2);
+				}
+				$thisfile_ac3_raw_bsi['flags']['audprodi']      = (bool) $this->readHeaderBSI(1);
+				if ($thisfile_ac3_raw_bsi['flags']['audprodi']) {
+					$thisfile_ac3_raw_bsi['mixlevel']           =        $this->readHeaderBSI(5);
+					$thisfile_ac3_raw_bsi['roomtyp']            =        $this->readHeaderBSI(2);
+					$thisfile_ac3_raw_bsi['flags']['adconvtyp'] = (bool) $this->readHeaderBSI(1);
+				}
+				if ($thisfile_ac3_raw_bsi['acmod'] == 0) { //  if 1+1 mode (dual mono, so some items need a second value)
+					$thisfile_ac3_raw_bsi['flags']['audprodi2']      = (bool) $this->readHeaderBSI(1);
+					if ($thisfile_ac3_raw_bsi['flags']['audprodi2']) {
+						$thisfile_ac3_raw_bsi['mixlevel2']           =        $this->readHeaderBSI(5);
+						$thisfile_ac3_raw_bsi['roomtyp2']            =        $this->readHeaderBSI(2);
+						$thisfile_ac3_raw_bsi['flags']['adconvtyp2'] = (bool) $this->readHeaderBSI(1);
+					}
+				}
+				if ($thisfile_ac3_raw_bsi['fscod'] < 3) { // if not half sample rate
+					$thisfile_ac3_raw_bsi['flags']['sourcefscod'] = (bool) $this->readHeaderBSI(1);
+				}
+			}
+			if (($thisfile_ac3_raw_bsi['strmtyp'] == 0) && ($thisfile_ac3_raw_bsi['numblkscod'] != 3)) { //  if both surround channels exist
+				$thisfile_ac3_raw_bsi['flags']['convsync'] = (bool) $this->readHeaderBSI(1);
+			}
+			if ($thisfile_ac3_raw_bsi['strmtyp'] == 2) { //  if bit stream converted from AC-3
+				if ($thisfile_ac3_raw_bsi['numblkscod'] != 3) { // 6 blocks per syncframe
+					$thisfile_ac3_raw_bsi['flags']['blkid']  = 1;
+				} else {
+					$thisfile_ac3_raw_bsi['flags']['blkid']  = (bool) $this->readHeaderBSI(1);
+				}
+				if ($thisfile_ac3_raw_bsi['flags']['blkid']) {
+					$thisfile_ac3_raw_bsi['frmsizecod']  =        $this->readHeaderBSI(6);
+				}
+			}
+			$thisfile_ac3_raw_bsi['flags']['addbsi']  = (bool) $this->readHeaderBSI(1);
+			if ($thisfile_ac3_raw_bsi['flags']['addbsi']) {
+				$thisfile_ac3_raw_bsi['addbsil']  =        $this->readHeaderBSI(6);
+				$thisfile_ac3_raw_bsi['addbsi']   =        $this->readHeaderBSI(($thisfile_ac3_raw_bsi['addbsil'] + 1) * 8);
+			}
+
+		} else {
+
+			$this->error('Bit stream identification is version '.$thisfile_ac3_raw_bsi['bsid'].', but getID3() only understands up to version 16. Please submit a support ticket with a sample file.');
+		    unset($info['ac3']);
+			return false;
 
-		$thisfile_ac3_raw_bsi['timecode2_flag'] = (bool) $this->readHeaderBSI(1);
-		if ($thisfile_ac3_raw_bsi['timecode2_flag']) {
-			$thisfile_ac3_raw_bsi['timecode2'] = $this->readHeaderBSI(14);
 		}
 
-		$thisfile_ac3_raw_bsi['addbsi_flag'] = (bool) $this->readHeaderBSI(1);
-		if ($thisfile_ac3_raw_bsi['addbsi_flag']) {
-			$thisfile_ac3_raw_bsi['addbsi_length'] = $this->readHeaderBSI(6);
+		if (isset($thisfile_ac3_raw_bsi['fscod2'])) {
+			$thisfile_ac3['sample_rate'] = self::sampleRateCodeLookup2($thisfile_ac3_raw_bsi['fscod2']);
+		} else {
+			$thisfile_ac3['sample_rate'] = self::sampleRateCodeLookup($thisfile_ac3_raw_bsi['fscod']);
+		}
+		if ($thisfile_ac3_raw_bsi['fscod'] <= 3) {
+			$info['audio']['sample_rate'] = $thisfile_ac3['sample_rate'];
+		} else {
+			$this->warning('Unexpected ac3.bsi.fscod value: '.$thisfile_ac3_raw_bsi['fscod']);
+		}
+		if (isset($thisfile_ac3_raw_bsi['frmsizecod'])) {
+			$thisfile_ac3['frame_length'] = self::frameSizeLookup($thisfile_ac3_raw_bsi['frmsizecod'], $thisfile_ac3_raw_bsi['fscod']);
+			$thisfile_ac3['bitrate']      = self::bitrateLookup($thisfile_ac3_raw_bsi['frmsizecod']);
+		} elseif (!empty($thisfile_ac3_raw_bsi['frmsiz'])) {
+// this isn't right, but it's (usually) close, roughly 5% less than it should be.
+// but WHERE is the actual bitrate value stored in EAC3?? email info@getid3.org if you know!
+			$thisfile_ac3['bitrate']      = ($thisfile_ac3_raw_bsi['frmsiz'] + 1) * 16 * 30; // The frmsiz field shall contain a value one less than the overall size of the coded syncframe in 16-bit words. That is, this field may assume a value ranging from 0 to 2047, and these values correspond to syncframe sizes ranging from 1 to 2048.
+// kludge-fix to make it approximately the expected value, still not "right":
+$thisfile_ac3['bitrate'] = round(($thisfile_ac3['bitrate'] * 1.05) / 16000) * 16000;
+		}
+		$info['audio']['bitrate'] = $thisfile_ac3['bitrate'];
 
-			$this->AC3header['bsi'] .= getid3_lib::BigEndian2Bin($this->fread($thisfile_ac3_raw_bsi['addbsi_length']));
+		$thisfile_ac3['service_type'] = self::serviceTypeLookup($thisfile_ac3_raw_bsi['bsmod'], $thisfile_ac3_raw_bsi['acmod']);
+		$ac3_coding_mode = self::audioCodingModeLookup($thisfile_ac3_raw_bsi['acmod']);
+		foreach($ac3_coding_mode as $key => $value) {
+			$thisfile_ac3[$key] = $value;
+		}
+		switch ($thisfile_ac3_raw_bsi['acmod']) {
+			case 0:
+			case 1:
+				$info['audio']['channelmode'] = 'mono';
+				break;
+			case 3:
+			case 4:
+				$info['audio']['channelmode'] = 'stereo';
+				break;
+			default:
+				$info['audio']['channelmode'] = 'surround';
+				break;
+		}
+		$info['audio']['channels'] = $thisfile_ac3['num_channels'];
 
-			$thisfile_ac3_raw_bsi['addbsi_data'] = substr($this->AC3header['bsi'], $this->BSIoffset, $thisfile_ac3_raw_bsi['addbsi_length'] * 8);
-			$this->BSIoffset += $thisfile_ac3_raw_bsi['addbsi_length'] * 8;
+		$thisfile_ac3['lfe_enabled'] = $thisfile_ac3_raw_bsi['flags']['lfeon'];
+		if ($thisfile_ac3_raw_bsi['flags']['lfeon']) {
+			$info['audio']['channels'] .= '.1';
 		}
 
+		$thisfile_ac3['channels_enabled'] = self::channelsEnabledLookup($thisfile_ac3_raw_bsi['acmod'], $thisfile_ac3_raw_bsi['flags']['lfeon']);
+		$thisfile_ac3['dialogue_normalization'] = '-'.$thisfile_ac3_raw_bsi['dialnorm'].'dB';
+
 		return true;
 	}
 
@@ -251,6 +487,16 @@ class getid3_ac3 extends getid3_handler
 		return (isset($sampleRateCodeLookup[$fscod]) ? $sampleRateCodeLookup[$fscod] : false);
 	}
 
+	public static function sampleRateCodeLookup2($fscod2) {
+		static $sampleRateCodeLookup2 = array(
+			0 => 24000,
+			1 => 22050,
+			2 => 16000,
+			3 => 'reserved' // If the reserved code is indicated, the decoder should not attempt to decode audio and should mute.
+		);
+		return (isset($sampleRateCodeLookup2[$fscod2]) ? $sampleRateCodeLookup2[$fscod2] : false);
+	}
+
 	public static function serviceTypeLookup($bsmod, $acmod) {
 		static $serviceTypeLookup = array();
 		if (empty($serviceTypeLookup)) {
@@ -409,31 +655,32 @@ class getid3_ac3 extends getid3_handler
 	}
 
 	public static function frameSizeLookup($frmsizecod, $fscod) {
-		$padding     = (bool) ($frmsizecod % 2);
-		$framesizeid =   floor($frmsizecod / 2);
+		// LSB is whether padding is used or not
+		$padding     = (bool) ($frmsizecod & 0x01);
+		$framesizeid =        ($frmsizecod & 0x3E) >> 1;
 
 		static $frameSizeLookup = array();
 		if (empty($frameSizeLookup)) {
 			$frameSizeLookup = array (
-				0  => array(128, 138, 192),
-				1  => array(40, 160, 174, 240),
-				2  => array(48, 192, 208, 288),
-				3  => array(56, 224, 242, 336),
-				4  => array(64, 256, 278, 384),
-				5  => array(80, 320, 348, 480),
-				6  => array(96, 384, 416, 576),
-				7  => array(112, 448, 486, 672),
-				8  => array(128, 512, 556, 768),
-				9  => array(160, 640, 696, 960),
-				10 => array(192, 768, 834, 1152),
-				11 => array(224, 896, 974, 1344),
-				12 => array(256, 1024, 1114, 1536),
-				13 => array(320, 1280, 1392, 1920),
-				14 => array(384, 1536, 1670, 2304),
-				15 => array(448, 1792, 1950, 2688),
-				16 => array(512, 2048, 2228, 3072),
-				17 => array(576, 2304, 2506, 3456),
-				18 => array(640, 2560, 2786, 3840)
+				0  => array( 128,  138,  192),  //  32 kbps
+				1  => array( 160,  174,  240),  //  40 kbps
+				2  => array( 192,  208,  288),  //  48 kbps
+				3  => array( 224,  242,  336),  //  56 kbps
+				4  => array( 256,  278,  384),  //  64 kbps
+				5  => array( 320,  348,  480),  //  80 kbps
+				6  => array( 384,  416,  576),  //  96 kbps
+				7  => array( 448,  486,  672),  // 112 kbps
+				8  => array( 512,  556,  768),  // 128 kbps
+				9  => array( 640,  696,  960),  // 160 kbps
+				10 => array( 768,  834, 1152),  // 192 kbps
+				11 => array( 896,  974, 1344),  // 224 kbps
+				12 => array(1024, 1114, 1536),  // 256 kbps
+				13 => array(1280, 1392, 1920),  // 320 kbps
+				14 => array(1536, 1670, 2304),  // 384 kbps
+				15 => array(1792, 1950, 2688),  // 448 kbps
+				16 => array(2048, 2228, 3072),  // 512 kbps
+				17 => array(2304, 2506, 3456),  // 576 kbps
+				18 => array(2560, 2786, 3840)   // 640 kbps
 			);
 		}
 		if (($fscod == 1) && $padding) {
@@ -444,19 +691,21 @@ class getid3_ac3 extends getid3_handler
 	}
 
 	public static function bitrateLookup($frmsizecod) {
-		$framesizeid =   floor($frmsizecod / 2);
+		// LSB is whether padding is used or not
+		$padding     = (bool) ($frmsizecod & 0x01);
+		$framesizeid =        ($frmsizecod & 0x3E) >> 1;
 
 		static $bitrateLookup = array(
-			0  => 32000,
-			1  => 40000,
-			2  => 48000,
-			3  => 56000,
-			4  => 64000,
-			5  => 80000,
-			6  => 96000,
-			7  => 112000,
-			8  => 128000,
-			9  => 160000,
+			 0 =>  32000,
+			 1 =>  40000,
+			 2 =>  48000,
+			 3 =>  56000,
+			 4 =>  64000,
+			 5 =>  80000,
+			 6 =>  96000,
+			 7 => 112000,
+			 8 => 128000,
+			 9 => 160000,
 			10 => 192000,
 			11 => 224000,
 			12 => 256000,
@@ -465,10 +714,20 @@ class getid3_ac3 extends getid3_handler
 			15 => 448000,
 			16 => 512000,
 			17 => 576000,
-			18 => 640000
+			18 => 640000,
 		);
 		return (isset($bitrateLookup[$framesizeid]) ? $bitrateLookup[$framesizeid] : false);
 	}
 
+	public static function blocksPerSyncFrame($numblkscod) {
+		static $blocksPerSyncFrameLookup = array(
+			0 => 1,
+			1 => 2,
+			2 => 3,
+			3 => 6,
+		);
+		return (isset($blocksPerSyncFrameLookup[$numblkscod]) ? $blocksPerSyncFrameLookup[$numblkscod] : false);
+	}
+
 
 }
diff --git a/lib/getid3/module.audio.amr.php b/lib/getid3/module.audio.amr.php
index 571061ee..ff505796 100644
--- a/lib/getid3/module.audio.amr.php
+++ b/lib/getid3/module.audio.amr.php
@@ -26,7 +26,7 @@ class getid3_amr extends getid3_handler
 
 		$magic = '#!AMR'."\x0A";
 		if (substr($AMRheader, 0, 6) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($AMRheader, 0, 6)).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($AMRheader, 0, 6)).'"');
 			return false;
 		}
 
@@ -50,7 +50,6 @@ class getid3_amr extends getid3_handler
 			$AMR_frame_header = ord(substr($buffer, 0, 1));
 			$codec_mode_request = ($AMR_frame_header & 0x78) >> 3; // The 2nd bit through 5th bit (counting the most significant bit as the first bit) comprise the CMR (Codec Mode Request), values 0-7 being valid for AMR. The top bit of the CMR can actually be ignored, though it is used when AMR forms RTP payloads. The lower 3-bits of the header are reserved and are not used. Viewing the header from most significant bit to least significant bit, the encoding is XCCCCXXX, where Xs are reserved (typically 0) and the Cs are the CMR.
 			if ($codec_mode_request > 7) {
-				$info['error'][] = '';
 				break;
 			}
 			$thisfile_amr['frame_mode_count'][$codec_mode_request]++;
diff --git a/lib/getid3/module.audio.au.php b/lib/getid3/module.audio.au.php
index 26547962..075ee8c7 100644
--- a/lib/getid3/module.audio.au.php
+++ b/lib/getid3/module.audio.au.php
@@ -26,7 +26,7 @@ class getid3_au extends getid3_handler
 
 		$magic = '.snd';
 		if (substr($AUheader, 0, 4) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" (".snd") at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($AUheader, 0, 4)).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" (".snd") at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($AUheader, 0, 4)).'"');
 			return false;
 		}
 
@@ -61,7 +61,7 @@ class getid3_au extends getid3_handler
 		$info['audio']['channels']     = $thisfile_au['channels'];
 
 		if (($info['avdataoffset'] + $thisfile_au['data_size']) > $info['avdataend']) {
-			$info['warning'][] = 'Possible truncated file - expecting "'.$thisfile_au['data_size'].'" bytes of audio data, only found '.($info['avdataend'] - $info['avdataoffset']).' bytes"';
+			$this->warning('Possible truncated file - expecting "'.$thisfile_au['data_size'].'" bytes of audio data, only found '.($info['avdataend'] - $info['avdataoffset']).' bytes"');
 		}
 
 		$info['playtime_seconds'] = $thisfile_au['data_size'] / ($thisfile_au['sample_rate'] * $thisfile_au['channels'] * ($thisfile_au['used_bits_per_sample'] / 8));
diff --git a/lib/getid3/module.audio.avr.php b/lib/getid3/module.audio.avr.php
index 16c9a20d..98666cf0 100644
--- a/lib/getid3/module.audio.avr.php
+++ b/lib/getid3/module.audio.avr.php
@@ -69,7 +69,7 @@ class getid3_avr extends getid3_handler
 		$info['avr']['raw']['magic'] = substr($AVRheader,  0,  4);
 		$magic = '2BIT';
 		if ($info['avr']['raw']['magic'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['avr']['raw']['magic']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['avr']['raw']['magic']).'"');
 			unset($info['fileformat']);
 			unset($info['avr']);
 			return false;
@@ -106,7 +106,7 @@ class getid3_avr extends getid3_handler
 		}
 
 		if (($info['avdataend'] - $info['avdataoffset']) != ($info['avr']['sample_length'] * (($info['avr']['bits_per_sample'] == 8) ? 1 : 2))) {
-			$info['warning'][] = 'Probable truncated file: expecting '.($info['avr']['sample_length'] * (($info['avr']['bits_per_sample'] == 8) ? 1 : 2)).' bytes of audio data, found '.($info['avdataend'] - $info['avdataoffset']);
+			$this->warning('Probable truncated file: expecting '.($info['avr']['sample_length'] * (($info['avr']['bits_per_sample'] == 8) ? 1 : 2)).' bytes of audio data, found '.($info['avdataend'] - $info['avdataoffset']));
 		}
 
 		$info['audio']['dataformat']      = 'avr';
diff --git a/lib/getid3/module.audio.bonk.php b/lib/getid3/module.audio.bonk.php
index 661421a6..f314a9f5 100644
--- a/lib/getid3/module.audio.bonk.php
+++ b/lib/getid3/module.audio.bonk.php
@@ -29,7 +29,7 @@ class getid3_bonk extends getid3_handler
 
 		if (!getid3_lib::intValueSupported($thisfile_bonk['dataend'])) {
 
-			$info['warning'][] = 'Unable to parse BONK file from end (v0.6+ preferred method) because PHP filesystem functions only support up to '.round(PHP_INT_MAX / 1073741824).'GB';
+			$this->warning('Unable to parse BONK file from end (v0.6+ preferred method) because PHP filesystem functions only support up to '.round(PHP_INT_MAX / 1073741824).'GB');
 
 		} else {
 
@@ -42,7 +42,7 @@ class getid3_bonk extends getid3_handler
 				$BonkTagOffset = $this->ftell();
 				$TagHeaderTest = $this->fread(5);
 				if (($TagHeaderTest{0} != "\x00") || (substr($PossibleBonkTag, 4, 4) != strtolower(substr($PossibleBonkTag, 4, 4)))) {
-					$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes("\x00".strtoupper(substr($PossibleBonkTag, 4, 4))).'" at offset '.$BonkTagOffset.', found "'.getid3_lib::PrintHexBytes($TagHeaderTest).'"';
+					$this->error('Expecting "'.getid3_lib::PrintHexBytes("\x00".strtoupper(substr($PossibleBonkTag, 4, 4))).'" at offset '.$BonkTagOffset.', found "'.getid3_lib::PrintHexBytes($TagHeaderTest).'"');
 					return false;
 				}
 				$BonkTagName = substr($TagHeaderTest, 1, 4);
@@ -207,7 +207,7 @@ class getid3_bonk extends getid3_handler
 				break;
 
 			default:
-				$info['warning'][] = 'Unexpected Bonk tag "'.$BonkTagName.'" at offset '.$info['bonk'][$BonkTagName]['offset'];
+				$this->warning('Unexpected Bonk tag "'.$BonkTagName.'" at offset '.$info['bonk'][$BonkTagName]['offset']);
 				break;
 
 		}
diff --git a/lib/getid3/module.audio.dsf.php b/lib/getid3/module.audio.dsf.php
index cc22c6e5..50be37c3 100644
--- a/lib/getid3/module.audio.dsf.php
+++ b/lib/getid3/module.audio.dsf.php
@@ -35,7 +35,7 @@ class getid3_dsf extends getid3_handler
 		$headeroffset += 4;
 		$magic = 'DSD ';
 		if ($info['dsf']['dsd']['magic'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['dsf']['dsd']['magic']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['dsf']['dsd']['magic']).'"');
 			unset($info['fileformat']);
 			unset($info['audio']);
 			unset($info['dsf']);
@@ -53,14 +53,14 @@ class getid3_dsf extends getid3_handler
 		$headeroffset += 4;
 		$magic = 'fmt ';
 		if ($info['dsf']['fmt']['magic'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$headeroffset.', found "'.getid3_lib::PrintHexBytes($info['dsf']['fmt']['magic']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$headeroffset.', found "'.getid3_lib::PrintHexBytes($info['dsf']['fmt']['magic']).'"');
 			return false;
 		}
 		$info['dsf']['fmt']['fmt_chunk_size']     = getid3_lib::LittleEndian2Int(substr($dsfheader, $headeroffset, 8));  // usually 52 bytes
 		$headeroffset += 8;
 		$dsfheader .= $this->fread($info['dsf']['fmt']['fmt_chunk_size'] - 12 + 12);  // we have already read the entire DSD chunk, plus 12 bytes of FMT. We now want to read the size of FMT, plus 12 bytes into the next chunk to get magic and size.
 		if (strlen($dsfheader) != ($info['dsf']['dsd']['dsd_chunk_size'] + $info['dsf']['fmt']['fmt_chunk_size'] + 12)) {
-			$info['error'][] = 'Expecting '.($info['dsf']['dsd']['dsd_chunk_size'] + $info['dsf']['fmt']['fmt_chunk_size']).' bytes header, found '.strlen($dsfheader).' bytes';
+			$this->error('Expecting '.($info['dsf']['dsd']['dsd_chunk_size'] + $info['dsf']['fmt']['fmt_chunk_size']).' bytes header, found '.strlen($dsfheader).' bytes');
 			return false;
 		}
 		$info['dsf']['fmt']['format_version']     = getid3_lib::LittleEndian2Int(substr($dsfheader, $headeroffset, 4));  // usually "1"
@@ -87,7 +87,7 @@ class getid3_dsf extends getid3_handler
 		$headeroffset += 4;
 		$magic = 'data';
 		if ($info['dsf']['data']['magic'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$headeroffset.', found "'.getid3_lib::PrintHexBytes($info['dsf']['data']['magic']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$headeroffset.', found "'.getid3_lib::PrintHexBytes($info['dsf']['data']['magic']).'"');
 			return false;
 		}
 		$info['dsf']['data']['data_chunk_size']    = getid3_lib::LittleEndian2Int(substr($dsfheader, $headeroffset, 8));
diff --git a/lib/getid3/module.audio.dss.php b/lib/getid3/module.audio.dss.php
index 188b4709..6bd96682 100644
--- a/lib/getid3/module.audio.dss.php
+++ b/lib/getid3/module.audio.dss.php
@@ -25,7 +25,7 @@ class getid3_dss extends getid3_handler
 		$DSSheader  = $this->fread(1540);
 
 		if (!preg_match('#^[\\x02-\\x06]ds[s2]#', $DSSheader)) {
-			$info['error'][] = 'Expecting "[02-06] 64 73 [73|32]" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($DSSheader, 0, 4)).'"';
+			$this->error('Expecting "[02-06] 64 73 [73|32]" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($DSSheader, 0, 4)).'"');
 			return false;
 		}
 
diff --git a/lib/getid3/module.audio.la.php b/lib/getid3/module.audio.la.php
index 181b8427..f46c9aa0 100644
--- a/lib/getid3/module.audio.la.php
+++ b/lib/getid3/module.audio.la.php
@@ -42,13 +42,13 @@ class getid3_la extends getid3_handler
 				$info['la']['uncompressed_size'] = getid3_lib::LittleEndian2Int(substr($rawdata, $offset, 4));
 				$offset += 4;
 				if ($info['la']['uncompressed_size'] == 0) {
-					$info['error'][] = 'Corrupt LA file: uncompressed_size == zero';
+					$this->error('Corrupt LA file: uncompressed_size == zero');
 					return false;
 				}
 
 				$WAVEchunk = substr($rawdata, $offset, 4);
 				if ($WAVEchunk !== 'WAVE') {
-					$info['error'][] = 'Expected "WAVE" ('.getid3_lib::PrintHexBytes('WAVE').') at offset '.$offset.', found "'.$WAVEchunk.'" ('.getid3_lib::PrintHexBytes($WAVEchunk).') instead.';
+					$this->error('Expected "WAVE" ('.getid3_lib::PrintHexBytes('WAVE').') at offset '.$offset.', found "'.$WAVEchunk.'" ('.getid3_lib::PrintHexBytes($WAVEchunk).') instead.');
 					return false;
 				}
 				$offset += 4;
@@ -69,7 +69,7 @@ class getid3_la extends getid3_handler
 
 				$fmt_chunk = substr($rawdata, $offset, 4);
 				if ($fmt_chunk !== 'fmt ') {
-					$info['error'][] = 'Expected "fmt " ('.getid3_lib::PrintHexBytes('fmt ').') at offset '.$offset.', found "'.$fmt_chunk.'" ('.getid3_lib::PrintHexBytes($fmt_chunk).') instead.';
+					$this->error('Expected "fmt " ('.getid3_lib::PrintHexBytes('fmt ').') at offset '.$offset.', found "'.$fmt_chunk.'" ('.getid3_lib::PrintHexBytes($fmt_chunk).') instead.');
 					return false;
 				}
 				$offset += 4;
@@ -82,14 +82,14 @@ class getid3_la extends getid3_handler
 				$info['la']['channels']       = getid3_lib::LittleEndian2Int(substr($rawdata, $offset, 2));
 				$offset += 2;
 				if ($info['la']['channels'] == 0) {
-					$info['error'][] = 'Corrupt LA file: channels == zero';
+					$this->error('Corrupt LA file: channels == zero');
 						return false;
 				}
 
 				$info['la']['sample_rate'] = getid3_lib::LittleEndian2Int(substr($rawdata, $offset, 4));
 				$offset += 4;
 				if ($info['la']['sample_rate'] == 0) {
-					$info['error'][] = 'Corrupt LA file: sample_rate == zero';
+					$this->error('Corrupt LA file: sample_rate == zero');
 						return false;
 				}
 
@@ -146,7 +146,7 @@ class getid3_la extends getid3_handler
 					$offset += 4;
 
 					if ($info['la']['footerstart'] > $info['filesize']) {
-						$info['warning'][] = 'FooterStart value points to offset '.$info['la']['footerstart'].' which is beyond end-of-file ('.$info['filesize'].')';
+						$this->warning('FooterStart value points to offset '.$info['la']['footerstart'].' which is beyond end-of-file ('.$info['filesize'].')');
 						$info['la']['footerstart'] = $info['filesize'];
 					}
 
@@ -182,7 +182,7 @@ class getid3_la extends getid3_handler
 							if (empty($getid3_temp->info['error'])) {
 								$info['riff'] = $getid3_temp->info['riff'];
 							} else {
-								$info['warning'][] = 'Error parsing RIFF portion of La file: '.implode($getid3_temp->info['error']);
+								$this->warning('Error parsing RIFF portion of La file: '.implode($getid3_temp->info['error']));
 							}
 							unset($getid3_temp, $getid3_riff);
 						}
@@ -197,7 +197,7 @@ class getid3_la extends getid3_handler
 				$info['la']['compression_ratio']    = (float) (($info['avdataend'] - $info['avdataoffset']) / $info['la']['uncompressed_size']);
 				$info['playtime_seconds']           = (float) ($info['la']['samples'] / $info['la']['sample_rate']) / $info['la']['channels'];
 				if ($info['playtime_seconds'] == 0) {
-					$info['error'][] = 'Corrupt LA file: playtime_seconds == zero';
+					$this->error('Corrupt LA file: playtime_seconds == zero');
 					return false;
 				}
 
@@ -208,9 +208,9 @@ class getid3_la extends getid3_handler
 
 			default:
 				if (substr($rawdata, $offset, 2) == 'LA') {
-					$info['error'][] = 'This version of getID3() ['.$this->getid3->version().'] does not support LA version '.substr($rawdata, $offset + 2, 1).'.'.substr($rawdata, $offset + 3, 1).' which this appears to be - check http://getid3.sourceforge.net for updates.';
+					$this->error('This version of getID3() ['.$this->getid3->version().'] does not support LA version '.substr($rawdata, $offset + 2, 1).'.'.substr($rawdata, $offset + 3, 1).' which this appears to be - check http://getid3.sourceforge.net for updates.');
 				} else {
-					$info['error'][] = 'Not a LA (Lossless-Audio) file';
+					$this->error('Not a LA (Lossless-Audio) file');
 				}
 				return false;
 				break;
diff --git a/lib/getid3/module.audio.lpac.php b/lib/getid3/module.audio.lpac.php
index 06190b40..447cc2d6 100644
--- a/lib/getid3/module.audio.lpac.php
+++ b/lib/getid3/module.audio.lpac.php
@@ -25,7 +25,7 @@ class getid3_lpac extends getid3_handler
 		$this->fseek($info['avdataoffset']);
 		$LPACheader = $this->fread(14);
 		if (substr($LPACheader, 0, 4) != 'LPAC') {
-			$info['error'][] = 'Expected "LPAC" at offset '.$info['avdataoffset'].', found "'.$StreamMarker.'"';
+			$this->error('Expected "LPAC" at offset '.$info['avdataoffset'].', found "'.$StreamMarker.'"');
 			return false;
 		}
 		$info['avdataoffset'] += 14;
@@ -46,7 +46,7 @@ class getid3_lpac extends getid3_handler
 		$info['lpac']['flags']['16_bit']  = (bool) ($flags['audio_type'] & 0x01);
 
 		if ($info['lpac']['flags']['24_bit'] && $info['lpac']['flags']['16_bit']) {
-			$info['warning'][] = '24-bit and 16-bit flags cannot both be set';
+			$this->warning('24-bit and 16-bit flags cannot both be set');
 		}
 
 		$info['lpac']['flags']['fast_compress']             =  (bool) ($flags['parameters'] & 0x40000000);
@@ -59,20 +59,20 @@ class getid3_lpac extends getid3_handler
 		$info['lpac']['max_prediction_order']               =         ($flags['parameters'] & 0x0000003F);
 
 		if ($info['lpac']['flags']['fast_compress'] && ($info['lpac']['max_prediction_order'] != 3)) {
-			$info['warning'][] = 'max_prediction_order expected to be "3" if fast_compress is true, actual value is "'.$info['lpac']['max_prediction_order'].'"';
+			$this->warning('max_prediction_order expected to be "3" if fast_compress is true, actual value is "'.$info['lpac']['max_prediction_order'].'"');
 		}
 		switch ($info['lpac']['file_version']) {
 			case 6:
 				if ($info['lpac']['flags']['adaptive_quantization']) {
-					$info['warning'][] = 'adaptive_quantization expected to be false in LPAC file stucture v6, actually true';
+					$this->warning('adaptive_quantization expected to be false in LPAC file stucture v6, actually true');
 				}
 				if ($info['lpac']['quantization'] != 20) {
-					$info['warning'][] = 'Quantization expected to be 20 in LPAC file stucture v6, actually '.$info['lpac']['flags']['Q'];
+					$this->warning('Quantization expected to be 20 in LPAC file stucture v6, actually '.$info['lpac']['flags']['Q']);
 				}
 				break;
 
 			default:
-				//$info['warning'][] = 'This version of getID3() ['.$this->getid3->version().'] only supports LPAC file format version 6, this file is version '.$info['lpac']['file_version'].' - please report to info@getid3.org';
+				//$this->warning('This version of getID3() ['.$this->getid3->version().'] only supports LPAC file format version 6, this file is version '.$info['lpac']['file_version'].' - please report to info@getid3.org');
 				break;
 		}
 
diff --git a/lib/getid3/module.audio.midi.php b/lib/getid3/module.audio.midi.php
index 8878bee2..359aca26 100644
--- a/lib/getid3/module.audio.midi.php
+++ b/lib/getid3/module.audio.midi.php
@@ -37,7 +37,7 @@ class getid3_midi extends getid3_handler
 		$offset = 0;
 		$MIDIheaderID = substr($MIDIdata, $offset, 4); // 'MThd'
 		if ($MIDIheaderID != GETID3_MIDI_MAGIC_MTHD) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes(GETID3_MIDI_MAGIC_MTHD).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($MIDIheaderID).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes(GETID3_MIDI_MAGIC_MTHD).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($MIDIheaderID).'"');
 			unset($info['fileformat']);
 			return false;
 		}
@@ -56,8 +56,8 @@ class getid3_midi extends getid3_handler
 				if ($buffer = $this->fread($this->getid3->fread_buffer_size())) {
 					$MIDIdata .= $buffer;
 				} else {
-					$info['warning'][] = 'only processed '.($i - 1).' of '.$thisfile_midi_raw['tracks'].' tracks';
-					$info['error'][] = 'Unabled to read more file data at '.$this->ftell().' (trying to seek to : '.$offset.'), was expecting at least 8 more bytes';
+					$this->warning('only processed '.($i - 1).' of '.$thisfile_midi_raw['tracks'].' tracks');
+					$this->error('Unabled to read more file data at '.$this->ftell().' (trying to seek to : '.$offset.'), was expecting at least 8 more bytes');
 					return false;
 				}
 			}
@@ -70,13 +70,13 @@ class getid3_midi extends getid3_handler
 				$trackdataarray[$i] = substr($MIDIdata, $offset, $tracksize);
 				$offset += $tracksize;
 			} else {
-				$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes(GETID3_MIDI_MAGIC_MTRK).'" at '.($offset - 4).', found "'.getid3_lib::PrintHexBytes($trackID).'" instead';
+				$this->error('Expecting "'.getid3_lib::PrintHexBytes(GETID3_MIDI_MAGIC_MTRK).'" at '.($offset - 4).', found "'.getid3_lib::PrintHexBytes($trackID).'" instead');
 				return false;
 			}
 		}
 
 		if (!isset($trackdataarray) || !is_array($trackdataarray)) {
-			$info['error'][] = 'Cannot find MIDI track information';
+			$this->error('Cannot find MIDI track information');
 			unset($thisfile_midi);
 			unset($info['fileformat']);
 			return false;
@@ -226,7 +226,7 @@ class getid3_midi extends getid3_handler
 							case 0x51: // Tempo: microseconds / quarter note
 								$CurrentMicroSecondsPerBeat = getid3_lib::BigEndian2Int(substr($METAeventData, 0, $METAeventLength));
 								if ($CurrentMicroSecondsPerBeat == 0) {
-									$info['error'][] = 'Corrupt MIDI file: CurrentMicroSecondsPerBeat == zero';
+									$this->error('Corrupt MIDI file: CurrentMicroSecondsPerBeat == zero');
 									return false;
 								}
 								$thisfile_midi_raw['events'][$tracknumber][$CumulativeDeltaTime]['us_qnote'] = $CurrentMicroSecondsPerBeat;
@@ -269,13 +269,13 @@ class getid3_midi extends getid3_handler
 								break;
 
 							default:
-								$info['warning'][] = 'Unhandled META Event Command: '.$METAeventCommand;
+								$this->warning('Unhandled META Event Command: '.$METAeventCommand);
 								break;
 						}
 
 					} else {
 
-						$info['warning'][] = 'Unhandled MIDI Event ID: '.$MIDIevents[$tracknumber][$eventid]['eventid'].' + Channel ID: '.$MIDIevents[$tracknumber][$eventid]['channel'];
+						$this->warning('Unhandled MIDI Event ID: '.$MIDIevents[$tracknumber][$eventid]['eventid'].' + Channel ID: '.$MIDIevents[$tracknumber][$eventid]['channel']);
 
 					}
 				}
@@ -295,7 +295,7 @@ class getid3_midi extends getid3_handler
 				if ($thisfile_midi['totalticks'] > $tickoffset) {
 
 					if ($thisfile_midi_raw['ticksperqnote'] == 0) {
-						$info['error'][] = 'Corrupt MIDI file: ticksperqnote == zero';
+						$this->error('Corrupt MIDI file: ticksperqnote == zero');
 						return false;
 					}
 
@@ -308,7 +308,7 @@ class getid3_midi extends getid3_handler
 			if ($thisfile_midi['totalticks'] > $previoustickoffset) {
 
 				if ($thisfile_midi_raw['ticksperqnote'] == 0) {
-					$info['error'][] = 'Corrupt MIDI file: ticksperqnote == zero';
+					$this->error('Corrupt MIDI file: ticksperqnote == zero');
 					return false;
 				}
 
diff --git a/lib/getid3/module.audio.mod.php b/lib/getid3/module.audio.mod.php
index 1af187c2..4b888ecd 100644
--- a/lib/getid3/module.audio.mod.php
+++ b/lib/getid3/module.audio.mod.php
@@ -31,7 +31,7 @@ class getid3_mod extends getid3_handler
 		} elseif (preg_match('#^.{1080}(M\\.K\\.|M!K!|FLT4|FLT8|[5-9]CHN|[1-3][0-9]CH)#', $fileheader)) {
 			return $this->getMODheaderFilepointer();
 		}
-		$info['error'][] = 'This is not a known type of MOD file';
+		$this->error('This is not a known type of MOD file');
 		return false;
 	}
 
@@ -41,13 +41,13 @@ class getid3_mod extends getid3_handler
 		$this->fseek($info['avdataoffset'] + 1080);
 		$FormatID = $this->fread(4);
 		if (!preg_match('#^(M.K.|[5-9]CHN|[1-3][0-9]CH)$#', $FormatID)) {
-			$info['error'][] = 'This is not a known type of MOD file';
+			$this->error('This is not a known type of MOD file');
 			return false;
 		}
 
 		$info['fileformat'] = 'mod';
 
-		$info['error'][] = 'MOD parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+		$this->error('MOD parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 		return false;
 	}
 
@@ -56,13 +56,13 @@ class getid3_mod extends getid3_handler
 		$this->fseek($info['avdataoffset']);
 		$FormatID = $this->fread(15);
 		if (!preg_match('#^Extended Module$#', $FormatID)) {
-			$info['error'][] = 'This is not a known type of XM-MOD file';
+			$this->error('This is not a known type of XM-MOD file');
 			return false;
 		}
 
 		$info['fileformat'] = 'xm';
 
-		$info['error'][] = 'XM-MOD parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+		$this->error('XM-MOD parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 		return false;
 	}
 
@@ -71,13 +71,13 @@ class getid3_mod extends getid3_handler
 		$this->fseek($info['avdataoffset'] + 44);
 		$FormatID = $this->fread(4);
 		if (!preg_match('#^SCRM$#', $FormatID)) {
-			$info['error'][] = 'This is not a ScreamTracker MOD file';
+			$this->error('This is not a ScreamTracker MOD file');
 			return false;
 		}
 
 		$info['fileformat'] = 's3m';
 
-		$info['error'][] = 'ScreamTracker parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+		$this->error('ScreamTracker parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 		return false;
 	}
 
@@ -86,13 +86,13 @@ class getid3_mod extends getid3_handler
 		$this->fseek($info['avdataoffset']);
 		$FormatID = $this->fread(4);
 		if (!preg_match('#^IMPM$#', $FormatID)) {
-			$info['error'][] = 'This is not an ImpulseTracker MOD file';
+			$this->error('This is not an ImpulseTracker MOD file');
 			return false;
 		}
 
 		$info['fileformat'] = 'it';
 
-		$info['error'][] = 'ImpulseTracker parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+		$this->error('ImpulseTracker parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 		return false;
 	}
 
diff --git a/lib/getid3/module.audio.monkey.php b/lib/getid3/module.audio.monkey.php
index e989c51d..afa2eaf2 100644
--- a/lib/getid3/module.audio.monkey.php
+++ b/lib/getid3/module.audio.monkey.php
@@ -39,7 +39,7 @@ class getid3_monkey extends getid3_handler
 		$thisfile_monkeysaudio_raw['magic'] = substr($MACheaderData, 0, 4);
 		$magic = 'MAC ';
 		if ($thisfile_monkeysaudio_raw['magic'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($thisfile_monkeysaudio_raw['magic']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($thisfile_monkeysaudio_raw['magic']).'"');
 			unset($info['fileformat']);
 			return false;
 		}
@@ -112,7 +112,7 @@ class getid3_monkey extends getid3_handler
 		$info['audio']['channels']               = $thisfile_monkeysaudio['channels'];
 		$thisfile_monkeysaudio['sample_rate']            = $thisfile_monkeysaudio_raw['nSampleRate'];
 		if ($thisfile_monkeysaudio['sample_rate'] == 0) {
-			$info['error'][] = 'Corrupt MAC file: frequency == zero';
+			$this->error('Corrupt MAC file: frequency == zero');
 			return false;
 		}
 		$info['audio']['sample_rate']            = $thisfile_monkeysaudio['sample_rate'];
@@ -127,14 +127,14 @@ class getid3_monkey extends getid3_handler
 		}
 		$thisfile_monkeysaudio['playtime']               = $thisfile_monkeysaudio['samples'] / $thisfile_monkeysaudio['sample_rate'];
 		if ($thisfile_monkeysaudio['playtime'] == 0) {
-			$info['error'][] = 'Corrupt MAC file: playtime == zero';
+			$this->error('Corrupt MAC file: playtime == zero');
 			return false;
 		}
 		$info['playtime_seconds']                = $thisfile_monkeysaudio['playtime'];
 		$thisfile_monkeysaudio['compressed_size']        = $info['avdataend'] - $info['avdataoffset'];
 		$thisfile_monkeysaudio['uncompressed_size']      = $thisfile_monkeysaudio['samples'] * $thisfile_monkeysaudio['channels'] * ($thisfile_monkeysaudio['bits_per_sample'] / 8);
 		if ($thisfile_monkeysaudio['uncompressed_size'] == 0) {
-			$info['error'][] = 'Corrupt MAC file: uncompressed_size == zero';
+			$this->error('Corrupt MAC file: uncompressed_size == zero');
 			return false;
 		}
 		$thisfile_monkeysaudio['compression_ratio']      = $thisfile_monkeysaudio['compressed_size'] / ($thisfile_monkeysaudio['uncompressed_size'] + $thisfile_monkeysaudio_raw['nHeaderDataBytes']);
@@ -155,7 +155,7 @@ class getid3_monkey extends getid3_handler
 
 		if ($thisfile_monkeysaudio_raw['nVersion'] >= 3980) {
 			if ($thisfile_monkeysaudio_raw['cFileMD5'] === str_repeat("\x00", 16)) {
-				//$info['warning'][] = 'cFileMD5 is null';
+				//$this->warning('cFileMD5 is null');
 			} else {
 				$info['md5_data_source'] = '';
 				$md5 = $thisfile_monkeysaudio_raw['cFileMD5'];
diff --git a/lib/getid3/module.audio.mp3.php b/lib/getid3/module.audio.mp3.php
index cba36193..ca3ec545 100644
--- a/lib/getid3/module.audio.mp3.php
+++ b/lib/getid3/module.audio.mp3.php
@@ -34,7 +34,7 @@ class getid3_mp3 extends getid3_handler
 
 		if (!$this->getOnlyMPEGaudioInfo($info['avdataoffset'])) {
 			if ($this->allow_bruteforce) {
-				$info['error'][] = 'Rescanning file in BruteForce mode';
+				$this->error('Rescanning file in BruteForce mode');
 				$this->getOnlyMPEGaudioInfoBruteForce($this->getid3->fp, $info);
 			}
 		}
@@ -72,7 +72,7 @@ class getid3_mp3 extends getid3_handler
 				}
 
 			}
-			$info['warning'][] = $synchoffsetwarning;
+			$this->warning($synchoffsetwarning);
 
 		}
 
@@ -134,7 +134,7 @@ class getid3_mp3 extends getid3_handler
 					break;
 
 				default:
-					$info['warning'][] = 'Expecting [audio][dataformat] to be mp1/mp2/mp3 when fileformat == mp3, [audio][dataformat] actually "'.$info['audio']['dataformat'].'"';
+					$this->warning('Expecting [audio][dataformat] to be mp1/mp2/mp3 when fileformat == mp3, [audio][dataformat] actually "'.$info['audio']['dataformat'].'"');
 					break;
 			}
 		}
@@ -424,7 +424,7 @@ class getid3_mp3 extends getid3_handler
 		}
 
 		if ($this->fseek($offset) != 0) {
-			$info['error'][] = 'decodeMPEGaudioHeader() failed to seek to next offset at '.$offset;
+			$this->error('decodeMPEGaudioHeader() failed to seek to next offset at '.$offset);
 			return false;
 		}
 		//$headerstring = $this->fread(1441); // worst-case max length = 32kHz @ 320kbps layer 3 = 1441 bytes/frame
@@ -461,7 +461,7 @@ class getid3_mp3 extends getid3_handler
 		if ($MPEGaudioHeaderValidCache[$head4]) {
 			$thisfile_mpeg_audio['raw'] = $MPEGheaderRawArray;
 		} else {
-			$info['error'][] = 'Invalid MPEG audio header ('.getid3_lib::PrintHexBytes($head4).') at offset '.$offset;
+			$this->error('Invalid MPEG audio header ('.getid3_lib::PrintHexBytes($head4).') at offset '.$offset);
 			return false;
 		}
 
@@ -489,7 +489,7 @@ class getid3_mp3 extends getid3_handler
 
 		if ($thisfile_mpeg_audio['raw']['bitrate'] == 15) {
 			// http://www.hydrogenaudio.org/?act=ST&f=16&t=9682&st=0
-			$info['warning'][] = 'Invalid bitrate index (15), this is a known bug in free-format MP3s encoded by LAME v3.90 - 3.93.1';
+			$this->warning('Invalid bitrate index (15), this is a known bug in free-format MP3s encoded by LAME v3.90 - 3.93.1');
 			$thisfile_mpeg_audio['raw']['bitrate'] = 0;
 		}
 		$thisfile_mpeg_audio['padding'] = (bool) $thisfile_mpeg_audio['raw']['padding'];
@@ -511,7 +511,7 @@ class getid3_mp3 extends getid3_handler
 					if (($thisfile_mpeg_audio['bitrate'] == 'free') || ($thisfile_mpeg_audio['bitrate'] <= 192000)) {
 						// these are ok
 					} else {
-						$info['error'][] = $thisfile_mpeg_audio['bitrate'].'kbps not allowed in Layer 2, '.$thisfile_mpeg_audio['channelmode'].'.';
+						$this->error($thisfile_mpeg_audio['bitrate'].'kbps not allowed in Layer 2, '.$thisfile_mpeg_audio['channelmode'].'.');
 						return false;
 					}
 					break;
@@ -522,7 +522,7 @@ class getid3_mp3 extends getid3_handler
 					if (($thisfile_mpeg_audio['bitrate'] == 'free') || ($thisfile_mpeg_audio['bitrate'] == 64000) || ($thisfile_mpeg_audio['bitrate'] >= 96000)) {
 						// these are ok
 					} else {
-						$info['error'][] = intval(round($thisfile_mpeg_audio['bitrate'] / 1000)).'kbps not allowed in Layer 2, '.$thisfile_mpeg_audio['channelmode'].'.';
+						$this->error(intval(round($thisfile_mpeg_audio['bitrate'] / 1000)).'kbps not allowed in Layer 2, '.$thisfile_mpeg_audio['channelmode'].'.');
 						return false;
 					}
 					break;
@@ -544,7 +544,7 @@ class getid3_mp3 extends getid3_handler
 			if (isset($thisfile_mpeg_audio['framelength'])) {
 				$nextframetestoffset = $offset + $thisfile_mpeg_audio['framelength'];
 			} else {
-				$info['error'][] = 'Frame at offset('.$offset.') is has an invalid frame length.';
+				$this->error('Frame at offset('.$offset.') is has an invalid frame length.');
 				return false;
 			}
 
@@ -657,7 +657,7 @@ class getid3_mp3 extends getid3_handler
 						$used_filesize -= intval(@$info['id3v2']['headerlength']);
 						$used_filesize -= (isset($info['id3v1']) ? 128 : 0);
 						$used_filesize -= (isset($info['tag_offset_end']) ? $info['tag_offset_end'] - $info['tag_offset_start'] : 0);
-						$info['warning'][] = 'MP3.Xing header missing VBR_bytes, assuming MPEG audio portion of file is '.number_format($used_filesize).' bytes';
+						$this->warning('MP3.Xing header missing VBR_bytes, assuming MPEG audio portion of file is '.number_format($used_filesize).' bytes');
 					}
 
 					$framelengthfloat = $used_filesize / $thisfile_mpeg_audio['VBR_frames'];
@@ -847,7 +847,7 @@ class getid3_mp3 extends getid3_handler
 						$thisfile_mpeg_audio_lame['preset_used_id']    = ($PresetSurroundBytes & 0x07FF);
 						$thisfile_mpeg_audio_lame['preset_used']       = self::LAMEpresetUsedLookup($thisfile_mpeg_audio_lame);
 						if (!empty($thisfile_mpeg_audio_lame['preset_used_id']) && empty($thisfile_mpeg_audio_lame['preset_used'])) {
-							$info['warning'][] = 'Unknown LAME preset used ('.$thisfile_mpeg_audio_lame['preset_used_id'].') - please report to info@getid3.org';
+							$this->warning('Unknown LAME preset used ('.$thisfile_mpeg_audio_lame['preset_used_id'].') - please report to info@getid3.org');
 						}
 						if (($thisfile_mpeg_audio_lame['short_version'] == 'LAME3.90.') && !empty($thisfile_mpeg_audio_lame['preset_used_id'])) {
 							// this may change if 3.90.4 ever comes out
@@ -891,7 +891,7 @@ class getid3_mp3 extends getid3_handler
 						$thisfile_mpeg_audio['bitrate_mode'] = 'cbr';
 					}
 					if ($thisfile_mpeg_audio['bitrate_mode'] == 'vbr') {
-						$info['warning'][] = 'VBR file with no VBR header. Bitrate values calculated from actual frame bitrates.';
+						$this->warning('VBR file with no VBR header. Bitrate values calculated from actual frame bitrates.');
 					}
 				}
 
@@ -918,12 +918,12 @@ class getid3_mp3 extends getid3_handler
 				//	$this->fseek($prenullbytefileoffset);
 				//	if ($PossibleNullByte === "\x00") {
 						$info['avdataend']--;
-				//		$info['warning'][] = 'Extra null byte at end of MP3 data assumed to be RIFF padding and therefore ignored';
+				//		$this->warning('Extra null byte at end of MP3 data assumed to be RIFF padding and therefore ignored');
 				//	} else {
-				//		$info['warning'][] = 'Too much data in file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, found '.($info['avdataend'] - $info['avdataoffset']).' ('.(($info['avdataend'] - $info['avdataoffset']) - $ExpectedNumberOfAudioBytes).' bytes too many)';
+				//		$this->warning('Too much data in file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, found '.($info['avdataend'] - $info['avdataoffset']).' ('.(($info['avdataend'] - $info['avdataoffset']) - $ExpectedNumberOfAudioBytes).' bytes too many)');
 				//	}
 				} else {
-					$info['warning'][] = 'Too much data in file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, found '.($info['avdataend'] - $info['avdataoffset']).' ('.(($info['avdataend'] - $info['avdataoffset']) - $ExpectedNumberOfAudioBytes).' bytes too many)';
+					$this->warning('Too much data in file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, found '.($info['avdataend'] - $info['avdataoffset']).' ('.(($info['avdataend'] - $info['avdataoffset']) - $ExpectedNumberOfAudioBytes).' bytes too many)');
 				}
 			}
 		}
@@ -941,7 +941,7 @@ class getid3_mp3 extends getid3_handler
 						$info['audio']['bitrate'] = (($framebytelength - intval($thisfile_mpeg_audio['padding'])) * $thisfile_mpeg_audio['sample_rate']) / 144;
 					}
 				} else {
-					$info['error'][] = 'Error calculating frame length of free-format MP3 without Xing/LAME header';
+					$this->error('Error calculating frame length of free-format MP3 without Xing/LAME header');
 				}
 			}
 		}
@@ -1084,7 +1084,7 @@ class getid3_mp3 extends getid3_handler
 
 	public function RecursiveFrameScanning(&$offset, &$nextframetestoffset, $ScanAsCBR) {
 		$info = &$this->getid3->info;
-		$firstframetestarray = array('error'=>'', 'warning'=>'', 'avdataend'=>$info['avdataend'], 'avdataoffset'=>$info['avdataoffset']);
+		$firstframetestarray = array('error' => array(), 'warning'=> array(), 'avdataend' => $info['avdataend'], 'avdataoffset' => $info['avdataoffset']);
 		$this->decodeMPEGaudioHeader($offset, $firstframetestarray, false);
 
 		for ($i = 0; $i < GETID3_MP3_VALID_CHECK_FRAMES; $i++) {
@@ -1094,7 +1094,7 @@ class getid3_mp3 extends getid3_handler
 				return true;
 			}
 
-			$nextframetestarray = array('error'=>'', 'warning'=>'', 'avdataend'=>$info['avdataend'], 'avdataoffset'=>$info['avdataoffset']);
+			$nextframetestarray = array('error' => array(), 'warning' => array(), 'avdataend' => $info['avdataend'], 'avdataoffset'=>$info['avdataoffset']);
 			if ($this->decodeMPEGaudioHeader($nextframetestoffset, $nextframetestarray, false)) {
 				if ($ScanAsCBR) {
 					// force CBR mode, used for trying to pick out invalid audio streams with valid(?) VBR headers, or VBR streams with no VBR header
@@ -1108,7 +1108,7 @@ class getid3_mp3 extends getid3_handler
 				if (isset($nextframetestarray['mpeg']['audio']['framelength']) && ($nextframetestarray['mpeg']['audio']['framelength'] > 0)) {
 					$nextframetestoffset += $nextframetestarray['mpeg']['audio']['framelength'];
 				} else {
-					$info['error'][] = 'Frame at offset ('.$offset.') is has an invalid frame length.';
+					$this->error('Frame at offset ('.$offset.') is has an invalid frame length.');
 					return false;
 				}
 
@@ -1120,7 +1120,7 @@ class getid3_mp3 extends getid3_handler
 			} else {
 
 				// next frame is not valid, note the error and fail, so scanning can contiue for a valid frame sequence
-				$info['warning'][] = 'Frame at offset ('.$offset.') is valid, but the next one at ('.$nextframetestoffset.') is not.';
+				$this->warning('Frame at offset ('.$offset.') is valid, but the next one at ('.$nextframetestoffset.') is not.');
 
 				return false;
 			}
@@ -1163,10 +1163,10 @@ class getid3_mp3 extends getid3_handler
 				$framelength = $framelength2;
 			}
 			if (!$framelength) {
-				$info['error'][] = 'Cannot find next free-format synch pattern ('.getid3_lib::PrintHexBytes($SyncPattern1).' or '.getid3_lib::PrintHexBytes($SyncPattern2).') after offset '.$offset;
+				$this->error('Cannot find next free-format synch pattern ('.getid3_lib::PrintHexBytes($SyncPattern1).' or '.getid3_lib::PrintHexBytes($SyncPattern2).') after offset '.$offset);
 				return false;
 			} else {
-				$info['warning'][] = 'ModeExtension varies between first frame and other frames (known free-format issue in LAME 3.88)';
+				$this->warning('ModeExtension varies between first frame and other frames (known free-format issue in LAME 3.88)');
 				$info['audio']['codec']   = 'LAME';
 				$info['audio']['encoder'] = 'LAME3.88';
 				$SyncPattern1 = substr($SyncPattern1, 0, 3);
@@ -1193,7 +1193,7 @@ class getid3_mp3 extends getid3_handler
 					$ActualFrameLengthValues[] = ($framelength + 1);
 					$nextoffset++;
 				} else {
-					$info['error'][] = 'Did not find expected free-format sync pattern at offset '.$nextoffset;
+					$this->error('Did not find expected free-format sync pattern at offset '.$nextoffset);
 					return false;
 				}
 				$nextoffset += $framelength;
@@ -1291,7 +1291,7 @@ class getid3_mp3 extends getid3_handler
 							getid3_lib::safe_inc($Distribution['frequency'][$LongMPEGfrequencyLookup[$head4]]);
 							if ($max_frames_scan && (++$frames_scanned >= $max_frames_scan)) {
 								$pct_data_scanned = ($this->ftell() - $info['avdataoffset']) / ($info['avdataend'] - $info['avdataoffset']);
-								$info['warning'][] = 'too many MPEG audio frames to scan, only scanned first '.$max_frames_scan.' frames ('.number_format($pct_data_scanned * 100, 1).'% of file) and extrapolated distribution, playtime and bitrate may be incorrect.';
+								$this->warning('too many MPEG audio frames to scan, only scanned first '.$max_frames_scan.' frames ('.number_format($pct_data_scanned * 100, 1).'% of file) and extrapolated distribution, playtime and bitrate may be incorrect.');
 								foreach ($Distribution as $key1 => $value1) {
 									foreach ($value1 as $key2 => $value2) {
 										$Distribution[$key1][$key2] = round($value2 / $pct_data_scanned);
@@ -1318,13 +1318,13 @@ class getid3_mp3 extends getid3_handler
 		$info['mpeg']['audio']['version_distribution']   = $Distribution['version'];
 		$info['mpeg']['audio']['padding_distribution']   = $Distribution['padding'];
 		if (count($Distribution['version']) > 1) {
-			$info['error'][] = 'Corrupt file - more than one MPEG version detected';
+			$this->error('Corrupt file - more than one MPEG version detected');
 		}
 		if (count($Distribution['layer']) > 1) {
-			$info['error'][] = 'Corrupt file - more than one MPEG layer detected';
+			$this->error('Corrupt file - more than one MPEG layer detected');
 		}
 		if (count($Distribution['frequency']) > 1) {
-			$info['error'][] = 'Corrupt file - more than one MPEG sample rate detected';
+			$this->error('Corrupt file - more than one MPEG sample rate detected');
 		}
 
 
@@ -1336,7 +1336,7 @@ class getid3_mp3 extends getid3_handler
 		}
 		$info['mpeg']['audio']['frame_count']  = array_sum($Distribution['bitrate']);
 		if ($info['mpeg']['audio']['frame_count'] == 0) {
-			$info['error'][] = 'no MPEG audio frames found';
+			$this->error('no MPEG audio frames found');
 			return false;
 		}
 		$info['mpeg']['audio']['bitrate']      = ($bittotal / $info['mpeg']['audio']['frame_count']);
@@ -1371,7 +1371,7 @@ class getid3_mp3 extends getid3_handler
 		$this->fseek($avdataoffset);
 		$sync_seek_buffer_size = min(128 * 1024, $info['avdataend'] - $avdataoffset);
 		if ($sync_seek_buffer_size <= 0) {
-			$info['error'][] = 'Invalid $sync_seek_buffer_size at offset '.$avdataoffset;
+			$this->error('Invalid $sync_seek_buffer_size at offset '.$avdataoffset);
 			return false;
 		}
 		$header = $this->fread($sync_seek_buffer_size);
@@ -1382,7 +1382,7 @@ class getid3_mp3 extends getid3_handler
 
 				if ($SynchSeekOffset > $sync_seek_buffer_size) {
 					// if a synch's not found within the first 128k bytes, then give up
-					$info['error'][] = 'Could not find valid MPEG audio synch within the first '.round($sync_seek_buffer_size / 1024).'kB';
+					$this->error('Could not find valid MPEG audio synch within the first '.round($sync_seek_buffer_size / 1024).'kB');
 					if (isset($info['audio']['bitrate'])) {
 						unset($info['audio']['bitrate']);
 					}
@@ -1396,7 +1396,7 @@ class getid3_mp3 extends getid3_handler
 
 				} elseif (feof($this->getid3->fp)) {
 
-					$info['error'][] = 'Could not find valid MPEG audio synch before end of file';
+					$this->error('Could not find valid MPEG audio synch before end of file');
 					if (isset($info['audio']['bitrate'])) {
 						unset($info['audio']['bitrate']);
 					}
@@ -1411,7 +1411,7 @@ class getid3_mp3 extends getid3_handler
 			}
 
 			if (($SynchSeekOffset + 1) >= strlen($header)) {
-				$info['error'][] = 'Could not find valid MPEG synch before end of file';
+				$this->error('Could not find valid MPEG synch before end of file');
 				return false;
 			}
 
@@ -1454,9 +1454,9 @@ class getid3_mp3 extends getid3_handler
 							if ($this->decodeMPEGaudioHeader($GarbageOffsetEnd, $dummy, true, true)) {
 								$info = $dummy;
 								$info['avdataoffset'] = $GarbageOffsetEnd;
-								$info['warning'][] = 'apparently-valid VBR header not used because could not find '.GETID3_MP3_VALID_CHECK_FRAMES.' consecutive MPEG-audio frames immediately after VBR header (garbage data for '.($GarbageOffsetEnd - $GarbageOffsetStart).' bytes between '.$GarbageOffsetStart.' and '.$GarbageOffsetEnd.'), but did find valid CBR stream starting at '.$GarbageOffsetEnd;
+								$this->warning('apparently-valid VBR header not used because could not find '.GETID3_MP3_VALID_CHECK_FRAMES.' consecutive MPEG-audio frames immediately after VBR header (garbage data for '.($GarbageOffsetEnd - $GarbageOffsetStart).' bytes between '.$GarbageOffsetStart.' and '.$GarbageOffsetEnd.'), but did find valid CBR stream starting at '.$GarbageOffsetEnd);
 							} else {
-								$info['warning'][] = 'using data from VBR header even though could not find '.GETID3_MP3_VALID_CHECK_FRAMES.' consecutive MPEG-audio frames immediately after VBR header (garbage data for '.($GarbageOffsetEnd - $GarbageOffsetStart).' bytes between '.$GarbageOffsetStart.' and '.$GarbageOffsetEnd.')';
+								$this->warning('using data from VBR header even though could not find '.GETID3_MP3_VALID_CHECK_FRAMES.' consecutive MPEG-audio frames immediately after VBR header (garbage data for '.($GarbageOffsetEnd - $GarbageOffsetStart).' bytes between '.$GarbageOffsetStart.' and '.$GarbageOffsetEnd.')');
 							}
 						}
 					}
@@ -1549,7 +1549,7 @@ class getid3_mp3 extends getid3_handler
 							}
 						}
 						if ($pct_data_scanned > 0) {
-							$info['warning'][] = 'too many MPEG audio frames to scan, only scanned '.$frames_scanned.' frames in '.$max_scan_segments.' segments ('.number_format($pct_data_scanned * 100, 1).'% of file) and extrapolated distribution, playtime and bitrate may be incorrect.';
+							$this->warning('too many MPEG audio frames to scan, only scanned '.$frames_scanned.' frames in '.$max_scan_segments.' segments ('.number_format($pct_data_scanned * 100, 1).'% of file) and extrapolated distribution, playtime and bitrate may be incorrect.');
 							foreach ($info['mpeg']['audio'] as $key1 => $value1) {
 								if (!preg_match('#_distribution$#i', $key1)) {
 									continue;
@@ -1561,7 +1561,7 @@ class getid3_mp3 extends getid3_handler
 						}
 
 						if ($SynchErrorsFound > 0) {
-							$info['warning'][] = 'Found '.$SynchErrorsFound.' synch errors in histogram analysis';
+							$this->warning('Found '.$SynchErrorsFound.' synch errors in histogram analysis');
 							//return false;
 						}
 
@@ -1574,7 +1574,7 @@ class getid3_mp3 extends getid3_handler
 							}
 						}
 						if ($framecounter == 0) {
-							$info['error'][] = 'Corrupt MP3 file: framecounter == zero';
+							$this->error('Corrupt MP3 file: framecounter == zero');
 							return false;
 						}
 						$info['mpeg']['audio']['frame_count'] = getid3_lib::CastAsInt($framecounter);
@@ -1609,7 +1609,7 @@ class getid3_mp3 extends getid3_handler
 
 				if (empty($info['mpeg']['audio'])) {
 
-					$info['error'][] = 'could not find valid MPEG synch before end of file';
+					$this->error('could not find valid MPEG synch before end of file');
 					if (isset($info['audio']['bitrate'])) {
 						unset($info['audio']['bitrate']);
 					}
diff --git a/lib/getid3/module.audio.mpc.php b/lib/getid3/module.audio.mpc.php
index f3905de2..14e829d9 100644
--- a/lib/getid3/module.audio.mpc.php
+++ b/lib/getid3/module.audio.mpc.php
@@ -50,7 +50,7 @@ class getid3_mpc extends getid3_handler
 
 		} else {
 
-			$info['error'][] = 'Expecting "MP+" or "MPCK" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($MPCheaderData, 0, 4)).'"';
+			$this->error('Expecting "MP+" or "MPCK" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($MPCheaderData, 0, 4)).'"');
 			unset($info['fileformat']);
 			unset($info['mpc']);
 			return false;
@@ -83,13 +83,13 @@ class getid3_mpc extends getid3_handler
 			$thisPacket['key']      = substr($MPCheaderData, 0, $keyNameSize);
 			$thisPacket['key_name'] = $this->MPCsv8PacketName($thisPacket['key']);
 			if ($thisPacket['key'] == $thisPacket['key_name']) {
-				$info['error'][] = 'Found unexpected key value "'.$thisPacket['key'].'" at offset '.$thisPacket['offset'];
+				$this->error('Found unexpected key value "'.$thisPacket['key'].'" at offset '.$thisPacket['offset']);
 				return false;
 			}
 			$packetLength = 0;
 			$thisPacket['packet_size'] = $this->SV8variableLengthInteger(substr($MPCheaderData, $keyNameSize), $packetLength); // includes keyname and packet_size field
 			if ($thisPacket['packet_size'] === false) {
-				$info['error'][] = 'Did not find expected packet length within '.$maxHandledPacketLength.' bytes at offset '.($thisPacket['offset'] + $keyNameSize);
+				$this->error('Did not find expected packet length within '.$maxHandledPacketLength.' bytes at offset '.($thisPacket['offset'] + $keyNameSize));
 				return false;
 			}
 			$packet_offset += $packetLength;
@@ -195,7 +195,7 @@ class getid3_mpc extends getid3_handler
 					break;
 
 				default:
-					$info['error'][] = 'Found unhandled key type "'.$thisPacket['key'].'" at offset '.$thisPacket['offset'];
+					$this->error('Found unhandled key type "'.$thisPacket['key'].'" at offset '.$thisPacket['offset']);
 					return false;
 					break;
 			}
@@ -229,7 +229,7 @@ class getid3_mpc extends getid3_handler
 		$offset += 4;
 
 		if ($thisfile_mpc_header['stream_version_major'] != 7) {
-			$info['error'][] = 'Only Musepack SV7 supported (this file claims to be v'.$thisfile_mpc_header['stream_version_major'].')';
+			$this->error('Only Musepack SV7 supported (this file claims to be v'.$thisfile_mpc_header['stream_version_major'].')');
 			return false;
 		}
 
@@ -268,7 +268,7 @@ class getid3_mpc extends getid3_handler
 		$thisfile_mpc_header['profile']     = $this->MPCprofileNameLookup($thisfile_mpc_header['raw']['profile']);
 		$thisfile_mpc_header['sample_rate'] = $this->MPCfrequencyLookup($thisfile_mpc_header['raw']['sample_rate']);
 		if ($thisfile_mpc_header['sample_rate'] == 0) {
-			$info['error'][] = 'Corrupt MPC file: frequency == zero';
+			$this->error('Corrupt MPC file: frequency == zero');
 			return false;
 		}
 		$info['audio']['sample_rate'] = $thisfile_mpc_header['sample_rate'];
@@ -276,7 +276,7 @@ class getid3_mpc extends getid3_handler
 
 		$info['playtime_seconds']     = ($thisfile_mpc_header['samples'] / $info['audio']['channels']) / $info['audio']['sample_rate'];
 		if ($info['playtime_seconds'] == 0) {
-			$info['error'][] = 'Corrupt MPC file: playtime_seconds == zero';
+			$this->error('Corrupt MPC file: playtime_seconds == zero');
 			return false;
 		}
 
@@ -377,7 +377,7 @@ class getid3_mpc extends getid3_handler
 		}
 
 		if (($thisfile_mpc_header['stream_version_major'] > 4) && ($thisfile_mpc_header['block_size'] != 1)) {
-			$info['warning'][] = 'Block size expected to be 1, actual value found: '.$thisfile_mpc_header['block_size'];
+			$this->warning('Block size expected to be 1, actual value found: '.$thisfile_mpc_header['block_size']);
 		}
 
 		$thisfile_mpc_header['sample_rate']   = 44100; // AB: used by all files up to SV7
diff --git a/lib/getid3/module.audio.ogg.php b/lib/getid3/module.audio.ogg.php
index 3ebf8faa..e41c96c4 100644
--- a/lib/getid3/module.audio.ogg.php
+++ b/lib/getid3/module.audio.ogg.php
@@ -26,13 +26,13 @@ class getid3_ogg extends getid3_handler
 
 		// Warn about illegal tags - only vorbiscomments are allowed
 		if (isset($info['id3v2'])) {
-			$info['warning'][] = 'Illegal ID3v2 tag present.';
+			$this->warning('Illegal ID3v2 tag present.');
 		}
 		if (isset($info['id3v1'])) {
-			$info['warning'][] = 'Illegal ID3v1 tag present.';
+			$this->warning('Illegal ID3v1 tag present.');
 		}
 		if (isset($info['ape'])) {
-			$info['warning'][] = 'Illegal APE tag present.';
+			$this->warning('Illegal APE tag present.');
 		}
 
 
@@ -44,7 +44,7 @@ class getid3_ogg extends getid3_handler
 		$info['ogg']['pageheader'][$oggpageinfo['page_seqno']] = $oggpageinfo;
 
 		if ($this->ftell() >= $this->getid3->fread_buffer_size()) {
-			$info['error'][] = 'Could not find start of Ogg page in the first '.$this->getid3->fread_buffer_size().' bytes (this might not be an Ogg-Vorbis file?)';
+			$this->error('Could not find start of Ogg page in the first '.$this->getid3->fread_buffer_size().' bytes (this might not be an Ogg-Vorbis file?)');
 			unset($info['fileformat']);
 			unset($info['ogg']);
 			return false;
@@ -179,7 +179,7 @@ class getid3_ogg extends getid3_handler
 			if ($info['ogg']['pageheader']['theora']['pixel_aspect_denominator'] > 0) {
 				$info['video']['pixel_aspect_ratio'] = (float) $info['ogg']['pageheader']['theora']['pixel_aspect_numerator'] / $info['ogg']['pageheader']['theora']['pixel_aspect_denominator'];
 			}
-$info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of getID3 ['.$this->getid3->version().'] -- bitrate, playtime and all audio data are currently unavailable';
+$this->warning('Ogg Theora (v3) not fully supported in this version of getID3 ['.$this->getid3->version().'] -- bitrate, playtime and all audio data are currently unavailable');
 
 
 		} elseif (substr($filedata, 0, 8) == "fishead\x00") {
@@ -240,7 +240,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 				} elseif (substr($filedata, 1, 6) == 'theora') {
 
 					$info['video']['dataformat'] = 'theora1';
-					$info['error'][] = 'Ogg Theora (v1) not correctly handled in this version of getID3 ['.$this->getid3->version().']';
+					$this->error('Ogg Theora (v1) not correctly handled in this version of getID3 ['.$this->getid3->version().']');
 					//break;
 
 				} elseif (substr($filedata, 1, 6) == 'vorbis') {
@@ -248,7 +248,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 					$this->ParseVorbisPageHeader($filedata, $filedataoffset, $oggpageinfo);
 
 				} else {
-					$info['error'][] = 'unexpected';
+					$this->error('unexpected');
 					//break;
 				}
 			//} while ($oggpageinfo['page_seqno'] == 0);
@@ -256,12 +256,12 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 
 			$this->fseek($oggpageinfo['page_start_offset']);
 
-			$info['error'][] = 'Ogg Skeleton not correctly handled in this version of getID3 ['.$this->getid3->version().']';
+			$this->error('Ogg Skeleton not correctly handled in this version of getID3 ['.$this->getid3->version().']');
 			//return false;
 
 		} else {
 
-			$info['error'][] = 'Expecting either "Speex   ", "OpusHead" or "vorbis" identifier strings, found "'.substr($filedata, 0, 8).'"';
+			$this->error('Expecting either "Speex   ", "OpusHead" or "vorbis" identifier strings, found "'.substr($filedata, 0, 8).'"');
 			unset($info['ogg']);
 			unset($info['mime_type']);
 			return false;
@@ -284,7 +284,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 			case 'flac':
 				$flac = new getid3_flac($this->getid3);
 				if (!$flac->parseMETAdata()) {
-					$info['error'][] = 'Failed to parse FLAC headers';
+					$this->error('Failed to parse FLAC headers');
 					return false;
 				}
 				unset($flac);
@@ -299,7 +299,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 				$filedata = $this->fread($info['ogg']['pageheader'][$oggpageinfo['page_seqno']]['page_length']);
 				$info['ogg']['pageheader'][$oggpageinfo['page_seqno']]['stream_type'] = substr($filedata, 0, 8); // hard-coded to 'OpusTags'
 				if(substr($filedata, 0, 8)  != 'OpusTags') {
-					$info['error'][] = 'Expected "OpusTags" as header but got "'.substr($filedata, 0, 8).'"';
+					$this->error('Expected "OpusTags" as header but got "'.substr($filedata, 0, 8).'"');
 					return false;
 				}
 
@@ -311,7 +311,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 		// Last Page - Number of Samples
 		if (!getid3_lib::intValueSupported($info['avdataend'])) {
 
-			$info['warning'][] = 'Unable to parse Ogg end chunk file (PHP does not support file operations beyond '.round(PHP_INT_MAX / 1073741824).'GB)';
+			$this->warning('Unable to parse Ogg end chunk file (PHP does not support file operations beyond '.round(PHP_INT_MAX / 1073741824).'GB)');
 
 		} else {
 
@@ -323,7 +323,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 				$info['ogg']['pageheader']['eos'] = $this->ParseOggPageHeader();
 				$info['ogg']['samples']   = $info['ogg']['pageheader']['eos']['pcm_abs_position'];
 				if ($info['ogg']['samples'] == 0) {
-					$info['error'][] = 'Corrupt Ogg file: eos.number of samples == zero';
+					$this->error('Corrupt Ogg file: eos.number of samples == zero');
 					return false;
 				}
 				if (!empty($info['audio']['sample_rate'])) {
@@ -342,7 +342,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 		}
 		if (isset($info['audio']['bitrate']) && !isset($info['playtime_seconds'])) {
 			if ($info['audio']['bitrate'] == 0) {
-				$info['error'][] = 'Corrupt Ogg file: bitrate_audio == zero';
+				$this->error('Corrupt Ogg file: bitrate_audio == zero');
 				return false;
 			}
 			$info['playtime_seconds'] = (float) ((($info['avdataend'] - $info['avdataoffset']) * 8) / $info['audio']['bitrate']);
@@ -395,7 +395,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 		$info['ogg']['samplerate']       = getid3_lib::LittleEndian2Int(substr($filedata, $filedataoffset, 4));
 		$filedataoffset += 4;
 		if ($info['ogg']['samplerate'] == 0) {
-			$info['error'][] = 'Corrupt Ogg file: sample rate == zero';
+			$this->error('Corrupt Ogg file: sample rate == zero');
 			return false;
 		}
 		$info['audio']['sample_rate']    = $info['ogg']['samplerate'];
@@ -443,7 +443,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 		$filedataoffset += 1;
 
 		if ($info['ogg']['pageheader']['opus']['version'] < 1 || $info['ogg']['pageheader']['opus']['version'] > 15) {
-			$info['error'][] = 'Unknown opus version number (only accepting 1-15)';
+			$this->error('Unknown opus version number (only accepting 1-15)');
 			return false;
 		}
 
@@ -451,7 +451,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 		$filedataoffset += 1;
 
 		if ($info['ogg']['pageheader']['opus']['out_channel_count'] == 0) {
-			$info['error'][] = 'Invalid channel count in opus header (must not be zero)';
+			$this->error('Invalid channel count in opus header (must not be zero)');
 			return false;
 		}
 
@@ -581,7 +581,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 
 			if ($i >= 10000) {
 				// https://github.com/owncloud/music/issues/212#issuecomment-43082336
-				$info['warning'][] = 'Unexpectedly large number ('.$CommentsCount.') of Ogg comments - breaking after reading '.$i.' comments';
+				$this->warning('Unexpectedly large number ('.$CommentsCount.') of Ogg comments - breaking after reading '.$i.' comments');
 				break;
 			}
 
@@ -619,7 +619,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 			$commentdataoffset += 4;
 			while ((strlen($commentdata) - $commentdataoffset) < $ThisFileInfo_ogg_comments_raw[$i]['size']) {
 				if (($ThisFileInfo_ogg_comments_raw[$i]['size'] > $info['avdataend']) || ($ThisFileInfo_ogg_comments_raw[$i]['size'] < 0)) {
-					$info['warning'][] = 'Invalid Ogg comment size (comment #'.$i.', claims to be '.number_format($ThisFileInfo_ogg_comments_raw[$i]['size']).' bytes) - aborting reading comments';
+					$this->warning('Invalid Ogg comment size (comment #'.$i.', claims to be '.number_format($ThisFileInfo_ogg_comments_raw[$i]['size']).' bytes) - aborting reading comments');
 					break 2;
 				}
 
@@ -643,12 +643,12 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 
 				//$commentdata .= $this->fread($info['ogg']['pageheader'][$oggpageinfo['page_seqno']]['page_length']);
 				if (!isset($info['ogg']['pageheader'][$VorbisCommentPage])) {
-					$info['warning'][] = 'undefined Vorbis Comment page "'.$VorbisCommentPage.'" at offset '.$this->ftell();
+					$this->warning('undefined Vorbis Comment page "'.$VorbisCommentPage.'" at offset '.$this->ftell());
 					break;
 				}
 				$readlength = self::OggPageSegmentLength($info['ogg']['pageheader'][$VorbisCommentPage], 1);
 				if ($readlength <= 0) {
-					$info['warning'][] = 'invalid length Vorbis Comment page "'.$VorbisCommentPage.'" at offset '.$this->ftell();
+					$this->warning('invalid length Vorbis Comment page "'.$VorbisCommentPage.'" at offset '.$this->ftell());
 					break;
 				}
 				$commentdata .= $this->fread($readlength);
@@ -662,7 +662,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 			if (!$commentstring) {
 
 				// no comment?
-				$info['warning'][] = 'Blank Ogg comment ['.$i.']';
+				$this->warning('Blank Ogg comment ['.$i.']');
 
 			} elseif (strstr($commentstring, '=')) {
 
@@ -712,7 +712,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 
 			} else {
 
-				$info['warning'][] = '[known problem with CDex >= v1.40, < v1.50b7] Invalid Ogg comment name/value pair ['.$i.']: '.$commentstring;
+				$this->warning('[known problem with CDex >= v1.40, < v1.50b7] Invalid Ogg comment name/value pair ['.$i.']: '.$commentstring);
 
 			}
 			unset($ThisFileInfo_ogg_comments_raw[$i]);
diff --git a/lib/getid3/module.audio.optimfrog.php b/lib/getid3/module.audio.optimfrog.php
index 19d2723b..50e0ffd6 100644
--- a/lib/getid3/module.audio.optimfrog.php
+++ b/lib/getid3/module.audio.optimfrog.php
@@ -39,7 +39,7 @@ class getid3_optimfrog extends getid3_handler
 
 		}
 
-		$info['error'][] = 'Expecting "*RIFF" or "OFR " at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($OFRheader).'"';
+		$this->error('Expecting "*RIFF" or "OFR " at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($OFRheader).'"');
 		unset($info['fileformat']);
 		return false;
 	}
@@ -128,7 +128,7 @@ class getid3_optimfrog extends getid3_handler
 							break;
 
 						default:
-							$info['warning'][] = '"'.$BlockName.'" contains more data than expected (expected 12 or 15 bytes, found '.$BlockSize.' bytes)';
+							$this->warning('"'.$BlockName.'" contains more data than expected (expected 12 or 15 bytes, found '.$BlockSize.' bytes)');
 							break;
 					}
 					$BlockData .= $this->fread($BlockSize);
@@ -252,7 +252,7 @@ class getid3_optimfrog extends getid3_handler
 
 					$thisfile_ofr_thisblock['offset'] = $BlockOffset;
 					$thisfile_ofr_thisblock['size']   = $BlockSize;
-					$info['warning'][] = 'APEtag processing inside OptimFROG not supported in this version ('.$this->getid3->version().') of getID3()';
+					$this->warning('APEtag processing inside OptimFROG not supported in this version ('.$this->getid3->version().') of getID3()');
 
 					$this->fseek($BlockSize, SEEK_CUR);
 					break;
@@ -272,7 +272,7 @@ class getid3_optimfrog extends getid3_handler
 
 					} else {
 
-						$info['warning'][] = 'Expecting block size of 16 in "MD5 " chunk, found '.$BlockSize.' instead';
+						$this->warning('Expecting block size of 16 in "MD5 " chunk, found '.$BlockSize.' instead');
 						$this->fseek($BlockSize, SEEK_CUR);
 
 					}
@@ -283,7 +283,7 @@ class getid3_optimfrog extends getid3_handler
 					$thisfile_ofr_thisblock['offset'] = $BlockOffset;
 					$thisfile_ofr_thisblock['size']   = $BlockSize;
 
-					$info['warning'][] = 'Unhandled OptimFROG block type "'.$BlockName.'" at offset '.$thisfile_ofr_thisblock['offset'];
+					$this->warning('Unhandled OptimFROG block type "'.$BlockName.'" at offset '.$thisfile_ofr_thisblock['offset']);
 					$this->fseek($BlockSize, SEEK_CUR);
 					break;
 			}
diff --git a/lib/getid3/module.audio.rkau.php b/lib/getid3/module.audio.rkau.php
index 598b13ed..d7c2f09a 100644
--- a/lib/getid3/module.audio.rkau.php
+++ b/lib/getid3/module.audio.rkau.php
@@ -25,7 +25,7 @@ class getid3_rkau extends getid3_handler
 		$RKAUHeader = $this->fread(20);
 		$magic = 'RKA';
 		if (substr($RKAUHeader, 0, 3) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($RKAUHeader, 0, 3)).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($RKAUHeader, 0, 3)).'"');
 			return false;
 		}
 
@@ -36,7 +36,7 @@ class getid3_rkau extends getid3_handler
 		$info['rkau']['raw']['version']   = getid3_lib::LittleEndian2Int(substr($RKAUHeader, 3, 1));
 		$info['rkau']['version']          = '1.'.str_pad($info['rkau']['raw']['version'] & 0x0F, 2, '0', STR_PAD_LEFT);
 		if (($info['rkau']['version'] > 1.07) || ($info['rkau']['version'] < 1.06)) {
-			$info['error'][] = 'This version of getID3() ['.$this->getid3->version().'] can only parse RKAU files v1.06 and 1.07 (this file is v'.$info['rkau']['version'].')';
+			$this->error('This version of getID3() ['.$this->getid3->version().'] can only parse RKAU files v1.06 and 1.07 (this file is v'.$info['rkau']['version'].')');
 			unset($info['rkau']);
 			return false;
 		}
diff --git a/lib/getid3/module.audio.shorten.php b/lib/getid3/module.audio.shorten.php
index 970559a1..8d5c5d4b 100644
--- a/lib/getid3/module.audio.shorten.php
+++ b/lib/getid3/module.audio.shorten.php
@@ -26,7 +26,7 @@ class getid3_shorten extends getid3_handler
 		$ShortenHeader = $this->fread(8);
 		$magic = 'ajkg';
 		if (substr($ShortenHeader, 0, 4) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($ShortenHeader, 0, 4)).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($ShortenHeader, 0, 4)).'"');
 			return false;
 		}
 		$info['fileformat']            = 'shn';
@@ -47,7 +47,7 @@ class getid3_shorten extends getid3_handler
 			$magic = 'SEEK';
 			if ($SeekTableMagic != $magic) {
 
-				$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['shn']['seektable']['offset'].', found "'.getid3_lib::PrintHexBytes($SeekTableMagic).'"';
+				$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['shn']['seektable']['offset'].', found "'.getid3_lib::PrintHexBytes($SeekTableMagic).'"');
 				return false;
 
 			} else {
@@ -114,7 +114,7 @@ class getid3_shorten extends getid3_handler
 		}
 
 		if (preg_match('#(1|ON)#i', ini_get('safe_mode'))) {
-			$info['error'][] = 'PHP running in Safe Mode - backtick operator not available, cannot run shntool to analyze Shorten files';
+			$this->error('PHP running in Safe Mode - backtick operator not available, cannot run shntool to analyze Shorten files');
 			return false;
 		}
 
@@ -123,7 +123,7 @@ class getid3_shorten extends getid3_handler
 			$RequiredFiles = array('shorten.exe', 'cygwin1.dll', 'head.exe');
 			foreach ($RequiredFiles as $required_file) {
 				if (!is_readable(GETID3_HELPERAPPSDIR.$required_file)) {
-					$info['error'][] = GETID3_HELPERAPPSDIR.$required_file.' does not exist';
+					$this->error(GETID3_HELPERAPPSDIR.$required_file.' does not exist');
 					return false;
 				}
 			}
@@ -137,7 +137,7 @@ class getid3_shorten extends getid3_handler
 				$shorten_present = file_exists('/usr/local/bin/shorten') || `which shorten`;
 			}
 			if (!$shorten_present) {
-				$info['error'][] = 'shorten binary was not found in path or /usr/local/bin';
+				$this->error('shorten binary was not found in path or /usr/local/bin');
 				return false;
 			}
 			$commandline = (file_exists('/usr/local/bin/shorten') ? '/usr/local/bin/' : '' ) . 'shorten -x '.escapeshellarg($info['filenamepath']).' - | head -c 64';
@@ -162,7 +162,7 @@ class getid3_shorten extends getid3_handler
 
 			} else {
 
-				$info['error'][] = 'shorten failed to decode DATA chunk to expected location, cannot determine playtime';
+				$this->error('shorten failed to decode DATA chunk to expected location, cannot determine playtime');
 				return false;
 
 			}
@@ -171,7 +171,7 @@ class getid3_shorten extends getid3_handler
 
 		} else {
 
-			$info['error'][] = 'shorten failed to decode file to WAV for parsing';
+			$this->error('shorten failed to decode file to WAV for parsing');
 			return false;
 
 		}
diff --git a/lib/getid3/module.audio.tta.php b/lib/getid3/module.audio.tta.php
index e5c7e1b2..78d27b0f 100644
--- a/lib/getid3/module.audio.tta.php
+++ b/lib/getid3/module.audio.tta.php
@@ -32,7 +32,7 @@ class getid3_tta extends getid3_handler
 		$info['tta']['magic'] = substr($ttaheader, 0, 3);
 		$magic = 'TTA';
 		if ($info['tta']['magic'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['tta']['magic']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['tta']['magic']).'"');
 			unset($info['fileformat']);
 			unset($info['audio']);
 			unset($info['tta']);
@@ -90,7 +90,7 @@ class getid3_tta extends getid3_handler
 				break;
 
 			default:
-				$info['error'][] = 'This version of getID3() ['.$this->getid3->version().'] only knows how to handle TTA v1 and v2 - it may not work correctly with this file which appears to be TTA v'.$ttaheader{3};
+				$this->error('This version of getID3() ['.$this->getid3->version().'] only knows how to handle TTA v1 and v2 - it may not work correctly with this file which appears to be TTA v'.$ttaheader{3});
 				return false;
 				break;
 		}
diff --git a/lib/getid3/module.audio.voc.php b/lib/getid3/module.audio.voc.php
index ecd33364..3803d8a1 100644
--- a/lib/getid3/module.audio.voc.php
+++ b/lib/getid3/module.audio.voc.php
@@ -27,7 +27,7 @@ class getid3_voc extends getid3_handler
 
 		$magic = 'Creative Voice File';
 		if (substr($VOCheader, 0, 19) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($VOCheader, 0, 19)).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($VOCheader, 0, 19)).'"');
 			return false;
 		}
 
@@ -137,7 +137,7 @@ class getid3_voc extends getid3_handler
 					break;
 
 				default:
-					$info['warning'][] = 'Unhandled block type "'.$BlockType.'" at offset '.$BlockOffset;
+					$this->warning('Unhandled block type "'.$BlockType.'" at offset '.$BlockOffset);
 					$this->fseek($BlockSize, SEEK_CUR);
 					break;
 			}
diff --git a/lib/getid3/module.audio.vqf.php b/lib/getid3/module.audio.vqf.php
index 51d0e830..a6a391c4 100644
--- a/lib/getid3/module.audio.vqf.php
+++ b/lib/getid3/module.audio.vqf.php
@@ -40,7 +40,7 @@ class getid3_vqf extends getid3_handler
 		$thisfile_vqf_raw['header_tag'] = substr($VQFheaderData, $offset, 4);
 		$magic = 'TWIN';
 		if ($thisfile_vqf_raw['header_tag'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($thisfile_vqf_raw['header_tag']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($thisfile_vqf_raw['header_tag']).'"');
 			unset($info['vqf']);
 			unset($info['fileformat']);
 			return false;
@@ -65,7 +65,7 @@ class getid3_vqf extends getid3_handler
 			$ChunkSize = getid3_lib::BigEndian2Int(substr($ChunkData, $chunkoffset, 4));
 			$chunkoffset += 4;
 			if ($ChunkSize > ($info['avdataend'] - $this->ftell())) {
-				$info['error'][] = 'Invalid chunk size ('.$ChunkSize.') for chunk "'.$ChunkName.'" at offset '.$ChunkBaseOffset;
+				$this->error('Invalid chunk size ('.$ChunkSize.') for chunk "'.$ChunkName.'" at offset '.$ChunkBaseOffset);
 				break;
 			}
 			if ($ChunkSize > 0) {
@@ -93,7 +93,7 @@ class getid3_vqf extends getid3_handler
 					$info['audio']['encoder_options'] = 'CBR' . ceil($info['audio']['bitrate']/1000);
 
 					if ($info['audio']['bitrate'] == 0) {
-						$info['error'][] = 'Corrupt VQF file: bitrate_audio == zero';
+						$this->error('Corrupt VQF file: bitrate_audio == zero');
 						return false;
 					}
 					break;
@@ -112,7 +112,7 @@ class getid3_vqf extends getid3_handler
 					break;
 
 				default:
-					$info['warning'][] = 'Unhandled chunk type "'.$ChunkName.'" at offset '.$ChunkBaseOffset;
+					$this->warning('Unhandled chunk type "'.$ChunkName.'" at offset '.$ChunkBaseOffset);
 					break;
 			}
 		}
@@ -123,12 +123,12 @@ class getid3_vqf extends getid3_handler
 			switch ($thisfile_vqf['DSIZ']) {
 				case 0:
 				case 1:
-					$info['warning'][] = 'Invalid DSIZ value "'.$thisfile_vqf['DSIZ'].'". This is known to happen with VQF files encoded by Ahead Nero, and seems to be its way of saying this is TwinVQF v'.($thisfile_vqf['DSIZ'] + 1).'.0';
+					$this->warning('Invalid DSIZ value "'.$thisfile_vqf['DSIZ'].'". This is known to happen with VQF files encoded by Ahead Nero, and seems to be its way of saying this is TwinVQF v'.($thisfile_vqf['DSIZ'] + 1).'.0');
 					$info['audio']['encoder'] = 'Ahead Nero';
 					break;
 
 				default:
-					$info['warning'][] = 'Probable corrupted file - should be '.$thisfile_vqf['DSIZ'].' bytes, actually '.($info['avdataend'] - $info['avdataoffset'] - strlen('DATA'));
+					$this->warning('Probable corrupted file - should be '.$thisfile_vqf['DSIZ'].' bytes, actually '.($info['avdataend'] - $info['avdataoffset'] - strlen('DATA')));
 					break;
 			}
 		}
diff --git a/lib/getid3/module.audio.wavpack.php b/lib/getid3/module.audio.wavpack.php
index a6a1a475..b54c179f 100644
--- a/lib/getid3/module.audio.wavpack.php
+++ b/lib/getid3/module.audio.wavpack.php
@@ -47,7 +47,7 @@ class getid3_wavpack extends getid3_handler
 
 			$magic = 'wvpk';
 			if ($blockheader_magic != $magic) {
-				$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$blockheader_offset.', found "'.getid3_lib::PrintHexBytes($blockheader_magic).'"';
+				$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$blockheader_offset.', found "'.getid3_lib::PrintHexBytes($blockheader_magic).'"');
 				switch (isset($info['audio']['dataformat']) ? $info['audio']['dataformat'] : '') {
 					case 'wavpack':
 					case 'wvc':
@@ -86,7 +86,7 @@ class getid3_wavpack extends getid3_handler
 				$info['wavpack']['blockheader']['size']   = $blockheader_size;
 
 				if ($info['wavpack']['blockheader']['size'] >= 0x100000) {
-					$info['error'][] = 'Expecting WavPack block size less than "0x100000", found "'.$info['wavpack']['blockheader']['size'].'" at offset '.$info['wavpack']['blockheader']['offset'];
+					$this->error('Expecting WavPack block size less than "0x100000", found "'.$info['wavpack']['blockheader']['size'].'" at offset '.$info['wavpack']['blockheader']['offset']);
 					switch (isset($info['audio']['dataformat']) ? $info['audio']['dataformat'] : '') {
 						case 'wavpack':
 						case 'wvc':
@@ -106,7 +106,7 @@ class getid3_wavpack extends getid3_handler
 				if (($info['wavpack']['blockheader']['major_version'] != 4) ||
 					(($info['wavpack']['blockheader']['minor_version'] < 4) &&
 					($info['wavpack']['blockheader']['minor_version'] > 16))) {
-						$info['error'][] = 'Expecting WavPack version between "4.2" and "4.16", found version "'.$info['wavpack']['blockheader']['major_version'].'.'.$info['wavpack']['blockheader']['minor_version'].'" at offset '.$info['wavpack']['blockheader']['offset'];
+						$this->error('Expecting WavPack version between "4.2" and "4.16", found version "'.$info['wavpack']['blockheader']['major_version'].'.'.$info['wavpack']['blockheader']['minor_version'].'" at offset '.$info['wavpack']['blockheader']['offset']);
 						switch (isset($info['audio']['dataformat']) ? $info['audio']['dataformat'] : '') {
 							case 'wavpack':
 							case 'wvc':
@@ -208,7 +208,7 @@ class getid3_wavpack extends getid3_handler
 							break;
 
 						default:
-							$info['warning'][] = 'Unexpected metablock type "0x'.str_pad(dechex($metablock['function_id']), 2, '0', STR_PAD_LEFT).'" at offset '.$metablock['offset'];
+							$this->warning('Unexpected metablock type "0x'.str_pad(dechex($metablock['function_id']), 2, '0', STR_PAD_LEFT).'" at offset '.$metablock['offset']);
 							$this->fseek($metablock['offset'] + ($metablock['large_block'] ? 4 : 2) + $metablock['size']);
 							break;
 					}
@@ -256,12 +256,12 @@ class getid3_wavpack extends getid3_handler
 
 
 						case 0x23: // ID_REPLAY_GAIN
-							$info['warning'][] = 'WavPack "Replay Gain" contents not yet handled by getID3() in metablock at offset '.$metablock['offset'];
+							$this->warning('WavPack "Replay Gain" contents not yet handled by getID3() in metablock at offset '.$metablock['offset']);
 							break;
 
 
 						case 0x24: // ID_CUESHEET
-							$info['warning'][] = 'WavPack "Cuesheet" contents not yet handled by getID3() in metablock at offset '.$metablock['offset'];
+							$this->warning('WavPack "Cuesheet" contents not yet handled by getID3() in metablock at offset '.$metablock['offset']);
 							break;
 
 
@@ -319,7 +319,7 @@ class getid3_wavpack extends getid3_handler
 							if (strlen($metablock['data']) == 16) {
 								$info['md5_data_source'] = strtolower(getid3_lib::PrintHexBytes($metablock['data'], true, false, false));
 							} else {
-								$info['warning'][] = 'Expecting 16 bytes of WavPack "MD5 Checksum" in metablock at offset '.$metablock['offset'].', but found '.strlen($metablock['data']).' bytes';
+								$this->warning('Expecting 16 bytes of WavPack "MD5 Checksum" in metablock at offset '.$metablock['offset'].', but found '.strlen($metablock['data']).' bytes');
 							}
 							break;
 
diff --git a/lib/getid3/module.graphic.bmp.php b/lib/getid3/module.graphic.bmp.php
index 02da2cc5..90cbb38f 100644
--- a/lib/getid3/module.graphic.bmp.php
+++ b/lib/getid3/module.graphic.bmp.php
@@ -46,7 +46,7 @@ class getid3_bmp extends getid3_handler
 
 		$magic = 'BM';
 		if ($thisfile_bmp_header_raw['identifier'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($thisfile_bmp_header_raw['identifier']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($thisfile_bmp_header_raw['identifier']).'"');
 			unset($info['fileformat']);
 			unset($info['bmp']);
 			return false;
@@ -86,7 +86,7 @@ class getid3_bmp extends getid3_handler
 			$thisfile_bmp['type_os']      = 'Windows';
 			$thisfile_bmp['type_version'] = 5;
 		} else {
-			$info['error'][] = 'Unknown BMP subtype (or not a BMP file)';
+			$this->error('Unknown BMP subtype (or not a BMP file)');
 			unset($info['fileformat']);
 			unset($info['bmp']);
 			return false;
@@ -283,7 +283,7 @@ class getid3_bmp extends getid3_handler
 
 		} else {
 
-			$info['error'][] = 'Unknown BMP format in header.';
+			$this->error('Unknown BMP format in header.');
 			return false;
 
 		}
@@ -406,7 +406,7 @@ class getid3_bmp extends getid3_handler
 							break;
 
 						default:
-							$info['error'][] = 'Unknown bits-per-pixel value ('.$thisfile_bmp_header_raw['bits_per_pixel'].') - cannot read pixel data';
+							$this->error('Unknown bits-per-pixel value ('.$thisfile_bmp_header_raw['bits_per_pixel'].') - cannot read pixel data');
 							break;
 					}
 					break;
@@ -481,7 +481,7 @@ class getid3_bmp extends getid3_handler
 							break;
 
 						default:
-							$info['error'][] = 'Unknown bits-per-pixel value ('.$thisfile_bmp_header_raw['bits_per_pixel'].') - cannot read pixel data';
+							$this->error('Unknown bits-per-pixel value ('.$thisfile_bmp_header_raw['bits_per_pixel'].') - cannot read pixel data');
 							break;
 					}
 					break;
@@ -570,7 +570,7 @@ class getid3_bmp extends getid3_handler
 							break;
 
 						default:
-							$info['error'][] = 'Unknown bits-per-pixel value ('.$thisfile_bmp_header_raw['bits_per_pixel'].') - cannot read pixel data';
+							$this->error('Unknown bits-per-pixel value ('.$thisfile_bmp_header_raw['bits_per_pixel'].') - cannot read pixel data');
 							break;
 					}
 					break;
@@ -610,14 +610,14 @@ class getid3_bmp extends getid3_handler
 							break;
 
 						default:
-							$info['error'][] = 'Unknown bits-per-pixel value ('.$thisfile_bmp_header_raw['bits_per_pixel'].') - cannot read pixel data';
+							$this->error('Unknown bits-per-pixel value ('.$thisfile_bmp_header_raw['bits_per_pixel'].') - cannot read pixel data');
 							break;
 					}
 					break;
 
 
 				default: // unhandled compression type
-					$info['error'][] = 'Unknown/unhandled compression type value ('.$thisfile_bmp_header_raw['compression'].') - cannot decompress pixel data';
+					$this->error('Unknown/unhandled compression type value ('.$thisfile_bmp_header_raw['compression'].') - cannot decompress pixel data');
 					break;
 			}
 		}
diff --git a/lib/getid3/module.graphic.efax.php b/lib/getid3/module.graphic.efax.php
index b49d7a29..8c628543 100644
--- a/lib/getid3/module.graphic.efax.php
+++ b/lib/getid3/module.graphic.efax.php
@@ -26,14 +26,14 @@ class getid3_efax extends getid3_handler
 
 		$info['efax']['header']['magic'] = substr($efaxheader, 0, 2);
 		if ($info['efax']['header']['magic'] != "\xDC\xFE") {
-			$info['error'][] = 'Invalid eFax byte order identifier (expecting DC FE, found '.getid3_lib::PrintHexBytes($info['efax']['header']['magic']).') at offset '.$info['avdataoffset'];
+			$this->error('Invalid eFax byte order identifier (expecting DC FE, found '.getid3_lib::PrintHexBytes($info['efax']['header']['magic']).') at offset '.$info['avdataoffset']);
 			return false;
 		}
 		$info['fileformat'] = 'efax';
 
 		$info['efax']['header']['filesize'] = getid3_lib::LittleEndian2Int(substr($efaxheader, 2, 4));
 		if ($info['efax']['header']['filesize'] != $info['filesize']) {
-			$info['error'][] = 'Probable '.(($info['efax']['header']['filesize'] > $info['filesize']) ? 'truncated' : 'corrupt').' file, expecting '.$info['efax']['header']['filesize'].' bytes, found '.$info['filesize'].' bytes';
+			$this->error('Probable '.(($info['efax']['header']['filesize'] > $info['filesize']) ? 'truncated' : 'corrupt').' file, expecting '.$info['efax']['header']['filesize'].' bytes, found '.$info['filesize'].' bytes');
 		}
 		$info['efax']['header']['software1'] =                        rtrim(substr($efaxheader,  26, 32), "\x00");
 		$info['efax']['header']['software2'] =                        rtrim(substr($efaxheader,  58, 32), "\x00");
@@ -42,7 +42,7 @@ class getid3_efax extends getid3_handler
 		$info['efax']['header']['pages']      = getid3_lib::LittleEndian2Int(substr($efaxheader, 198, 2));
 		$info['efax']['header']['data_bytes'] = getid3_lib::LittleEndian2Int(substr($efaxheader, 202, 4));
 
-$info['error'][] = 'eFax parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+$this->error('eFax parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 return false;
 
 		return true;
diff --git a/lib/getid3/module.graphic.gif.php b/lib/getid3/module.graphic.gif.php
index 67ef73b4..ab7d62ae 100644
--- a/lib/getid3/module.graphic.gif.php
+++ b/lib/getid3/module.graphic.gif.php
@@ -35,7 +35,7 @@ class getid3_gif extends getid3_handler
 
 		$magic = 'GIF';
 		if ($info['gif']['header']['raw']['identifier'] != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['gif']['header']['raw']['identifier']).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes($info['gif']['header']['raw']['identifier']).'"');
 			unset($info['fileformat']);
 			unset($info['gif']);
 			return false;
@@ -109,7 +109,7 @@ class getid3_gif extends getid3_handler
 //
 //					if ($ImageDescriptor['flags']['use_local_color_map']) {
 //
-//						$info['warning'][] = 'This version of getID3() cannot parse local color maps for GIFs';
+//						$this->warning('This version of getID3() cannot parse local color maps for GIFs');
 //						return true;
 //
 //					}
diff --git a/lib/getid3/module.graphic.jpg.php b/lib/getid3/module.graphic.jpg.php
index 9613c692..76edf145 100644
--- a/lib/getid3/module.graphic.jpg.php
+++ b/lib/getid3/module.graphic.jpg.php
@@ -66,7 +66,7 @@ class getid3_jpg extends getid3_handler
 				if (isset($imageinfo['APP1'])) {
 					if (function_exists('exif_read_data')) {
 						if (substr($imageinfo['APP1'], 0, 4) == 'Exif') {
-//$info['warning'][] = 'known issue: https://bugs.php.net/bug.php?id=62523';
+//$this->warning('known issue: https://bugs.php.net/bug.php?id=62523');
 //return false;
 							set_error_handler(function($errno, $errstr, $errfile, $errline, array $errcontext) {
 								if (!(error_reporting() & $errno)) {
@@ -81,10 +81,10 @@ class getid3_jpg extends getid3_handler
 
 							restore_error_handler();
 						} else {
-							$info['warning'][] = 'exif_read_data() cannot parse non-EXIF data in APP1 (expected "Exif", found "'.substr($imageinfo['APP1'], 0, 4).'")';
+							$this->warning('exif_read_data() cannot parse non-EXIF data in APP1 (expected "Exif", found "'.substr($imageinfo['APP1'], 0, 4).'")');
 						}
 					} else {
-						$info['warning'][] = 'EXIF parsing only available when '.(GETID3_OS_ISWINDOWS ? 'php_exif.dll enabled' : 'compiled with --enable-exif');
+						$this->warning('EXIF parsing only available when '.(GETID3_OS_ISWINDOWS ? 'php_exif.dll enabled' : 'compiled with --enable-exif'));
 					}
 				}
 				$returnOK = true;
@@ -164,7 +164,7 @@ class getid3_jpg extends getid3_handler
 					list($subsection, $tagname) = explode(':', $key);
 					$info['xmp'][$subsection][$tagname] = $this->CastAsAppropriate($value);
 				} else {
-					$info['warning'][] = 'XMP: expecting "<subsection>:<tagname>", found "'.$key.'"';
+					$this->warning('XMP: expecting "<subsection>:<tagname>", found "'.$key.'"');
 				}
 			}
 		}
diff --git a/lib/getid3/module.graphic.pcd.php b/lib/getid3/module.graphic.pcd.php
index 3915ebc8..c1efaa21 100644
--- a/lib/getid3/module.graphic.pcd.php
+++ b/lib/getid3/module.graphic.pcd.php
@@ -44,7 +44,7 @@ class getid3_pcd extends getid3_handler
 
 		if ($this->ExtractData > 3) {
 
-			$info['error'][] = 'Cannot extract PSD image data for detail levels above BASE (level-3) because encrypted with Kodak-proprietary compression/encryption.';
+			$this->error('Cannot extract PSD image data for detail levels above BASE (level-3) because encrypted with Kodak-proprietary compression/encryption.');
 
 		} elseif ($this->ExtractData > 0) {
 
diff --git a/lib/getid3/module.graphic.png.php b/lib/getid3/module.graphic.png.php
index 0ce82a69..c30caa43 100644
--- a/lib/getid3/module.graphic.png.php
+++ b/lib/getid3/module.graphic.png.php
@@ -39,7 +39,7 @@ class getid3_png extends getid3_handler
 		$offset += 8;
 
 		if ($PNGidentifier != "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A") {
-			$info['error'][] = 'First 8 bytes of file ('.getid3_lib::PrintHexBytes($PNGidentifier).') did not match expected PNG identifier';
+			$this->error('First 8 bytes of file ('.getid3_lib::PrintHexBytes($PNGidentifier).') did not match expected PNG identifier');
 			unset($info['fileformat']);
 			return false;
 		}
@@ -47,7 +47,7 @@ class getid3_png extends getid3_handler
 		while ((($this->ftell() - (strlen($PNGfiledata) - $offset)) < $info['filesize'])) {
 			$chunk['data_length'] = getid3_lib::BigEndian2Int(substr($PNGfiledata, $offset, 4));
 			if ($chunk['data_length'] === false) {
-				$info['error'][] = 'Failed to read data_length at offset '.$offset;
+				$this->error('Failed to read data_length at offset '.$offset);
 				return false;
 			}
 			$offset += 4;
@@ -56,7 +56,7 @@ class getid3_png extends getid3_handler
 				if (strlen($PNGfiledata) < $this->max_data_bytes) {
 					$PNGfiledata .= $this->fread($this->getid3->fread_buffer_size());
 				} else {
-					$info['warning'][] = 'At offset '.$offset.' chunk "'.substr($PNGfiledata, $offset, 4).'" exceeded max_data_bytes value of '.$this->max_data_bytes.', data chunk will be truncated at '.(strlen($PNGfiledata) - 8).' bytes';
+					$this->warning('At offset '.$offset.' chunk "'.substr($PNGfiledata, $offset, 4).'" exceeded max_data_bytes value of '.$this->max_data_bytes.', data chunk will be truncated at '.(strlen($PNGfiledata) - 8).' bytes');
 					break;
 				}
 			}
@@ -137,10 +137,10 @@ class getid3_png extends getid3_handler
 
 						case 4:
 						case 6:
-							$info['error'][] = 'Invalid color_type in tRNS chunk: '.$thisfile_png['IHDR']['raw']['color_type'];
+							$this->error('Invalid color_type in tRNS chunk: '.$thisfile_png['IHDR']['raw']['color_type']);
 
 						default:
-							$info['warning'][] = 'Unhandled color_type in tRNS chunk: '.$thisfile_png['IHDR']['raw']['color_type'];
+							$this->warning('Unhandled color_type in tRNS chunk: '.$thisfile_png['IHDR']['raw']['color_type']);
 							break;
 					}
 					break;
@@ -443,7 +443,7 @@ class getid3_png extends getid3_handler
 				default:
 					//unset($chunk['data']);
 					$thisfile_png_chunk_type_text['header'] = $chunk;
-					$info['warning'][] = 'Unhandled chunk type: '.$chunk['type_text'];
+					$this->warning('Unhandled chunk type: '.$chunk['type_text']);
 					break;
 			}
 		}
diff --git a/lib/getid3/module.graphic.svg.php b/lib/getid3/module.graphic.svg.php
index 184cdc0d..e4502aae 100644
--- a/lib/getid3/module.graphic.svg.php
+++ b/lib/getid3/module.graphic.svg.php
@@ -95,7 +95,7 @@ class getid3_svg extends getid3_handler
 
 			return true;
 		}
-		$info['error'][] = 'Did not find expected <svg> tag';
+		$this->error('Did not find expected <svg> tag');
 		return false;
 	}
 
diff --git a/lib/getid3/module.graphic.tiff.php b/lib/getid3/module.graphic.tiff.php
index 8504172f..90dcb5c8 100644
--- a/lib/getid3/module.graphic.tiff.php
+++ b/lib/getid3/module.graphic.tiff.php
@@ -32,7 +32,7 @@ class getid3_tiff extends getid3_handler
 				$info['tiff']['byte_order'] = 'Motorola';
 				break;
 			default:
-				$info['error'][] = 'Invalid TIFF byte order identifier ('.substr($TIFFheader, 0, 2).') at offset '.$info['avdataoffset'];
+				$this->error('Invalid TIFF byte order identifier ('.substr($TIFFheader, 0, 2).') at offset '.$info['avdataoffset']);
 				return false;
 				break;
 		}
diff --git a/lib/getid3/module.misc.exe.php b/lib/getid3/module.misc.exe.php
index fd58a07e..4f04ad72 100644
--- a/lib/getid3/module.misc.exe.php
+++ b/lib/getid3/module.misc.exe.php
@@ -26,7 +26,7 @@ class getid3_exe extends getid3_handler
 
 		$magic = 'MZ';
 		if (substr($EXEheader, 0, 2) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($EXEheader, 0, 2)).'"';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($EXEheader, 0, 2)).'"');
 			return false;
 		}
 
@@ -51,7 +51,7 @@ class getid3_exe extends getid3_handler
 		$info['exe']['mz']['memory_minimum']     = $info['exe']['mz']['raw']['min_memory_paragraphs'] * 16;
 		$info['exe']['mz']['memory_recommended'] = $info['exe']['mz']['raw']['max_memory_paragraphs'] * 16;
 
-$info['error'][] = 'EXE parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+$this->error('EXE parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 return false;
 
 	}
diff --git a/lib/getid3/module.misc.iso.php b/lib/getid3/module.misc.iso.php
index 065b7532..04772856 100644
--- a/lib/getid3/module.misc.iso.php
+++ b/lib/getid3/module.misc.iso.php
@@ -69,7 +69,7 @@ class getid3_iso extends getid3_handler
 		$thisfile_iso_primaryVD_raw['volume_descriptor_type']         = getid3_lib::LittleEndian2Int(substr($ISOheader,    0, 1));
 		$thisfile_iso_primaryVD_raw['standard_identifier']            =                  substr($ISOheader,    1, 5);
 		if ($thisfile_iso_primaryVD_raw['standard_identifier'] != 'CD001') {
-			$info['error'][] = 'Expected "CD001" at offset ('.($thisfile_iso_primaryVD['offset'] + 1).'), found "'.$thisfile_iso_primaryVD_raw['standard_identifier'].'" instead';
+			$this->error('Expected "CD001" at offset ('.($thisfile_iso_primaryVD['offset'] + 1).'), found "'.$thisfile_iso_primaryVD_raw['standard_identifier'].'" instead');
 			unset($info['fileformat']);
 			unset($info['iso']);
 			return false;
@@ -123,7 +123,7 @@ class getid3_iso extends getid3_handler
 		$thisfile_iso_primaryVD['volume_effective_date_time']    = $this->ISOtimeText2UNIXtime($thisfile_iso_primaryVD_raw['volume_effective_date_time']);
 
 		if (($thisfile_iso_primaryVD_raw['volume_space_size'] * 2048) > $info['filesize']) {
-			$info['error'][] = 'Volume Space Size ('.($thisfile_iso_primaryVD_raw['volume_space_size'] * 2048).' bytes) is larger than the file size ('.$info['filesize'].' bytes) (truncated file?)';
+			$this->error('Volume Space Size ('.($thisfile_iso_primaryVD_raw['volume_space_size'] * 2048).' bytes) is larger than the file size ('.$info['filesize'].' bytes) (truncated file?)');
 		}
 
 		return true;
@@ -143,7 +143,7 @@ class getid3_iso extends getid3_handler
 		$thisfile_iso_supplementaryVD_raw['volume_descriptor_type'] = getid3_lib::LittleEndian2Int(substr($ISOheader,    0, 1));
 		$thisfile_iso_supplementaryVD_raw['standard_identifier']    =                  substr($ISOheader,    1, 5);
 		if ($thisfile_iso_supplementaryVD_raw['standard_identifier'] != 'CD001') {
-			$info['error'][] = 'Expected "CD001" at offset ('.($thisfile_iso_supplementaryVD['offset'] + 1).'), found "'.$thisfile_iso_supplementaryVD_raw['standard_identifier'].'" instead';
+			$this->error('Expected "CD001" at offset ('.($thisfile_iso_supplementaryVD['offset'] + 1).'), found "'.$thisfile_iso_supplementaryVD_raw['standard_identifier'].'" instead');
 			unset($info['fileformat']);
 			unset($info['iso']);
 			return false;
@@ -202,7 +202,7 @@ class getid3_iso extends getid3_handler
 		$thisfile_iso_supplementaryVD['volume_effective_date_time']     = $this->ISOtimeText2UNIXtime($thisfile_iso_supplementaryVD_raw['volume_effective_date_time']);
 
 		if (($thisfile_iso_supplementaryVD_raw['volume_space_size'] * $thisfile_iso_supplementaryVD_raw['logical_block_size']) > $info['filesize']) {
-			$info['error'][] = 'Volume Space Size ('.($thisfile_iso_supplementaryVD_raw['volume_space_size'] * $thisfile_iso_supplementaryVD_raw['logical_block_size']).' bytes) is larger than the file size ('.$info['filesize'].' bytes) (truncated file?)';
+			$this->error('Volume Space Size ('.($thisfile_iso_supplementaryVD_raw['volume_space_size'] * $thisfile_iso_supplementaryVD_raw['logical_block_size']).' bytes) is larger than the file size ('.$info['filesize'].' bytes) (truncated file?)');
 		}
 
 		return true;
@@ -225,7 +225,7 @@ class getid3_iso extends getid3_handler
 		}
 
 		if (($PathTableLocation * 2048) > $info['filesize']) {
-			$info['error'][] = 'Path Table Location specifies an offset ('.($PathTableLocation * 2048).') beyond the end-of-file ('.$info['filesize'].')';
+			$this->error('Path Table Location specifies an offset ('.($PathTableLocation * 2048).') beyond the end-of-file ('.$info['filesize'].')');
 			return false;
 		}
 
diff --git a/lib/getid3/module.misc.msoffice.php b/lib/getid3/module.misc.msoffice.php
index beaa813e..099e6fc9 100644
--- a/lib/getid3/module.misc.msoffice.php
+++ b/lib/getid3/module.misc.msoffice.php
@@ -25,12 +25,12 @@ class getid3_msoffice extends getid3_handler
 		$DOCFILEheader = $this->fread(8);
 		$magic = "\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1";
 		if (substr($DOCFILEheader, 0, 8) != $magic) {
-			$info['error'][] = 'Expecting "'.getid3_lib::PrintHexBytes($magic).'" at '.$info['avdataoffset'].', found '.getid3_lib::PrintHexBytes(substr($DOCFILEheader, 0, 8)).' instead.';
+			$this->error('Expecting "'.getid3_lib::PrintHexBytes($magic).'" at '.$info['avdataoffset'].', found '.getid3_lib::PrintHexBytes(substr($DOCFILEheader, 0, 8)).' instead.');
 			return false;
 		}
 		$info['fileformat'] = 'msoffice';
 
-$info['error'][] = 'MS Office (.doc, .xls, etc) parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+$this->error('MS Office (.doc, .xls, etc) parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 return false;
 
 	}
diff --git a/lib/getid3/module.misc.par2.php b/lib/getid3/module.misc.par2.php
index 26d3788a..2312bb84 100644
--- a/lib/getid3/module.misc.par2.php
+++ b/lib/getid3/module.misc.par2.php
@@ -23,7 +23,7 @@ class getid3_par2 extends getid3_handler
 
 		$info['fileformat'] = 'par2';
 
-		$info['error'][] = 'PAR2 parsing not enabled in this version of getID3()';
+		$this->error('PAR2 parsing not enabled in this version of getID3()');
 		return false;
 
 	}
diff --git a/lib/getid3/module.misc.pdf.php b/lib/getid3/module.misc.pdf.php
index 2053af69..e8d25cba 100644
--- a/lib/getid3/module.misc.pdf.php
+++ b/lib/getid3/module.misc.pdf.php
@@ -23,7 +23,7 @@ class getid3_pdf extends getid3_handler
 
 		$info['fileformat'] = 'pdf';
 
-		$info['error'][] = 'PDF parsing not enabled in this version of getID3() ['.$this->getid3->version().']';
+		$this->error('PDF parsing not enabled in this version of getID3() ['.$this->getid3->version().']');
 		return false;
 
 	}
diff --git a/lib/getid3/module.tag.apetag.php b/lib/getid3/module.tag.apetag.php
index 6626c7d6..938625a8 100644
--- a/lib/getid3/module.tag.apetag.php
+++ b/lib/getid3/module.tag.apetag.php
@@ -23,7 +23,7 @@ class getid3_apetag extends getid3_handler
 		$info = &$this->getid3->info;
 
 		if (!getid3_lib::intValueSupported($info['filesize'])) {
-			$info['warning'][] = 'Unable to check for APEtags because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB';
+			$this->warning('Unable to check for APEtags because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB');
 			return false;
 		}
 
@@ -72,7 +72,7 @@ class getid3_apetag extends getid3_handler
 		$this->fseek($thisfile_ape['tag_offset_end'] - $apetagheadersize);
 		$APEfooterData = $this->fread(32);
 		if (!($thisfile_ape['footer'] = $this->parseAPEheaderFooter($APEfooterData))) {
-			$info['error'][] = 'Error parsing APE footer at offset '.$thisfile_ape['tag_offset_end'];
+			$this->error('Error parsing APE footer at offset '.$thisfile_ape['tag_offset_end']);
 			return false;
 		}
 
@@ -88,7 +88,7 @@ class getid3_apetag extends getid3_handler
 		$info['avdataend'] = $thisfile_ape['tag_offset_start'];
 
 		if (isset($info['id3v1']['tag_offset_start']) && ($info['id3v1']['tag_offset_start'] < $thisfile_ape['tag_offset_end'])) {
-			$info['warning'][] = 'ID3v1 tag information ignored since it appears to be a false synch in APEtag data';
+			$this->warning('ID3v1 tag information ignored since it appears to be a false synch in APEtag data');
 			unset($info['id3v1']);
 			foreach ($info['warning'] as $key => $value) {
 				if ($value == 'Some ID3v1 fields do not use NULL characters for padding') {
@@ -104,7 +104,7 @@ class getid3_apetag extends getid3_handler
 			if ($thisfile_ape['header'] = $this->parseAPEheaderFooter(substr($APEtagData, 0, $apetagheadersize))) {
 				$offset += $apetagheadersize;
 			} else {
-				$info['error'][] = 'Error parsing APE header at offset '.$thisfile_ape['tag_offset_start'];
+				$this->error('Error parsing APE header at offset '.$thisfile_ape['tag_offset_start']);
 				return false;
 			}
 		}
@@ -119,7 +119,7 @@ class getid3_apetag extends getid3_handler
 			$item_flags = getid3_lib::LittleEndian2Int(substr($APEtagData, $offset, 4));
 			$offset += 4;
 			if (strstr(substr($APEtagData, $offset), "\x00") === false) {
-				$info['error'][] = 'Cannot find null-byte (0x00) separator between ItemKey #'.$i.' and value. ItemKey starts '.$offset.' bytes into the APE tag, at file offset '.($thisfile_ape['tag_offset_start'] + $offset);
+				$this->error('Cannot find null-byte (0x00) separator between ItemKey #'.$i.' and value. ItemKey starts '.$offset.' bytes into the APE tag, at file offset '.($thisfile_ape['tag_offset_start'] + $offset));
 				return false;
 			}
 			$ItemKeyLength = strpos($APEtagData, "\x00", $offset) - $offset;
@@ -154,7 +154,7 @@ class getid3_apetag extends getid3_handler
 						$thisfile_replaygain['track']['adjustment'] = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
 						$thisfile_replaygain['track']['originator'] = 'unspecified';
 					} else {
-						$info['warning'][] = 'MP3gainTrackGain value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+						$this->warning('MP3gainTrackGain value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"');
 					}
 					break;
 
@@ -163,10 +163,10 @@ class getid3_apetag extends getid3_handler
 						$thisfile_replaygain['track']['peak']       = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
 						$thisfile_replaygain['track']['originator'] = 'unspecified';
 						if ($thisfile_replaygain['track']['peak'] <= 0) {
-							$info['warning'][] = 'ReplayGain Track peak from APEtag appears invalid: '.$thisfile_replaygain['track']['peak'].' (original value = "'.$thisfile_ape_items_current['data'][0].'")';
+							$this->warning('ReplayGain Track peak from APEtag appears invalid: '.$thisfile_replaygain['track']['peak'].' (original value = "'.$thisfile_ape_items_current['data'][0].'")');
 						}
 					} else {
-						$info['warning'][] = 'MP3gainTrackPeak value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+						$this->warning('MP3gainTrackPeak value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"');
 					}
 					break;
 
@@ -175,7 +175,7 @@ class getid3_apetag extends getid3_handler
 						$thisfile_replaygain['album']['adjustment'] = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
 						$thisfile_replaygain['album']['originator'] = 'unspecified';
 					} else {
-						$info['warning'][] = 'MP3gainAlbumGain value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+						$this->warning('MP3gainAlbumGain value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"');
 					}
 					break;
 
@@ -184,10 +184,10 @@ class getid3_apetag extends getid3_handler
 						$thisfile_replaygain['album']['peak']       = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
 						$thisfile_replaygain['album']['originator'] = 'unspecified';
 						if ($thisfile_replaygain['album']['peak'] <= 0) {
-							$info['warning'][] = 'ReplayGain Album peak from APEtag appears invalid: '.$thisfile_replaygain['album']['peak'].' (original value = "'.$thisfile_ape_items_current['data'][0].'")';
+							$this->warning('ReplayGain Album peak from APEtag appears invalid: '.$thisfile_replaygain['album']['peak'].' (original value = "'.$thisfile_ape_items_current['data'][0].'")');
 						}
 					} else {
-						$info['warning'][] = 'MP3gainAlbumPeak value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+						$this->warning('MP3gainAlbumPeak value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"');
 					}
 					break;
 
@@ -198,7 +198,7 @@ class getid3_apetag extends getid3_handler
 						$thisfile_replaygain['mp3gain']['undo_right'] = intval($mp3gain_undo_right);
 						$thisfile_replaygain['mp3gain']['undo_wrap']  = (($mp3gain_undo_wrap == 'Y') ? true : false);
 					} else {
-						$info['warning'][] = 'MP3gainUndo value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+						$this->warning('MP3gainUndo value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"');
 					}
 					break;
 
@@ -208,7 +208,7 @@ class getid3_apetag extends getid3_handler
 						$thisfile_replaygain['mp3gain']['globalgain_track_min'] = intval($mp3gain_globalgain_min);
 						$thisfile_replaygain['mp3gain']['globalgain_track_max'] = intval($mp3gain_globalgain_max);
 					} else {
-						$info['warning'][] = 'MP3gainMinMax value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+						$this->warning('MP3gainMinMax value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"');
 					}
 					break;
 
@@ -218,7 +218,7 @@ class getid3_apetag extends getid3_handler
 						$thisfile_replaygain['mp3gain']['globalgain_album_min'] = intval($mp3gain_globalgain_album_min);
 						$thisfile_replaygain['mp3gain']['globalgain_album_max'] = intval($mp3gain_globalgain_album_max);
 					} else {
-						$info['warning'][] = 'MP3gainAlbumMinMax value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+						$this->warning('MP3gainAlbumMinMax value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"');
 					}
 					break;
 
@@ -253,7 +253,7 @@ class getid3_apetag extends getid3_handler
 				case 'cover art (studio)':
 					// list of possible cover arts from http://taglib-sharp.sourcearchive.com/documentation/2.0.3.0-2/Ape_2Tag_8cs-source.html
 					if (is_array($thisfile_ape_items_current['data'])) {
-						$info['warning'][] = 'APEtag "'.$item_key.'" should be flagged as Binary data, but was incorrectly flagged as UTF-8';
+						$this->warning('APEtag "'.$item_key.'" should be flagged as Binary data, but was incorrectly flagged as UTF-8');
 						$thisfile_ape_items_current['data'] = implode("\x00", $thisfile_ape_items_current['data']);
 					}
 					list($thisfile_ape_items_current['filename'], $thisfile_ape_items_current['data']) = explode("\x00", $thisfile_ape_items_current['data'], 2);
@@ -265,7 +265,7 @@ class getid3_apetag extends getid3_handler
 						$imageinfo = array();
 						$imagechunkcheck = getid3_lib::GetDataImageSize($thisfile_ape_items_current['data'], $imageinfo);
 						if (($imagechunkcheck === false) || !isset($imagechunkcheck[2])) {
-							$info['warning'][] = 'APEtag "'.$item_key.'" contains invalid image data';
+							$this->warning('APEtag "'.$item_key.'" contains invalid image data');
 							break;
 						}
 						$thisfile_ape_items_current['image_mime'] = image_type_to_mime_type($imagechunkcheck[2]);
@@ -280,7 +280,7 @@ class getid3_apetag extends getid3_handler
 						} elseif (is_int($this->inline_attachments)) {
 							if ($this->inline_attachments < $thisfile_ape_items_current['data_length']) {
 								// too big, skip
-								$info['warning'][] = 'attachment at '.$thisfile_ape_items_current['offset'].' is too large to process inline ('.number_format($thisfile_ape_items_current['data_length']).' bytes)';
+								$this->warning('attachment at '.$thisfile_ape_items_current['offset'].' is too large to process inline ('.number_format($thisfile_ape_items_current['data_length']).' bytes)');
 								unset($thisfile_ape_items_current['data']);
 								break;
 							}
@@ -288,7 +288,7 @@ class getid3_apetag extends getid3_handler
 							$this->inline_attachments = rtrim(str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $this->inline_attachments), DIRECTORY_SEPARATOR);
 							if (!is_dir($this->inline_attachments) || !is_writable($this->inline_attachments)) {
 								// cannot write, skip
-								$info['warning'][] = 'attachment at '.$thisfile_ape_items_current['offset'].' cannot be saved to "'.$this->inline_attachments.'" (not writable)';
+								$this->warning('attachment at '.$thisfile_ape_items_current['offset'].' cannot be saved to "'.$this->inline_attachments.'" (not writable)');
 								unset($thisfile_ape_items_current['data']);
 								break;
 							}
@@ -299,7 +299,7 @@ class getid3_apetag extends getid3_handler
 							if (!file_exists($destination_filename) || is_writable($destination_filename)) {
 								file_put_contents($destination_filename, $thisfile_ape_items_current['data']);
 							} else {
-								$info['warning'][] = 'attachment at '.$thisfile_ape_items_current['offset'].' cannot be saved to "'.$destination_filename.'" (not writable)';
+								$this->warning('attachment at '.$thisfile_ape_items_current['offset'].' cannot be saved to "'.$destination_filename.'" (not writable)');
 							}
 							$thisfile_ape_items_current['data_filename'] = $destination_filename;
 							unset($thisfile_ape_items_current['data']);
diff --git a/lib/getid3/module.tag.id3v1.php b/lib/getid3/module.tag.id3v1.php
index 088e645a..d160e9b4 100644
--- a/lib/getid3/module.tag.id3v1.php
+++ b/lib/getid3/module.tag.id3v1.php
@@ -22,7 +22,7 @@ class getid3_id3v1 extends getid3_handler
 		$info = &$this->getid3->info;
 
 		if (!getid3_lib::intValueSupported($info['filesize'])) {
-			$info['warning'][] = 'Unable to check for ID3v1 because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB';
+			$this->warning('Unable to check for ID3v1 because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB');
 			return false;
 		}
 
@@ -93,7 +93,7 @@ class getid3_id3v1 extends getid3_handler
 			$ParsedID3v1['padding_valid'] = true;
 			if ($id3v1tag !== $GoodFormatID3v1tag) {
 				$ParsedID3v1['padding_valid'] = false;
-				$info['warning'][] = 'Some ID3v1 fields do not use NULL characters for padding';
+				$this->warning('Some ID3v1 fields do not use NULL characters for padding');
 			}
 
 			$ParsedID3v1['tag_offset_end']   = $info['filesize'];
@@ -116,7 +116,7 @@ class getid3_id3v1 extends getid3_handler
 				// a Lyrics3 tag footer was found before the last ID3v1, assume false "TAG" synch
 			} else {
 				// APE and Lyrics3 footers not found - assume double ID3v1
-				$info['warning'][] = 'Duplicate ID3v1 tag detected - this has been known to happen with iTunes';
+				$this->warning('Duplicate ID3v1 tag detected - this has been known to happen with iTunes');
 				$info['avdataend'] -= 128;
 			}
 		}
diff --git a/lib/getid3/module.tag.id3v2.php b/lib/getid3/module.tag.id3v2.php
index 14b1ff59..829f5ee2 100644
--- a/lib/getid3/module.tag.id3v2.php
+++ b/lib/getid3/module.tag.id3v2.php
@@ -71,7 +71,7 @@ class getid3_id3v2 extends getid3_handler
 
 		if ($id3v2_majorversion > 4) { // this script probably won't correctly parse ID3v2.5.x and above (if it ever exists)
 
-			$info['error'][] = 'this script only parses up to ID3v2.4.x - this tag is ID3v2.'.$id3v2_majorversion.'.'.$thisfile_id3v2['minorversion'];
+			$this->error('this script only parses up to ID3v2.4.x - this tag is ID3v2.'.$id3v2_majorversion.'.'.$thisfile_id3v2['minorversion']);
 			return false;
 
 		}
@@ -241,7 +241,7 @@ class getid3_id3v2 extends getid3_handler
 					}
 
 					if ($thisfile_id3v2['exthead']['length'] != $extended_header_offset) {
-						$info['warning'][] = 'ID3v2.4 extended header length mismatch (expecting '.intval($thisfile_id3v2['exthead']['length']).', found '.intval($extended_header_offset).')';
+						$this->warning('ID3v2.4 extended header length mismatch (expecting '.intval($thisfile_id3v2['exthead']['length']).', found '.intval($extended_header_offset).')');
 					}
 				}
 
@@ -260,7 +260,7 @@ class getid3_id3v2 extends getid3_handler
 						if ($framedata{$i} != "\x00") {
 							$thisfile_id3v2['padding']['valid'] = false;
 							$thisfile_id3v2['padding']['errorpos'] = $thisfile_id3v2['padding']['start'] + $i;
-							$info['warning'][] = 'Invalid ID3v2 padding found at offset '.$thisfile_id3v2['padding']['errorpos'].' (the remaining '.($thisfile_id3v2['padding']['length'] - $i).' bytes are considered invalid)';
+							$this->warning('Invalid ID3v2 padding found at offset '.$thisfile_id3v2['padding']['errorpos'].' (the remaining '.($thisfile_id3v2['padding']['length'] - $i).' bytes are considered invalid)');
 							break;
 						}
 					}
@@ -300,7 +300,7 @@ class getid3_id3v2 extends getid3_handler
 						} elseif (($frame_name == "\x00".'MP3') || ($frame_name == "\x00\x00".'MP') || ($frame_name == ' MP3') || ($frame_name == 'MP3e')) {
 							// MP3ext known broken frames - "ok" for the purposes of this test
 						} elseif (($id3v2_majorversion == 4) && ($this->IsValidID3v2FrameName(substr($framedata, getid3_lib::BigEndian2Int(substr($frame_header, 4, 4), 0), 4), 3))) {
-							$info['warning'][] = 'ID3v2 tag written as ID3v2.4, but with non-synchsafe integers (ID3v2.3 style). Older versions of (Helium2; iTunes) are known culprits of this. Tag has been parsed as ID3v2.3';
+							$this->warning('ID3v2 tag written as ID3v2.4, but with non-synchsafe integers (ID3v2.3 style). Older versions of (Helium2; iTunes) are known culprits of this. Tag has been parsed as ID3v2.3');
 							$id3v2_majorversion = 3;
 							$frame_size = getid3_lib::BigEndian2Int(substr($frame_header, 4, 4), 0); // 32-bit integer
 						}
@@ -322,7 +322,7 @@ class getid3_id3v2 extends getid3_handler
 						if ($framedata{$i} != "\x00") {
 							$thisfile_id3v2['padding']['valid'] = false;
 							$thisfile_id3v2['padding']['errorpos'] = $thisfile_id3v2['padding']['start'] + $i;
-							$info['warning'][] = 'Invalid ID3v2 padding found at offset '.$thisfile_id3v2['padding']['errorpos'].' (the remaining '.($thisfile_id3v2['padding']['length'] - $i).' bytes are considered invalid)';
+							$this->warning('Invalid ID3v2 padding found at offset '.$thisfile_id3v2['padding']['errorpos'].' (the remaining '.($thisfile_id3v2['padding']['length'] - $i).' bytes are considered invalid)');
 							break;
 						}
 					}
@@ -330,7 +330,7 @@ class getid3_id3v2 extends getid3_handler
 				}
 
 				if ($iTunesBrokenFrameNameFixed = self::ID3v22iTunesBrokenFrameName($frame_name)) {
-					$info['warning'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))). [Note: this particular error has been known to happen with tags edited by iTunes (versions "X v2.0.3", "v3.0.1", "v7.0.0.70" are known-guilty, probably others too)]. Translated frame name from "'.str_replace("\x00", ' ', $frame_name).'" to "'.$iTunesBrokenFrameNameFixed.'" for parsing.';
+					$this->warning('error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))). [Note: this particular error has been known to happen with tags edited by iTunes (versions "X v2.0.3", "v3.0.1", "v7.0.0.70" are known-guilty, probably others too)]. Translated frame name from "'.str_replace("\x00", ' ', $frame_name).'" to "'.$iTunesBrokenFrameNameFixed.'" for parsing.');
 					$frame_name = $iTunesBrokenFrameNameFixed;
 				}
 				if (($frame_size <= strlen($framedata)) && ($this->IsValidID3v2FrameName($frame_name, $id3v2_majorversion))) {
@@ -355,28 +355,28 @@ class getid3_id3v2 extends getid3_handler
 
 							// next frame is valid, just skip the current frame
 							$framedata = substr($framedata, $frame_size);
-							$info['warning'][] = 'Next ID3v2 frame is valid, skipping current frame.';
+							$this->warning('Next ID3v2 frame is valid, skipping current frame.');
 
 						} else {
 
 							// next frame is invalid too, abort processing
 							//unset($framedata);
 							$framedata = null;
-							$info['error'][] = 'Next ID3v2 frame is also invalid, aborting processing.';
+							$this->error('Next ID3v2 frame is also invalid, aborting processing.');
 
 						}
 
 					} elseif ($frame_size == strlen($framedata)) {
 
 						// this is the last frame, just skip
-						$info['warning'][] = 'This was the last ID3v2 frame.';
+						$this->warning('This was the last ID3v2 frame.');
 
 					} else {
 
 						// next frame is invalid too, abort processing
 						//unset($framedata);
 						$framedata = null;
-						$info['warning'][] = 'Invalid ID3v2 frame size, aborting.';
+						$this->warning('Invalid ID3v2 frame size, aborting.');
 
 					}
 					if (!$this->IsValidID3v2FrameName($frame_name, $id3v2_majorversion)) {
@@ -389,21 +389,21 @@ class getid3_id3v2 extends getid3_handler
 							case "\x00".'MP':
 							case ' MP':
 							case 'MP3':
-								$info['warning'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: !IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))). [Note: this particular error has been known to happen with tags edited by "MP3ext (www.mutschler.de/mp3ext/)"]';
+								$this->warning('error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: !IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))). [Note: this particular error has been known to happen with tags edited by "MP3ext (www.mutschler.de/mp3ext/)"]');
 								break;
 
 							default:
-								$info['warning'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: !IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))).';
+								$this->warning('error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: !IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))).');
 								break;
 						}
 
 					} elseif (!isset($framedata) || ($frame_size > strlen($framedata))) {
 
-						$info['error'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: $frame_size ('.$frame_size.') > strlen($framedata) ('.(isset($framedata) ? strlen($framedata) : 'null').')).';
+						$this->error('error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: $frame_size ('.$frame_size.') > strlen($framedata) ('.(isset($framedata) ? strlen($framedata) : 'null').')).');
 
 					} else {
 
-						$info['error'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag).';
+						$this->error('error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag).');
 
 					}
 
@@ -594,14 +594,14 @@ class getid3_id3v2 extends getid3_handler
 			if ($parsedFrame['flags']['compression']) {
 				$parsedFrame['decompressed_size'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], 0, 4));
 				if (!function_exists('gzuncompress')) {
-					$info['warning'][] = 'gzuncompress() support required to decompress ID3v2 frame "'.$parsedFrame['frame_name'].'"';
+					$this->warning('gzuncompress() support required to decompress ID3v2 frame "'.$parsedFrame['frame_name'].'"');
 				} else {
 					if ($decompresseddata = @gzuncompress(substr($parsedFrame['data'], 4))) {
 					//if ($decompresseddata = @gzuncompress($parsedFrame['data'])) {
 						$parsedFrame['data'] = $decompresseddata;
 						unset($decompresseddata);
 					} else {
-						$info['warning'][] = 'gzuncompress() failed on compressed contents of ID3v2 frame "'.$parsedFrame['frame_name'].'"';
+						$this->warning('gzuncompress() failed on compressed contents of ID3v2 frame "'.$parsedFrame['frame_name'].'"');
 					}
 				}
 			}
@@ -609,7 +609,7 @@ class getid3_id3v2 extends getid3_handler
 
 		if (!empty($parsedFrame['flags']['DataLengthIndicator'])) {
 			if ($parsedFrame['data_length_indicator'] != strlen($parsedFrame['data'])) {
-				$info['warning'][] = 'ID3v2 frame "'.$parsedFrame['frame_name'].'" should be '.$parsedFrame['data_length_indicator'].' bytes long according to DataLengthIndicator, but found '.strlen($parsedFrame['data']).' bytes of data';
+				$this->warning('ID3v2 frame "'.$parsedFrame['frame_name'].'" should be '.$parsedFrame['data_length_indicator'].' bytes long according to DataLengthIndicator, but found '.strlen($parsedFrame['data']).' bytes of data');
 			}
 		}
 
@@ -624,7 +624,7 @@ class getid3_id3v2 extends getid3_handler
 				default:
 					break;
 			}
-			$info['warning'][] = $warning;
+			$this->warning($warning);
 
 		} elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'UFID')) || // 4.1   UFID Unique file identifier
 			(($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'UFI'))) {  // 4.1   UFI  Unique file identifier
@@ -650,7 +650,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			$frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 				$frame_textencoding_terminator = "\x00";
 			}
 			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
@@ -688,7 +688,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_offset = 0;
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 			}
 
 			$parsedFrame['data'] = (string) substr($parsedFrame['data'], $frame_offset);
@@ -744,7 +744,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			$frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 				$frame_textencoding_terminator = "\x00";
 			}
 			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
@@ -807,7 +807,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_offset = 0;
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 			}
 			$parsedFrame['encodingid'] = $frame_textencoding;
 			$parsedFrame['encoding']   = $this->TextEncodingNameLookup($parsedFrame['encodingid']);
@@ -985,7 +985,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			$frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 				$frame_textencoding_terminator = "\x00";
 			}
 			$frame_language = substr($parsedFrame['data'], $frame_offset, 3);
@@ -1033,7 +1033,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			$frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 				$frame_textencoding_terminator = "\x00";
 			}
 			$frame_language = substr($parsedFrame['data'], $frame_offset, 3);
@@ -1085,7 +1085,7 @@ class getid3_id3v2 extends getid3_handler
 
 			if (strlen($parsedFrame['data']) < 5) {
 
-				$info['warning'][] = 'Invalid data (too short) for "'.$parsedFrame['frame_name'].'" frame at offset '.$parsedFrame['dataoffset'];
+				$this->warning('Invalid data (too short) for "'.$parsedFrame['frame_name'].'" frame at offset '.$parsedFrame['dataoffset']);
 
 			} else {
 
@@ -1093,7 +1093,7 @@ class getid3_id3v2 extends getid3_handler
 				$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 				$frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
 				if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-					$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+					$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 					$frame_textencoding_terminator = "\x00";
 				}
 				$frame_language = substr($parsedFrame['data'], $frame_offset, 3);
@@ -1157,7 +1157,7 @@ class getid3_id3v2 extends getid3_handler
 				$frame_offset += 2;
 				$parsedFrame[$RVA2channelcounter]['bitspeakvolume'] = ord(substr($frame_remainingdata, $frame_offset++, 1));
 				if (($parsedFrame[$RVA2channelcounter]['bitspeakvolume'] < 1) || ($parsedFrame[$RVA2channelcounter]['bitspeakvolume'] > 4)) {
-					$info['warning'][] = 'ID3v2::RVA2 frame['.$RVA2channelcounter.'] contains invalid '.$parsedFrame[$RVA2channelcounter]['bitspeakvolume'].'-byte bits-representing-peak value';
+					$this->warning('ID3v2::RVA2 frame['.$RVA2channelcounter.'] contains invalid '.$parsedFrame[$RVA2channelcounter]['bitspeakvolume'].'-byte bits-representing-peak value');
 					break;
 				}
 				$frame_bytespeakvolume = ceil($parsedFrame[$RVA2channelcounter]['bitspeakvolume'] / 8);
@@ -1366,7 +1366,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			$frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 				$frame_textencoding_terminator = "\x00";
 			}
 
@@ -1401,7 +1401,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_picturetype = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 
 			if ($frame_offset >= $parsedFrame['datalength']) {
-				$info['warning'][] = 'data portion of APIC frame is missing at offset '.($parsedFrame['dataoffset'] + 8 + $frame_offset);
+				$this->warning('data portion of APIC frame is missing at offset '.($parsedFrame['dataoffset'] + 8 + $frame_offset));
 			} else {
 				$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
 				if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
@@ -1452,7 +1452,7 @@ class getid3_id3v2 extends getid3_handler
 					} elseif (is_int($this->getid3->option_save_attachments)) {
 						if ($this->getid3->option_save_attachments < $parsedFrame['data_length']) {
 							// too big, skip
-							$info['warning'][] = 'attachment at '.$frame_offset.' is too large to process inline ('.number_format($parsedFrame['data_length']).' bytes)';
+							$this->warning('attachment at '.$frame_offset.' is too large to process inline ('.number_format($parsedFrame['data_length']).' bytes)');
 							unset($parsedFrame['data']);
 							break;
 						}
@@ -1461,7 +1461,7 @@ class getid3_id3v2 extends getid3_handler
 						$dir = rtrim(str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $this->getid3->option_save_attachments), DIRECTORY_SEPARATOR);
 						if (!is_dir($dir) || !is_writable($dir)) {
 							// cannot write, skip
-							$info['warning'][] = 'attachment at '.$frame_offset.' cannot be saved to "'.$dir.'" (not writable)';
+							$this->warning('attachment at '.$frame_offset.' cannot be saved to "'.$dir.'" (not writable)');
 							unset($parsedFrame['data']);
 							break;
 						}
@@ -1472,7 +1472,7 @@ class getid3_id3v2 extends getid3_handler
 						if (!file_exists($destination_filename) || is_writable($destination_filename)) {
 							file_put_contents($destination_filename, $parsedFrame['data']);
 						} else {
-							$info['warning'][] = 'attachment at '.$frame_offset.' cannot be saved to "'.$destination_filename.'" (not writable)';
+							$this->warning('attachment at '.$frame_offset.' cannot be saved to "'.$destination_filename.'" (not writable)');
 						}
 						$parsedFrame['data_filename'] = $destination_filename;
 						unset($parsedFrame['data']);
@@ -1509,7 +1509,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			$frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 				$frame_textencoding_terminator = "\x00";
 			}
 			$frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
@@ -1712,7 +1712,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_offset = 0;
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 			}
 			$frame_language = substr($parsedFrame['data'], $frame_offset, 3);
 			$frame_offset += 3;
@@ -1739,7 +1739,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_offset = 0;
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 			}
 			$parsedFrame['encodingid'] = $frame_textencoding;
 			$parsedFrame['encoding']   = $this->TextEncodingNameLookup($frame_textencoding);
@@ -1780,7 +1780,7 @@ class getid3_id3v2 extends getid3_handler
 			$frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 			$frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
 			if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
-				$info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+				$this->warning('Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding');
 				$frame_textencoding_terminator = "\x00";
 			}
 
@@ -2036,7 +2036,7 @@ class getid3_id3v2 extends getid3_handler
 					$subframe['flags_raw'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
 					$frame_offset += 2;
 					if ($subframe['size'] > (strlen($parsedFrame['data']) - $frame_offset)) {
-						$info['warning'][] = 'CHAP subframe "'.$subframe['name'].'" at frame offset '.$frame_offset.' claims to be "'.$subframe['size'].'" bytes, which is more than the available data ('.(strlen($parsedFrame['data']) - $frame_offset).' bytes)';
+						$this->warning('CHAP subframe "'.$subframe['name'].'" at frame offset '.$frame_offset.' claims to be "'.$subframe['size'].'" bytes, which is more than the available data ('.(strlen($parsedFrame['data']) - $frame_offset).' bytes)');
 						break;
 					}
 					$subframe_rawdata = substr($parsedFrame['data'], $frame_offset, $subframe['size']);
@@ -2073,7 +2073,7 @@ class getid3_id3v2 extends getid3_handler
 						}
 						$parsedFrame['subframes'][] = $subframe;
 					} else {
-						$info['warning'][] = 'ID3v2.CHAP subframe "'.$subframe['name'].'" not handled (only TIT2 and TIT3)';
+						$this->warning('ID3v2.CHAP subframe "'.$subframe['name'].'" not handled (only TIT2 and TIT3)');
 					}
 				}
 				unset($subframe_rawdata, $subframe, $encoding_converted_text);
@@ -2133,7 +2133,7 @@ class getid3_id3v2 extends getid3_handler
 					$subframe['flags_raw'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
 					$frame_offset += 2;
 					if ($subframe['size'] > (strlen($parsedFrame['data']) - $frame_offset)) {
-						$info['warning'][] = 'CTOS subframe "'.$subframe['name'].'" at frame offset '.$frame_offset.' claims to be "'.$subframe['size'].'" bytes, which is more than the available data ('.(strlen($parsedFrame['data']) - $frame_offset).' bytes)';
+						$this->warning('CTOS subframe "'.$subframe['name'].'" at frame offset '.$frame_offset.' claims to be "'.$subframe['size'].'" bytes, which is more than the available data ('.(strlen($parsedFrame['data']) - $frame_offset).' bytes)');
 						break;
 					}
 					$subframe_rawdata = substr($parsedFrame['data'], $frame_offset, $subframe['size']);
@@ -2170,7 +2170,7 @@ class getid3_id3v2 extends getid3_handler
 						}
 						$parsedFrame['subframes'][] = $subframe;
 					} else {
-						$info['warning'][] = 'ID3v2.CTOC subframe "'.$subframe['name'].'" not handled (only TIT2 and TIT3)';
+						$this->warning('ID3v2.CTOC subframe "'.$subframe['name'].'" not handled (only TIT2 and TIT3)');
 					}
 				}
 				unset($subframe_rawdata, $subframe, $encoding_converted_text);
diff --git a/lib/getid3/module.tag.lyrics3.php b/lib/getid3/module.tag.lyrics3.php
index 419888bf..1645396b 100644
--- a/lib/getid3/module.tag.lyrics3.php
+++ b/lib/getid3/module.tag.lyrics3.php
@@ -24,7 +24,7 @@ class getid3_lyrics3 extends getid3_handler
 		// http://www.volweb.cz/str/tags.htm
 
 		if (!getid3_lib::intValueSupported($info['filesize'])) {
-			$info['warning'][] = 'Unable to check for Lyrics3 because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB';
+			$this->warning('Unable to check for Lyrics3 because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB');
 			return false;
 		}
 
@@ -80,7 +80,7 @@ class getid3_lyrics3 extends getid3_handler
 					$lyrics3offset  = $info['ape']['tag_offset_start'] - $lyrics3size;
 					$info['avdataend'] = $lyrics3offset;
 					$lyrics3version = 1;
-					$info['warning'][] = 'APE tag located after Lyrics3, will probably break Lyrics3 compatability';
+					$this->warning('APE tag located after Lyrics3, will probably break Lyrics3 compatability');
 
 				} elseif ($lyrics3end == 'LYRICS200') {
 					// Lyrics3v2, APE, maybe ID3v1
@@ -88,7 +88,7 @@ class getid3_lyrics3 extends getid3_handler
 					$lyrics3size    = $lyrics3lsz + 6 + strlen('LYRICS200'); // LSZ = lyrics + 'LYRICSBEGIN'; add 6-byte size field; add 'LYRICS200'
 					$lyrics3offset  = $info['ape']['tag_offset_start'] - $lyrics3size;
 					$lyrics3version = 2;
-					$info['warning'][] = 'APE tag located after Lyrics3, will probably break Lyrics3 compatability';
+					$this->warning('APE tag located after Lyrics3, will probably break Lyrics3 compatability');
 
 				}
 
@@ -117,7 +117,7 @@ class getid3_lyrics3 extends getid3_handler
 					}
 					unset($getid3_temp, $getid3_apetag);
 				} else {
-					$info['warning'][] = 'Lyrics3 and APE tags appear to have become entangled (most likely due to updating the APE tags with a non-Lyrics3-aware tagger)';
+					$this->warning('Lyrics3 and APE tags appear to have become entangled (most likely due to updating the APE tags with a non-Lyrics3-aware tagger)');
 				}
 			}
 
@@ -132,7 +132,7 @@ class getid3_lyrics3 extends getid3_handler
 		$info = &$this->getid3->info;
 
 		if (!getid3_lib::intValueSupported($endoffset)) {
-			$info['warning'][] = 'Unable to check for Lyrics3 because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB';
+			$this->warning('Unable to check for Lyrics3 because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB');
 			return false;
 		}
 
@@ -150,7 +150,7 @@ class getid3_lyrics3 extends getid3_handler
 		if (substr($rawdata, 0, 11) != 'LYRICSBEGIN') {
 			if (strpos($rawdata, 'LYRICSBEGIN') !== false) {
 
-				$info['warning'][] = '"LYRICSBEGIN" expected at '.$endoffset.' but actually found at '.($endoffset + strpos($rawdata, 'LYRICSBEGIN')).' - this is invalid for Lyrics3 v'.$version;
+				$this->warning('"LYRICSBEGIN" expected at '.$endoffset.' but actually found at '.($endoffset + strpos($rawdata, 'LYRICSBEGIN')).' - this is invalid for Lyrics3 v'.$version);
 				$info['avdataend'] = $endoffset + strpos($rawdata, 'LYRICSBEGIN');
 				$rawdata = substr($rawdata, strpos($rawdata, 'LYRICSBEGIN'));
 				$length = strlen($rawdata);
@@ -159,7 +159,7 @@ class getid3_lyrics3 extends getid3_handler
 
 			} else {
 
-				$info['error'][] = '"LYRICSBEGIN" expected at '.$endoffset.' but found "'.substr($rawdata, 0, 11).'" instead';
+				$this->error('"LYRICSBEGIN" expected at '.$endoffset.' but found "'.substr($rawdata, 0, 11).'" instead');
 				return false;
 
 			}
@@ -173,7 +173,7 @@ class getid3_lyrics3 extends getid3_handler
 					$ParsedLyrics3['raw']['LYR'] = trim(substr($rawdata, 11, strlen($rawdata) - 11 - 9));
 					$this->Lyrics3LyricsTimestampParse($ParsedLyrics3);
 				} else {
-					$info['error'][] = '"LYRICSEND" expected at '.($this->ftell() - 11 + $length - 9).' but found "'.substr($rawdata, strlen($rawdata) - 9, 9).'" instead';
+					$this->error('"LYRICSEND" expected at '.($this->ftell() - 11 + $length - 9).' but found "'.substr($rawdata, strlen($rawdata) - 9, 9).'" instead');
 					return false;
 				}
 				break;
@@ -221,20 +221,20 @@ class getid3_lyrics3 extends getid3_handler
 						$this->Lyrics3LyricsTimestampParse($ParsedLyrics3);
 					}
 				} else {
-					$info['error'][] = '"LYRICS200" expected at '.($this->ftell() - 11 + $length - 9).' but found "'.substr($rawdata, strlen($rawdata) - 9, 9).'" instead';
+					$this->error('"LYRICS200" expected at '.($this->ftell() - 11 + $length - 9).' but found "'.substr($rawdata, strlen($rawdata) - 9, 9).'" instead');
 					return false;
 				}
 				break;
 
 			default:
-				$info['error'][] = 'Cannot process Lyrics3 version '.$version.' (only v1 and v2)';
+				$this->error('Cannot process Lyrics3 version '.$version.' (only v1 and v2)');
 				return false;
 				break;
 		}
 
 
 		if (isset($info['id3v1']['tag_offset_start']) && ($info['id3v1']['tag_offset_start'] <= $ParsedLyrics3['tag_offset_end'])) {
-			$info['warning'][] = 'ID3v1 tag information ignored since it appears to be a false synch in Lyrics3 tag data';
+			$this->warning('ID3v1 tag information ignored since it appears to be a false synch in Lyrics3 tag data');
 			unset($info['id3v1']);
 			foreach ($info['warning'] as $key => $value) {
 				if ($value == 'Some ID3v1 fields do not use NULL characters for padding') {
diff --git a/lib/getid3/write.php b/lib/getid3/write.php
index 8b2b67df..d4416549 100644
--- a/lib/getid3/write.php
+++ b/lib/getid3/write.php
@@ -531,6 +531,17 @@ throw new Exception('$this->overwrite_tags=false is known to be buggy in this ve
 					}
 					break;
 
+				case 'TXXX':
+					foreach ($valuearray as $key => $txxx_data_array) {
+						if (isset($txxx_data_array['description']) && isset($txxx_data_array['data'])) {
+							$tag_data_id3v2['TXXX'][] = $txxx_data_array;
+						} else {
+							$this->errors[] = 'ID3v2 TXXX data is not properly structured';
+							return false;
+						}
+					}
+					break;
+
 				case '':
 					$this->errors[] = 'ID3v2: Skipping "'.$tag_key.'" because cannot match it to a known ID3v2 frame type';
 					// some other data type, don't know how to handle it, ignore it
diff --git a/lib/mejs/lang/pt-br.js b/lib/mejs/lang/pt-br.js
deleted file mode 100644
index 4357e709..00000000
--- a/lib/mejs/lang/pt-br.js
+++ /dev/null
@@ -1,91 +0,0 @@
-'use strict';/*!
- * This is a `i18n` language object.
- *
- * Brazilian (Portuguese)
- *
- * @author
- *   Armando Meziat (Twitter: @odnamrataizem)
- *   Sascha Greuel (Twitter: @SoftCreatR)
- *
- * @see core/i18n.js
- */
-(function (exports) {
-	if (exports['pt-BR'] === undefined) {
-		exports['pt-BR'] = {
-			"mejs.plural-form": 2,			
-			"mejs.download-file": "Baixar arquivo",			
-			// "mejs.install-flash": "You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/",			
-			"mejs.fullscreen": "Tela inteira",			
-			//"mejs.play": "Play",
-			//"mejs.pause": "Pause",			
-			//"mejs.time-slider": "Time Slider",
-			//"mejs.time-help-text": "Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.",
-			//"mejs.live-broadcast" : "Live Broadcast",			
-			//"mejs.time-skip-back": "Skip back %1 second(s)",			
-			//"mejs.volume-help-text": "Use Up/Down Arrow keys to increase or decrease volume.",
-			"mejs.unmute": "Tirar silêncio",
-			"mejs.mute": "Silenciar",
-			//"mejs.volume-slider": "Volume Slider",			
-			//"mejs.video-player": "Video Player",
-			//"mejs.audio-player": "Audio Player",			
-			"mejs.captions-subtitles": "Legendas",
-			// "mejs.captions-chapters": "Chapters",
-			"mejs.none": "Sem legendas"
-			// "mejs.afrikaans": "Afrikaans",
-			// "mejs.albanian": "Albanian",
-			// "mejs.arabic": "Arabic",
-			// "mejs.belarusian": "Belarusian",
-			// "mejs.bulgarian": "Bulgarian",
-			// "mejs.catalan": "Catalan",
-			// "mejs.chinese": "Chinese",
-			// "mejs.chinese-simplified": "Chinese (Simplified)",
-			// "mejs.chinese-traditional": "Chinese (Traditional)",
-			// "mejs.croatian": "Croatian",
-			// "mejs.czech": "Czech",
-			// "mejs.danish": "Danish",
-			// "mejs.dutch": "Dutch",
-			// "mejs.english": "English",
-			// "mejs.estonian": "Estonian",
-			// "mejs.filipino": "Filipino",
-			// "mejs.finnish": "Finnish",
-			// "mejs.french": "French",
-			// "mejs.galician": "Galician",
-			// "mejs.german": "German",
-			// "mejs.greek": "Greek",
-			// "mejs.haitian-creole": "Haitian Creole",
-			// "mejs.hebrew": "Hebrew",
-			// "mejs.hindi": "Hindi",
-			// "mejs.hungarian": "Hungarian",
-			// "mejs.icelandic": "Icelandic",
-			// "mejs.indonesian": "Indonesian",
-			// "mejs.irish": "Irish",
-			// "mejs.italian": "Italian",
-			// "mejs.japanese": "Japanese",
-			// "mejs.korean": "Korean",
-			// "mejs.latvian": "Latvian",
-			// "mejs.lithuanian": "Lithuanian",
-			// "mejs.macedonian": "Macedonian",
-			// "mejs.malay": "Malay",
-			// "mejs.maltese": "Maltese",
-			// "mejs.norwegian": "Norwegian",
-			// "mejs.persian": "Persian",
-			// "mejs.polish": "Polish",
-			// "mejs.portuguese": "Portuguese",
-			// "mejs.romanian": "Romanian",
-			// "mejs.russian": "Russian",
-			// "mejs.serbian": "Serbian",
-			// "mejs.slovak": "Slovak",
-			// "mejs.slovenian": "Slovenian",
-			// "mejs.spanish": "Spanish",
-			// "mejs.swahili": "Swahili",
-			// "mejs.swedish": "Swedish",
-			// "mejs.tagalog": "Tagalog",
-			// "mejs.thai": "Thai",
-			// "mejs.turkish": "Turkish",
-			// "mejs.ukrainian": "Ukrainian",
-			// "mejs.vietnamese": "Vietnamese",
-			// "mejs.welsh": "Welsh",
-			// "mejs.yiddish": "Yiddish"
-		};
-	}
-})(mejs.i18n);
\ No newline at end of file
diff --git a/lib/mejs/mediaelement-and-player.js b/lib/mejs/mediaelement-and-player.js
index e9d3a852..8f3aadad 100644
--- a/lib/mejs/mediaelement-and-player.js
+++ b/lib/mejs/mediaelement-and-player.js
@@ -864,9 +864,23 @@ var MediaElement = function MediaElement(idOrNode, options, sources) {
 	    triggerAction = function triggerAction(methodName, args) {
 		try {
 			if (methodName === 'play' && t.mediaElement.rendererName === 'native_dash') {
-				setTimeout(function () {
-					t.mediaElement.renderer[methodName](args);
-				}, 100);
+				var response = t.mediaElement.renderer[methodName](args);
+				if (response && typeof response.then === 'function') {
+					response.catch(function () {
+						if (t.mediaElement.paused) {
+							setTimeout(function () {
+								var tmpResponse = t.mediaElement.renderer.play();
+								if (tmpResponse !== undefined) {
+									tmpResponse.catch(function () {
+										if (!t.mediaElement.renderer.paused) {
+											t.mediaElement.renderer.pause();
+										}
+									});
+								}
+							}, 150);
+						}
+					});
+				}
 			} else {
 				t.mediaElement.renderer[methodName](args);
 			}
@@ -975,6 +989,7 @@ var MediaElement = function MediaElement(idOrNode, options, sources) {
 };
 
 _window2.default.MediaElement = MediaElement;
+_mejs2.default.MediaElement = MediaElement;
 
 exports.default = MediaElement;
 
@@ -993,7 +1008,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
 
 var mejs = {};
 
-mejs.version = '4.2.5';
+mejs.version = '4.2.6';
 
 mejs.html5media = {
 	properties: ['volume', 'src', 'currentTime', 'muted', 'duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable', 'currentSrc', 'preload', 'bufferedBytes', 'bufferedTime', 'initialTime', 'startOffsetTime', 'defaultPlaybackRate', 'playbackRate', 'played', 'autoplay', 'loop', 'controls'],
@@ -1207,6 +1222,21 @@ Object.assign(_player2.default.prototype, {
 
 		player.fullscreenBtn = fullscreenBtn;
 
+		t.options.keyActions.push({
+			keys: [70],
+			action: function action(player, media, key, event) {
+				if (!event.ctrlKey) {
+					if (typeof player.enterFullScreen !== 'undefined') {
+						if (player.isFullScreen) {
+							player.exitFullScreen();
+						} else {
+							player.enterFullScreen();
+						}
+					}
+				}
+			}
+		});
+
 		t.exitFullscreenCallback = function (e) {
 			var key = e.which || e.keyCode || 0;
 			if (key === 27 && (Features.HAS_TRUE_NATIVE_FULLSCREEN && Features.IS_FULLSCREEN || t.isFullScreen)) {
@@ -1548,7 +1578,38 @@ Object.assign(_player2.default.prototype, {
 
 		t.addControlElement(rail, 'progress');
 
-		controls.querySelector('.' + t.options.classPrefix + 'time-buffering').style.display = 'none';
+		t.options.keyActions.push({
+			keys: [37, 227],
+			action: function action(player) {
+				if (!isNaN(player.duration) && player.duration > 0) {
+					if (player.isVideo) {
+						player.showControls();
+						player.startControlsTimer();
+					}
+
+					player.container.querySelector('.' + _player.config.classPrefix + 'time-total').focus();
+
+					var newTime = Math.max(player.currentTime - player.options.defaultSeekBackwardInterval(player), 0);
+					player.setCurrentTime(newTime);
+				}
+			}
+		}, {
+			keys: [39, 228],
+			action: function action(player) {
+
+				if (!isNaN(player.duration) && player.duration > 0) {
+					if (player.isVideo) {
+						player.showControls();
+						player.startControlsTimer();
+					}
+
+					player.container.querySelector('.' + _player.config.classPrefix + 'time-total').focus();
+
+					var newTime = Math.min(player.currentTime + player.options.defaultSeekForwardInterval(player), player.duration);
+					player.setCurrentTime(newTime);
+				}
+			}
+		});
 
 		t.rail = controls.querySelector('.' + t.options.classPrefix + 'time-rail');
 		t.total = controls.querySelector('.' + t.options.classPrefix + 'time-total');
@@ -1559,6 +1620,7 @@ Object.assign(_player2.default.prototype, {
 		t.timefloatcurrent = controls.querySelector('.' + t.options.classPrefix + 'time-float-current');
 		t.slider = controls.querySelector('.' + t.options.classPrefix + 'time-slider');
 		t.hovered = controls.querySelector('.' + t.options.classPrefix + 'time-hovered');
+		t.buffer = controls.querySelector('.' + t.options.classPrefix + 'time-buffering');
 		t.newTime = 0;
 		t.forcedHandlePause = false;
 		t.setTransformStyle = function (element, value) {
@@ -1569,6 +1631,8 @@ Object.assign(_player2.default.prototype, {
 			element.style.OTransform = value;
 		};
 
+		t.buffer.style.display = 'none';
+
 		var handleMouseMove = function handleMouseMove(e) {
 			var totalStyles = getComputedStyle(t.total),
 			    offsetStyles = (0, _dom.offset)(t.total),
@@ -1625,7 +1689,7 @@ Object.assign(_player2.default.prototype, {
 					t.updateCurrent(t.newTime);
 				}
 
-				if (!_constants.IS_IOS && !_constants.IS_ANDROID && t.timefloat) {
+				if (!_constants.IS_IOS && !_constants.IS_ANDROID) {
 					if (pos < 0) {
 						pos = 0;
 					}
@@ -1645,18 +1709,27 @@ Object.assign(_player2.default.prototype, {
 						}
 					}
 
-					var half = t.timefloat.offsetWidth / 2;
-					if (x <= t.timefloat.offsetWidth + half) {
-						leftPos = half;
-					} else if (x >= t.container.offsetWidth - half) {
-						leftPos = t.total.offsetWidth - half;
-					} else {
-						leftPos = pos;
-					}
+					if (t.timefloat) {
+						var half = t.timefloat.offsetWidth / 2,
+						    offsetContainer = mejs.Utils.offset(t.container),
+						    tooltipStyles = getComputedStyle(t.timefloat);
+
+						if (x - offsetContainer.left < t.timefloat.offsetWidth) {
+							leftPos = half;
+						} else if (x - offsetContainer.left >= t.container.offsetWidth - half) {
+							leftPos = t.total.offsetWidth - half;
+						} else {
+							leftPos = pos;
+						}
 
-					t.timefloat.style.left = leftPos + 'px';
-					t.timefloatcurrent.innerHTML = (0, _time.secondsToTimeCode)(t.newTime, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength);
-					t.timefloat.style.display = 'block';
+						if ((0, _dom.hasClass)(t.container, t.options.classPrefix + 'long-video')) {
+							leftPos += parseFloat(tooltipStyles.marginLeft) / 2 + t.timefloat.offsetWidth / 2;
+						}
+
+						t.timefloat.style.left = leftPos + 'px';
+						t.timefloatcurrent.innerHTML = (0, _time.secondsToTimeCode)(t.newTime, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength);
+						t.timefloat.style.display = 'block';
+					}
 				}
 			} else if (!_constants.IS_IOS && !_constants.IS_ANDROID && t.timefloat) {
 				leftPos = t.timefloat.offsetWidth + width >= t.container.offsetWidth ? t.timefloat.offsetWidth / 2 : 0;
@@ -1725,16 +1798,35 @@ Object.assign(_player2.default.prototype, {
 				    seekBackward = player.options.defaultSeekBackwardInterval(media);
 
 				var seekTime = t.getCurrentTime();
+				var volume = t.container.querySelector('.' + t.options.classPrefix + 'volume-slider');
+
+				if (keyCode === 38 || keyCode === 40) {
+					if (volume) {
+						volume.style.display = 'block';
+					}
+					if (t.isVideo) {
+						t.showControls();
+						t.startControlsTimer();
+					}
+
+					var newVolume = keyCode === 38 ? Math.min(t.volume + 0.1, 1) : Math.max(t.volume - 0.1, 0),
+					    mutePlayer = newVolume <= 0;
+					t.setVolume(newVolume);
+					t.setMuted(mutePlayer);
+					return;
+				} else {
+					if (volume) {
+						volume.style.display = 'none';
+					}
+				}
 
 				switch (keyCode) {
 					case 37:
-					case 40:
 						if (t.getDuration() !== Infinity) {
 							seekTime -= seekBackward;
 						}
 						break;
 					case 39:
-					case 38:
 						if (t.getDuration() !== Infinity) {
 							seekTime += seekForward;
 						}
@@ -1745,8 +1837,9 @@ Object.assign(_player2.default.prototype, {
 					case 35:
 						seekTime = duration;
 						break;
+					case 13:
 					case 32:
-						if (!_constants.IS_FIREFOX) {
+						if (_constants.IS_FIREFOX) {
 							if (t.paused) {
 								t.play();
 							} else {
@@ -1754,13 +1847,6 @@ Object.assign(_player2.default.prototype, {
 							}
 						}
 						return;
-					case 13:
-						if (t.paused) {
-							t.play();
-						} else {
-							t.pause();
-						}
-						return;
 					default:
 						return;
 				}
@@ -1776,6 +1862,7 @@ Object.assign(_player2.default.prototype, {
 				}
 
 				t.setCurrentTime(seekTime);
+				player.showControls();
 
 				e.preventDefault();
 				e.stopPropagation();
@@ -1819,7 +1906,7 @@ Object.assign(_player2.default.prototype, {
 						});
 					}
 				}
-			});
+			}, _constants.SUPPORT_PASSIVE_EVENT && events[i] === 'touchstart' ? { passive: true } : false);
 		}
 		t.slider.addEventListener('mouseenter', function (e) {
 			if (e.target === t.slider && t.getDuration() !== Infinity) {
@@ -1874,6 +1961,33 @@ Object.assign(_player2.default.prototype, {
 
 		media.addEventListener('progress', t.broadcastCallback);
 		media.addEventListener('timeupdate', t.broadcastCallback);
+		media.addEventListener('play', function () {
+			t.buffer.style.display = 'none';
+		});
+		media.addEventListener('playing', function () {
+			t.buffer.style.display = 'none';
+		});
+		media.addEventListener('seeking', function () {
+			t.buffer.style.display = '';
+		});
+		media.addEventListener('seeked', function () {
+			t.buffer.style.display = 'none';
+		});
+		media.addEventListener('pause', function () {
+			t.buffer.style.display = 'none';
+		});
+		media.addEventListener('waiting', function () {
+			t.buffer.style.display = '';
+		});
+		media.addEventListener('loadeddata', function () {
+			t.buffer.style.display = '';
+		});
+		media.addEventListener('canplay', function () {
+			t.buffer.style.display = 'none';
+		});
+		media.addEventListener('error', function () {
+			t.buffer.style.display = 'none';
+		});
 
 		t.container.addEventListener('controlsresize', function (e) {
 			if (t.getDuration() !== Infinity) {
@@ -1989,6 +2103,7 @@ Object.assign(_player2.default.prototype, {
 		time.innerHTML = '<span class="' + t.options.classPrefix + 'currenttime">' + (0, _time.secondsToTimeCode)(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength) + '</span>';
 
 		t.addControlElement(time, 'current');
+		player.updateCurrent();
 		t.updateTimeCallback = function () {
 			if (t.controlsAreVisible) {
 				player.updateCurrent();
@@ -2017,10 +2132,16 @@ Object.assign(_player2.default.prototype, {
 			t.addControlElement(duration, 'duration');
 		}
 
-		media.addEventListener('timeupdate', t.updateTimeCallback);
+		t.updateDurationCallback = function () {
+			if (t.controlsAreVisible) {
+				player.updateDuration();
+			}
+		};
+
+		media.addEventListener('timeupdate', t.updateDurationCallback);
 	},
 	cleanduration: function cleanduration(player, controls, layers, media) {
-		media.removeEventListener('timeupdate', player.updateTimeCallback);
+		media.removeEventListener('timeupdate', player.updateDurationCallback);
 	},
 	updateCurrent: function updateCurrent() {
 		var t = this;
@@ -2118,6 +2239,8 @@ Object.assign(_player2.default.prototype, {
 
 	buildtracks: function buildtracks(player, controls, layers, media) {
 
+		this.findTracks();
+
 		if (!player.tracks.length && (!player.trackFiles || !player.trackFiles.length === 0)) {
 			return;
 		}
@@ -2187,12 +2310,13 @@ Object.assign(_player2.default.prototype, {
 		    outEvents = ['mouseleave', 'focusout'];
 
 		if (t.options.toggleCaptionsButtonWhenOnlyOne && subtitleCount === 1) {
-			player.captionsButton.addEventListener('click', function () {
+			player.captionsButton.addEventListener('click', function (e) {
 				var trackId = 'none';
 				if (player.selectedTrack === null) {
 					trackId = player.tracks[0].trackId;
 				}
-				player.setTrack(trackId);
+				var keyboard = e.keyCode || e.which;
+				player.setTrack(trackId, typeof keyboard !== 'undefined');
 			});
 		} else {
 			var labels = player.captionsButton.querySelectorAll('.' + t.options.classPrefix + 'captions-selector-label'),
@@ -2211,18 +2335,20 @@ Object.assign(_player2.default.prototype, {
 			}
 
 			for (var _i5 = 0, _total3 = captions.length; _i5 < _total3; _i5++) {
-				captions[_i5].addEventListener('click', function () {
-					player.setTrack(this.value);
+				captions[_i5].addEventListener('click', function (e) {
+					var keyboard = e.keyCode || e.which;
+					player.setTrack(this.value, typeof keyboard !== 'undefined');
 				});
 			}
 
 			for (var _i6 = 0, _total4 = labels.length; _i6 < _total4; _i6++) {
-				labels[_i6].addEventListener('click', function () {
+				labels[_i6].addEventListener('click', function (e) {
 					var radio = (0, _dom.siblings)(this, function (el) {
 						return el.tagName === 'INPUT';
 					})[0],
 					    event = (0, _general.createEvent)('click', radio);
 					radio.dispatchEvent(event);
+					e.preventDefault();
 				});
 			}
 
@@ -2320,7 +2446,7 @@ Object.assign(_player2.default.prototype, {
 			});
 		}
 	},
-	setTrack: function setTrack(trackId) {
+	setTrack: function setTrack(trackId, setByKeyboard) {
 
 		var t = this,
 		    radios = t.captionsButton.querySelectorAll('input[type="radio"]'),
@@ -2364,6 +2490,12 @@ Object.assign(_player2.default.prototype, {
 		var event = (0, _general.createEvent)('captionschange', t.media);
 		event.detail.caption = t.selectedTrack;
 		t.media.dispatchEvent(event);
+
+		if (!setByKeyboard) {
+			setTimeout(function () {
+				t.container.focus();
+			}, 500);
+		}
 	},
 	loadNextTrack: function loadNextTrack() {
 		var t = this;
@@ -2590,7 +2722,7 @@ Object.assign(_player2.default.prototype, {
 		for (var _i13 = 0, _total10 = radios.length; _i13 < _total10; _i13++) {
 			radios[_i13].disabled = false;
 			radios[_i13].checked = false;
-			radios[_i13].addEventListener('click', function () {
+			radios[_i13].addEventListener('click', function (e) {
 				var self = this,
 				    listItems = t.chaptersButton.querySelectorAll('li'),
 				    label = (0, _dom.siblings)(self, function (el) {
@@ -2606,6 +2738,13 @@ Object.assign(_player2.default.prototype, {
 					listItems[_i14].setAttribute('aria-checked', false);
 				}
 
+				var keyboard = e.keyCode || e.which;
+				if (typeof keyboard === 'undefined') {
+					setTimeout(function () {
+						t.container.focus();
+					}, 500);
+				}
+
 				t.media.setCurrentTime(parseFloat(self.value));
 				if (t.media.paused) {
 					t.media.play();
@@ -2614,12 +2753,13 @@ Object.assign(_player2.default.prototype, {
 		}
 
 		for (var _i15 = 0, _total12 = labels.length; _i15 < _total12; _i15++) {
-			labels[_i15].addEventListener('click', function () {
+			labels[_i15].addEventListener('click', function (e) {
 				var radio = (0, _dom.siblings)(this, function (el) {
 					return el.tagName === 'INPUT';
 				})[0],
 				    event = (0, _general.createEvent)('click', radio);
 				radio.dispatchEvent(event);
+				e.preventDefault();
 			});
 		}
 	},
@@ -2870,6 +3010,60 @@ Object.assign(_player2.default.prototype, {
 
 		t.addControlElement(mute, 'volume');
 
+		t.options.keyActions.push({
+			keys: [38],
+			action: function action(player) {
+				var volumeSlider = player.container.querySelector('.' + _player.config.classPrefix + 'volume-slider');
+				if (volumeSlider || player.container.querySelector('.' + _player.config.classPrefix + 'volume-slider').matches(':focus')) {
+					volumeSlider.style.display = 'block';
+				}
+				if (player.isVideo) {
+					player.showControls();
+					player.startControlsTimer();
+				}
+
+				var newVolume = Math.min(player.volume + 0.1, 1);
+				player.setVolume(newVolume);
+				if (newVolume > 0) {
+					player.setMuted(false);
+				}
+			}
+		}, {
+			keys: [40],
+			action: function action(player) {
+				var volumeSlider = player.container.querySelector('.' + _player.config.classPrefix + 'volume-slider');
+				if (volumeSlider) {
+					volumeSlider.style.display = 'block';
+				}
+
+				if (player.isVideo) {
+					player.showControls();
+					player.startControlsTimer();
+				}
+
+				var newVolume = Math.max(player.volume - 0.1, 0);
+				player.setVolume(newVolume);
+
+				if (newVolume <= 0.1) {
+					player.setMuted(true);
+				}
+			}
+		}, {
+			keys: [77],
+			action: function action(player) {
+				player.container.querySelector('.' + _player.config.classPrefix + 'volume-slider').style.display = 'block';
+				if (player.isVideo) {
+					player.showControls();
+					player.startControlsTimer();
+				}
+				if (player.media.muted) {
+					player.setMuted(false);
+				} else {
+					player.setMuted(true);
+				}
+			}
+		});
+
 		if (mode === 'horizontal') {
 			var anchor = _document2.default.createElement('a');
 			anchor.className = t.options.classPrefix + 'horizontal-volume-slider';
@@ -2980,6 +3174,13 @@ Object.assign(_player2.default.prototype, {
 			}
 		};
 
+		player.container.addEventListener('keydown', function (e) {
+			var hasFocus = !!e.target.closest('.' + t.options.classPrefix + 'container');
+			if (!hasFocus && mode === 'vertical') {
+				volumeSlider.style.display = 'none';
+			}
+		});
+
 		mute.addEventListener('mouseenter', function (e) {
 			if (e.target === mute) {
 				volumeSlider.style.display = 'block';
@@ -3366,99 +3567,6 @@ var config = exports.config = {
 				}
 			}
 		}
-	}, {
-		keys: [38],
-		action: function action(player) {
-
-			if (player.container.querySelector('.' + config.classPrefix + 'volume-button>button').matches(':focus') || player.container.querySelector('.' + config.classPrefix + 'volume-slider').matches(':focus')) {
-				player.container.querySelector('.' + config.classPrefix + 'volume-slider').style.display = '';
-			}
-			if (player.isVideo) {
-				player.showControls();
-				player.startControlsTimer();
-			}
-
-			var newVolume = Math.min(player.volume + 0.1, 1);
-			player.setVolume(newVolume);
-			if (newVolume > 0) {
-				player.setMuted(false);
-			}
-		}
-	}, {
-		keys: [40],
-		action: function action(player) {
-
-			if (player.container.querySelector('.' + config.classPrefix + 'volume-button>button').matches(':focus') || player.container.querySelector('.' + config.classPrefix + 'volume-slider').matches(':focus')) {
-				player.container.querySelector('.' + config.classPrefix + 'volume-slider').style.display = '';
-			}
-
-			if (player.isVideo) {
-				player.showControls();
-				player.startControlsTimer();
-			}
-
-			var newVolume = Math.max(player.volume - 0.1, 0);
-			player.setVolume(newVolume);
-
-			if (newVolume <= 0.1) {
-				player.setMuted(true);
-			}
-		}
-	}, {
-		keys: [37, 227],
-		action: function action(player) {
-			if (!isNaN(player.duration) && player.duration > 0) {
-				if (player.isVideo) {
-					player.showControls();
-					player.startControlsTimer();
-				}
-
-				var newTime = Math.max(player.currentTime - player.options.defaultSeekBackwardInterval(player), 0);
-				player.setCurrentTime(newTime);
-			}
-		}
-	}, {
-		keys: [39, 228],
-		action: function action(player) {
-
-			if (!isNaN(player.duration) && player.duration > 0) {
-				if (player.isVideo) {
-					player.showControls();
-					player.startControlsTimer();
-				}
-
-				var newTime = Math.min(player.currentTime + player.options.defaultSeekForwardInterval(player), player.duration);
-				player.setCurrentTime(newTime);
-			}
-		}
-	}, {
-		keys: [70],
-		action: function action(player, media, key, event) {
-			if (!event.ctrlKey) {
-				if (typeof player.enterFullScreen !== 'undefined') {
-					if (player.isFullScreen) {
-						player.exitFullScreen();
-					} else {
-						player.enterFullScreen();
-					}
-				}
-			}
-		}
-	}, {
-		keys: [77],
-		action: function action(player) {
-
-			player.container.querySelector('.' + config.classPrefix + 'volume-slider').style.display = '';
-			if (player.isVideo) {
-				player.showControls();
-				player.startControlsTimer();
-			}
-			if (player.media.muted) {
-				player.setMuted(false);
-			} else {
-				player.setMuted(true);
-			}
-		}
 	}]
 };
 
@@ -3900,12 +4008,14 @@ var MediaElementPlayer = function () {
 					return;
 				}
 
-				t.findTracks();
-
 				t.featurePosition = {};
 
 				t._setDefaultPlayer();
 
+				t.buildposter(t, t.controls, t.layers, t.media);
+				t.buildkeyboard(t, t.controls, t.layers, t.media);
+				t.buildoverlays(t, t.controls, t.layers, t.media);
+
 				if (t.options.useDefaultControls) {
 					var defaultControls = ['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen'];
 					t.options.features = defaultControls.concat(t.options.features.filter(function (item) {
@@ -3924,10 +4034,6 @@ var MediaElementPlayer = function () {
 					}
 				}
 
-				t.buildposter(t, t.controls, t.layers, t.media);
-				t.buildkeyboard(t, t.controls, t.layers, t.media);
-				t.buildoverlays(t, t.controls, t.layers, t.media);
-
 				var event = (0, _general.createEvent)('controlsready', t.container);
 				t.container.dispatchEvent(event);
 
@@ -3967,7 +4073,7 @@ var MediaElementPlayer = function () {
 									t.showControls(false);
 								}
 							}
-						});
+						}, _constants.SUPPORT_PASSIVE_EVENT ? { passive: true } : false);
 					} else {
 						t.container.addEventListener('mouseenter', function () {
 							if (t.controlsEnabled) {
@@ -4004,7 +4110,7 @@ var MediaElementPlayer = function () {
 					if (t.options.enableAutosize) {
 						t.media.addEventListener('loadedmetadata', function (e) {
 							var target = e !== undefined ? e.detail.target || e.target : t.media;
-							if (t.options.videoHeight <= 0 && !t.domNode.getAttribute('height') && target !== null && !isNaN(target.videoHeight)) {
+							if (t.options.videoHeight <= 0 && !t.domNode.getAttribute('height') && !t.domNode.style.height && target !== null && !isNaN(target.videoHeight)) {
 								t.setPlayerSize(target.videoWidth, target.videoHeight);
 								t.setControlsSize();
 								t.media.setSize(target.videoWidth, target.videoHeight);
@@ -4182,14 +4288,14 @@ var MediaElementPlayer = function () {
 			var errorContent = typeof t.options.customError === 'function' ? t.options.customError(t.media, t.media.originalNode) : t.options.customError,
 			    imgError = '';
 
-			if (errorContent) {
+			if (!errorContent) {
 				var poster = t.media.originalNode.getAttribute('poster');
 				if (poster) {
 					imgError = '<img src="' + poster + '" alt="' + _mejs2.default.i18n.t('mejs.download-file') + '">';
 				}
 
 				if (e.message) {
-					errorContent += '<p>' + e.message + '</p>';
+					errorContent = '<p>' + e.message + '</p>';
 				}
 
 				if (e.urls) {
@@ -4205,6 +4311,10 @@ var MediaElementPlayer = function () {
 				t.layers.querySelector('.' + t.options.classPrefix + 'overlay-error').innerHTML = '' + imgError + errorContainer.outerHTML;
 				t.layers.querySelector('.' + t.options.classPrefix + 'overlay-error').parentNode.style.display = 'block';
 			}
+
+			if (t.controlsEnabled) {
+				t.disableControls();
+			}
 		}
 	}, {
 		key: 'setPlayerSize',
@@ -4682,8 +4792,10 @@ var MediaElementPlayer = function () {
 
 			var posterUrl = media.originalNode.getAttribute('poster');
 
-			if (player.options.poster !== '' && posterUrl && _constants.IS_IOS) {
-				media.originalNode.removeAttribute('poster');
+			if (player.options.poster !== '') {
+				if (posterUrl && _constants.IS_IOS) {
+					media.originalNode.removeAttribute('poster');
+				}
 				posterUrl = player.options.poster;
 			}
 
@@ -4732,8 +4844,7 @@ var MediaElementPlayer = function () {
 			var t = this,
 			    loading = _document2.default.createElement('div'),
 			    error = _document2.default.createElement('div'),
-			    bigPlay = _document2.default.createElement('div'),
-			    buffer = controls.querySelector('.' + t.options.classPrefix + 'time-buffering');
+			    bigPlay = _document2.default.createElement('div');
 
 			loading.style.display = 'none';
 			loading.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer';
@@ -4785,35 +4896,23 @@ var MediaElementPlayer = function () {
 			media.addEventListener('play', function () {
 				bigPlay.style.display = 'none';
 				loading.style.display = 'none';
-				if (buffer !== null) {
-					buffer.style.display = 'none';
-				}
 				error.style.display = 'none';
 				hasError = false;
 			});
 			media.addEventListener('playing', function () {
 				bigPlay.style.display = 'none';
 				loading.style.display = 'none';
-				if (buffer !== null) {
-					buffer.style.display = 'none';
-				}
 				error.style.display = 'none';
 				hasError = false;
 			});
 			media.addEventListener('seeking', function () {
 				bigPlay.style.display = 'none';
 				loading.style.display = '';
-				if (buffer !== null) {
-					buffer.style.display = '';
-				}
 				hasError = false;
 			});
 			media.addEventListener('seeked', function () {
 				bigPlay.style.display = t.paused && !_constants.IS_STOCK_ANDROID ? '' : 'none';
 				loading.style.display = 'none';
-				if (buffer !== null) {
-					buffer.style.display = 'none';
-				}
 				hasError = false;
 			});
 			media.addEventListener('pause', function () {
@@ -4821,24 +4920,15 @@ var MediaElementPlayer = function () {
 				if (!_constants.IS_STOCK_ANDROID && !hasError) {
 					bigPlay.style.display = '';
 				}
-				if (buffer !== null) {
-					buffer.style.display = 'none';
-				}
 				hasError = false;
 			});
 			media.addEventListener('waiting', function () {
 				loading.style.display = '';
-				if (buffer !== null) {
-					buffer.style.display = '';
-				}
 				hasError = false;
 			});
 
 			media.addEventListener('loadeddata', function () {
 				loading.style.display = '';
-				if (buffer !== null) {
-					buffer.style.display = '';
-				}
 
 				if (_constants.IS_ANDROID) {
 					media.canplayTimeout = setTimeout(function () {
@@ -4853,9 +4943,6 @@ var MediaElementPlayer = function () {
 			});
 			media.addEventListener('canplay', function () {
 				loading.style.display = 'none';
-				if (buffer !== null) {
-					buffer.style.display = 'none';
-				}
 
 				clearTimeout(media.canplayTimeout);
 				hasError = false;
@@ -4865,12 +4952,15 @@ var MediaElementPlayer = function () {
 				t._handleError(e, t.media, t.node);
 				loading.style.display = 'none';
 				bigPlay.style.display = 'none';
-				if (buffer !== null) {
-					buffer.style.display = 'none';
-				}
 				hasError = true;
 			});
 
+			media.addEventListener('loadedmetadata', function () {
+				if (!t.controlsEnabled) {
+					t.enableControls();
+				}
+			});
+
 			media.addEventListener('keydown', function (e) {
 				t.onkeydown(player, media, e);
 				hasError = false;
@@ -4914,6 +5004,7 @@ var MediaElementPlayer = function () {
 							keyAction.action(player, media, e.keyCode, e);
 							e.preventDefault();
 							e.stopPropagation();
+							return;
 						}
 					}
 				}
@@ -5024,6 +5115,8 @@ var MediaElementPlayer = function () {
 			t.node.style.width = nativeWidth;
 			t.node.style.height = nativeHeight;
 
+			t.setPlayerSize(0, 0);
+
 			if (!t.isDynamic) {
 				(function () {
 					t.node.setAttribute('controls', true);
@@ -5161,6 +5254,7 @@ var MediaElementPlayer = function () {
 }();
 
 _window2.default.MediaElementPlayer = MediaElementPlayer;
+_mejs2.default.MediaElementPlayer = MediaElementPlayer;
 
 exports.default = MediaElementPlayer;
 
@@ -5733,6 +5827,7 @@ var FlashMediaElementRenderer = {
 	create: function create(mediaElement, options, mediaFiles) {
 
 		var flash = {};
+		var isActive = false;
 
 		flash.options = options;
 		flash.id = mediaElement.id + '_' + flash.options.prefix;
@@ -5800,21 +5895,23 @@ var FlashMediaElementRenderer = {
 		var methods = _mejs2.default.html5media.methods,
 		    assignMethods = function assignMethods(methodName) {
 			flash[methodName] = function () {
-				if (flash.flashApi !== null) {
-					if (flash.flashApi['fire_' + methodName]) {
-						try {
-							flash.flashApi['fire_' + methodName]();
-						} catch (e) {
+				if (isActive) {
+					if (flash.flashApi !== null) {
+						if (flash.flashApi['fire_' + methodName]) {
+							try {
+								flash.flashApi['fire_' + methodName]();
+							} catch (e) {
+								
+							}
+						} else {
 							
 						}
 					} else {
-						
+						flash.flashApiStack.push({
+							type: 'call',
+							methodName: methodName
+						});
 					}
-				} else {
-					flash.flashApiStack.push({
-						type: 'call',
-						methodName: methodName
-					});
 				}
 			};
 		};
@@ -5891,11 +5988,15 @@ var FlashMediaElementRenderer = {
 
 		var settings = [];
 
-		if (_constants.IS_IE) {
+		if (_constants.IS_IE || _constants.IS_EDGE) {
 			var specialIEContainer = _document2.default.createElement('div');
 			flash.flashWrapper.appendChild(specialIEContainer);
 
-			settings = ['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
+			if (_constants.IS_EDGE) {
+				settings = ['type="application/x-shockwave-flash"', 'data="' + flash.options.pluginPath + flash.options.filename + '"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '\'"'];
+			} else {
+				settings = ['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
+			}
 
 			if (!isVideo) {
 				settings.push('style="clip: rect(0 0 0 0); position: absolute;"');
@@ -5904,10 +6005,13 @@ var FlashMediaElementRenderer = {
 			specialIEContainer.outerHTML = '<object ' + settings.join(' ') + '>' + ('<param name="movie" value="' + flash.options.pluginPath + flash.options.filename + '?x=' + new Date() + '" />') + ('<param name="flashvars" value="' + flashVars.join('&amp;') + '" />') + '<param name="quality" value="high" />' + '<param name="bgcolor" value="#000000" />' + '<param name="wmode" value="transparent" />' + ('<param name="allowScriptAccess" value="' + flash.options.shimScriptAccess + '" />') + '<param name="allowFullScreen" value="true" />' + ('<div>' + _i18n2.default.t('mejs.install-flash') + '</div>') + '</object>';
 		} else {
 
-			settings = ['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
+			settings = ['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"'];
 
-			if (!isVideo) {
-				settings.push('style="clip: rect(0 0 0 0); position: absolute;"');
+			if (isVideo) {
+				settings.push('width="' + flashWidth + '"');
+				settings.push('height="' + flashHeight + '"');
+			} else {
+				settings.push('style="position: fixed; left: -9999em; top: -9999em;"');
 			}
 
 			flash.flashWrapper.innerHTML = '<embed ' + settings.join(' ') + '>';
@@ -5916,11 +6020,13 @@ var FlashMediaElementRenderer = {
 		flash.flashNode = flash.flashWrapper.lastChild;
 
 		flash.hide = function () {
+			isActive = false;
 			if (isVideo) {
 				flash.flashNode.style.display = 'none';
 			}
 		};
 		flash.show = function () {
+			isActive = true;
 			if (isVideo) {
 				flash.flashNode.style.display = '';
 			}
@@ -6095,7 +6201,7 @@ var NativeFlv = {
 				NativeFlv._createPlayer(settings);
 			});
 		} else {
-			settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.2/flv.min.js';
+			settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.3/flv.min.js';
 
 			NativeFlv.promise = NativeFlv.promise || (0, _dom.loadScript)(settings.options.path);
 			NativeFlv.promise.then(function () {
@@ -6109,7 +6215,7 @@ var NativeFlv = {
 	_createPlayer: function _createPlayer(settings) {
 		flvjs.LoggingControl.enableDebug = settings.options.debug;
 		flvjs.LoggingControl.enableVerbose = settings.options.debug;
-		var player = flvjs.createPlayer(settings.options);
+		var player = flvjs.createPlayer(settings.options, settings.configs);
 		_window2.default['__ready__' + settings.id](player);
 		return player;
 	}
@@ -6120,7 +6226,7 @@ var FlvNativeRenderer = {
 	options: {
 		prefix: 'native_flv',
 		flv: {
-			path: 'https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.2/flv.min.js',
+			path: 'https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.3/flv.min.js',
 
 			cors: true,
 			debug: false
@@ -6168,6 +6274,7 @@ var FlvNativeRenderer = {
 							_flvOptions.cors = options.flv.cors;
 							_flvOptions.debug = options.flv.debug;
 							_flvOptions.path = options.flv.path;
+							var _flvConfigs = options.flv.configs;
 
 							flvPlayer.destroy();
 							for (var i = 0, total = events.length; i < total; i++) {
@@ -6175,6 +6282,7 @@ var FlvNativeRenderer = {
 							}
 							flvPlayer = NativeFlv._createPlayer({
 								options: _flvOptions,
+								configs: _flvConfigs,
 								id: id
 							});
 							flvPlayer.attachMediaElement(node);
@@ -6259,6 +6367,7 @@ var FlvNativeRenderer = {
 		flvOptions.cors = options.flv.cors;
 		flvOptions.debug = options.flv.debug;
 		flvOptions.path = options.flv.path;
+		var flvConfigs = options.flv.configs;
 
 		node.setSize = function (width, height) {
 			node.style.width = width + 'px';
@@ -6290,6 +6399,7 @@ var FlvNativeRenderer = {
 
 		mediaElement.promises.push(NativeFlv.load({
 			options: flvOptions,
+			configs: flvConfigs,
 			id: id
 		}));
 
@@ -6340,7 +6450,7 @@ var NativeHls = {
 				NativeHls._createPlayer(settings);
 			});
 		} else {
-			settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.7.11/hls.min.js';
+			settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.2/hls.min.js';
 
 			NativeHls.promise = NativeHls.promise || (0, _dom.loadScript)(settings.options.path);
 			NativeHls.promise.then(function () {
@@ -6363,7 +6473,7 @@ var HlsNativeRenderer = {
 	options: {
 		prefix: 'native_hls',
 		hls: {
-			path: 'https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.7.11/hls.min.js',
+			path: 'https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.2/hls.min.js',
 
 			autoStartLoad: false,
 			debug: false
@@ -6382,7 +6492,9 @@ var HlsNativeRenderer = {
 		    autoplay = originalNode.autoplay;
 
 		var hlsPlayer = null,
-		    node = null;
+		    node = null,
+		    index = 0,
+		    total = mediaFiles.length;
 
 		node = originalNode.cloneNode(true);
 		options = Object.assign(options, mediaElement.options);
@@ -6409,7 +6521,7 @@ var HlsNativeRenderer = {
 						node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value;
 						if (hlsPlayer !== null) {
 							hlsPlayer.destroy();
-							for (var i = 0, total = events.length; i < total; i++) {
+							for (var i = 0, _total = events.length; i < _total; i++) {
 								node.removeEventListener(events[i], attachNativeEvents);
 							}
 							hlsPlayer = NativeHls._createPlayer({
@@ -6426,7 +6538,7 @@ var HlsNativeRenderer = {
 			};
 		};
 
-		for (var i = 0, total = props.length; i < total; i++) {
+		for (var i = 0, _total2 = props.length; i < _total2; i++) {
 			assignGettersSetters(props[i]);
 		}
 
@@ -6444,7 +6556,7 @@ var HlsNativeRenderer = {
 				node.addEventListener(eventName, attachNativeEvents);
 			};
 
-			for (var _i = 0, _total = events.length; _i < _total; _i++) {
+			for (var _i = 0, _total3 = events.length; _i < _total3; _i++) {
 				assignEvents(events[_i]);
 			}
 
@@ -6452,7 +6564,8 @@ var HlsNativeRenderer = {
 			    recoverSwapAudioCodecDate = void 0;
 			var assignHlsEvents = function assignHlsEvents(name, data) {
 				if (name === 'hlsError') {
-					console.warn(name, data);
+					console.warn(data);
+					data = data[1];
 
 					if (data.fatal) {
 						switch (data.type) {
@@ -6467,15 +6580,23 @@ var HlsNativeRenderer = {
 									hlsPlayer.swapAudioCodec();
 									hlsPlayer.recoverMediaError();
 								} else {
-									var _message = 'Cannot recover, last media error recovery failed';
-									mediaElement.generateError(_message, node.src);
-									console.error(_message);
+									var message = 'Cannot recover, last media error recovery failed';
+									mediaElement.generateError(message, node.src);
+									console.error(message);
 								}
 								break;
 							case 'networkError':
-								var message = 'Network error';
-								mediaElement.generateError(message, node.src);
-								console.error(message);
+								if (data.details === 'manifestLoadError') {
+									if (index < total) {
+										node.setSrc(mediaFiles[index++].src);
+										node.load();
+										node.play();
+									}
+								} else {
+									var _message = 'Network error';
+									mediaElement.generateError(_message, mediaFiles);
+									console.error(_message);
+								}
 								break;
 							default:
 								hlsPlayer.destroy();
@@ -6506,10 +6627,10 @@ var HlsNativeRenderer = {
 			}
 		};
 
-		if (mediaFiles && mediaFiles.length > 0) {
-			for (var _i2 = 0, _total2 = mediaFiles.length; _i2 < _total2; _i2++) {
-				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) {
-					node.setAttribute('src', mediaFiles[_i2].src);
+		if (total > 0) {
+			for (; index < total; index++) {
+				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {
+					node.setAttribute('src', mediaFiles[index].src);
 					break;
 				}
 			}
@@ -6622,6 +6743,7 @@ var HtmlMediaElement = {
 	create: function create(mediaElement, options, mediaFiles) {
 
 		var id = mediaElement.id + '_' + options.prefix;
+		var isActive = false;
 
 		var node = null;
 
@@ -6649,19 +6771,21 @@ var HtmlMediaElement = {
 			};
 		};
 
-		for (var i = 0, total = props.length; i < total; i++) {
+		for (var i = 0, _total = props.length; i < _total; i++) {
 			assignGettersSetters(props[i]);
 		}
 
 		var events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']),
 		    assignEvents = function assignEvents(eventName) {
 			node.addEventListener(eventName, function (e) {
-				var event = (0, _general.createEvent)(e.type, mediaElement);
-				mediaElement.dispatchEvent(event);
+				if (isActive) {
+					var _event = (0, _general.createEvent)(e.type, e.target);
+					mediaElement.dispatchEvent(_event);
+				}
 			});
 		};
 
-		for (var _i = 0, _total = events.length; _i < _total; _i++) {
+		for (var _i = 0, _total2 = events.length; _i < _total2; _i++) {
 			assignEvents(events[_i]);
 		}
 
@@ -6672,26 +6796,42 @@ var HtmlMediaElement = {
 		};
 
 		node.hide = function () {
+			isActive = false;
 			node.style.display = 'none';
 
 			return node;
 		};
 
 		node.show = function () {
+			isActive = true;
 			node.style.display = '';
 
 			return node;
 		};
 
-		if (mediaFiles && mediaFiles.length > 0) {
-			for (var _i2 = 0, _total2 = mediaFiles.length; _i2 < _total2; _i2++) {
-				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) {
-					node.setAttribute('src', mediaFiles[_i2].src);
+		var index = 0,
+		    total = mediaFiles.length;
+		if (total > 0) {
+			for (; index < total; index++) {
+				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {
+					node.setAttribute('src', mediaFiles[index].src);
 					break;
 				}
 			}
 		}
 
+		node.addEventListener('error', function (e) {
+			if (e.target.error.code === 4 && isActive) {
+				if (index < total) {
+					node.src = mediaFiles[index++].src;
+					node.load();
+					node.play();
+				} else {
+					mediaElement.generateError('Media error: Format(s) not supported or source(s) not found', mediaFiles);
+				}
+			}
+		});
+
 		var event = (0, _general.createEvent)('rendererready', node);
 		mediaElement.dispatchEvent(event);
 
@@ -7214,7 +7354,7 @@ _renderer.renderer.add(YouTubeIframeRenderer);
 Object.defineProperty(exports, "__esModule", {
 	value: true
 });
-exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined;
+exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_PASSIVE_EVENT = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined;
 
 var _window = _dereq_(3);
 
@@ -7261,6 +7401,20 @@ var SUPPORT_POINTER_EVENTS = exports.SUPPORT_POINTER_EVENTS = function () {
 	return !!supports;
 }();
 
+var SUPPORT_PASSIVE_EVENT = exports.SUPPORT_PASSIVE_EVENT = function () {
+	var supportsPassive = false;
+	try {
+		var opts = Object.defineProperty({}, 'passive', {
+			get: function get() {
+				supportsPassive = true;
+			}
+		});
+		_window2.default.addEventListener('test', null, opts);
+	} catch (e) {}
+
+	return supportsPassive;
+}();
+
 var html5Elements = ['source', 'track', 'audio', 'video'];
 var video = void 0;
 
@@ -7367,6 +7521,7 @@ _mejs2.default.Features.isStockAndroid = IS_STOCK_ANDROID;
 _mejs2.default.Features.hasMSE = HAS_MSE;
 _mejs2.default.Features.supportsNativeHLS = SUPPORTS_NATIVE_HLS;
 _mejs2.default.Features.supportsPointerEvents = SUPPORT_POINTER_EVENTS;
+_mejs2.default.Features.supportsPassiveEvent = SUPPORT_PASSIVE_EVENT;
 _mejs2.default.Features.hasiOSFullScreen = HAS_IOS_FULLSCREEN;
 _mejs2.default.Features.hasNativeFullscreen = HAS_NATIVE_FULLSCREEN;
 _mejs2.default.Features.hasWebkitNativeFullScreen = HAS_WEBKIT_NATIVE_FULLSCREEN;
@@ -7987,9 +8142,9 @@ if (window.Element && !Element.prototype.closest) {
 })();
 
 if (/firefox/i.test(navigator.userAgent)) {
-	window.mediaElementJsOldGetComputedStyle = window.getComputedStyle;
+	var getComputedStyle = window.getComputedStyle;
 	window.getComputedStyle = function (el, pseudoEl) {
-		var t = window.mediaElementJsOldGetComputedStyle(el, pseudoEl);
+		var t = getComputedStyle(el, pseudoEl);
 		return t === null ? { getPropertyValue: function getPropertyValue() {} } : t;
 	};
 }
diff --git a/lib/mejs/mediaelement-and-player.min.js b/lib/mejs/mediaelement-and-player.min.js
index 876b4cd1..eda46ecf 100644
--- a/lib/mejs/mediaelement-and-player.min.js
+++ b/lib/mejs/mediaelement-and-player.min.js
@@ -9,4 +9,4 @@
  * License: MIT
  *
  */
-!function e(t,n,o){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(r)return r(a,!0);var d=new Error("Cannot find module '"+a+"'");throw d.code="MODULE_NOT_FOUND",d}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n||e)},u,u.exports,e,t,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(e,t,n){},{}],2:[function(e,t,n){(function(n){var o,i=void 0!==n?n:"undefined"!=typeof window?window:{},r=e(1);"undefined"!=typeof document?o=document:(o=i["__GLOBAL_DOCUMENT_CACHE@4"])||(o=i["__GLOBAL_DOCUMENT_CACHE@4"]=r),t.exports=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1}],3:[function(e,t,n){(function(e){var n;n="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){!function(e){function n(){}function o(e,t){return function(){e.apply(t,arguments)}}function i(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(e,this)}function r(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,i._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var o;try{o=n(e._value)}catch(e){return void s(t.promise,e)}a(t.promise,o)}else(1===e._state?a:s)(t.promise,e._value)})):e._deferreds.push(t)}function a(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof i)return e._state=3,e._value=t,void l(e);if("function"==typeof n)return void u(o(n,t),e)}e._state=1,e._value=t,l(e)}catch(t){s(e,t)}}function s(e,t){e._state=2,e._value=t,l(e)}function l(e){2===e._state&&0===e._deferreds.length&&i._immediateFn(function(){e._handled||i._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)r(e,e._deferreds[t]);e._deferreds=null}function d(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function u(e,t){var n=!1;try{e(function(e){n||(n=!0,a(t,e))},function(e){n||(n=!0,s(t,e))})}catch(e){if(n)return;n=!0,s(t,e)}}var c=setTimeout;i.prototype.catch=function(e){return this.then(null,e)},i.prototype.then=function(e,t){var o=new this.constructor(n);return r(this,new d(e,t,o)),o},i.all=function(e){var t=Array.prototype.slice.call(e);return new i(function(e,n){function o(r,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,function(e){o(r,e)},n)}t[r]=a,0==--i&&e(t)}catch(e){n(e)}}if(0===t.length)return e([]);for(var i=t.length,r=0;r<t.length;r++)o(r,t[r])})},i.resolve=function(e){return e&&"object"==typeof e&&e.constructor===i?e:new i(function(t){t(e)})},i.reject=function(e){return new i(function(t,n){n(e)})},i.race=function(e){return new i(function(t,n){for(var o=0,i=e.length;o<i;o++)e[o].then(t,n)})},i._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){c(e,0)},i._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)},i._setImmediateFn=function(e){i._immediateFn=e},i._setUnhandledRejectionFn=function(e){i._unhandledRejectionFn=e},void 0!==t&&t.exports?t.exports=i:e.Promise||(e.Promise=i)}(this)},{}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),r=e(15),a=e(27),s={lang:"en",en:r.EN};s.language=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(null!==t&&void 0!==t&&t.length){if("string"!=typeof t[0])throw new TypeError("Language code must be a string value");if(!/^[a-z]{2}(\-[a-z]{2})?$/i.test(t[0]))throw new TypeError("Language code must have format `xx` or `xx-xx`");s.lang=t[0],void 0===s[t[0]]?(t[1]=null!==t[1]&&void 0!==t[1]&&"object"===o(t[1])?t[1]:{},s[t[0]]=(0,a.isObjectEmpty)(t[1])?r.EN:t[1]):null!==t[1]&&void 0!==t[1]&&"object"===o(t[1])&&(s[t[0]]=t[1])}return s.lang},s.t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof e&&e.length){var n=void 0,i=void 0,r=s.language(),l=function(e,t,n){return"object"!==(void 0===e?"undefined":o(e))||"number"!=typeof t||"number"!=typeof n?e:[function(){return arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 0===(arguments.length<=0?void 0:arguments[0])||1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:0!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])||11===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])||12===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>0&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])>=2&&(arguments.length<=0?void 0:arguments[0])<=4?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%100==1?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100==2?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100==3||(arguments.length<=0?void 0:arguments[0])%100==4?arguments.length<=4?void 0:arguments[4]:arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<7?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])>6&&(arguments.length<=0?void 0:arguments[0])<11?arguments.length<=4?void 0:arguments[4]:arguments.length<=5?void 0:arguments[5]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100>=3&&(arguments.length<=0?void 0:arguments[0])%100<=10?arguments.length<=4?void 0:arguments[4]:(arguments.length<=0?void 0:arguments[0])%100>=11?arguments.length<=5?void 0:arguments[5]:arguments.length<=6?void 0:arguments[6]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>1&&(arguments.length<=0?void 0:arguments[0])%100<11?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100>10&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10==2?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 11!==(arguments.length<=0?void 0:arguments[0])&&(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:8!==(arguments.length<=0?void 0:arguments[0])&&11!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:3===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]}][n].apply(null,[t].concat(e))};return void 0!==s[r]&&(n=s[r][e],null!==t&&"number"==typeof t&&(i=s[r]["mejs.plural-form"],n=l.apply(null,[n,t,i]))),!n&&s.en&&(n=s.en[e],null!==t&&"number"==typeof t&&(i=s.en["mejs.plural-form"],n=l.apply(null,[n,t,i]))),n=n||e,null!==t&&"number"==typeof t&&(n=n.replace("%1",t)),(0,a.escapeHTML)(n)}return e},i.default.i18n=s,"undefined"!=typeof mejsL10n&&i.default.i18n.language(mejsL10n.language,mejsL10n.strings),n.default=s},{15:15,27:27,7:7}],6:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=o(e(3)),s=o(e(2)),l=o(e(7)),d=e(27),u=e(28),c=e(8),f=e(25),p=function e(t,n,o){var p=this;i(this,e);var m=this;o=Array.isArray(o)?o:null,m.defaults={renderers:[],fakeNodeName:"mediaelementwrapper",pluginPath:"build/",shimScriptAccess:"sameDomain"},n=Object.assign(m.defaults,n),m.mediaElement=s.default.createElement(n.fakeNodeName);var h=t,v=!1;if("string"==typeof t?m.mediaElement.originalNode=s.default.getElementById(t):(m.mediaElement.originalNode=t,h=t.id),void 0===m.mediaElement.originalNode||null===m.mediaElement.originalNode)return null;m.mediaElement.options=n,h=h||"mejs_"+Math.random().toString().slice(2),m.mediaElement.originalNode.setAttribute("id",h+"_from_mejs");var y=m.mediaElement.originalNode.tagName.toLowerCase();["video","audio"].indexOf(y)>-1&&!m.mediaElement.originalNode.getAttribute("preload")&&m.mediaElement.originalNode.setAttribute("preload","none"),m.mediaElement.originalNode.parentNode.insertBefore(m.mediaElement,m.mediaElement.originalNode),m.mediaElement.appendChild(m.mediaElement.originalNode);var g=function(e,t){if("https:"===a.default.location.protocol&&0===e.indexOf("http:")&&f.IS_IOS&&l.default.html5media.mediaTypes.indexOf(t)>-1){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===this.readyState&&200===this.status){var t=(a.default.URL||a.default.webkitURL).createObjectURL(this.response);return m.mediaElement.originalNode.setAttribute("src",t),t}return e},n.open("GET",e),n.responseType="blob",n.send()}return e},b=void 0;if(null!==o)b=o;else if(null!==m.mediaElement.originalNode)switch(b=[],m.mediaElement.originalNode.nodeName.toLowerCase()){case"iframe":b.push({type:"",src:m.mediaElement.originalNode.getAttribute("src")});break;case"audio":case"video":var E=m.mediaElement.originalNode.children.length,S=m.mediaElement.originalNode.getAttribute("src");if(S){var x=m.mediaElement.originalNode,w=(0,u.formatType)(S,x.getAttribute("type"));b.push({type:w,src:g(S,w)})}for(var P=0;P<E;P++){var T=m.mediaElement.originalNode.children[P];if("source"===T.tagName.toLowerCase()){var C=T.getAttribute("src"),k=(0,u.formatType)(C,T.getAttribute("type"));b.push({type:k,src:g(C,k)})}}}m.mediaElement.id=h,m.mediaElement.renderers={},m.mediaElement.events={},m.mediaElement.promises=[],m.mediaElement.renderer=null,m.mediaElement.rendererName=null,m.mediaElement.changeRenderer=function(e,t){var n=p,o=Object.keys(t[0]).length>2?t[0]:t[0].src;if(void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&n.mediaElement.renderer.name===e)return n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.show(),n.mediaElement.renderer.setSrc(o),!0;void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&(n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.hide());var i=n.mediaElement.renderers[e],r=null;if(void 0!==i&&null!==i)return i.show(),i.setSrc(o),n.mediaElement.renderer=i,n.mediaElement.rendererName=e,!0;for(var a=n.mediaElement.options.renderers.length?n.mediaElement.options.renderers:c.renderer.order,s=0,l=a.length;s<l;s++){var d=a[s];if(d===e){r=c.renderer.renderers[d];var u=Object.assign(r.options,n.mediaElement.options);return i=r.create(n.mediaElement,u,t),i.name=e,n.mediaElement.renderers[r.name]=i,n.mediaElement.renderer=i,n.mediaElement.rendererName=e,i.show(),!0}}return!1},m.mediaElement.setSize=function(e,t){void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&m.mediaElement.renderer.setSize(e,t)},m.mediaElement.generateError=function(e,t){e=e||"",t=Array.isArray(t)?t:[];var n=(0,d.createEvent)("error",m.mediaElement);n.message=e,n.urls=t,m.mediaElement.dispatchEvent(n),v=!0};var _=l.default.html5media.properties,N=l.default.html5media.methods,A=function(e,t,n,o){var i=e[t];Object.defineProperty(e,t,{get:function(){return n.apply(e,[i])},set:function(t){return i=o.apply(e,[t])}})},L=function(){return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer?m.mediaElement.renderer.getSrc():null},F=function(e){var t=[];if("string"==typeof e)t.push({src:e,type:e?(0,u.getTypeFromFile)(e):""});else if("object"===(void 0===e?"undefined":r(e))&&void 0!==e.src){var n=(0,u.absolutizeUrl)(e.src),o=e.type,i=Object.assign(e,{src:n,type:""!==o&&null!==o&&void 0!==o||!n?o:(0,u.getTypeFromFile)(n)});t.push(i)}else if(Array.isArray(e))for(var a=0,s=e.length;a<s;a++){var l=(0,u.absolutizeUrl)(e[a].src),f=e[a].type,p=Object.assign(e[a],{src:l,type:""!==f&&null!==f&&void 0!==f||!l?f:(0,u.getTypeFromFile)(l)});t.push(p)}var h=c.renderer.select(t,m.mediaElement.options.renderers.length?m.mediaElement.options.renderers:[]),v=void 0;if(m.mediaElement.paused||(m.mediaElement.pause(),v=(0,d.createEvent)("pause",m.mediaElement),m.mediaElement.dispatchEvent(v)),m.mediaElement.originalNode.src=t[0].src||"",null!==h||!t[0].src)return t[0].src?m.mediaElement.changeRenderer(h.rendererName,t):null;m.mediaElement.generateError("No renderer found",t)},j=function(e,t){try{"play"===e&&"native_dash"===m.mediaElement.rendererName?setTimeout(function(){m.mediaElement.renderer[e](t)},100):m.mediaElement.renderer[e](t)}catch(e){m.mediaElement.generateError(e,b)}};A(m.mediaElement,"src",L,F),m.mediaElement.getSrc=L,m.mediaElement.setSrc=F;for(var I=0,M=_.length;I<M;I++)!function(e){if("src"!==e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1),n=function(){return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer["get"+t]?m.mediaElement.renderer["get"+t]():null},o=function(e){void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer["set"+t]&&m.mediaElement.renderer["set"+t](e)};A(m.mediaElement,e,n,o),m.mediaElement["get"+t]=n,m.mediaElement["set"+t]=o}}(_[I]);for(var O=0,D=N.length;O<D;O++)!function(e){m.mediaElement[e]=function(){for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer[e]&&(m.mediaElement.promises.length?Promise.all(m.mediaElement.promises).then(function(){j(e,n)}).catch(function(e){m.mediaElement.generateError(e,b)}):j(e,n)),null}}(N[O]);return m.mediaElement.addEventListener=function(e,t){m.mediaElement.events[e]=m.mediaElement.events[e]||[],m.mediaElement.events[e].push(t)},m.mediaElement.removeEventListener=function(e,t){if(!e)return m.mediaElement.events={},!0;var n=m.mediaElement.events[e];if(!n)return!0;if(!t)return m.mediaElement.events[e]=[],!0;for(var o=0;o<n.length;o++)if(n[o]===t)return m.mediaElement.events[e].splice(o,1),!0;return!1},m.mediaElement.dispatchEvent=function(e){var t=m.mediaElement.events[e.type];if(t)for(var n=0;n<t.length;n++)t[n].apply(null,[e])},b.length&&(m.mediaElement.src=b),m.mediaElement.promises.length?Promise.all(m.mediaElement.promises).then(function(){m.mediaElement.options.success&&m.mediaElement.options.success(m.mediaElement,m.mediaElement.originalNode)}).catch(function(){v&&m.mediaElement.options.error&&m.mediaElement.options.error(m.mediaElement,m.mediaElement.originalNode)}):(m.mediaElement.options.success&&m.mediaElement.options.success(m.mediaElement,m.mediaElement.originalNode),v&&m.mediaElement.options.error&&m.mediaElement.options.error(m.mediaElement,m.mediaElement.originalNode)),m.mediaElement};a.default.MediaElement=p,n.default=p},{2:2,25:25,27:27,28:28,3:3,7:7,8:8}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),i={};i.version="4.2.5",i.html5media={properties:["volume","src","currentTime","muted","duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable","currentSrc","preload","bufferedBytes","bufferedTime","initialTime","startOffsetTime","defaultPlaybackRate","playbackRate","played","autoplay","loop","controls"],readOnlyProperties:["duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable"],methods:["load","play","pause","canPlayType"],events:["loadstart","durationchange","loadedmetadata","loadeddata","progress","canplay","canplaythrough","suspend","abort","error","emptied","stalled","play","playing","pause","waiting","seeking","seeked","timeupdate","ended","ratechange","volumechange"],mediaTypes:["audio/mp3","audio/ogg","audio/oga","audio/wav","audio/x-wav","audio/wave","audio/x-pn-wav","audio/mpeg","audio/mp4","video/mp4","video/webm","video/ogg","video/ogv"]},o.default.mejs=i,n.default=i},{3:3}],8:[function(e,t,n){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.renderer=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),a=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),s=function(){function e(){o(this,e),this.renderers={},this.order=[]}return r(e,[{key:"add",value:function(e){if(void 0===e.name)throw new TypeError("renderer must contain at least `name` property");this.renderers[e.name]=e,this.order.push(e.name)}},{key:"select",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length;if(t=t.length?t:this.order,!n){var o=[/^(html5|native)/i,/^flash/i,/iframe$/i],i=function(e){for(var t=0,n=o.length;t<n;t++)if(o[t].test(e))return t;return o.length};t.sort(function(e,t){return i(e)-i(t)})}for(var r=0,a=t.length;r<a;r++){var s=t[r],l=this.renderers[s];if(null!==l&&void 0!==l)for(var d=0,u=e.length;d<u;d++)if("function"==typeof l.canPlayType&&"string"==typeof e[d].type&&l.canPlayType(e[d].type))return{rendererName:l.name,src:e[d].src}}return null}},{key:"order",set:function(e){if(!Array.isArray(e))throw new TypeError("order must be an array of strings.");this._order=e},get:function(){return this._order}},{key:"renderers",set:function(e){if(null!==e&&"object"!==(void 0===e?"undefined":i(e)))throw new TypeError("renderers must be an array of objects.");this._renderers=e},get:function(){return this._renderers}}]),e}(),l=n.renderer=new s;a.default.Renderers=l},{7:7}],9:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(3)),r=o(e(2)),a=o(e(5)),s=e(16),l=o(s),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e(25)),u=e(27),c=e(26),f=e(28);Object.assign(s.config,{usePluginFullScreen:!0,fullscreenText:null,useFakeFullscreen:!1}),Object.assign(l.default.prototype,{isFullScreen:!1,isNativeFullScreen:!1,isInIframe:!1,isPluginClickThroughCreated:!1,fullscreenMode:"",containerSizeTimeout:null,buildfullscreen:function(e){if(e.isVideo){e.isInIframe=i.default.location!==i.default.parent.location,e.detectFullscreenMode();var t=this,n=(0,u.isString)(t.options.fullscreenText)?t.options.fullscreenText:a.default.t("mejs.fullscreen"),o=r.default.createElement("div");if(o.className=t.options.classPrefix+"button "+t.options.classPrefix+"fullscreen-button",o.innerHTML='<button type="button" aria-controls="'+t.id+'" title="'+n+'" aria-label="'+n+'" tabindex="0"></button>',t.addControlElement(o,"fullscreen"),o.addEventListener("click",function(){d.HAS_TRUE_NATIVE_FULLSCREEN&&d.IS_FULLSCREEN||e.isFullScreen?e.exitFullScreen():e.enterFullScreen()}),e.fullscreenBtn=o,t.exitFullscreenCallback=function(n){27===(n.which||n.keyCode||0)&&(d.HAS_TRUE_NATIVE_FULLSCREEN&&d.IS_FULLSCREEN||t.isFullScreen)&&e.exitFullScreen()},t.globalBind("keydown",t.exitFullscreenCallback),t.normalHeight=0,t.normalWidth=0,d.HAS_TRUE_NATIVE_FULLSCREEN){e.globalBind(d.FULLSCREEN_EVENT_NAME,function(){e.isFullScreen&&(d.isFullScreen()?(e.isNativeFullScreen=!0,e.setControlsSize()):(e.isNativeFullScreen=!1,e.exitFullScreen()))})}}},cleanfullscreen:function(e){e.exitFullScreen(),e.globalUnbind("keydown",e.exitFullscreenCallback)},detectFullscreenMode:function(){var e=this,t=null!==e.media.rendererName&&/(native|html5)/i.test(e.media.rendererName),n="";return d.HAS_TRUE_NATIVE_FULLSCREEN&&t?n="native-native":d.HAS_TRUE_NATIVE_FULLSCREEN&&!t?n="plugin-native":e.usePluginFullScreen&&d.SUPPORT_POINTER_EVENTS&&(n="plugin-click"),e.fullscreenMode=n,n},enterFullScreen:function(){var e=this,t=null!==e.media.rendererName&&/(html5|native)/i.test(e.media.rendererName),n=getComputedStyle(e.container);if(!1===e.options.useFakeFullscreen&&d.IS_IOS&&d.HAS_IOS_FULLSCREEN&&"function"==typeof e.media.originalNode.webkitEnterFullscreen&&e.media.originalNode.canPlayType((0,f.getTypeFromFile)(e.media.getSrc())))e.media.originalNode.webkitEnterFullscreen();else{if((0,c.addClass)(r.default.documentElement,e.options.classPrefix+"fullscreen"),(0,c.addClass)(e.container,e.options.classPrefix+"container-fullscreen"),e.normalHeight=parseFloat(n.height),e.normalWidth=parseFloat(n.width),"native-native"!==e.fullscreenMode&&"plugin-native"!==e.fullscreenMode||(d.requestFullScreen(e.container),e.isInIframe&&setTimeout(function t(){if(e.isNativeFullScreen){var n=i.default.innerWidth||r.default.documentElement.clientWidth||r.default.body.clientWidth,o=screen.width;Math.abs(o-n)>.002*o?e.exitFullScreen():setTimeout(t,500)}},1e3)),e.container.style.width="100%",e.container.style.height="100%",e.containerSizeTimeout=setTimeout(function(){e.container.style.width="100%",e.container.style.height="100%",e.setControlsSize()},500),t)e.node.style.width="100%",e.node.style.height="100%";else for(var o=e.container.querySelectorAll("embed, object, video"),a=o.length,s=0;s<a;s++)o[s].style.width="100%",o[s].style.height="100%";e.options.setDimensions&&"function"==typeof e.media.setSize&&e.media.setSize(screen.width,screen.height);for(var l=e.layers.children,p=l.length,m=0;m<p;m++)l[m].style.width="100%",l[m].style.height="100%";e.fullscreenBtn&&((0,c.removeClass)(e.fullscreenBtn,e.options.classPrefix+"fullscreen"),(0,c.addClass)(e.fullscreenBtn,e.options.classPrefix+"unfullscreen")),e.setControlsSize(),e.isFullScreen=!0;var h=Math.min(screen.width/e.width,screen.height/e.height),v=e.container.querySelector("."+e.options.classPrefix+"captions-text");v&&(v.style.fontSize=100*h+"%",v.style.lineHeight="normal",e.container.querySelector("."+e.options.classPrefix+"captions-position").style.bottom="45px");var y=(0,u.createEvent)("enteredfullscreen",e.container);e.container.dispatchEvent(y)}},exitFullScreen:function(){var e=this,t=null!==e.media.rendererName&&/(native|html5)/i.test(e.media.rendererName);if(clearTimeout(e.containerSizeTimeout),d.HAS_TRUE_NATIVE_FULLSCREEN&&(d.IS_FULLSCREEN||e.isFullScreen)&&d.cancelFullScreen(),(0,c.removeClass)(r.default.documentElement,e.options.classPrefix+"fullscreen"),(0,c.removeClass)(e.container,e.options.classPrefix+"container-fullscreen"),e.options.setDimensions){if(e.container.style.width=e.normalWidth+"px",e.container.style.height=e.normalHeight+"px",t)e.node.style.width=e.normalWidth+"px",e.node.style.height=e.normalHeight+"px";else for(var n=e.container.querySelectorAll("embed, object, video"),o=n.length,i=0;i<o;i++)n[i].style.width=e.normalWidth+"px",n[i].style.height=e.normalHeight+"px";"function"==typeof e.media.setSize&&e.media.setSize(e.normalWidth,e.normalHeight);for(var a=e.layers.children,s=a.length,l=0;l<s;l++)a[l].style.width=e.normalWidth+"px",a[l].style.height=e.normalHeight+"px"}e.fullscreenBtn&&((0,c.removeClass)(e.fullscreenBtn,e.options.classPrefix+"unfullscreen"),(0,c.addClass)(e.fullscreenBtn,e.options.classPrefix+"fullscreen")),e.setControlsSize(),e.isFullScreen=!1;var f=e.container.querySelector("."+e.options.classPrefix+"captions-text");f&&(f.style.fontSize="",f.style.lineHeight="",e.container.querySelector("."+e.options.classPrefix+"captions-position").style.bottom="");var p=(0,u.createEvent)("exitedfullscreen",e.container);e.container.dispatchEvent(p)}})},{16:16,2:2,25:25,26:26,27:27,28:28,3:3,5:5}],10:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=e(16),a=o(r),s=o(e(5)),l=e(27),d=e(26);Object.assign(r.config,{playText:null,pauseText:null}),Object.assign(a.default.prototype,{buildplaypause:function(e,t,n,o){function r(e){"play"===e?((0,d.removeClass)(p,a.options.classPrefix+"play"),(0,d.removeClass)(p,a.options.classPrefix+"replay"),(0,d.addClass)(p,a.options.classPrefix+"pause"),m.setAttribute("title",f),m.setAttribute("aria-label",f)):((0,d.removeClass)(p,a.options.classPrefix+"pause"),(0,d.removeClass)(p,a.options.classPrefix+"replay"),(0,d.addClass)(p,a.options.classPrefix+"play"),m.setAttribute("title",c),m.setAttribute("aria-label",c))}var a=this,u=a.options,c=(0,l.isString)(u.playText)?u.playText:s.default.t("mejs.play"),f=(0,l.isString)(u.pauseText)?u.pauseText:s.default.t("mejs.pause"),p=i.default.createElement("div");p.className=a.options.classPrefix+"button "+a.options.classPrefix+"playpause-button "+a.options.classPrefix+"play",p.innerHTML='<button type="button" aria-controls="'+a.id+'" title="'+c+'" aria-label="'+f+'" tabindex="0"></button>',p.addEventListener("click",function(){a.paused?a.play():a.pause()});var m=p.querySelector("button");a.addControlElement(p,"playpause"),r("pse"),o.addEventListener("loadedmetadata",function(){-1===o.rendererName.indexOf("flash")&&r("pse")}),o.addEventListener("play",function(){r("play")}),o.addEventListener("playing",function(){r("play")}),o.addEventListener("pause",function(){r("pse")}),o.addEventListener("ended",function(){e.options.loop||((0,d.removeClass)(p,a.options.classPrefix+"pause"),(0,d.removeClass)(p,a.options.classPrefix+"play"),(0,d.addClass)(p,a.options.classPrefix+"replay"),m.setAttribute("title",c),m.setAttribute("aria-label",c))})}})},{16:16,2:2,26:26,27:27,5:5}],11:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=e(16),a=o(r),s=o(e(5)),l=e(25),d=e(30),u=e(26);Object.assign(r.config,{enableProgressTooltip:!0,useSmoothHover:!0,forceLive:!1}),Object.assign(a.default.prototype,{buildprogress:function(e,t,n,o){var r=0,a=!1,c=!1,f=this,p=e.options.autoRewind,m=e.options.enableProgressTooltip?'<span class="'+f.options.classPrefix+'time-float"><span class="'+f.options.classPrefix+'time-float-current">00:00</span><span class="'+f.options.classPrefix+'time-float-corner"></span></span>':"",h=i.default.createElement("div");h.className=f.options.classPrefix+"time-rail",h.innerHTML='<span class="'+f.options.classPrefix+"time-total "+f.options.classPrefix+'time-slider"><span class="'+f.options.classPrefix+'time-buffering"></span><span class="'+f.options.classPrefix+'time-loaded"></span><span class="'+f.options.classPrefix+'time-current"></span><span class="'+f.options.classPrefix+'time-hovered no-hover"></span><span class="'+f.options.classPrefix+'time-handle"><span class="'+f.options.classPrefix+'time-handle-content"></span></span>'+m+"</span>",f.addControlElement(h,"progress"),t.querySelector("."+f.options.classPrefix+"time-buffering").style.display="none",f.rail=t.querySelector("."+f.options.classPrefix+"time-rail"),f.total=t.querySelector("."+f.options.classPrefix+"time-total"),f.loaded=t.querySelector("."+f.options.classPrefix+"time-loaded"),f.current=t.querySelector("."+f.options.classPrefix+"time-current"),f.handle=t.querySelector("."+f.options.classPrefix+"time-handle"),f.timefloat=t.querySelector("."+f.options.classPrefix+"time-float"),f.timefloatcurrent=t.querySelector("."+f.options.classPrefix+"time-float-current"),f.slider=t.querySelector("."+f.options.classPrefix+"time-slider"),f.hovered=t.querySelector("."+f.options.classPrefix+"time-hovered"),f.newTime=0,f.forcedHandlePause=!1,f.setTransformStyle=function(e,t){e.style.transform=t,e.style.webkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t};var v=function(t){var n=getComputedStyle(f.total),o=(0,u.offset)(f.total),i=f.total.offsetWidth,r=void 0!==n.webkitTransform?"webkitTransform":void 0!==n.mozTransform?"mozTransform ":void 0!==n.oTransform?"oTransform":void 0!==n.msTransform?"msTransform":"transform",s="WebKitCSSMatrix"in window?"WebKitCSSMatrix":"MSCSSMatrix"in window?"MSCSSMatrix":"CSSMatrix"in window?"CSSMatrix":void 0,c=0,p=0,m=0,h=void 0;if(h=t.originalEvent&&t.originalEvent.changedTouches?t.originalEvent.changedTouches[0].pageX:t.changedTouches?t.changedTouches[0].pageX:t.pageX,f.getDuration()){if(h<o.left?h=o.left:h>i+o.left&&(h=i+o.left),m=h-o.left,c=m/i,f.newTime=c<=.02?0:c*f.getDuration(),a&&null!==f.getCurrentTime()&&f.newTime.toFixed(4)!==f.getCurrentTime().toFixed(4)&&(f.setCurrentRailHandle(f.newTime),f.updateCurrent(f.newTime)),!l.IS_IOS&&!l.IS_ANDROID&&f.timefloat){if(m<0&&(m=0),f.options.useSmoothHover&&null!==s&&void 0!==window[s]){var v=new window[s](getComputedStyle(f.handle)[r]).m41,y=m/parseFloat(getComputedStyle(f.total).width)-v/parseFloat(getComputedStyle(f.total).width);f.hovered.style.left=v+"px",f.setTransformStyle(f.hovered,"scaleX("+y+")"),f.hovered.setAttribute("pos",m),y>=0?(0,u.removeClass)(f.hovered,"negative"):(0,u.addClass)(f.hovered,"negative")}var g=f.timefloat.offsetWidth/2;p=h<=f.timefloat.offsetWidth+g?g:h>=f.container.offsetWidth-g?f.total.offsetWidth-g:m,f.timefloat.style.left=p+"px",f.timefloatcurrent.innerHTML=(0,d.secondsToTimeCode)(f.newTime,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength),f.timefloat.style.display="block"}}else l.IS_IOS||l.IS_ANDROID||!f.timefloat||(p=f.timefloat.offsetWidth+i>=f.container.offsetWidth?f.timefloat.offsetWidth/2:0,f.timefloat.style.left=p+"px",f.timefloat.style.left=p+"px",f.timefloat.style.display="block")},y=function(){var t=f.getCurrentTime(),n=s.default.t("mejs.time-slider"),i=(0,d.secondsToTimeCode)(t,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength),r=f.getDuration();f.slider.setAttribute("role","slider"),f.slider.tabIndex=0,o.paused?(f.slider.setAttribute("aria-label",n),f.slider.setAttribute("aria-valuemin",0),f.slider.setAttribute("aria-valuemax",r),f.slider.setAttribute("aria-valuenow",t),f.slider.setAttribute("aria-valuetext",i)):(f.slider.removeAttribute("aria-label"),f.slider.removeAttribute("aria-valuemin"),f.slider.removeAttribute("aria-valuemax"),f.slider.removeAttribute("aria-valuenow"),f.slider.removeAttribute("aria-valuetext"))},g=function(){new Date-r>=1e3&&f.play()},b=function(){a&&null!==f.getCurrentTime()&&f.newTime.toFixed(4)!==f.getCurrentTime().toFixed(4)&&(f.setCurrentTime(f.newTime),f.setCurrentRail(),f.updateCurrent(f.newTime)),f.forcedHandlePause&&(f.slider.focus(),f.play()),f.forcedHandlePause=!1};f.slider.addEventListener("focus",function(){e.options.autoRewind=!1}),f.slider.addEventListener("blur",function(){e.options.autoRewind=p}),f.slider.addEventListener("keydown",function(t){if(new Date-r>=1e3&&(c=f.paused),f.options.keyActions.length){var n=t.which||t.keyCode||0,i=f.getDuration(),a=e.options.defaultSeekForwardInterval(o),s=e.options.defaultSeekBackwardInterval(o),d=f.getCurrentTime();switch(n){case 37:case 40:f.getDuration()!==1/0&&(d-=s);break;case 39:case 38:f.getDuration()!==1/0&&(d+=a);break;case 36:d=0;break;case 35:d=i;break;case 32:return void(l.IS_FIREFOX||(f.paused?f.play():f.pause()));case 13:return void(f.paused?f.play():f.pause());default:return}d=d<0?0:d>=i?i:Math.floor(d),r=new Date,c||e.pause(),d<f.getDuration()&&!c&&setTimeout(g,1100),f.setCurrentTime(d),t.preventDefault(),t.stopPropagation()}});var E=["mousedown","touchstart"];f.slider.addEventListener("dragstart",function(){return!1});for(var S=0,x=E.length;S<x;S++)f.slider.addEventListener(E[S],function(e){if(f.forcedHandlePause=!1,f.getDuration()!==1/0&&(1===e.which||0===e.which)){f.paused||(f.pause(),f.forcedHandlePause=!0),a=!0,v(e);for(var t=["mouseup","touchend"],n=0,o=t.length;n<o;n++)f.container.addEventListener(t[n],function(e){var t=e.target;(t===f.slider||t.closest("."+f.options.classPrefix+"time-slider"))&&v(e)});f.globalBind("mouseup.dur touchend.dur",function(){b(),a=!1,f.timefloat&&(f.timefloat.style.display="none")})}});f.slider.addEventListener("mouseenter",function(e){e.target===f.slider&&f.getDuration()!==1/0&&(f.container.addEventListener("mousemove",function(e){var t=e.target;(t===f.slider||t.closest("."+f.options.classPrefix+"time-slider"))&&v(e)}),!f.timefloat||l.IS_IOS||l.IS_ANDROID||(f.timefloat.style.display="block"),f.hovered&&!l.IS_IOS&&!l.IS_ANDROID&&f.options.useSmoothHover&&(0,u.removeClass)(f.hovered,"no-hover"))}),f.slider.addEventListener("mouseleave",function(){f.getDuration()!==1/0&&(a||(f.timefloat&&(f.timefloat.style.display="none"),f.hovered&&f.options.useSmoothHover&&(0,u.addClass)(f.hovered,"no-hover")))}),f.broadcastCallback=function(n){var o=t.querySelector("."+f.options.classPrefix+"broadcast");if(f.options.forceLive||f.getDuration()===1/0){if(!o||f.options.forceLive){var r=i.default.createElement("span");r.className=f.options.classPrefix+"broadcast",r.innerText=s.default.t("mejs.live-broadcast"),f.slider.style.display="none",f.rail.appendChild(r)}}else o&&(f.slider.style.display="",o.remove()),e.setProgressRail(n),f.forcedHandlePause||e.setCurrentRail(n),y()},o.addEventListener("progress",f.broadcastCallback),o.addEventListener("timeupdate",f.broadcastCallback),f.container.addEventListener("controlsresize",function(t){f.getDuration()!==1/0&&(e.setProgressRail(t),f.forcedHandlePause||e.setCurrentRail(t))})},cleanprogress:function(e,t,n,o){o.removeEventListener("progress",e.broadcastCallback),o.removeEventListener("timeupdate",e.broadcastCallback),e.rail&&e.rail.remove()},setProgressRail:function(e){var t=this,n=void 0!==e?e.detail.target||e.target:t.media,o=null;n&&n.buffered&&n.buffered.length>0&&n.buffered.end&&t.getDuration()?o=n.buffered.end(n.buffered.length-1)/t.getDuration():n&&void 0!==n.bytesTotal&&n.bytesTotal>0&&void 0!==n.bufferedBytes?o=n.bufferedBytes/n.bytesTotal:e&&e.lengthComputable&&0!==e.total&&(o=e.loaded/e.total),null!==o&&(o=Math.min(1,Math.max(0,o)),t.loaded&&t.setTransformStyle(t.loaded,"scaleX("+o+")"))},setCurrentRailHandle:function(e){var t=this;t.setCurrentRailMain(t,e)},setCurrentRail:function(){var e=this;e.setCurrentRailMain(e)},setCurrentRailMain:function(e,t){if(void 0!==e.getCurrentTime()&&e.getDuration()){var n=void 0===t?e.getCurrentTime():t;if(e.total&&e.handle){var o=parseFloat(getComputedStyle(e.total).width),i=Math.round(o*n/e.getDuration()),r=i-Math.round(e.handle.offsetWidth/2);if(r=r<0?0:r,e.setTransformStyle(e.current,"scaleX("+i/o+")"),e.setTransformStyle(e.handle,"translateX("+r+"px)"),e.options.useSmoothHover&&!(0,u.hasClass)(e.hovered,"no-hover")){var a=parseInt(e.hovered.getAttribute("pos")),s=(a=isNaN(a)?0:a)/o-r/o;e.hovered.style.left=r+"px",e.setTransformStyle(e.hovered,"scaleX("+s+")"),s>=0?(0,u.removeClass)(e.hovered,"negative"):(0,u.addClass)(e.hovered,"negative")}}}}})},{16:16,2:2,25:25,26:26,30:30,5:5}],12:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=e(16),a=o(r),s=e(30),l=e(26);Object.assign(r.config,{duration:0,timeAndDurationSeparator:"<span> | </span>"}),Object.assign(a.default.prototype,{buildcurrent:function(e,t,n,o){var r=this,a=i.default.createElement("div");a.className=r.options.classPrefix+"time",a.setAttribute("role","timer"),a.setAttribute("aria-live","off"),a.innerHTML='<span class="'+r.options.classPrefix+'currenttime">'+(0,s.secondsToTimeCode)(0,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength)+"</span>",r.addControlElement(a,"current"),r.updateTimeCallback=function(){r.controlsAreVisible&&e.updateCurrent()},o.addEventListener("timeupdate",r.updateTimeCallback)},cleancurrent:function(e,t,n,o){o.removeEventListener("timeupdate",e.updateTimeCallback)},buildduration:function(e,t,n,o){var r=this;if(t.lastChild.querySelector("."+r.options.classPrefix+"currenttime"))t.querySelector("."+r.options.classPrefix+"time").innerHTML+=r.options.timeAndDurationSeparator+'<span class="'+r.options.classPrefix+'duration">'+(0,s.secondsToTimeCode)(r.options.duration,r.options.alwaysShowHours,r.options.showTimecodeFrameCount,r.options.framesPerSecond,r.options.secondsDecimalLength)+"</span>";else{t.querySelector("."+r.options.classPrefix+"currenttime")&&(0,l.addClass)(t.querySelector("."+r.options.classPrefix+"currenttime").parentNode,r.options.classPrefix+"currenttime-container");var a=i.default.createElement("div");a.className=r.options.classPrefix+"time "+r.options.classPrefix+"duration-container",a.innerHTML='<span class="'+r.options.classPrefix+'duration">'+(0,s.secondsToTimeCode)(r.options.duration,r.options.alwaysShowHours,r.options.showTimecodeFrameCount,r.options.framesPerSecond,r.options.secondsDecimalLength)+"</span>",r.addControlElement(a,"duration")}o.addEventListener("timeupdate",r.updateTimeCallback)},cleanduration:function(e,t,n,o){o.removeEventListener("timeupdate",e.updateTimeCallback)},updateCurrent:function(){var e=this,t=e.getCurrentTime();isNaN(t)&&(t=0);var n=(0,s.secondsToTimeCode)(t,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength);n.length>5?(0,l.addClass)(e.container,e.options.classPrefix+"long-video"):(0,l.removeClass)(e.container,e.options.classPrefix+"long-video"),e.controls.querySelector("."+e.options.classPrefix+"currenttime")&&(e.controls.querySelector("."+e.options.classPrefix+"currenttime").innerText=n)},updateDuration:function(){var e=this,t=e.getDuration();(isNaN(t)||t===1/0||t<0)&&(e.media.duration=e.options.duration=t=0),e.options.duration>0&&(t=e.options.duration);var n=(0,s.secondsToTimeCode)(t,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength);n.length>5?(0,l.addClass)(e.container,e.options.classPrefix+"long-video"):(0,l.removeClass)(e.container,e.options.classPrefix+"long-video"),e.controls.querySelector("."+e.options.classPrefix+"duration")&&t>0&&(e.controls.querySelector("."+e.options.classPrefix+"duration").innerHTML=n)}})},{16:16,2:2,26:26,30:30}],13:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=o(e(7)),a=o(e(5)),s=e(16),l=o(s),d=e(30),u=e(27),c=e(26);Object.assign(s.config,{startLanguage:"",tracksText:null,chaptersText:null,tracksAriaLive:!1,hideCaptionsButtonWhenEmpty:!0,toggleCaptionsButtonWhenOnlyOne:!1,slidesSelector:""}),Object.assign(l.default.prototype,{hasChapters:!1,buildtracks:function(e,t,n,o){if(e.tracks.length||e.trackFiles&&0!==!e.trackFiles.length){var r=this,s=r.options.tracksAriaLive?' role="log" aria-live="assertive" aria-atomic="false"':"",l=(0,u.isString)(r.options.tracksText)?r.options.tracksText:a.default.t("mejs.captions-subtitles"),d=(0,u.isString)(r.options.chaptersText)?r.options.chaptersText:a.default.t("mejs.captions-chapters"),f=null===e.trackFiles?e.tracks.length:e.trackFiles.length;if(r.domNode.textTracks)for(var p=r.domNode.textTracks.length-1;p>=0;p--)r.domNode.textTracks[p].mode="hidden";r.cleartracks(e),e.captions=i.default.createElement("div"),e.captions.className=r.options.classPrefix+"captions-layer "+r.options.classPrefix+"layer",e.captions.innerHTML='<div class="'+r.options.classPrefix+"captions-position "+r.options.classPrefix+'captions-position-hover"'+s+'><span class="'+r.options.classPrefix+'captions-text"></span></div>',e.captions.style.display="none",n.insertBefore(e.captions,n.firstChild),e.captionsText=e.captions.querySelector("."+r.options.classPrefix+"captions-text"),e.captionsButton=i.default.createElement("div"),e.captionsButton.className=r.options.classPrefix+"button "+r.options.classPrefix+"captions-button",e.captionsButton.innerHTML='<button type="button" aria-controls="'+r.id+'" title="'+l+'" aria-label="'+l+'" tabindex="0"></button><div class="'+r.options.classPrefix+"captions-selector "+r.options.classPrefix+'offscreen"><ul class="'+r.options.classPrefix+'captions-selector-list"><li class="'+r.options.classPrefix+'captions-selector-list-item"><input type="radio" class="'+r.options.classPrefix+'captions-selector-input" name="'+e.id+'_captions" id="'+e.id+'_captions_none" value="none" checked disabled><label class="'+r.options.classPrefix+"captions-selector-label "+r.options.classPrefix+'captions-selected" for="'+e.id+'_captions_none">'+a.default.t("mejs.none")+"</label></li></ul></div>",r.addControlElement(e.captionsButton,"tracks"),e.captionsButton.querySelector("."+r.options.classPrefix+"captions-selector-input").disabled=!1,e.chaptersButton=i.default.createElement("div"),e.chaptersButton.className=r.options.classPrefix+"button "+r.options.classPrefix+"chapters-button",e.chaptersButton.innerHTML='<button type="button" aria-controls="'+r.id+'" title="'+d+'" aria-label="'+d+'" tabindex="0"></button><div class="'+r.options.classPrefix+"chapters-selector "+r.options.classPrefix+'offscreen"><ul class="'+r.options.classPrefix+'chapters-selector-list"></ul></div>';for(var m=0,h=0;h<f;h++){var v=e.tracks[h].kind;e.tracks[h].src.trim()&&("subtitles"===v||"captions"===v?m++:"chapters"!==v||t.querySelector("."+r.options.classPrefix+"chapter-selector")||e.captionsButton.parentNode.insertBefore(e.chaptersButton,e.captionsButton))}e.trackToLoad=-1,e.selectedTrack=null,e.isLoadingTrack=!1;for(var y=0;y<f;y++){var g=e.tracks[y].kind;!e.tracks[y].src.trim()||"subtitles"!==g&&"captions"!==g||e.addTrackButton(e.tracks[y].trackId,e.tracks[y].srclang,e.tracks[y].label)}e.loadNextTrack();var b=["mouseenter","focusin"],E=["mouseleave","focusout"];if(r.options.toggleCaptionsButtonWhenOnlyOne&&1===m)e.captionsButton.addEventListener("click",function(){var t="none";null===e.selectedTrack&&(t=e.tracks[0].trackId),e.setTrack(t)});else{for(var S=e.captionsButton.querySelectorAll("."+r.options.classPrefix+"captions-selector-label"),x=e.captionsButton.querySelectorAll("input[type=radio]"),w=0,P=b.length;w<P;w++)e.captionsButton.addEventListener(b[w],function(){(0,c.removeClass)(this.querySelector("."+r.options.classPrefix+"captions-selector"),r.options.classPrefix+"offscreen")});for(var T=0,C=E.length;T<C;T++)e.captionsButton.addEventListener(E[T],function(){(0,c.addClass)(this.querySelector("."+r.options.classPrefix+"captions-selector"),r.options.classPrefix+"offscreen")});for(var k=0,_=x.length;k<_;k++)x[k].addEventListener("click",function(){e.setTrack(this.value)});for(var N=0,A=S.length;N<A;N++)S[N].addEventListener("click",function(){var e=(0,c.siblings)(this,function(e){return"INPUT"===e.tagName})[0],t=(0,u.createEvent)("click",e);e.dispatchEvent(t)});e.captionsButton.addEventListener("keydown",function(e){e.stopPropagation()})}for(var L=0,F=b.length;L<F;L++)e.chaptersButton.addEventListener(b[L],function(){this.querySelector("."+r.options.classPrefix+"chapters-selector-list").children.length&&(0,c.removeClass)(this.querySelector("."+r.options.classPrefix+"chapters-selector"),r.options.classPrefix+"offscreen")});for(var j=0,I=E.length;j<I;j++)e.chaptersButton.addEventListener(E[j],function(){(0,c.addClass)(this.querySelector("."+r.options.classPrefix+"chapters-selector"),r.options.classPrefix+"offscreen")});e.chaptersButton.addEventListener("keydown",function(e){e.stopPropagation()}),e.options.alwaysShowControls?(0,c.addClass)(e.container.querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover"):(e.container.addEventListener("controlsshown",function(){(0,c.addClass)(e.container.querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover")}),e.container.addEventListener("controlshidden",function(){o.paused||(0,c.removeClass)(e.container.querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover")})),o.addEventListener("timeupdate",function(){e.displayCaptions()}),""!==e.options.slidesSelector&&(e.slidesContainer=i.default.querySelectorAll(e.options.slidesSelector),o.addEventListener("timeupdate",function(){e.displaySlides()}))}},cleartracks:function(e){e&&(e.captions&&e.captions.remove(),e.chapters&&e.chapters.remove(),e.captionsText&&e.captionsText.remove(),e.captionsButton&&e.captionsButton.remove(),e.chaptersButton&&e.chaptersButton.remove())},rebuildtracks:function(){var e=this;e.findTracks(),e.buildtracks(e,e.controls,e.layers,e.media)},findTracks:function(){var e=this,t=null===e.trackFiles?e.node.querySelectorAll("track"):e.trackFiles,n=t.length;e.tracks=[];for(var o=0;o<n;o++){var i=t[o],r=i.getAttribute("srclang").toLowerCase()||"",a=e.id+"_track_"+o+"_"+i.getAttribute("kind")+"_"+r;e.tracks.push({trackId:a,srclang:r,src:i.getAttribute("src"),kind:i.getAttribute("kind"),label:i.getAttribute("label")||"",entries:[],isLoaded:!1})}},setTrack:function(e){for(var t=this,n=t.captionsButton.querySelectorAll('input[type="radio"]'),o=t.captionsButton.querySelectorAll("."+t.options.classPrefix+"captions-selected"),i=t.captionsButton.querySelector('input[value="'+e+'"]'),r=0,a=n.length;r<a;r++)n[r].checked=!1;for(var s=0,l=o.length;s<l;s++)(0,c.removeClass)(o[s],t.options.classPrefix+"captions-selected");i.checked=!0;for(var d=(0,c.siblings)(i,function(e){return(0,c.hasClass)(e,t.options.classPrefix+"captions-selector-label")}),f=0,p=d.length;f<p;f++)(0,c.addClass)(d[f],t.options.classPrefix+"captions-selected");if("none"===e)t.selectedTrack=null,(0,c.removeClass)(t.captionsButton,t.options.classPrefix+"captions-enabled");else for(var m=0,h=t.tracks.length;m<h;m++){var v=t.tracks[m];if(v.trackId===e){null===t.selectedTrack&&(0,c.addClass)(t.captionsButton,t.options.classPrefix+"captions-enabled"),t.selectedTrack=v,t.captions.setAttribute("lang",t.selectedTrack.srclang),t.displayCaptions();break}}var y=(0,u.createEvent)("captionschange",t.media);y.detail.caption=t.selectedTrack,t.media.dispatchEvent(y)},loadNextTrack:function(){var e=this;e.trackToLoad++,e.trackToLoad<e.tracks.length?(e.isLoadingTrack=!0,e.loadTrack(e.trackToLoad)):(e.isLoadingTrack=!1,e.checkForTracks())},loadTrack:function(e){var t=this,n=t.tracks[e];void 0===n||void 0===n.src&&""===n.src||(0,c.ajax)(n.src,"text",function(e){n.entries="string"==typeof e&&/<tt\s+xml/gi.exec(e)?r.default.TrackFormatParser.dfxp.parse(e):r.default.TrackFormatParser.webvtt.parse(e),n.isLoaded=!0,t.enableTrackButton(n),t.loadNextTrack(),"slides"===n.kind?t.setupSlides(n):"chapters"!==n.kind||t.hasChapters||(t.drawChapters(n),t.hasChapters=!0)},function(){t.removeTrackButton(n.trackId),t.loadNextTrack()})},enableTrackButton:function(e){var t=this,n=e.srclang,o=i.default.getElementById(""+e.trackId);if(o){var s=e.label;""===s&&(s=a.default.t(r.default.language.codes[n])||n),o.disabled=!1;for(var l=(0,c.siblings)(o,function(e){return(0,c.hasClass)(e,t.options.classPrefix+"captions-selector-label")}),d=0,f=l.length;d<f;d++)l[d].innerHTML=s;if(t.options.startLanguage===n){o.checked=!0;var p=(0,u.createEvent)("click",o);o.dispatchEvent(p)}}},removeTrackButton:function(e){var t=i.default.getElementById(""+e);if(t){var n=t.closest("li");n&&n.remove()}},addTrackButton:function(e,t,n){var o=this;""===n&&(n=a.default.t(r.default.language.codes[t])||t),o.captionsButton.querySelector("ul").innerHTML+='<li class="'+o.options.classPrefix+'captions-selector-list-item"><input type="radio" class="'+o.options.classPrefix+'captions-selector-input" name="'+o.id+'_captions" id="'+e+'" value="'+e+'" disabled><label class="'+o.options.classPrefix+'captions-selector-label"for="'+e+'">'+n+" (loading)</label></li>"},checkForTracks:function(){var e=this,t=!1;if(e.options.hideCaptionsButtonWhenEmpty){for(var n=0,o=e.tracks.length;n<o;n++){var i=e.tracks[n].kind;if(("subtitles"===i||"captions"===i)&&e.tracks[n].isLoaded){t=!0;break}}e.captionsButton.style.display=t?"":"none",e.setControlsSize()}},displayCaptions:function(){if(void 0!==this.tracks){var e=this,t=e.selectedTrack;if(null!==t&&t.isLoaded){var n=e.searchTrackPosition(t.entries,e.media.currentTime);if(n>-1)return e.captionsText.innerHTML=function(e){var t=i.default.createElement("div");t.innerHTML=e;for(var n=t.getElementsByTagName("script"),o=n.length;o--;)n[o].remove();for(var r=t.getElementsByTagName("*"),a=0,s=r.length;a<s;a++)for(var l=r[a].attributes,d=Array.prototype.slice.call(l),u=0,c=d.length;u<c;u++)d[u].name.startsWith("on")||d[u].value.startsWith("javascript")?r[a].remove():"style"===d[u].name&&r[a].removeAttribute(d[u].name);return t.innerHTML}(t.entries[n].text),e.captionsText.className=e.options.classPrefix+"captions-text "+(t.entries[n].identifier||""),e.captions.style.display="",void(e.captions.style.height="0px");e.captions.style.display="none"}else e.captions.style.display="none"}},setupSlides:function(e){var t=this;t.slides=e,t.slides.entries.imgs=[t.slides.entries.length],t.showSlide(0)},showSlide:function(e){var t=this,n=this;if(void 0!==n.tracks&&void 0!==n.slidesContainer){var o=n.slides.entries[e].text,r=n.slides.entries[e].imgs;if(void 0===r||void 0===r.fadeIn){var a=i.default.createElement("img");a.src=o,a.addEventListener("load",function(){var e=t,o=(0,c.siblings)(e,function(e){return o(e)});e.style.display="none",n.slidesContainer.innerHTML+=e.innerHTML,(0,c.fadeIn)(n.slidesContainer.querySelector(a));for(var i=0,r=o.length;i<r;i++)(0,c.fadeOut)(o[i],400)}),n.slides.entries[e].imgs=r=a}else if(!(0,c.visible)(r)){var s=(0,c.siblings)(self,function(e){return s(e)});(0,c.fadeIn)(n.slidesContainer.querySelector(r));for(var l=0,d=s.length;l<d;l++)(0,c.fadeOut)(s[l])}}},displaySlides:function(){var e=this;if(void 0!==this.slides){var t=e.slides,n=e.searchTrackPosition(t.entries,e.media.currentTime);n>-1&&e.showSlide(n)}},drawChapters:function(e){var t=this,n=e.entries.length;if(n){t.chaptersButton.querySelector("ul").innerHTML="";for(var o=0;o<n;o++)t.chaptersButton.querySelector("ul").innerHTML+='<li class="'+t.options.classPrefix+'chapters-selector-list-item" role="menuitemcheckbox" aria-live="polite" aria-disabled="false" aria-checked="false"><input type="radio" class="'+t.options.classPrefix+'captions-selector-input" name="'+t.id+'_chapters" id="'+t.id+"_chapters_"+o+'" value="'+e.entries[o].start+'" disabled><label class="'+t.options.classPrefix+'chapters-selector-label"for="'+t.id+"_chapters_"+o+'">'+e.entries[o].text+"</label></li>";for(var i=t.chaptersButton.querySelectorAll('input[type="radio"]'),r=t.chaptersButton.querySelectorAll("."+t.options.classPrefix+"chapters-selector-label"),a=0,s=i.length;a<s;a++)i[a].disabled=!1,i[a].checked=!1,i[a].addEventListener("click",function(){var e=this,n=t.chaptersButton.querySelectorAll("li"),o=(0,c.siblings)(e,function(e){return(0,c.hasClass)(e,t.options.classPrefix+"chapters-selector-label")})[0];e.checked=!0,e.parentNode.setAttribute("aria-checked",!0),(0,c.addClass)(o,t.options.classPrefix+"chapters-selected"),(0,c.removeClass)(t.chaptersButton.querySelector("."+t.options.classPrefix+"chapters-selected"),t.options.classPrefix+"chapters-selected");for(var i=0,r=n.length;i<r;i++)n[i].setAttribute("aria-checked",!1);t.media.setCurrentTime(parseFloat(e.value)),t.media.paused&&t.media.play()});for(var l=0,d=r.length;l<d;l++)r[l].addEventListener("click",function(){var e=(0,c.siblings)(this,function(e){return"INPUT"===e.tagName})[0],t=(0,u.createEvent)("click",e);e.dispatchEvent(t)})}},searchTrackPosition:function(e,t){for(var n=0,o=e.length-1,i=void 0,r=void 0,a=void 0;n<=o;){if(i=n+o>>1,r=e[i].start,a=e[i].stop,t>=r&&t<a)return i;r<t?n=i+1:r>t&&(o=i-1)}return-1}}),r.default.language={codes:{af:"mejs.afrikaans",sq:"mejs.albanian",ar:"mejs.arabic",be:"mejs.belarusian",bg:"mejs.bulgarian",ca:"mejs.catalan",zh:"mejs.chinese","zh-cn":"mejs.chinese-simplified","zh-tw":"mejs.chines-traditional",hr:"mejs.croatian",cs:"mejs.czech",da:"mejs.danish",nl:"mejs.dutch",en:"mejs.english",et:"mejs.estonian",fl:"mejs.filipino",fi:"mejs.finnish",fr:"mejs.french",gl:"mejs.galician",de:"mejs.german",el:"mejs.greek",ht:"mejs.haitian-creole",iw:"mejs.hebrew",hi:"mejs.hindi",hu:"mejs.hungarian",is:"mejs.icelandic",id:"mejs.indonesian",ga:"mejs.irish",it:"mejs.italian",ja:"mejs.japanese",ko:"mejs.korean",lv:"mejs.latvian",lt:"mejs.lithuanian",mk:"mejs.macedonian",ms:"mejs.malay",mt:"mejs.maltese",no:"mejs.norwegian",fa:"mejs.persian",pl:"mejs.polish",pt:"mejs.portuguese",ro:"mejs.romanian",ru:"mejs.russian",sr:"mejs.serbian",sk:"mejs.slovak",sl:"mejs.slovenian",es:"mejs.spanish",sw:"mejs.swahili",sv:"mejs.swedish",tl:"mejs.tagalog",th:"mejs.thai",tr:"mejs.turkish",uk:"mejs.ukrainian",vi:"mejs.vietnamese",cy:"mejs.welsh",yi:"mejs.yiddish"}},r.default.TrackFormatParser={webvtt:{pattern:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(e){for(var t=e.split(/\r?\n/),n=[],o=void 0,i=void 0,r=void 0,a=0,s=t.length;a<s;a++){if((o=this.pattern.exec(t[a]))&&a<t.length){for(a-1>=0&&""!==t[a-1]&&(r=t[a-1]),i=t[++a],a++;""!==t[a]&&a<t.length;)i=i+"\n"+t[a],a++;i=i.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),n.push({identifier:r,start:0===(0,d.convertSMPTEtoSeconds)(o[1])?.2:(0,d.convertSMPTEtoSeconds)(o[1]),stop:(0,d.convertSMPTEtoSeconds)(o[3]),text:i,settings:o[5]})}r=""}return n}},dfxp:{parse:function(e){var t=(e=$(e).filter("tt")).firstChild,n=t.querySelectorAll("p"),o=e.getElementById(""+t.attr("style")),i=[],r=void 0;if(o.length){o.removeAttribute("id");var a=o.attributes;if(a.length){r={};for(var s=0,l=a.length;s<l;s++)r[a[s].name.split(":")[1]]=a[s].value}}for(var u=0,c=n.length;u<c;u++){var f=void 0,p={start:null,stop:null,style:null,text:null};if(n.eq(u).attr("begin")&&(p.start=(0,d.convertSMPTEtoSeconds)(n.eq(u).attr("begin"))),!p.start&&n.eq(u-1).attr("end")&&(p.start=(0,d.convertSMPTEtoSeconds)(n.eq(u-1).attr("end"))),n.eq(u).attr("end")&&(p.stop=(0,d.convertSMPTEtoSeconds)(n.eq(u).attr("end"))),!p.stop&&n.eq(u+1).attr("begin")&&(p.stop=(0,d.convertSMPTEtoSeconds)(n.eq(u+1).attr("begin"))),r){f="";for(var m in r)f+=m+":"+r[m]+";"}f&&(p.style=f),0===p.start&&(p.start=.2),p.text=n.eq(u).innerHTML.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),i.push(p)}return i}}}},{16:16,2:2,26:26,27:27,30:30,5:5,7:7}],14:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=e(16),a=o(r),s=o(e(5)),l=e(25),d=e(27),u=e(26);Object.assign(r.config,{muteText:null,unmuteText:null,allyVolumeControlText:null,hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical",startVolume:.8}),Object.assign(a.default.prototype,{buildvolume:function(e,t,n,o){if(!l.IS_ANDROID&&!l.IS_IOS||!this.options.hideVolumeOnTouchDevices){var r=this,a=r.isVideo?r.options.videoVolume:r.options.audioVolume,c=(0,d.isString)(r.options.muteText)?r.options.muteText:s.default.t("mejs.mute"),f=(0,d.isString)(r.options.unmuteText)?r.options.unmuteText:s.default.t("mejs.unmute"),p=(0,d.isString)(r.options.allyVolumeControlText)?r.options.allyVolumeControlText:s.default.t("mejs.volume-help-text"),m=i.default.createElement("div");if(m.className=r.options.classPrefix+"button "+r.options.classPrefix+"volume-button "+r.options.classPrefix+"mute",m.innerHTML="horizontal"===a?'<button type="button" aria-controls="'+r.id+'" title="'+c+'" aria-label="'+c+'" tabindex="0"></button>':'<button type="button" aria-controls="'+r.id+'" title="'+c+'" aria-label="'+c+'" tabindex="0"></button><a href="javascript:void(0);" class="'+r.options.classPrefix+'volume-slider" aria-label="'+s.default.t("mejs.volume-slider")+'" aria-valuemin="0" aria-valuemax="100" role="slider" aria-orientation="vertical"><span class="'+r.options.classPrefix+'offscreen">'+p+'</span><div class="'+r.options.classPrefix+'volume-total"><div class="'+r.options.classPrefix+'volume-current"></div><div class="'+r.options.classPrefix+'volume-handle"></div></div></a>',r.addControlElement(m,"volume"),"horizontal"===a){var h=i.default.createElement("a");h.className=r.options.classPrefix+"horizontal-volume-slider",h.href="javascript:void(0);",h.setAttribute("aria-label",s.default.t("mejs.volume-slider")),h.setAttribute("aria-valuemin",0),h.setAttribute("aria-valuemax",100),h.setAttribute("role","slider"),h.innerHTML+='<span class="'+r.options.classPrefix+'offscreen">'+p+'</span><div class="'+r.options.classPrefix+'horizontal-volume-total"><div class="'+r.options.classPrefix+'horizontal-volume-current"></div><div class="'+r.options.classPrefix+'horizontal-volume-handle"></div></div>',m.parentNode.insertBefore(h,m.nextSibling)}var v=!1,y=!1,g=!1,b=function(){var e=Math.floor(100*o.volume);E.setAttribute("aria-valuenow",e),E.setAttribute("aria-valuetext",e+"%")},E="vertical"===a?r.container.querySelector("."+r.options.classPrefix+"volume-slider"):r.container.querySelector("."+r.options.classPrefix+"horizontal-volume-slider"),S="vertical"===a?r.container.querySelector("."+r.options.classPrefix+"volume-total"):r.container.querySelector("."+r.options.classPrefix+"horizontal-volume-total"),x="vertical"===a?r.container.querySelector("."+r.options.classPrefix+"volume-current"):r.container.querySelector("."+r.options.classPrefix+"horizontal-volume-current"),w="vertical"===a?r.container.querySelector("."+r.options.classPrefix+"volume-handle"):r.container.querySelector("."+r.options.classPrefix+"horizontal-volume-handle"),P=function(e){if(null!==e&&!isNaN(e)&&void 0!==e){if(e=Math.max(0,e),0===(e=Math.min(e,1))){(0,u.removeClass)(m,r.options.classPrefix+"mute"),(0,u.addClass)(m,r.options.classPrefix+"unmute");var t=m.firstElementChild;t.setAttribute("title",f),t.setAttribute("aria-label",f)}else{(0,u.removeClass)(m,r.options.classPrefix+"unmute"),(0,u.addClass)(m,r.options.classPrefix+"mute");var n=m.firstElementChild;n.setAttribute("title",c),n.setAttribute("aria-label",c)}var o=100*e+"%",i=getComputedStyle(w);"vertical"===a?(x.style.bottom=0,x.style.height=o,w.style.bottom=o,w.style.marginBottom=-parseFloat(i.height)/2+"px"):(x.style.left=0,x.style.width=o,w.style.left=o,w.style.marginLeft=-parseFloat(i.width)/2+"px")}},T=function(e){var t=(0,u.offset)(S),n=getComputedStyle(S);g=!0;var o=null;if("vertical"===a){var i=parseFloat(n.height);if(o=(i-(e.pageY-t.top))/i,0===t.top||0===t.left)return}else{var s=parseFloat(n.width);o=(e.pageX-t.left)/s}o=Math.max(0,o),o=Math.min(o,1),P(o),r.setMuted(0===o),r.setVolume(o),e.preventDefault(),e.stopPropagation()},C=function(){r.muted?(P(0),(0,u.removeClass)(m,r.options.classPrefix+"mute"),(0,u.addClass)(m,r.options.classPrefix+"unmute")):(P(o.volume),(0,u.removeClass)(m,r.options.classPrefix+"unmute"),(0,u.addClass)(m,r.options.classPrefix+"mute"))};m.addEventListener("mouseenter",function(e){e.target===m&&(E.style.display="block",y=!0,e.preventDefault(),e.stopPropagation())}),m.addEventListener("focusin",function(){E.style.display="block",y=!0}),m.addEventListener("focusout",function(e){e.relatedTarget&&(!e.relatedTarget||e.relatedTarget.matches("."+r.options.classPrefix+"volume-slider"))||"vertical"!==a||(E.style.display="none")}),m.addEventListener("mouseleave",function(){y=!1,v||"vertical"!==a||(E.style.display="none")}),m.addEventListener("focusout",function(){y=!1}),m.addEventListener("keydown",function(e){if(r.options.keyActions.length){var t=e.which||e.keyCode||0,n=o.volume;switch(t){case 38:n=Math.min(n+.1,1);break;case 40:n=Math.max(0,n-.1);break;default:return!0}v=!1,P(n),o.setVolume(n),e.preventDefault(),e.stopPropagation()}}),m.querySelector("button").addEventListener("click",function(){o.setMuted(!o.muted);var e=(0,d.createEvent)("volumechange",o);o.dispatchEvent(e)}),E.addEventListener("dragstart",function(){return!1}),E.addEventListener("mouseover",function(){y=!0}),E.addEventListener("focusin",function(){E.style.display="block",y=!0}),E.addEventListener("focusout",function(){y=!1,v||"vertical"!==a||(E.style.display="none")}),E.addEventListener("mousedown",function(e){T(e),r.globalBind("mousemove.vol",function(e){var t=e.target;v&&(t===E||t.closest("vertical"===a?"."+r.options.classPrefix+"volume-slider":"."+r.options.classPrefix+"horizontal-volume-slider"))&&T(e)}),r.globalBind("mouseup.vol",function(){v=!1,y||"vertical"!==a||(E.style.display="none")}),v=!0,e.preventDefault(),e.stopPropagation()}),o.addEventListener("volumechange",function(e){v||C(),b()});var k=!1;o.addEventListener("rendererready",function(){g||setTimeout(function(){k=!0,(0===e.options.startVolume||o.originalNode.muted)&&(o.setMuted(!0),e.options.startVolume=0),o.setVolume(e.options.startVolume),r.setControlsSize()},250)}),o.addEventListener("loadedmetadata",function(){setTimeout(function(){g||k||((0===e.options.startVolume||o.originalNode.muted)&&(o.setMuted(!0),e.options.startVolume=0),o.setVolume(e.options.startVolume),r.setControlsSize()),k=!1},250)}),(0===e.options.startVolume||o.originalNode.muted)&&(o.setMuted(!0),e.options.startVolume=0,C()),r.container.addEventListener("controlsresize",function(){C()})}}})},{16:16,2:2,25:25,26:26,27:27,5:5}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.EN={"mejs.plural-form":1,"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}},{}],16:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.config=void 0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),s=o(e(3)),l=o(e(2)),d=o(e(7)),u=o(e(6)),c=o(e(17)),f=o(e(5)),p=e(25),m=e(27),h=e(30),v=e(28),y=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e(26));d.default.mepIndex=0,d.default.players={};var g=n.config={poster:"",showPosterWhenEnded:!1,showPosterWhenPaused:!1,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:40,defaultSeekBackwardInterval:function(e){return.05*e.getDuration()},defaultSeekForwardInterval:function(e){return.05*e.getDuration()},setDimensions:!0,audioWidth:-1,audioHeight:-1,loop:!1,autoRewind:!0,enableAutosize:!0,timeFormat:"",alwaysShowHours:!1,showTimecodeFrameCount:!1,framesPerSecond:25,alwaysShowControls:!1,hideVideoControlsOnLoad:!1,hideVideoControlsOnPause:!1,clickToPlayPause:!0,controlsTimeoutDefault:1500,controlsTimeoutMouseEnter:2500,controlsTimeoutMouseLeave:1e3,iPadUseNativeControls:!1,iPhoneUseNativeControls:!1,AndroidUseNativeControls:!1,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],useDefaultControls:!1,isVideo:!0,stretching:"auto",classPrefix:"mejs__",enableKeyboard:!0,pauseOtherPlayers:!0,secondsDecimalLength:0,customError:null,keyActions:[{keys:[32,179],action:function(e){p.IS_FIREFOX||(e.paused||e.ended?e.play():e.pause())}},{keys:[38],action:function(e){(e.container.querySelector("."+g.classPrefix+"volume-button>button").matches(":focus")||e.container.querySelector("."+g.classPrefix+"volume-slider").matches(":focus"))&&(e.container.querySelector("."+g.classPrefix+"volume-slider").style.display=""),e.isVideo&&(e.showControls(),e.startControlsTimer());var t=Math.min(e.volume+.1,1);e.setVolume(t),t>0&&e.setMuted(!1)}},{keys:[40],action:function(e){(e.container.querySelector("."+g.classPrefix+"volume-button>button").matches(":focus")||e.container.querySelector("."+g.classPrefix+"volume-slider").matches(":focus"))&&(e.container.querySelector("."+g.classPrefix+"volume-slider").style.display=""),e.isVideo&&(e.showControls(),e.startControlsTimer());var t=Math.max(e.volume-.1,0);e.setVolume(t),t<=.1&&e.setMuted(!0)}},{keys:[37,227],action:function(e){if(!isNaN(e.duration)&&e.duration>0){e.isVideo&&(e.showControls(),e.startControlsTimer());var t=Math.max(e.currentTime-e.options.defaultSeekBackwardInterval(e),0);e.setCurrentTime(t)}}},{keys:[39,228],action:function(e){if(!isNaN(e.duration)&&e.duration>0){e.isVideo&&(e.showControls(),e.startControlsTimer());var t=Math.min(e.currentTime+e.options.defaultSeekForwardInterval(e),e.duration);e.setCurrentTime(t)}}},{keys:[70],action:function(e,t,n,o){o.ctrlKey||void 0!==e.enterFullScreen&&(e.isFullScreen?e.exitFullScreen():e.enterFullScreen())}},{keys:[77],action:function(e){e.container.querySelector("."+g.classPrefix+"volume-slider").style.display="",e.isVideo&&(e.showControls(),e.startControlsTimer()),e.media.muted?e.setMuted(!1):e.setMuted(!0)}}]};d.default.MepDefaults=g;var b=function(){function e(t,n){i(this,e);var o=this,r="string"==typeof t?l.default.getElementById(t):t;if(!(o instanceof e))return new e(r,n);if(o.node=o.media=r,o.node){if(o.media.player)return o.media.player;if(o.hasFocus=!1,o.controlsAreVisible=!0,o.controlsEnabled=!0,o.controlsTimer=null,o.currentMediaTime=0,o.proxy=null,void 0===n){var a=o.node.getAttribute("data-mejsoptions");n=a?JSON.parse(a):{}}o.options=Object.assign({},g,n),o.options.loop&&!o.media.getAttribute("loop")?(o.media.loop=!0,o.node.loop=!0):o.media.loop&&(o.options.loop=!0),o.options.timeFormat||(o.options.timeFormat="mm:ss",o.options.alwaysShowHours&&(o.options.timeFormat="hh:mm:ss"),o.options.showTimecodeFrameCount&&(o.options.timeFormat+=":ff")),(0,h.calculateTimeFormat)(0,o.options,o.options.framesPerSecond||25),o.id="mep_"+d.default.mepIndex++,d.default.players[o.id]=o;var s=Object.assign({},o.options,{success:function(e,t){o._meReady(e,t)},error:function(e){o._handleError(e)}}),c=o.node.tagName.toLowerCase();if(o.isDynamic="audio"!==c&&"video"!==c&&"iframe"!==c,o.isVideo=o.isDynamic?o.options.isVideo:"audio"!==c&&o.options.isVideo,o.mediaFiles=null,o.trackFiles=null,p.IS_IPAD&&o.options.iPadUseNativeControls||p.IS_IPHONE&&o.options.iPhoneUseNativeControls)o.node.setAttribute("controls",!0),p.IS_IPAD&&o.node.getAttribute("autoplay")&&o.play();else if(!o.isVideo&&(o.isVideo||!o.options.features.length&&!o.options.useDefaultControls)||p.IS_ANDROID&&o.options.AndroidUseNativeControls)o.isVideo||o.options.features.length||o.options.useDefaultControls||(o.node.style.display="none");else{o.node.removeAttribute("controls");var b=o.isVideo?f.default.t("mejs.video-player"):f.default.t("mejs.audio-player"),E=l.default.createElement("span");if(E.className=o.options.classPrefix+"offscreen",E.innerText=b,o.media.parentNode.insertBefore(E,o.media),o.container=l.default.createElement("div"),o.container.id=o.id,o.container.className=o.options.classPrefix+"container "+o.options.classPrefix+"container-keyboard-inactive "+o.media.className,o.container.tabIndex=0,o.container.setAttribute("role","application"),o.container.setAttribute("aria-label",b),o.container.innerHTML='<div class="'+o.options.classPrefix+'inner"><div class="'+o.options.classPrefix+'mediaelement"></div><div class="'+o.options.classPrefix+'layers"></div><div class="'+o.options.classPrefix+'controls"></div></div>',o.container.addEventListener("focus",function(e){if(!o.controlsAreVisible&&!o.hasFocus&&o.controlsEnabled){o.showControls(!0);var t=(0,m.isNodeAfter)(e.relatedTarget,o.container)?"."+o.options.classPrefix+"controls ."+o.options.classPrefix+"button:last-child > button":"."+o.options.classPrefix+"playpause-button > button";o.container.querySelector(t).focus()}}),o.node.parentNode.insertBefore(o.container,o.node),o.options.features.length||o.options.useDefaultControls||(o.container.style.background="transparent",o.container.querySelector("."+o.options.classPrefix+"controls").style.display="none"),o.isVideo&&"fill"===o.options.stretching&&!y.hasClass(o.container.parentNode,o.options.classPrefix+"fill-container")){o.outerContainer=o.media.parentNode;var S=l.default.createElement("div");S.className=o.options.classPrefix+"fill-container",o.container.parentNode.insertBefore(S,o.container),S.appendChild(o.container)}if(p.IS_ANDROID&&y.addClass(o.container,o.options.classPrefix+"android"),p.IS_IOS&&y.addClass(o.container,o.options.classPrefix+"ios"),p.IS_IPAD&&y.addClass(o.container,o.options.classPrefix+"ipad"),p.IS_IPHONE&&y.addClass(o.container,o.options.classPrefix+"iphone"),y.addClass(o.container,o.isVideo?o.options.classPrefix+"video":o.options.classPrefix+"audio"),p.IS_SAFARI&&!p.IS_IOS){y.addClass(o.container,o.options.classPrefix+"hide-cues");for(var x=o.node.cloneNode(),w=o.node.children,P=[],T=[],C=0,k=w.length;C<k;C++){var _=w[C];!function(){switch(_.tagName.toLowerCase()){case"source":var e={};Array.prototype.slice.call(_.attributes).forEach(function(t){e[t.name]=t.value}),e.type=(0,v.formatType)(e.src,e.type),P.push(e);break;case"track":_.mode="hidden",T.push(_);break;default:x.appendChild(_)}}()}o.node.remove(),o.node=o.media=x,P.length&&(o.mediaFiles=P),T.length&&(o.trackFiles=T)}o.container.querySelector("."+o.options.classPrefix+"mediaelement").appendChild(o.node),o.media.player=o,o.controls=o.container.querySelector("."+o.options.classPrefix+"controls"),o.layers=o.container.querySelector("."+o.options.classPrefix+"layers");var N=o.isVideo?"video":"audio",A=N.substring(0,1).toUpperCase()+N.substring(1);o.options[N+"Width"]>0||o.options[N+"Width"].toString().indexOf("%")>-1?o.width=o.options[N+"Width"]:""!==o.node.style.width&&null!==o.node.style.width?o.width=o.node.style.width:o.node.getAttribute("width")?o.width=o.node.getAttribute("width"):o.width=o.options["default"+A+"Width"],o.options[N+"Height"]>0||o.options[N+"Height"].toString().indexOf("%")>-1?o.height=o.options[N+"Height"]:""!==o.node.style.height&&null!==o.node.style.height?o.height=o.node.style.height:o.node.getAttribute("height")?o.height=o.node.getAttribute("height"):o.height=o.options["default"+A+"Height"],o.initialAspectRatio=o.height>=o.width?o.width/o.height:o.height/o.width,o.setPlayerSize(o.width,o.height),s.pluginWidth=o.width,s.pluginHeight=o.height}if(d.default.MepDefaults=s,new u.default(o.media,s,o.mediaFiles),void 0!==o.container&&o.options.features.length&&o.controlsAreVisible&&!o.options.hideVideoControlsOnLoad){var L=(0,m.createEvent)("controlsshown",o.container);o.container.dispatchEvent(L)}return o}}return a(e,[{key:"showControls",value:function(e){var t=this;if(e=void 0===e||e,!t.controlsAreVisible&&t.isVideo){if(e)!function(){y.fadeIn(t.controls,200,function(){y.removeClass(t.controls,t.options.classPrefix+"offscreen");var e=(0,m.createEvent)("controlsshown",t.container);t.container.dispatchEvent(e)});for(var e=t.container.querySelectorAll("."+t.options.classPrefix+"control"),n=0,o=e.length;n<o;n++)!function(n,o){y.fadeIn(e[n],200,function(){y.removeClass(e[n],t.options.classPrefix+"offscreen")})}(n)}();else{y.removeClass(t.controls,t.options.classPrefix+"offscreen"),t.controls.style.display="",t.controls.style.opacity=1;for(var n=t.container.querySelectorAll("."+t.options.classPrefix+"control"),o=0,i=n.length;o<i;o++)y.removeClass(n[o],t.options.classPrefix+"offscreen"),n[o].style.display="";var r=(0,m.createEvent)("controlsshown",t.container);t.container.dispatchEvent(r)}t.controlsAreVisible=!0,t.setControlsSize()}}},{key:"hideControls",value:function(e,t){var n=this;if(e=void 0===e||e,!0===t||!(!n.controlsAreVisible||n.options.alwaysShowControls||n.paused&&4===n.readyState&&(!n.options.hideVideoControlsOnLoad&&n.currentTime<=0||!n.options.hideVideoControlsOnPause&&n.currentTime>0)||n.isVideo&&!n.options.hideVideoControlsOnLoad&&!n.readyState||n.ended)){if(e)!function(){y.fadeOut(n.controls,200,function(){y.addClass(n.controls,n.options.classPrefix+"offscreen"),n.controls.style.display="";var e=(0,m.createEvent)("controlshidden",n.container);n.container.dispatchEvent(e)});for(var e=n.container.querySelectorAll("."+n.options.classPrefix+"control"),t=0,o=e.length;t<o;t++)!function(t,o){y.fadeOut(e[t],200,function(){y.addClass(e[t],n.options.classPrefix+"offscreen"),e[t].style.display=""})}(t)}();else{y.addClass(n.controls,n.options.classPrefix+"offscreen"),n.controls.style.display="",n.controls.style.opacity=0;for(var o=n.container.querySelectorAll("."+n.options.classPrefix+"control"),i=0,r=o.length;i<r;i++)y.addClass(o[i],n.options.classPrefix+"offscreen"),o[i].style.display="";var a=(0,m.createEvent)("controlshidden",n.container);n.container.dispatchEvent(a)}n.controlsAreVisible=!1}}},{key:"startControlsTimer",value:function(e){var t=this;e=void 0!==e?e:t.options.controlsTimeoutDefault,t.killControlsTimer("start"),t.controlsTimer=setTimeout(function(){t.hideControls(),t.killControlsTimer("hide")},e)}},{key:"killControlsTimer",value:function(){var e=this;null!==e.controlsTimer&&(clearTimeout(e.controlsTimer),delete e.controlsTimer,e.controlsTimer=null)}},{key:"disableControls",value:function(){var e=this;e.killControlsTimer(),e.controlsEnabled=!1,e.hideControls(!1,!0)}},{key:"enableControls",value:function(){var e=this;e.controlsEnabled=!0,e.showControls(!1)}},{key:"_setDefaultPlayer",value:function(){var e=this;e.proxy&&e.proxy.pause(),e.proxy=new c.default(e),e.media.addEventListener("loadedmetadata",function(){e.getCurrentTime()>0&&e.currentMediaTime>0&&(e.setCurrentTime(e.currentMediaTime),p.IS_IOS||p.IS_ANDROID||e.play())})}},{key:"_meReady",value:function(e,t){var n=this,o=t.getAttribute("autoplay"),i=!(void 0===o||null===o||"false"===o),r=null!==e.rendererName&&/(native|html5)/i.test(n.media.rendererName);if(n.controls&&n.enableControls(),n.container&&n.container.querySelector("."+n.options.classPrefix+"overlay-play")&&(n.container.querySelector("."+n.options.classPrefix+"overlay-play").style.display=""),!n.created){if(n.created=!0,n.media=e,n.domNode=t,!(p.IS_ANDROID&&n.options.AndroidUseNativeControls||p.IS_IPAD&&n.options.iPadUseNativeControls||p.IS_IPHONE&&n.options.iPhoneUseNativeControls)){if(!n.isVideo&&!n.options.features.length&&!n.options.useDefaultControls)return i&&r&&n.play(),void(n.options.success&&("string"==typeof n.options.success?s.default[n.options.success](n.media,n.domNode,n):n.options.success(n.media,n.domNode,n)));if(n.findTracks(),n.featurePosition={},n._setDefaultPlayer(),n.options.useDefaultControls){var a=["playpause","current","progress","duration","tracks","volume","fullscreen"];n.options.features=a.concat(n.options.features.filter(function(e){return-1===a.indexOf(e)}))}for(var u=0,c=n.options.features.length;u<c;u++){var f=n.options.features[u];if(n["build"+f])try{n["build"+f](n,n.controls,n.layers,n.media)}catch(e){console.error("error building "+f,e)}}n.buildposter(n,n.controls,n.layers,n.media),n.buildkeyboard(n,n.controls,n.layers,n.media),n.buildoverlays(n,n.controls,n.layers,n.media);var v=(0,m.createEvent)("controlsready",n.container);n.container.dispatchEvent(v),n.setPlayerSize(n.width,n.height),n.setControlsSize(),n.isVideo&&(n.clickToPlayPauseCallback=function(){if(n.options.clickToPlayPause){var e=n.container.querySelector("."+n.options.classPrefix+"overlay-button"),t=e.getAttribute("aria-pressed");n.paused&&t?n.pause():n.paused?n.play():n.pause(),e.setAttribute("aria-pressed",!t),n.container.focus()}},n.createIframeLayer(),n.media.addEventListener("click",n.clickToPlayPauseCallback),!p.IS_ANDROID&&!p.IS_IOS||n.options.alwaysShowControls?(n.container.addEventListener("mouseenter",function(){n.controlsEnabled&&(n.options.alwaysShowControls||(n.killControlsTimer("enter"),n.showControls(),n.startControlsTimer(n.options.controlsTimeoutMouseEnter)))}),n.container.addEventListener("mousemove",function(){n.controlsEnabled&&(n.controlsAreVisible||n.showControls(),n.options.alwaysShowControls||n.startControlsTimer(n.options.controlsTimeoutMouseEnter))}),n.container.addEventListener("mouseleave",function(){n.controlsEnabled&&(n.paused||n.options.alwaysShowControls||n.startControlsTimer(n.options.controlsTimeoutMouseLeave))})):n.node.addEventListener("touchstart",function(){n.controlsAreVisible?n.hideControls(!1):n.controlsEnabled&&n.showControls(!1)}),n.options.hideVideoControlsOnLoad&&n.hideControls(!1),n.options.enableAutosize&&n.media.addEventListener("loadedmetadata",function(e){var t=void 0!==e?e.detail.target||e.target:n.media;n.options.videoHeight<=0&&!n.domNode.getAttribute("height")&&null!==t&&!isNaN(t.videoHeight)&&(n.setPlayerSize(t.videoWidth,t.videoHeight),n.setControlsSize(),n.media.setSize(t.videoWidth,t.videoHeight))})),n.media.addEventListener("play",function(){n.hasFocus=!0;for(var e in d.default.players)if(d.default.players.hasOwnProperty(e)){var t=d.default.players[e];t.id===n.id||!n.options.pauseOtherPlayers||t.paused||t.ended||(t.pause(),t.hasFocus=!1)}p.IS_ANDROID||p.IS_IOS||n.options.alwaysShowControls||!n.isVideo||n.hideControls()}),n.media.addEventListener("ended",function(){if(n.options.autoRewind)try{n.setCurrentTime(0),setTimeout(function(){var e=n.container.querySelector("."+n.options.classPrefix+"overlay-loading");e&&e.parentNode&&(e.parentNode.style.display="none")},20)}catch(e){}"function"==typeof n.media.renderer.stop?n.media.renderer.stop():n.pause(),n.setProgressRail&&n.setProgressRail(),n.setCurrentRail&&n.setCurrentRail(),n.options.loop?n.play():!n.options.alwaysShowControls&&n.controlsEnabled&&n.showControls()}),n.media.addEventListener("loadedmetadata",function(){(0,h.calculateTimeFormat)(n.getDuration(),n.options,n.options.framesPerSecond||25),n.updateDuration&&n.updateDuration(),n.updateCurrent&&n.updateCurrent(),n.isFullScreen||(n.setPlayerSize(n.width,n.height),n.setControlsSize())});var g=null;n.media.addEventListener("timeupdate",function(){isNaN(n.getDuration())||g===n.getDuration()||(g=n.getDuration(),(0,h.calculateTimeFormat)(g,n.options,n.options.framesPerSecond||25),n.updateDuration&&n.updateDuration(),n.updateCurrent&&n.updateCurrent(),n.setControlsSize())}),n.container.addEventListener("click",function(e){y.addClass(e.currentTarget,n.options.classPrefix+"container-keyboard-inactive")}),n.container.addEventListener("focusin",function(e){y.removeClass(e.currentTarget,n.options.classPrefix+"container-keyboard-inactive"),!n.isVideo||p.IS_ANDROID||p.IS_IOS||!n.controlsEnabled||n.options.alwaysShowControls||(n.killControlsTimer("enter"),n.showControls(),n.startControlsTimer(n.options.controlsTimeoutMouseEnter))}),n.container.addEventListener("focusout",function(e){setTimeout(function(){e.relatedTarget&&n.keyboardAction&&!e.relatedTarget.closest("."+n.options.classPrefix+"container")&&(n.keyboardAction=!1,!n.isVideo||n.options.alwaysShowControls||n.paused||n.startControlsTimer(n.options.controlsTimeoutMouseLeave))},0)}),setTimeout(function(){n.setPlayerSize(n.width,n.height),n.setControlsSize()},0),n.globalResizeCallback=function(){n.isFullScreen||p.HAS_TRUE_NATIVE_FULLSCREEN&&l.default.webkitIsFullScreen||n.setPlayerSize(n.width,n.height),n.setControlsSize()},n.globalBind("resize",n.globalResizeCallback)}i&&r&&n.play(),n.options.success&&("string"==typeof n.options.success?s.default[n.options.success](n.media,n.domNode,n):n.options.success(n.media,n.domNode,n))}}},{key:"_handleError",value:function(e,t,n){var o=this,i=o.layers.querySelector("."+o.options.classPrefix+"overlay-play");i&&(i.style.display="none"),o.options.error&&o.options.error(e,t,n),o.container.querySelector("."+o.options.classPrefix+"cannotplay")&&o.container.querySelector("."+o.options.classPrefix+"cannotplay").remove();var r=l.default.createElement("div");r.className=o.options.classPrefix+"cannotplay",r.style.width="100%",r.style.height="100%";var a="function"==typeof o.options.customError?o.options.customError(o.media,o.media.originalNode):o.options.customError,s="";if(a){var u=o.media.originalNode.getAttribute("poster");if(u&&(s='<img src="'+u+'" alt="'+d.default.i18n.t("mejs.download-file")+'">'),e.message&&(a+="<p>"+e.message+"</p>"),e.urls)for(var c=0,f=e.urls.length;c<f;c++){var p=e.urls[c];a+='<a href="'+p.src+'" data-type="'+p.type+'"><span>'+d.default.i18n.t("mejs.download-file")+": "+p.src+"</span></a>"}}a&&o.layers.querySelector("."+o.options.classPrefix+"overlay-error")&&(r.innerHTML=a,o.layers.querySelector("."+o.options.classPrefix+"overlay-error").innerHTML=""+s+r.outerHTML,o.layers.querySelector("."+o.options.classPrefix+"overlay-error").parentNode.style.display="block")}},{key:"setPlayerSize",value:function(e,t){var n=this;if(!n.options.setDimensions)return!1;switch(void 0!==e&&(n.width=e),void 0!==t&&(n.height=t),n.options.stretching){case"fill":n.isVideo?n.setFillMode():n.setDimensions(n.width,n.height);break;case"responsive":n.setResponsiveMode();break;case"none":n.setDimensions(n.width,n.height);break;default:!0===n.hasFluidMode()?n.setResponsiveMode():n.setDimensions(n.width,n.height)}}},{key:"hasFluidMode",value:function(){var e=this;return-1!==e.height.toString().indexOf("%")||e.node&&e.node.style.maxWidth&&"none"!==e.node.style.maxWidth&&e.node.style.maxWidth!==e.width||e.node&&e.node.currentStyle&&"100%"===e.node.currentStyle.maxWidth}},{key:"setResponsiveMode",value:function(){var e=this,t=function(){for(var t=void 0,n=e.container;n;){try{if(p.IS_FIREFOX&&"html"===n.tagName.toLowerCase()&&s.default.self!==s.default.top&&null!==s.default.frameElement)return s.default.frameElement;t=n.parentElement}catch(e){t=n.parentElement}if(t&&y.visible(t))return t;n=t}return null}(),n=t?getComputedStyle(t,null):getComputedStyle(l.default.body,null),o=e.isVideo?e.media.videoWidth&&e.media.videoWidth>0?e.media.videoWidth:e.node.getAttribute("width")?e.node.getAttribute("width"):e.options.defaultVideoWidth:e.options.defaultAudioWidth,i=e.isVideo?e.media.videoHeight&&e.media.videoHeight>0?e.media.videoHeight:e.node.getAttribute("height")?e.node.getAttribute("height"):e.options.defaultVideoHeight:e.options.defaultAudioHeight,r=function(){var t=1;return e.isVideo?(t=e.media.videoWidth&&e.media.videoWidth>0&&e.media.videoHeight&&e.media.videoHeight>0?e.height>=e.width?e.media.videoWidth/e.media.videoHeight:e.media.videoHeight/e.media.videoWidth:e.initialAspectRatio,(isNaN(t)||t<.01||t>100)&&(t=1),t):t}(),a=parseFloat(n.height),d=void 0,u=parseFloat(n.width);if(d=e.isVideo?"100%"===e.height?parseFloat(u*i/o,10):e.height>=e.width?parseFloat(u/r,10):parseFloat(u*r,10):i,isNaN(d)&&(d=a),e.container.parentNode.length>0&&"body"===e.container.parentNode.tagName.toLowerCase()&&(u=s.default.innerWidth||l.default.documentElement.clientWidth||l.default.body.clientWidth,d=s.default.innerHeight||l.default.documentElement.clientHeight||l.default.body.clientHeight),d&&u){e.container.style.width=u+"px",e.container.style.height=d+"px",e.node.style.width="100%",e.node.style.height="100%",e.isVideo&&e.media.setSize&&e.media.setSize(u,d);for(var c=e.layers.children,f=0,m=c.length;f<m;f++)c[f].style.width="100%",c[f].style.height="100%"}}},{key:"setFillMode",value:function(){var e=this,t=void 0,n=!1;try{s.default.self!==s.default.top?(n=!0,t=s.default.frameElement):t=e.outerContainer}catch(n){t=e.outerContainer}var o=getComputedStyle(t);"none"!==e.node.style.height&&e.node.style.height!==e.height&&(e.node.style.height="auto"),"none"!==e.node.style.maxWidth&&e.node.style.maxWidth!==e.width&&(e.node.style.maxWidth="none"),"none"!==e.node.style.maxHeight&&e.node.style.maxHeight!==e.height&&(e.node.style.maxHeight="none"),e.node.currentStyle&&("100%"===e.node.currentStyle.height&&(e.node.currentStyle.height="auto"),"100%"===e.node.currentStyle.maxWidth&&(e.node.currentStyle.maxWidth="none"),"100%"===e.node.currentStyle.maxHeight&&(e.node.currentStyle.maxHeight="none")),n||parseFloat(o.width)||(t.style.width=e.media.offsetWidth+"px"),n||parseFloat(o.height)||(t.style.height=e.media.offsetHeight+"px"),o=getComputedStyle(t);var i=parseFloat(o.width),r=parseFloat(o.height);e.setDimensions("100%","100%");var a=e.container.querySelector("."+e.options.classPrefix+"poster>img");a&&(a.style.display="");for(var l=e.container.querySelectorAll("object, embed, iframe, video"),d=e.height,u=e.width,c=i,f=d*i/u,p=u*r/d,m=r,h=p>i==!1,v=h?Math.floor(c):Math.floor(p),y=h?Math.floor(f):Math.floor(m),g=h?i+"px":v+"px",b=h?y+"px":r+"px",E=0,S=l.length;E<S;E++)l[E].style.height=b,l[E].style.width=g,e.media.setSize&&e.media.setSize(g,b),l[E].style.marginLeft=Math.floor((i-v)/2)+"px",l[E].style.marginTop=0}},{key:"setDimensions",value:function(e,t){var n=this;e=(0,m.isString)(e)&&e.indexOf("%")>-1?e:parseFloat(e)+"px",t=(0,m.isString)(t)&&t.indexOf("%")>-1?t:parseFloat(t)+"px",n.container.style.width=e,n.container.style.height=t;for(var o=n.layers.children,i=0,r=o.length;i<r;i++)o[i].style.width=e,o[i].style.height=t}},{key:"setControlsSize",value:function(){var e=this;if(y.visible(e.container))if(e.rail&&y.visible(e.rail)){for(var t=e.total?getComputedStyle(e.total,null):null,n=t?parseFloat(t.marginLeft)+parseFloat(t.marginRight):0,o=getComputedStyle(e.rail),i=parseFloat(o.marginLeft)+parseFloat(o.marginRight),r=0,a=y.siblings(e.rail,function(t){return t!==e.rail}),s=a.length,l=0;l<s;l++)r+=a[l].offsetWidth;r+=n+(0===n?2*i:i)+1,e.container.style.minWidth=r+"px";var d=(0,m.createEvent)("controlsresize",e.container);e.container.dispatchEvent(d)}else{for(var u=e.controls.children,c=0,f=0,p=u.length;f<p;f++)c+=u[f].offsetWidth;e.container.style.minWidth=c+"px"}}},{key:"addControlElement",value:function(e,t){var n=this;if(void 0!==n.featurePosition[t]){var o=n.controls.children[n.featurePosition[t]-1];o.parentNode.insertBefore(e,o.nextSibling)}else{n.controls.appendChild(e);for(var i=n.controls.children,r=0,a=i.length;r<a;r++)if(e===i[r]){n.featurePosition[t]=r;break}}}},{key:"createIframeLayer",value:function(){var e=this;if(e.isVideo&&null!==e.media.rendererName&&e.media.rendererName.indexOf("iframe")>-1&&!l.default.getElementById(e.media.id+"-iframe-overlay")){var t=l.default.createElement("div"),n=l.default.getElementById(e.media.id+"_"+e.media.rendererName);t.id=e.media.id+"-iframe-overlay",t.className=e.options.classPrefix+"iframe-overlay",t.addEventListener("click",function(t){e.options.clickToPlayPause&&(e.paused?e.play():e.pause(),t.preventDefault(),t.stopPropagation())}),n.parentNode.insertBefore(t,n)}}},{key:"resetSize",value:function(){var e=this;setTimeout(function(){e.setPlayerSize(e.width,e.height),e.setControlsSize()},50)}},{key:"setPoster",value:function(e){var t=this,n=t.container.querySelector("."+t.options.classPrefix+"poster");n||((n=l.default.createElement("div")).className=t.options.classPrefix+"poster "+t.options.classPrefix+"layer",t.layers.appendChild(n));var o=n.querySelector("img");!o&&e&&((o=l.default.createElement("img")).className=t.options.classPrefix+"poster-img",o.width="100%",o.height="100%",n.style.display="",n.appendChild(o)),e?(o.setAttribute("src",e),n.style.backgroundImage='url("'+e+'")',n.style.display=""):o?(n.style.backgroundImage="none",n.style.display="none",o.remove()):n.style.display="none"}},{key:"changeSkin",value:function(e){var t=this;t.container.className=t.options.classPrefix+"container "+e,t.setPlayerSize(t.width,t.height),t.setControlsSize()}},{key:"globalBind",value:function(e,t){var n=this,o=n.node?n.node.ownerDocument:l.default;if((e=(0,m.splitEvents)(e,n.id)).d)for(var i=e.d.split(" "),r=0,a=i.length;r<a;r++)i[r].split(".").reduce(function(e,n){return o.addEventListener(n,t,!1),n},"");if(e.w)for(var d=e.w.split(" "),u=0,c=d.length;u<c;u++)d[u].split(".").reduce(function(e,n){return s.default.addEventListener(n,t,!1),n},"")}},{key:"globalUnbind",value:function(e,t){var n=this,o=n.node?n.node.ownerDocument:l.default;if((e=(0,m.splitEvents)(e,n.id)).d)for(var i=e.d.split(" "),r=0,a=i.length;r<a;r++)i[r].split(".").reduce(function(e,n){return o.removeEventListener(n,t,!1),n},"");if(e.w)for(var d=e.w.split(" "),u=0,c=d.length;u<c;u++)d[u].split(".").reduce(function(e,n){return s.default.removeEventListener(n,t,!1),n},"")}},{key:"buildposter",value:function(e,t,n,o){var i=this,r=l.default.createElement("div");r.className=i.options.classPrefix+"poster "+i.options.classPrefix+"layer",n.appendChild(r);var a=o.originalNode.getAttribute("poster");""!==e.options.poster&&a&&p.IS_IOS&&(o.originalNode.removeAttribute("poster"),a=e.options.poster),a?i.setPoster(a):null!==i.media.renderer&&"function"==typeof i.media.renderer.getPosterUrl?i.setPoster(i.media.renderer.getPosterUrl()):r.style.display="none",o.addEventListener("play",function(){r.style.display="none"}),o.addEventListener("playing",function(){r.style.display="none"}),e.options.showPosterWhenEnded&&e.options.autoRewind&&o.addEventListener("ended",function(){r.style.display=""}),o.addEventListener("error",function(){r.style.display="none"}),e.options.showPosterWhenPaused&&o.addEventListener("pause",function(){e.ended||(r.style.display="")})}},{key:"buildoverlays",value:function(e,t,n,o){if(e.isVideo){var i=this,r=l.default.createElement("div"),a=l.default.createElement("div"),s=l.default.createElement("div"),d=t.querySelector("."+i.options.classPrefix+"time-buffering");r.style.display="none",r.className=i.options.classPrefix+"overlay "+i.options.classPrefix+"layer",r.innerHTML='<div class="'+i.options.classPrefix+'overlay-loading"><span class="'+i.options.classPrefix+'overlay-loading-bg-img"></span></div>',n.appendChild(r),a.style.display="none",a.className=i.options.classPrefix+"overlay "+i.options.classPrefix+"layer",a.innerHTML='<div class="'+i.options.classPrefix+'overlay-error"></div>',n.appendChild(a),s.className=i.options.classPrefix+"overlay "+i.options.classPrefix+"layer "+i.options.classPrefix+"overlay-play",s.innerHTML='<div class="'+i.options.classPrefix+'overlay-button" role="button" tabindex="0" aria-label="'+f.default.t("mejs.play")+'" aria-pressed="false"></div>',s.addEventListener("click",function(){if(i.options.clickToPlayPause){var e=i.container.querySelector("."+i.options.classPrefix+"overlay-button"),t=e.getAttribute("aria-pressed");i.paused?i.play():i.pause(),e.setAttribute("aria-pressed",!!t),i.container.focus()}}),s.addEventListener("keydown",function(e){var t=e.keyCode||e.which||0;if(13===t||p.IS_FIREFOX&&32===t){var n=(0,m.createEvent)("click",s);return s.dispatchEvent(n),!1}}),n.appendChild(s),null!==i.media.rendererName&&(/(youtube|facebook)/i.test(i.media.rendererName)&&!(i.media.originalNode.getAttribute("poster")||e.options.poster||"function"==typeof i.media.renderer.getPosterUrl&&i.media.renderer.getPosterUrl())||p.IS_STOCK_ANDROID||i.media.originalNode.getAttribute("autoplay"))&&(s.style.display="none");var u=!1;o.addEventListener("play",function(){s.style.display="none",r.style.display="none",null!==d&&(d.style.display="none"),a.style.display="none",u=!1}),o.addEventListener("playing",function(){s.style.display="none",r.style.display="none",null!==d&&(d.style.display="none"),a.style.display="none",u=!1}),o.addEventListener("seeking",function(){s.style.display="none",r.style.display="",null!==d&&(d.style.display=""),u=!1}),o.addEventListener("seeked",function(){s.style.display=i.paused&&!p.IS_STOCK_ANDROID?"":"none",r.style.display="none",null!==d&&(d.style.display="none"),u=!1}),o.addEventListener("pause",function(){r.style.display="none",p.IS_STOCK_ANDROID||u||(s.style.display=""),null!==d&&(d.style.display="none"),u=!1}),o.addEventListener("waiting",function(){r.style.display="",null!==d&&(d.style.display=""),u=!1}),o.addEventListener("loadeddata",function(){r.style.display="",null!==d&&(d.style.display=""),p.IS_ANDROID&&(o.canplayTimeout=setTimeout(function(){if(l.default.createEvent){var e=l.default.createEvent("HTMLEvents");return e.initEvent("canplay",!0,!0),o.dispatchEvent(e)}},300)),u=!1}),o.addEventListener("canplay",function(){r.style.display="none",null!==d&&(d.style.display="none"),clearTimeout(o.canplayTimeout),u=!1}),o.addEventListener("error",function(e){i._handleError(e,i.media,i.node),r.style.display="none",s.style.display="none",null!==d&&(d.style.display="none"),u=!0}),o.addEventListener("keydown",function(t){i.onkeydown(e,o,t),u=!1})}}},{key:"buildkeyboard",value:function(e,t,n,o){var i=this;i.container.addEventListener("keydown",function(){i.keyboardAction=!0}),i.globalKeydownCallback=function(t){var n=l.default.activeElement.closest("."+i.options.classPrefix+"container"),r=i.media.closest("."+i.options.classPrefix+"container");return i.hasFocus=!(!n||!r||n.id!==r.id),i.onkeydown(e,o,t)},i.globalClickCallback=function(e){i.hasFocus=!!e.target.closest("."+i.options.classPrefix+"container")},i.globalBind("keydown",i.globalKeydownCallback),i.globalBind("click",i.globalClickCallback)}},{key:"onkeydown",value:function(e,t,n){if(e.hasFocus&&e.options.enableKeyboard)for(var o=0,i=e.options.keyActions.length;o<i;o++)for(var r=e.options.keyActions[o],a=0,s=r.keys.length;a<s;a++)n.keyCode===r.keys[a]&&(r.action(e,t,n.keyCode,n),n.preventDefault(),n.stopPropagation());return!0}},{key:"play",value:function(){this.proxy.play()}},{key:"pause",value:function(){this.proxy.pause()}},{key:"load",value:function(){this.proxy.load()}},{key:"setCurrentTime",value:function(e){this.proxy.setCurrentTime(e)}},{key:"getCurrentTime",value:function(){return this.proxy.currentTime}},{key:"getDuration",value:function(){return this.proxy.duration}},{key:"setVolume",value:function(e){this.proxy.volume=e}},{key:"getVolume",value:function(){return this.proxy.getVolume()}},{key:"setMuted",value:function(e){this.proxy.setMuted(e)}},{key:"setSrc",value:function(e){this.controlsEnabled||this.enableControls(),this.proxy.setSrc(e)}},{key:"getSrc",value:function(){return this.proxy.getSrc()}},{key:"canPlayType",value:function(e){return this.proxy.canPlayType(e)}},{key:"remove",value:function(){var e=this,t=e.media.rendererName,n=e.media.originalNode.src;for(var o in e.options.features){var i=e.options.features[o];if(e["clean"+i])try{e["clean"+i](e,e.layers,e.controls,e.media)}catch(e){console.error("error cleaning "+i,e)}}var a=e.node.getAttribute("width"),s=e.node.getAttribute("height");a?-1===a.indexOf("%")&&(a+="px"):a="auto",s?-1===s.indexOf("%")&&(s+="px"):s="auto",e.node.style.width=a,e.node.style.height=s,e.isDynamic?e.container.parentNode.insertBefore(e.node,e.container):function(){e.node.setAttribute("controls",!0),e.node.setAttribute("id",e.node.getAttribute("id").replace("_"+t,"").replace("_from_mejs",""));var o=e.container.querySelector("."+e.options.classPrefix+"poster>img");o&&e.node.setAttribute("poster",o.src),delete e.node.autoplay,""!==e.media.canPlayType((0,v.getTypeFromFile)(n))&&e.node.setAttribute("src",n),~t.indexOf("iframe")&&l.default.getElementById(e.media.id+"-iframe-overlay").remove();var i=e.node.cloneNode();if(i.style.display="",e.container.parentNode.insertBefore(i,e.container),e.node.remove(),e.mediaFiles)for(var r=0,a=e.mediaFiles.length;r<a;r++){var s=l.default.createElement("source");s.setAttribute("src",e.mediaFiles[r].src),s.setAttribute("type",e.mediaFiles[r].type),i.appendChild(s)}if(e.trackFiles)for(var d=0,u=e.trackFiles.length;d<u;d++)!function(t,n){var o=e.trackFiles[t],r=l.default.createElement("track");r.kind=o.kind,r.label=o.label,r.srclang=o.srclang,r.src=o.src,i.appendChild(r),r.addEventListener("load",function(){this.mode="showing",i.textTracks[t].mode="showing"})}(d);delete e.node,delete e.mediaFiles,delete e.trackFiles}(),"function"==typeof e.media.renderer.destroy&&e.media.renderer.destroy(),delete d.default.players[e.id],"object"===r(e.container)&&(e.container.parentNode.querySelector("."+e.options.classPrefix+"offscreen").remove(),e.container.remove()),e.globalUnbind("resize",e.globalResizeCallback),e.globalUnbind("keydown",e.globalKeydownCallback),e.globalUnbind("click",e.globalClickCallback),delete e.media.player}},{key:"paused",get:function(){return this.proxy.paused}},{key:"muted",get:function(){return this.proxy.muted},set:function(e){this.setMuted(e)}},{key:"ended",get:function(){return this.proxy.ended}},{key:"readyState",get:function(){return this.proxy.readyState}},{key:"currentTime",set:function(e){this.setCurrentTime(e)},get:function(){return this.getCurrentTime()}},{key:"duration",get:function(){return this.getDuration()}},{key:"volume",set:function(e){this.setVolume(e)},get:function(){return this.getVolume()}},{key:"src",set:function(e){this.setSrc(e)},get:function(){return this.getSrc()}}]),e}();s.default.MediaElementPlayer=b,n.default=b},{17:17,2:2,25:25,26:26,27:27,28:28,3:3,30:30,5:5,6:6,7:7}],17:[function(e,t,n){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),r=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),a=function(){function e(t){return o(this,e),this.media=t.media,this.isVideo=t.isVideo,this.classPrefix=t.options.classPrefix,this.createIframeLayer=function(){return t.createIframeLayer()},this.setPoster=function(e){return t.setPoster(e)},this}return i(e,[{key:"play",value:function(){this.media.play()}},{key:"pause",value:function(){this.media.pause()}},{key:"load",value:function(){var e=this;e.isLoaded||e.media.load(),e.isLoaded=!0}},{key:"setCurrentTime",value:function(e){this.media.setCurrentTime(e)}},{key:"getCurrentTime",value:function(){return this.media.currentTime}},{key:"getDuration",value:function(){return this.media.getDuration()}},{key:"setVolume",value:function(e){this.media.setVolume(e)}},{key:"getVolume",value:function(){return this.media.getVolume()}},{key:"setMuted",value:function(e){this.media.setMuted(e)}},{key:"setSrc",value:function(e){var t=this,n=document.getElementById(t.media.id+"-iframe-overlay");n&&n.remove(),t.media.setSrc(e),t.createIframeLayer(),null!==t.media.renderer&&"function"==typeof t.media.renderer.getPosterUrl&&t.setPoster(t.media.renderer.getPosterUrl())}},{key:"getSrc",value:function(){return this.media.getSrc()}},{key:"canPlayType",value:function(e){return this.media.canPlayType(e)}},{key:"paused",get:function(){return this.media.paused}},{key:"muted",set:function(e){this.setMuted(e)},get:function(){return this.media.muted}},{key:"ended",get:function(){return this.media.ended}},{key:"readyState",get:function(){return this.media.readyState}},{key:"currentTime",set:function(e){this.setCurrentTime(e)},get:function(){return this.getCurrentTime()}},{key:"duration",get:function(){return this.getDuration()}},{key:"volume",set:function(e){this.setVolume(e)},get:function(){return this.getVolume()}},{key:"src",set:function(e){this.setSrc(e)},get:function(){return this.getSrc()}}]),e}();n.default=a,r.default.DefaultPlayer=a},{3:3}],18:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(3)),r=o(e(7)),a=o(e(16));"undefined"!=typeof jQuery?r.default.$=i.default.jQuery=i.default.$=jQuery:"undefined"!=typeof Zepto?r.default.$=i.default.Zepto=i.default.$=Zepto:"undefined"!=typeof ender&&(r.default.$=i.default.ender=i.default.$=ender),function(e){void 0!==e&&(e.fn.mediaelementplayer=function(t){return!1===t?this.each(function(){var t=e(this).data("mediaelementplayer");t&&t.remove(),e(this).removeData("mediaelementplayer")}):this.each(function(){e(this).data("mediaelementplayer",new a.default(this,t))}),this},e(document).ready(function(){e("."+r.default.MepDefaults.classPrefix+"player").mediaelementplayer()}))}(r.default.$)},{16:16,3:3,7:7}],19:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=o(e(3)),a=o(e(7)),s=e(8),l=e(27),d=e(28),u=e(25),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof dashjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.dashjs.org/latest/dash.all.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=dashjs.MediaPlayer().create();return r.default["__ready__"+e.id](t),t}},p={name:"native_dash",options:{prefix:"native_dash",dash:{path:"https://cdn.dashjs.org/latest/dash.all.min.js",debug:!1,drm:{},robustnessLevel:""}},canPlayType:function(e){return u.HAS_MSE&&["application/dash+xml"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var o=e.originalNode,d=e.id+"_"+t.prefix,u=o.autoplay,c=o.children,p=null,m=null;o.removeAttribute("type");for(var h=0,v=c.length;h<v;h++)c[h].removeAttribute("type");p=o.cloneNode(!0),t=Object.assign(t,e.options);for(var y=a.default.html5media.properties,g=a.default.html5media.events.concat(["click","mouseover","mouseout"]),b=function(t){if("error"!==t.type){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)}},E=0,S=y.length;E<S;E++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);p["get"+n]=function(){return null!==m?p[e]:null},p["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){var o="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n;if(p[e]=o,null!==m){m.reset();for(var r=0,s=g.length;r<s;r++)p.removeEventListener(g[r],b);m=f._createPlayer({options:t.dash,id:d}),n&&"object"===(void 0===n?"undefined":i(n))&&"object"===i(n.drm)&&(m.setProtectionData(n.drm),(0,l.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&m.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),m.attachSource(o),u&&m.play()}}else p[e]=n}}(y[E]);if(r.default["__ready__"+d]=function(n){e.dashPlayer=m=n;for(var o=dashjs.MediaPlayer.events,r=0,s=g.length;r<s;r++)!function(e){"loadedmetadata"===e&&(m.getDebug().setLogToBrowserConsole(t.dash.debug),m.initialize(),m.setScheduleWhilePaused(!1),m.setFastSwitchEnabled(!0),m.attachView(p),m.setAutoPlay(!1),"object"!==i(t.dash.drm)||a.default.Utils.isObjectEmpty(t.dash.drm)||(m.setProtectionData(t.dash.drm),(0,l.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&m.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),m.attachSource(p.getSrc())),p.addEventListener(e,b)}(g[r]);var d=function(t,n){if("error"===t.toLowerCase())e.generateError(n.message,p.src),console.error(n);else{var o=(0,l.createEvent)(t,e);o.data=n,e.dispatchEvent(o)}};for(var u in o)o.hasOwnProperty(u)&&m.on(o[u],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return d(e.type,n)})},n&&n.length>0)for(var x=0,w=n.length;x<w;x++)if(s.renderer.renderers[t.prefix].canPlayType(n[x].type)){p.setAttribute("src",n[x].src),void 0!==n[x].drm&&(t.dash.drm=n[x].drm);break}p.setAttribute("id",d),o.parentNode.insertBefore(p,o),o.autoplay=!1,o.style.display="none",p.setSize=function(e,t){return p.style.width=e+"px",p.style.height=t+"px",p},p.hide=function(){return p.pause(),p.style.display="none",p},p.show=function(){return p.style.display="",p},p.destroy=function(){null!==m&&m.reset()};var P=(0,l.createEvent)("rendererready",p);return e.dispatchEvent(P),e.promises.push(f.load({options:t.dash,id:d})),p}};d.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".mpd")?"application/dash+xml":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],20:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.PluginDetector=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=o(e(3)),a=o(e(2)),s=o(e(7)),l=o(e(5)),d=e(8),u=e(27),c=e(25),f=e(28),p=n.PluginDetector={plugins:[],hasPluginVersion:function(e,t){var n=p.plugins[e];return t[1]=t[1]||0,t[2]=t[2]||0,n[0]>t[0]||n[0]===t[0]&&n[1]>t[1]||n[0]===t[0]&&n[1]===t[1]&&n[2]>=t[2]},addPlugin:function(e,t,n,o,i){p.plugins[e]=p.detectPlugin(t,n,o,i)},detectPlugin:function(e,t,n,o){var a=[0,0,0],s=void 0,l=void 0;if(null!==c.NAV.plugins&&void 0!==c.NAV.plugins&&"object"===i(c.NAV.plugins[e])){if((s=c.NAV.plugins[e].description)&&(void 0===c.NAV.mimeTypes||!c.NAV.mimeTypes[t]||c.NAV.mimeTypes[t].enabledPlugin))for(var d=0,u=(a=s.replace(e,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".")).length;d<u;d++)a[d]=parseInt(a[d].match(/\d+/),10)}else if(void 0!==r.default.ActiveXObject)try{(l=new ActiveXObject(n))&&(a=o(l))}catch(e){}return a}};p.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(e){var t=[],n=e.GetVariable("$version");return n&&(n=n.split(" ")[1].split(","),t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]),t});var m={create:function(e,t,n){var o={};o.options=t,o.id=e.id+"_"+o.options.prefix,o.mediaElement=e,o.flashState={},o.flashApi=null,o.flashApiStack=[];for(var i=s.default.html5media.properties,p=0,m=i.length;p<m;p++)!function(e){o.flashState[e]=null;var t=""+e.substring(0,1).toUpperCase()+e.substring(1);o["get"+t]=function(){if(null!==o.flashApi){if("function"==typeof o.flashApi["get_"+e]){var t=o.flashApi["get_"+e]();return"buffered"===e?{start:function(){return 0},end:function(){return t},length:1}:t}return null}return null},o["set"+t]=function(t){if("src"===e&&(t=(0,f.absolutizeUrl)(t)),null!==o.flashApi&&void 0!==o.flashApi["set_"+e])try{o.flashApi["set_"+e](t)}catch(e){}else o.flashApiStack.push({type:"set",propName:e,value:t})}}(i[p]);var h=s.default.html5media.methods;h.push("stop");for(var v=0,y=h.length;v<y;v++)!function(e){o[e]=function(){if(null!==o.flashApi){if(o.flashApi["fire_"+e])try{o.flashApi["fire_"+e]()}catch(e){}}else o.flashApiStack.push({type:"call",methodName:e})}}(h[v]);for(var g=["rendererready"],b=0,E=g.length;b<E;b++){var S=(0,u.createEvent)(g[b],o);e.dispatchEvent(S)}r.default["__ready__"+o.id]=function(){if(o.flashReady=!0,o.flashApi=a.default.getElementById("__"+o.id),o.flashApiStack.length)for(var e=0,t=o.flashApiStack.length;e<t;e++){var n=o.flashApiStack[e];if("set"===n.type){var i=n.propName,r=""+i.substring(0,1).toUpperCase()+i.substring(1);o["set"+r](n.value)}else"call"===n.type&&o[n.methodName]()}},r.default["__event__"+o.id]=function(e,t){var n=(0,u.createEvent)(e,o);if(t)try{n.data=JSON.parse(t),n.details.data=JSON.parse(t)}catch(e){n.message=t}o.mediaElement.dispatchEvent(n)},o.flashWrapper=a.default.createElement("div"),-1===["always","sameDomain"].indexOf(o.options.shimScriptAccess)&&(o.options.shimScriptAccess="sameDomain");var x=e.originalNode.autoplay,w=["uid="+o.id,"autoplay="+x,"allowScriptAccess="+o.options.shimScriptAccess,"preload="+(e.originalNode.getAttribute("preload")||"")],P=null!==e.originalNode&&"video"===e.originalNode.tagName.toLowerCase(),T=P?e.originalNode.height:1,C=P?e.originalNode.width:1;e.originalNode.getAttribute("src")&&w.push("src="+e.originalNode.getAttribute("src")),!0===o.options.enablePseudoStreaming&&(w.push("pseudostreamstart="+o.options.pseudoStreamingStartQueryParam),w.push("pseudostreamtype="+o.options.pseudoStreamingType)),e.appendChild(o.flashWrapper),e.originalNode.style.display="none";var k=[];if(c.IS_IE){var _=a.default.createElement("div");o.flashWrapper.appendChild(_),k=['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"','codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"','id="__'+o.id+'"','width="'+C+'"','height="'+T+'"'],P||k.push('style="clip: rect(0 0 0 0); position: absolute;"'),_.outerHTML="<object "+k.join(" ")+'><param name="movie" value="'+o.options.pluginPath+o.options.filename+"?x="+new Date+'" /><param name="flashvars" value="'+w.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="'+o.options.shimScriptAccess+'" /><param name="allowFullScreen" value="true" /><div>'+l.default.t("mejs.install-flash")+"</div></object>"}else k=['id="__'+o.id+'"','name="__'+o.id+'"','play="true"','loop="false"','quality="high"','bgcolor="#000000"','wmode="transparent"','allowScriptAccess="'+o.options.shimScriptAccess+'"','allowFullScreen="true"','type="application/x-shockwave-flash"','pluginspage="//www.macromedia.com/go/getflashplayer"','src="'+o.options.pluginPath+o.options.filename+'"','flashvars="'+w.join("&")+'"','width="'+C+'"','height="'+T+'"'],P||k.push('style="clip: rect(0 0 0 0); position: absolute;"'),o.flashWrapper.innerHTML="<embed "+k.join(" ")+">";if(o.flashNode=o.flashWrapper.lastChild,o.hide=function(){P&&(o.flashNode.style.display="none")},o.show=function(){P&&(o.flashNode.style.display="")},o.setSize=function(e,t){o.flashNode.style.width=e+"px",o.flashNode.style.height=t+"px",null!==o.flashApi&&"function"==typeof o.flashApi.fire_setSize&&o.flashApi.fire_setSize(e,t)},o.destroy=function(){o.flashNode.remove()},n&&n.length>0)for(var N=0,A=n.length;N<A;N++)if(d.renderer.renderers[t.prefix].canPlayType(n[N].type)){o.setSrc(n[N].src);break}return o}};if(p.hasPluginVersion("flash",[10,0,0])){f.typeChecks.push(function(e){return(e=e.toLowerCase()).startsWith("rtmp")?~e.indexOf(".mp3")?"audio/rtmp":"video/rtmp":/\.og(a|g)/i.test(e)?"audio/ogg":~e.indexOf(".m3u8")?"application/x-mpegURL":~e.indexOf(".mpd")?"application/dash+xml":~e.indexOf(".flv")?"video/flv":null});var h={name:"flash_video",options:{prefix:"flash_video",filename:"mediaelement-flash-video.swf",enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",pseudoStreamingType:"byte"},canPlayType:function(e){return~["video/mp4","video/rtmp","audio/rtmp","rtmp/mp4","audio/mp4","video/flv","video/x-flv"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(h);var v={name:"flash_hls",options:{prefix:"flash_hls",filename:"mediaelement-flash-video-hls.swf"},canPlayType:function(e){return~["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(v);var y={name:"flash_dash",options:{prefix:"flash_dash",filename:"mediaelement-flash-video-mdash.swf"},canPlayType:function(e){return~["application/dash+xml"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(y);var g={name:"flash_audio",options:{prefix:"flash_audio",filename:"mediaelement-flash-audio.swf"},canPlayType:function(e){return~["audio/mp3"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(g);var b={name:"flash_audio_ogg",options:{prefix:"flash_audio_ogg",filename:"mediaelement-flash-audio-ogg.swf"},canPlayType:function(e){return~["audio/ogg","audio/oga","audio/ogv"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(b)}},{2:2,25:25,27:27,28:28,3:3,5:5,7:7,8:8}],21:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=o(e(3)),a=o(e(7)),s=e(8),l=e(27),d=e(25),u=e(28),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof flvjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.2/flv.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){flvjs.LoggingControl.enableDebug=e.options.debug,flvjs.LoggingControl.enableVerbose=e.options.debug;var t=flvjs.createPlayer(e.options);return r.default["__ready__"+e.id](t),t}},p={name:"native_flv",options:{prefix:"native_flv",flv:{path:"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.2/flv.min.js",cors:!0,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["video/x-flv","video/flv"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var o=e.originalNode,d=e.id+"_"+t.prefix,u=null,c=null;u=o.cloneNode(!0),t=Object.assign(t,e.options);for(var p=a.default.html5media.properties,m=a.default.html5media.events.concat(["click","mouseover","mouseout"]),h=function(t){if("error"!==t.type){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)}},v=0,y=p.length;v<y;v++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);u["get"+n]=function(){return null!==c?u[e]:null},u["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(u[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==c){var o={};o.type="flv",o.url=n,o.cors=t.flv.cors,o.debug=t.flv.debug,o.path=t.flv.path,c.destroy();for(var r=0,s=m.length;r<s;r++)u.removeEventListener(m[r],h);(c=f._createPlayer({options:o,id:d})).attachMediaElement(u),c.load()}}else u[e]=n}}(p[v]);if(r.default["__ready__"+d]=function(t){e.flvPlayer=c=t;for(var n=flvjs.Events,o=0,i=m.length;o<i;o++)!function(e){"loadedmetadata"===e&&(c.unload(),c.detachMediaElement(),c.attachMediaElement(u),c.load()),u.addEventListener(e,h)}(m[o]);var r=function(t,n){if("error"===t){var o=n[0]+": "+n[1]+" "+n[2].msg;e.generateError(o,u.src)}else{var i=(0,l.createEvent)(t,e);i.data=n,e.dispatchEvent(i)}};for(var a in n)!function(e){n.hasOwnProperty(e)&&c.on(n[e],function(){for(var t=arguments.length,o=Array(t),i=0;i<t;i++)o[i]=arguments[i];return r(n[e],o)})}(a)},n&&n.length>0)for(var g=0,b=n.length;g<b;g++)if(s.renderer.renderers[t.prefix].canPlayType(n[g].type)){u.setAttribute("src",n[g].src);break}u.setAttribute("id",d),o.parentNode.insertBefore(u,o),o.autoplay=!1,o.style.display="none";var E={};E.type="flv",E.url=u.src,E.cors=t.flv.cors,E.debug=t.flv.debug,E.path=t.flv.path,u.setSize=function(e,t){return u.style.width=e+"px",u.style.height=t+"px",u},u.hide=function(){return null!==c&&c.pause(),u.style.display="none",u},u.show=function(){return u.style.display="",u},u.destroy=function(){null!==c&&c.destroy()};var S=(0,l.createEvent)("rendererready",u);return e.dispatchEvent(S),e.promises.push(f.load({options:E,id:d})),u}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".flv")?"video/flv":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],22:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=o(e(3)),a=o(e(7)),s=e(8),l=e(27),d=e(25),u=e(28),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof Hls?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.7.11/hls.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=new Hls(e.options);return r.default["__ready__"+e.id](t),t}},p={name:"native_hls",options:{prefix:"native_hls",hls:{path:"https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.7.11/hls.min.js",autoStartLoad:!1,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var o=e.originalNode,d=e.id+"_"+t.prefix,u=o.getAttribute("preload"),c=o.autoplay,p=null,m=null;m=o.cloneNode(!0),(t=Object.assign(t,e.options)).hls.autoStartLoad=u&&"none"!==u||c;for(var h=a.default.html5media.properties,v=a.default.html5media.events.concat(["click","mouseover","mouseout"]),y=function(t){if("error"!==t.type){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)}},g=0,b=h.length;g<b;g++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);m["get"+n]=function(){return null!==p?m[e]:null},m["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(m[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==p){p.destroy();for(var o=0,r=v.length;o<r;o++)m.removeEventListener(v[o],y);(p=f._createPlayer({options:t.hls,id:d})).loadSource(n),p.attachMedia(m)}}else m[e]=n}}(h[g]);if(r.default["__ready__"+d]=function(t){e.hlsPlayer=p=t;for(var n=Hls.Events,o=0,i=v.length;o<i;o++)!function(t){if("loadedmetadata"===t){var n=e.originalNode.src;p.detachMedia(),p.loadSource(n),p.attachMedia(m)}m.addEventListener(t,y)}(v[o]);var r=void 0,a=void 0,s=function(t,n){if("hlsError"===t){if(console.warn(t,n),n.fatal)switch(n.type){case"mediaError":var o=(new Date).getTime();if(!r||o-r>3e3)r=(new Date).getTime(),p.recoverMediaError();else if(!a||o-a>3e3)a=(new Date).getTime(),console.warn("Attempting to swap Audio Codec and recover from media error"),p.swapAudioCodec(),p.recoverMediaError();else{var i="Cannot recover, last media error recovery failed";e.generateError(i,m.src),console.error(i)}break;case"networkError":e.generateError("Network error",m.src),console.error("Network error");break;default:p.destroy()}}else{var s=(0,l.createEvent)(t,e);s.data=n,e.dispatchEvent(s)}};for(var d in n)!function(e){n.hasOwnProperty(e)&&p.on(n[e],function(){for(var t=arguments.length,o=Array(t),i=0;i<t;i++)o[i]=arguments[i];return s(n[e],o)})}(d)},n&&n.length>0)for(var E=0,S=n.length;E<S;E++)if(s.renderer.renderers[t.prefix].canPlayType(n[E].type)){m.setAttribute("src",n[E].src);break}"auto"===u||c||(m.addEventListener("play",function(){null!==p&&p.startLoad()}),m.addEventListener("pause",function(){null!==p&&p.stopLoad()})),m.setAttribute("id",d),o.parentNode.insertBefore(m,o),o.autoplay=!1,o.style.display="none",m.setSize=function(e,t){return m.style.width=e+"px",m.style.height=t+"px",m},m.hide=function(){return m.pause(),m.style.display="none",m},m.show=function(){return m.style.display="",m},m.destroy=function(){null!==p&&(p.stopLoad(),p.destroy())};var x=(0,l.createEvent)("rendererready",m);return e.dispatchEvent(x),e.promises.push(f.load({options:t.hls,id:d})),m}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".m3u8")?"application/x-mpegURL":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],23:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(3)),r=o(e(2)),a=o(e(7)),s=e(8),l=e(27),d=e(25),u={name:"html5",options:{prefix:"html5"},canPlayType:function(e){var t=r.default.createElement("video");return d.IS_ANDROID&&/\/mp(3|4)$/i.test(e)||~["application/x-mpegurl","vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())&&d.SUPPORTS_NATIVE_HLS?"yes":t.canPlayType?t.canPlayType(e.toLowerCase()).replace(/no/,""):""},create:function(e,t,n){var o=e.id+"_"+t.prefix,i=null;void 0===e.originalNode||null===e.originalNode?(i=r.default.createElement("audio"),e.appendChild(i)):i=e.originalNode,i.setAttribute("id",o);for(var d=a.default.html5media.properties,u=0,c=d.length;u<c;u++)!function(e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1);i["get"+t]=function(){return i[e]},i["set"+t]=function(t){-1===a.default.html5media.readOnlyProperties.indexOf(e)&&(i[e]=t)}}(d[u]);for(var f=a.default.html5media.events.concat(["click","mouseover","mouseout"]),p=0,m=f.length;p<m;p++)!function(t){i.addEventListener(t,function(t){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)})}(f[p]);if(i.setSize=function(e,t){return i.style.width=e+"px",i.style.height=t+"px",i},i.hide=function(){return i.style.display="none",i},i.show=function(){return i.style.display="",i},n&&n.length>0)for(var h=0,v=n.length;h<v;h++)if(s.renderer.renderers[t.prefix].canPlayType(n[h].type)){i.setAttribute("src",n[h].src);break}var y=(0,l.createEvent)("rendererready",i);return e.dispatchEvent(y),i}};i.default.HtmlMediaElement=a.default.HtmlMediaElement=u,s.renderer.add(u)},{2:2,25:25,27:27,3:3,7:7,8:8}],24:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(3)),r=o(e(2)),a=o(e(7)),s=e(8),l=e(27),d=e(28),u=e(26),c={isIframeStarted:!1,isIframeLoaded:!1,iframeQueue:[],enqueueIframe:function(e){c.isLoaded="undefined"!=typeof YT&&YT.loaded,c.isLoaded?c.createIframe(e):(c.loadIframeApi(),c.iframeQueue.push(e))},loadIframeApi:function(){c.isIframeStarted||((0,u.loadScript)("https://www.youtube.com/player_api"),c.isIframeStarted=!0)},iFrameReady:function(){for(c.isLoaded=!0,c.isIframeLoaded=!0;c.iframeQueue.length>0;){var e=c.iframeQueue.pop();c.createIframe(e)}},createIframe:function(e){return new YT.Player(e.containerId,e)},getYouTubeId:function(e){var t="";return e.indexOf("?")>0?""===(t=c.getYouTubeIdFromParam(e))&&(t=c.getYouTubeIdFromUrl(e)):t=c.getYouTubeIdFromUrl(e),(t=t.substring(t.lastIndexOf("/")+1).split("?"))[0]},getYouTubeIdFromParam:function(e){if(void 0===e||null===e||!e.trim().length)return null;for(var t=e.split("?")[1].split("&"),n="",o=0,i=t.length;o<i;o++){var r=t[o].split("=");if("v"===r[0]){n=r[1];break}}return n},getYouTubeIdFromUrl:function(e){return void 0!==e&&null!==e&&e.trim().length?(e=e.split("?")[0]).substring(e.lastIndexOf("/")+1):null},getYouTubeNoCookieUrl:function(e){if(void 0===e||null===e||!e.trim().length||-1===e.indexOf("//www.youtube"))return e;var t=e.split("/");return t[2]=t[2].replace(".com","-nocookie.com"),t.join("/")}},f={name:"youtube_iframe",options:{prefix:"youtube_iframe",youtube:{autoplay:0,controls:0,disablekb:1,end:0,loop:0,modestbranding:0,playsinline:0,rel:0,showinfo:0,start:0,iv_load_policy:3,nocookie:!1,imageQuality:null}},canPlayType:function(e){return~["video/youtube","video/x-youtube"].indexOf(e.toLowerCase())},create:function(e,t,n){var o={},s=[],d=null,u=!0,f=!1,p=null,m=1;o.options=t,o.id=e.id+"_"+t.prefix,o.mediaElement=e;for(var h=a.default.html5media.properties,v=0,y=h.length;v<y;v++)!function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);o["get"+n]=function(){if(null!==d){switch(t){case"currentTime":return d.getCurrentTime();case"duration":return d.getDuration();case"volume":return m=d.getVolume()/100;case"paused":return u;case"ended":return f;case"muted":return d.isMuted();case"buffered":var e=d.getVideoLoadedFraction(),n=d.getDuration();return{start:function(){return 0},end:function(){return e*n},length:1};case"src":return d.getVideoUrl();case"readyState":return 4}return null}return null},o["set"+n]=function(n){if(null!==d)switch(t){case"src":var i="string"==typeof n?n:n[0].src,r=c.getYouTubeId(i);e.originalNode.autoplay?d.loadVideoById(r):d.cueVideoById(r);break;case"currentTime":d.seekTo(n);break;case"muted":n?d.mute():d.unMute(),setTimeout(function(){var t=(0,l.createEvent)("volumechange",o);e.dispatchEvent(t)},50);break;case"volume":m=n,d.setVolume(100*n),setTimeout(function(){var t=(0,l.createEvent)("volumechange",o);e.dispatchEvent(t)},50);break;case"readyState":var a=(0,l.createEvent)("canplay",o);e.dispatchEvent(a)}else s.push({type:"set",propName:t,value:n})}}(h[v]);for(var g=a.default.html5media.methods,b=0,E=g.length;b<E;b++)!function(e){o[e]=function(){if(null!==d)switch(e){case"play":return u=!1,d.playVideo();case"pause":return u=!0,d.pauseVideo();case"load":return null}else s.push({type:"call",methodName:e})}}(g[b]);var S=r.default.createElement("div");S.id=o.id,o.options.youtube.nocookie&&(e.originalNode.src=c.getYouTubeNoCookieUrl(n[0].src)),e.originalNode.parentNode.insertBefore(S,e.originalNode),e.originalNode.style.display="none";var x="audio"===e.originalNode.tagName.toLowerCase(),w=x?"1":e.originalNode.height,P=x?"1":e.originalNode.width,T=c.getYouTubeId(n[0].src),C={id:o.id,containerId:S.id,videoId:T,height:w,width:P,playerVars:Object.assign({controls:0,rel:0,disablekb:1,showinfo:0,modestbranding:0,html5:1,playsinline:0,start:0,end:0,iv_load_policy:3},o.options.youtube),origin:i.default.location.host,events:{onReady:function(t){if(e.youTubeApi=d=t.target,e.youTubeState={paused:!0,ended:!1},s.length)for(var n=0,i=s.length;n<i;n++){var r=s[n];if("set"===r.type){var a=r.propName,u=""+a.substring(0,1).toUpperCase()+a.substring(1);o["set"+u](r.value)}else"call"===r.type&&o[r.methodName]()}p=d.getIframe(),e.originalNode.getAttribute("muted")&&d.mute();for(var c=["mouseover","mouseout"],f=0,m=c.length;f<m;f++)p.addEventListener(c[f],function(t){var n=(0,l.createEvent)(t.type,o);e.dispatchEvent(n)},!1);for(var h=["rendererready","loadedmetadata","loadeddata","canplay"],v=0,y=h.length;v<y;v++){var g=(0,l.createEvent)(h[v],o);e.dispatchEvent(g)}},onStateChange:function(t){var n=[];switch(t.data){case-1:n=["loadedmetadata"],u=!0,f=!1;break;case 0:n=["ended"],u=!1,f=!o.options.youtube.loop,o.options.youtube.loop||o.stopInterval();break;case 1:n=["play","playing"],u=!1,f=!1,o.startInterval();break;case 2:n=["pause"],u=!0,f=!1,o.stopInterval();break;case 3:n=["progress"],f=!1;break;case 5:n=["loadeddata","loadedmetadata","canplay"],u=!0,f=!1}for(var i=0,r=n.length;i<r;i++){var a=(0,l.createEvent)(n[i],o);e.dispatchEvent(a)}},onError:function(t){var n=(0,l.createEvent)("error",o);n.data=t.data,e.dispatchEvent(n)}}};return x&&(C.playerVars.playsinline=1),e.originalNode.autoplay&&(C.playerVars.autoplay=1),e.originalNode.loop&&(C.playerVars.loop=1),c.enqueueIframe(C),o.onEvent=function(t,n,o){null!==o&&void 0!==o&&(e.youTubeState=o)},o.setSize=function(e,t){null!==d&&d.setSize(e,t)},o.hide=function(){o.stopInterval(),o.pause(),p&&(p.style.display="none")},o.show=function(){p&&(p.style.display="")},o.destroy=function(){d.destroy()},o.interval=null,o.startInterval=function(){o.interval=setInterval(function(){var t=(0,l.createEvent)("timeupdate",o);e.dispatchEvent(t)},250)},o.stopInterval=function(){o.interval&&clearInterval(o.interval)},o.getPosterUrl=function(){var n=t.youtube.imageQuality,o=["default","hqdefault","mqdefault","sddefault","maxresdefault"],i=c.getYouTubeId(e.originalNode.src);return n&&o.indexOf(n)>-1&&i?"https://img.youtube.com/vi/"+i+"/"+n+".jpg":""},o}};i.default.onYouTubePlayerAPIReady=function(){c.iFrameReady()},d.typeChecks.push(function(e){return/\/\/(www\.youtube|youtu\.?be)/i.test(e)?"video/x-youtube":null}),s.renderer.add(f)},{2:2,26:26,27:27,28:28,3:3,7:7,8:8}],25:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.cancelFullScreen=n.requestFullScreen=n.isFullScreen=n.FULLSCREEN_EVENT_NAME=n.HAS_NATIVE_FULLSCREEN_ENABLED=n.HAS_TRUE_NATIVE_FULLSCREEN=n.HAS_IOS_FULLSCREEN=n.HAS_MS_NATIVE_FULLSCREEN=n.HAS_MOZ_NATIVE_FULLSCREEN=n.HAS_WEBKIT_NATIVE_FULLSCREEN=n.HAS_NATIVE_FULLSCREEN=n.SUPPORTS_NATIVE_HLS=n.SUPPORT_POINTER_EVENTS=n.HAS_MSE=n.IS_STOCK_ANDROID=n.IS_SAFARI=n.IS_FIREFOX=n.IS_CHROME=n.IS_EDGE=n.IS_IE=n.IS_ANDROID=n.IS_IOS=n.IS_IPOD=n.IS_IPHONE=n.IS_IPAD=n.UA=n.NAV=void 0;for(var i=o(e(3)),r=o(e(2)),a=o(e(7)),s=n.NAV=i.default.navigator,l=n.UA=s.userAgent.toLowerCase(),d=n.IS_IPAD=/ipad/i.test(l)&&!i.default.MSStream,u=n.IS_IPHONE=/iphone/i.test(l)&&!i.default.MSStream,c=n.IS_IPOD=/ipod/i.test(l)&&!i.default.MSStream,f=(n.IS_IOS=/ipad|iphone|ipod/i.test(l)&&!i.default.MSStream,n.IS_ANDROID=/android/i.test(l)),p=n.IS_IE=/(trident|microsoft)/i.test(s.appName),m=(n.IS_EDGE="msLaunchUri"in s&&!("documentMode"in r.default)),h=n.IS_CHROME=/chrome/i.test(l),v=n.IS_FIREFOX=/firefox/i.test(l),y=n.IS_SAFARI=/safari/i.test(l)&&!h,g=n.IS_STOCK_ANDROID=/^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(l),b=(n.HAS_MSE="MediaSource"in i.default),E=(n.SUPPORT_POINTER_EVENTS=function(){var e=r.default.createElement("x"),t=r.default.documentElement,n=i.default.getComputedStyle;if(!("pointerEvents"in e.style))return!1;e.style.pointerEvents="auto",e.style.pointerEvents="x",t.appendChild(e);var o=n&&"auto"===n(e,"").pointerEvents;return e.remove(),!!o}()),S=["source","track","audio","video"],x=void 0,w=0,P=S.length;w<P;w++)x=r.default.createElement(S[w]);var T=n.SUPPORTS_NATIVE_HLS=y||f&&(h||g)||p&&/edge/i.test(l),C=void 0!==x.webkitEnterFullscreen,k=void 0!==x.requestFullscreen;C&&/mac os x 10_5/i.test(l)&&(k=!1,C=!1);var _=void 0!==x.webkitRequestFullScreen,N=void 0!==x.mozRequestFullScreen,A=void 0!==x.msRequestFullscreen,L=_||N||A,F=L,j="",I=void 0,M=void 0,O=void 0;N?F=r.default.mozFullScreenEnabled:A&&(F=r.default.msFullscreenEnabled),h&&(C=!1),L&&(_?j="webkitfullscreenchange":N?j="mozfullscreenchange":A&&(j="MSFullscreenChange"),n.isFullScreen=I=function(){return N?r.default.mozFullScreen:_?r.default.webkitIsFullScreen:A?null!==r.default.msFullscreenElement:void 0},n.requestFullScreen=M=function(e){_?e.webkitRequestFullScreen():N?e.mozRequestFullScreen():A&&e.msRequestFullscreen()},n.cancelFullScreen=O=function(){_?r.default.webkitCancelFullScreen():N?r.default.mozCancelFullScreen():A&&r.default.msExitFullscreen()});var D=n.HAS_NATIVE_FULLSCREEN=k,H=n.HAS_WEBKIT_NATIVE_FULLSCREEN=_,R=n.HAS_MOZ_NATIVE_FULLSCREEN=N,V=n.HAS_MS_NATIVE_FULLSCREEN=A,q=n.HAS_IOS_FULLSCREEN=C,U=n.HAS_TRUE_NATIVE_FULLSCREEN=L,B=n.HAS_NATIVE_FULLSCREEN_ENABLED=F,z=n.FULLSCREEN_EVENT_NAME=j;n.isFullScreen=I,n.requestFullScreen=M,n.cancelFullScreen=O,a.default.Features=a.default.Features||{},a.default.Features.isiPad=d,a.default.Features.isiPod=c,a.default.Features.isiPhone=u,a.default.Features.isiOS=a.default.Features.isiPhone||a.default.Features.isiPad,a.default.Features.isAndroid=f,a.default.Features.isIE=p,a.default.Features.isEdge=m,a.default.Features.isChrome=h,a.default.Features.isFirefox=v,a.default.Features.isSafari=y,a.default.Features.isStockAndroid=g,a.default.Features.hasMSE=b,a.default.Features.supportsNativeHLS=T,a.default.Features.supportsPointerEvents=E,a.default.Features.hasiOSFullScreen=q,a.default.Features.hasNativeFullscreen=D,a.default.Features.hasWebkitNativeFullScreen=H,a.default.Features.hasMozNativeFullScreen=R,a.default.Features.hasMsNativeFullScreen=V,a.default.Features.hasTrueNativeFullScreen=U,a.default.Features.nativeFullScreenEnabled=B,a.default.Features.fullScreenEventName=z,a.default.Features.isFullScreen=I,a.default.Features.requestFullScreen=M,a.default.Features.cancelFullScreen=O},{2:2,3:3,7:7}],26:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function i(e){return new Promise(function(t,n){var o=p.default.createElement("script");o.src=e,o.async=!0,o.onload=function(){o.remove(),t()},o.onerror=function(){o.remove(),n()},p.default.head.appendChild(o)})}function r(e){var t=e.getBoundingClientRect(),n=f.default.pageXOffset||p.default.documentElement.scrollLeft,o=f.default.pageYOffset||p.default.documentElement.scrollTop;return{top:t.top+o,left:t.left+n}}function a(e,t){g(e,t)?E(e,t):b(e,t)}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=1);var o=null;f.default.requestAnimationFrame(function i(r){var a=r-(o=o||r),s=parseFloat(1-a/t,2);e.style.opacity=s<0?0:s,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=0);var o=null;f.default.requestAnimationFrame(function i(r){var a=r-(o=o||r),s=parseFloat(a/t,2);e.style.opacity=s>1?1:s,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function d(e,t){var n=[];e=e.parentNode.firstChild;do{t&&!t(e)||n.push(e)}while(e=e.nextSibling);return n}function u(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}function c(e,t,n,o){var i=f.default.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),r="application/x-www-form-urlencoded; charset=UTF-8",a=!1,s="*/".concat("*");switch(t){case"text":r="text/plain";break;case"json":r="application/json, text/javascript";break;case"html":r="text/html";break;case"xml":r="application/xml, text/xml"}"application/x-www-form-urlencoded"!==r&&(s=r+", */*; q=0.01"),i&&(i.open("GET",e,!0),i.setRequestHeader("Accept",s),i.onreadystatechange=function(){if(!a&&4===i.readyState)if(200===i.status){a=!0;var e=void 0;switch(t){case"json":e=JSON.parse(i.responseText);break;case"xml":e=i.responseXML;break;default:e=i.responseText}n(e)}else"function"==typeof o&&o(i.status)},i.send())}Object.defineProperty(n,"__esModule",{value:!0}),n.removeClass=n.addClass=n.hasClass=void 0,n.loadScript=i,n.offset=r,n.toggleClass=a,n.fadeOut=s,n.fadeIn=l,n.siblings=d,n.visible=u,n.ajax=c;var f=o(e(3)),p=o(e(2)),m=o(e(7)),h=void 0,v=void 0,y=void 0;"classList"in p.default.documentElement?(h=function(e,t){return void 0!==e.classList&&e.classList.contains(t)},v=function(e,t){return e.classList.add(t)},y=function(e,t){return e.classList.remove(t)}):(h=function(e,t){return new RegExp("\\b"+t+"\\b").test(e.className)},v=function(e,t){g(e,t)||(e.className+=" "+t)},y=function(e,t){e.className=e.className.replace(new RegExp("\\b"+t+"\\b","g"),"")});var g=n.hasClass=h,b=n.addClass=v,E=n.removeClass=y;m.default.Utils=m.default.Utils||{},m.default.Utils.offset=r,m.default.Utils.hasClass=g,m.default.Utils.addClass=b,m.default.Utils.removeClass=E,m.default.Utils.toggleClass=a,m.default.Utils.fadeIn=l,m.default.Utils.fadeOut=s,m.default.Utils.siblings=d,m.default.Utils.visible=u,m.default.Utils.ajax=c,m.default.Utils.loadScript=i},{2:2,3:3,7:7}],27:[function(e,t,n){"use strict";function o(e){if("string"!=typeof e)throw new Error("Argument passed must be a string");var t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};return e.replace(/[&<>"]/g,function(e){return t[e]})}function i(e,t){var n=this,o=arguments,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"!=typeof e)throw new Error("First argument must be a function");if("number"!=typeof t)throw new Error("Second argument must be a numeric value");var r=void 0;return function(){var a=n,s=o,l=i&&!r;clearTimeout(r),r=setTimeout(function(){r=null,i||e.apply(a,s)},t),l&&e.apply(a,s)}}function r(e){return Object.getOwnPropertyNames(e).length<=0}function a(e,t){var n=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/,o={d:[],w:[]};return(e||"").split(" ").forEach(function(e){var i=e+(t?"."+t:"");i.startsWith(".")?(o.d.push(i),o.w.push(i)):o[n.test(e)?"w":"d"].push(i)}),o.d=o.d.join(" "),o.w=o.w.join(" "),o}function s(e,t){if("string"!=typeof e)throw new Error("Event name must be a string");var n=e.match(/([a-z]+\.([a-z]+))/i),o={target:t};return null!==n&&(e=n[1],o.namespace=n[2]),new window.CustomEvent(e,{detail:o})}function l(e,t){return!!(e&&t&&2&e.compareDocumentPosition(t))}function d(e){return"string"==typeof e}Object.defineProperty(n,"__esModule",{value:!0}),n.escapeHTML=o,n.debounce=i,n.isObjectEmpty=r,n.splitEvents=a,n.createEvent=s,n.isNodeAfter=l,n.isString=d;var u=function(e){return e&&e.__esModule?e:{default:e}}(e(7));u.default.Utils=u.default.Utils||{},u.default.Utils.escapeHTML=o,u.default.Utils.debounce=i,u.default.Utils.isObjectEmpty=r,u.default.Utils.splitEvents=a,u.default.Utils.createEvent=s,u.default.Utils.isNodeAfter=l,u.default.Utils.isString=d},{7:7}],28:[function(e,t,n){"use strict";function o(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=document.createElement("div");return t.innerHTML='<a href="'+(0,u.escapeHTML)(e)+'">x</a>',t.firstChild.href}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e&&!t?a(e):t}function r(e){if("string"!=typeof e)throw new Error("`type` argument must be a string");return e&&e.indexOf(";")>-1?e.substr(0,e.indexOf(";")):e}function a(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");for(var t=0,n=c.length;t<n;t++){var o=c[t](e);if(o)return o}var i=l(s(e)),r="video/mp4";return i&&(~["mp4","m4v","ogg","ogv","webm","flv","mpeg","mov"].indexOf(i)?r="video/"+i:~["mp3","oga","wav","mid","midi"].indexOf(i)&&(r="audio/"+i)),r}function s(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=e.split("?")[0].split("\\").pop().split("/").pop();return~t.indexOf(".")?t.substring(t.lastIndexOf(".")+1):""}function l(e){if("string"!=typeof e)throw new Error("`extension` argument must be a string");switch(e){case"mp4":case"m4v":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecks=void 0,n.absolutizeUrl=o,n.formatType=i,n.getMimeFromType=r,n.getTypeFromFile=a,n.getExtension=s,n.normalizeExtension=l;var d=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),u=e(27),c=n.typeChecks=[];d.default.Utils=d.default.Utils||{},d.default.Utils.typeChecks=c,d.default.Utils.absolutizeUrl=o,d.default.Utils.formatType=i,d.default.Utils.getMimeFromType=r,d.default.Utils.getTypeFromFile=a,d.default.Utils.getExtension=s,d.default.Utils.normalizeExtension=l},{27:27,7:7}],29:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=o(e(4));[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach(function(e){e.hasOwnProperty("remove")||Object.defineProperty(e,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=i.default.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}if("function"==typeof window.CustomEvent)return!1;e.prototype=window.Event.prototype,window.CustomEvent=e}(),"function"!=typeof Object.assign&&(Object.assign=function(e){if(null===e||void 0===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1,o=arguments.length;n<o;n++){var i=arguments[n];if(null!==i)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}),String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length-1;--n>=0&&t.item(n)!==this;);return n>-1}),window.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t=(this.document||this.ownerDocument).querySelectorAll(e),n=void 0,o=this;do{for(n=t.length;--n>=0&&t.item(n)!==o;);}while(n<0&&(o=o.parentElement));return o}),function(){for(var e=0,t=["ms","moz","webkit","o"],n=0;n<t.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[t[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[n]+"CancelAnimationFrame"]||window[t[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var n=(new Date).getTime(),o=Math.max(0,16-(n-e)),i=window.setTimeout(function(){t(n+o)},o);return e=n+o,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}(),/firefox/i.test(navigator.userAgent)&&(window.mediaElementJsOldGetComputedStyle=window.getComputedStyle,window.getComputedStyle=function(e,t){var n=window.mediaElementJsOldGetComputedStyle(e,t);return null===n?{getPropertyValue:function(){}}:n}),window.Promise||(window.Promise=r.default),function(e){e&&e.prototype&&null===e.prototype.children&&Object.defineProperty(e.prototype,"children",{get:function(){for(var e=0,t=void 0,n=this.childNodes,o=[];t=n[e++];)1===t.nodeType&&o.push(t);return o}})}(window.Node||window.Element)},{2:2,4:4}],30:[function(e,t,n){"use strict";function o(){return!((arguments.length>0&&void 0!==arguments[0]?arguments[0]:25)%1==0)}function i(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:25,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;e=!e||"number"!=typeof e||e<0?0:e;var a=Math.round(.066666*i),s=Math.round(i),l=24*Math.round(3600*i),d=Math.round(600*i),u=o(i)?";":":",c=void 0,f=void 0,p=void 0,m=void 0,h=Math.round(e*i);if(o(i)){h<0&&(h=l+h);var v=(h%=l)%d;h+=9*a*Math.floor(h/d),v>a&&(h+=a*Math.floor((v-a)/Math.round(60*s-a)));var y=Math.floor(h/s);c=Math.floor(Math.floor(y/60)/60),f=Math.floor(y/60)%60,p=n?y%60:(h/s%60).toFixed(r)}else c=Math.floor(e/3600)%24,f=Math.floor(e/60)%60,p=n?Math.floor(e%60):(e%60).toFixed(r);c=c<=0?0:c,f=f<=0?0:f,p=p<=0?0:p;var g=t||c>0?(c<10?"0"+c:c)+":":"";return g+=(f<10?"0"+f:f)+":",g+=""+(p<10?"0"+p:p),n&&(g+=(m=(m=(h%s).toFixed(0))<=0?0:m)<10?u+"0"+m:""+u+m),g}function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:25;if("string"!=typeof e)throw new TypeError("Time must be a string");if(e.indexOf(";")>0&&(e=e.replace(";",":")),!/\d{2}(\:\d{2}){0,3}/i.test(e))throw new TypeError("Time code must have the format `00:00:00`");var n=e.split(":"),i=void 0,r=0,a=0,s=0,l=0,d=0,u=Math.round(.066666*t),c=Math.round(t),f=3600*c,p=60*c;switch(n.length){default:case 1:s=parseInt(n[0],10);break;case 2:a=parseInt(n[0],10),s=parseInt(n[1],10);break;case 3:r=parseInt(n[0],10),a=parseInt(n[1],10),s=parseInt(n[2],10);break;case 4:r=parseInt(n[0],10),a=parseInt(n[1],10),s=parseInt(n[2],10),l=parseInt(n[3],10)}return i=o(t)?f*r+p*a+c*s+l-u*((d=60*r+a)-Math.floor(d/10)):(f*r+p*a+t*s+l)/t,parseFloat(i.toFixed(3))}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:25;e=!e||"number"!=typeof e||e<0?0:e;for(var o=Math.floor(e/3600)%24,i=Math.floor(e/60)%60,r=Math.floor(e%60),a=[[Math.floor((e%1*n).toFixed(3)),"f"],[r,"s"],[i,"m"],[o,"h"]],s=t.timeFormat,l=s[1]===s[0],d=l?2:1,u=s.length<d?s[d]:":",c=s[0],f=!1,p=0,m=a.length;p<m;p++)if(~s.indexOf(a[p][1]))f=!0;else if(f){for(var h=!1,v=p;v<m;v++)if(a[v][0]>0){h=!0;break}if(!h)break;l||(s=c+s),s=a[p][1]+u+s,l&&(s=a[p][1]+s),c=a[p][1]}t.currentTimeFormat=s}function s(e){if("string"!=typeof e)throw new TypeError("Argument must be a string value");for(var t=~(e=e.replace(",",".")).indexOf(".")?e.split(".")[1].length:0,n=0,o=1,i=0,r=(e=e.split(":").reverse()).length;i<r;i++)o=1,i>0&&(o=Math.pow(60,i)),n+=Number(e[i])*o;return Number(n.toFixed(t))}Object.defineProperty(n,"__esModule",{value:!0}),n.isDropFrame=o,n.secondsToTimeCode=i,n.timeCodeToSeconds=r,n.calculateTimeFormat=a,n.convertSMPTEtoSeconds=s;var l=function(e){return e&&e.__esModule?e:{default:e}}(e(7));l.default.Utils=l.default.Utils||{},l.default.Utils.secondsToTimeCode=i,l.default.Utils.timeCodeToSeconds=r,l.default.Utils.calculateTimeFormat=a,l.default.Utils.convertSMPTEtoSeconds=s},{7:7}]},{},[29,6,5,15,23,20,19,21,22,24,16,18,17,9,10,11,12,13,14]);
\ No newline at end of file
+!function e(t,n,o){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(r)return r(a,!0);var d=new Error("Cannot find module '"+a+"'");throw d.code="MODULE_NOT_FOUND",d}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n||e)},u,u.exports,e,t,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(e,t,n){},{}],2:[function(e,t,n){(function(n){var o,i=void 0!==n?n:"undefined"!=typeof window?window:{},r=e(1);"undefined"!=typeof document?o=document:(o=i["__GLOBAL_DOCUMENT_CACHE@4"])||(o=i["__GLOBAL_DOCUMENT_CACHE@4"]=r),t.exports=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1}],3:[function(e,t,n){(function(e){var n;n="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){!function(e){function n(){}function o(e,t){return function(){e.apply(t,arguments)}}function i(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(e,this)}function r(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,i._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var o;try{o=n(e._value)}catch(e){return void s(t.promise,e)}a(t.promise,o)}else(1===e._state?a:s)(t.promise,e._value)})):e._deferreds.push(t)}function a(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof i)return e._state=3,e._value=t,void l(e);if("function"==typeof n)return void u(o(n,t),e)}e._state=1,e._value=t,l(e)}catch(t){s(e,t)}}function s(e,t){e._state=2,e._value=t,l(e)}function l(e){2===e._state&&0===e._deferreds.length&&i._immediateFn(function(){e._handled||i._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)r(e,e._deferreds[t]);e._deferreds=null}function d(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function u(e,t){var n=!1;try{e(function(e){n||(n=!0,a(t,e))},function(e){n||(n=!0,s(t,e))})}catch(e){if(n)return;n=!0,s(t,e)}}var c=setTimeout;i.prototype.catch=function(e){return this.then(null,e)},i.prototype.then=function(e,t){var o=new this.constructor(n);return r(this,new d(e,t,o)),o},i.all=function(e){var t=Array.prototype.slice.call(e);return new i(function(e,n){function o(r,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,function(e){o(r,e)},n)}t[r]=a,0==--i&&e(t)}catch(e){n(e)}}if(0===t.length)return e([]);for(var i=t.length,r=0;r<t.length;r++)o(r,t[r])})},i.resolve=function(e){return e&&"object"==typeof e&&e.constructor===i?e:new i(function(t){t(e)})},i.reject=function(e){return new i(function(t,n){n(e)})},i.race=function(e){return new i(function(t,n){for(var o=0,i=e.length;o<i;o++)e[o].then(t,n)})},i._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){c(e,0)},i._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)},i._setImmediateFn=function(e){i._immediateFn=e},i._setUnhandledRejectionFn=function(e){i._unhandledRejectionFn=e},void 0!==t&&t.exports?t.exports=i:e.Promise||(e.Promise=i)}(this)},{}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),r=e(15),a=e(27),s={lang:"en",en:r.EN};s.language=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(null!==t&&void 0!==t&&t.length){if("string"!=typeof t[0])throw new TypeError("Language code must be a string value");if(!/^[a-z]{2}(\-[a-z]{2})?$/i.test(t[0]))throw new TypeError("Language code must have format `xx` or `xx-xx`");s.lang=t[0],void 0===s[t[0]]?(t[1]=null!==t[1]&&void 0!==t[1]&&"object"===o(t[1])?t[1]:{},s[t[0]]=(0,a.isObjectEmpty)(t[1])?r.EN:t[1]):null!==t[1]&&void 0!==t[1]&&"object"===o(t[1])&&(s[t[0]]=t[1])}return s.lang},s.t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof e&&e.length){var n=void 0,i=void 0,r=s.language(),l=function(e,t,n){return"object"!==(void 0===e?"undefined":o(e))||"number"!=typeof t||"number"!=typeof n?e:[function(){return arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 0===(arguments.length<=0?void 0:arguments[0])||1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:0!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])||11===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])||12===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>0&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])>=2&&(arguments.length<=0?void 0:arguments[0])<=4?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%100==1?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100==2?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100==3||(arguments.length<=0?void 0:arguments[0])%100==4?arguments.length<=4?void 0:arguments[4]:arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<7?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])>6&&(arguments.length<=0?void 0:arguments[0])<11?arguments.length<=4?void 0:arguments[4]:arguments.length<=5?void 0:arguments[5]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100>=3&&(arguments.length<=0?void 0:arguments[0])%100<=10?arguments.length<=4?void 0:arguments[4]:(arguments.length<=0?void 0:arguments[0])%100>=11?arguments.length<=5?void 0:arguments[5]:arguments.length<=6?void 0:arguments[6]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>1&&(arguments.length<=0?void 0:arguments[0])%100<11?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100>10&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10==2?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 11!==(arguments.length<=0?void 0:arguments[0])&&(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:8!==(arguments.length<=0?void 0:arguments[0])&&11!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:3===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]}][n].apply(null,[t].concat(e))};return void 0!==s[r]&&(n=s[r][e],null!==t&&"number"==typeof t&&(i=s[r]["mejs.plural-form"],n=l.apply(null,[n,t,i]))),!n&&s.en&&(n=s.en[e],null!==t&&"number"==typeof t&&(i=s.en["mejs.plural-form"],n=l.apply(null,[n,t,i]))),n=n||e,null!==t&&"number"==typeof t&&(n=n.replace("%1",t)),(0,a.escapeHTML)(n)}return e},i.default.i18n=s,"undefined"!=typeof mejsL10n&&i.default.i18n.language(mejsL10n.language,mejsL10n.strings),n.default=s},{15:15,27:27,7:7}],6:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=o(e(3)),s=o(e(2)),l=o(e(7)),d=e(27),u=e(28),c=e(8),f=e(25),p=function e(t,n,o){var p=this;i(this,e);var m=this;o=Array.isArray(o)?o:null,m.defaults={renderers:[],fakeNodeName:"mediaelementwrapper",pluginPath:"build/",shimScriptAccess:"sameDomain"},n=Object.assign(m.defaults,n),m.mediaElement=s.default.createElement(n.fakeNodeName);var h=t,v=!1;if("string"==typeof t?m.mediaElement.originalNode=s.default.getElementById(t):(m.mediaElement.originalNode=t,h=t.id),void 0===m.mediaElement.originalNode||null===m.mediaElement.originalNode)return null;m.mediaElement.options=n,h=h||"mejs_"+Math.random().toString().slice(2),m.mediaElement.originalNode.setAttribute("id",h+"_from_mejs");var y=m.mediaElement.originalNode.tagName.toLowerCase();["video","audio"].indexOf(y)>-1&&!m.mediaElement.originalNode.getAttribute("preload")&&m.mediaElement.originalNode.setAttribute("preload","none"),m.mediaElement.originalNode.parentNode.insertBefore(m.mediaElement,m.mediaElement.originalNode),m.mediaElement.appendChild(m.mediaElement.originalNode);var g=function(e,t){if("https:"===a.default.location.protocol&&0===e.indexOf("http:")&&f.IS_IOS&&l.default.html5media.mediaTypes.indexOf(t)>-1){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===this.readyState&&200===this.status){var t=(a.default.URL||a.default.webkitURL).createObjectURL(this.response);return m.mediaElement.originalNode.setAttribute("src",t),t}return e},n.open("GET",e),n.responseType="blob",n.send()}return e},b=void 0;if(null!==o)b=o;else if(null!==m.mediaElement.originalNode)switch(b=[],m.mediaElement.originalNode.nodeName.toLowerCase()){case"iframe":b.push({type:"",src:m.mediaElement.originalNode.getAttribute("src")});break;case"audio":case"video":var E=m.mediaElement.originalNode.children.length,S=m.mediaElement.originalNode.getAttribute("src");if(S){var x=m.mediaElement.originalNode,w=(0,u.formatType)(S,x.getAttribute("type"));b.push({type:w,src:g(S,w)})}for(var P=0;P<E;P++){var T=m.mediaElement.originalNode.children[P];if("source"===T.tagName.toLowerCase()){var C=T.getAttribute("src"),k=(0,u.formatType)(C,T.getAttribute("type"));b.push({type:k,src:g(C,k)})}}}m.mediaElement.id=h,m.mediaElement.renderers={},m.mediaElement.events={},m.mediaElement.promises=[],m.mediaElement.renderer=null,m.mediaElement.rendererName=null,m.mediaElement.changeRenderer=function(e,t){var n=p,o=Object.keys(t[0]).length>2?t[0]:t[0].src;if(void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&n.mediaElement.renderer.name===e)return n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.show(),n.mediaElement.renderer.setSrc(o),!0;void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&(n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.hide());var i=n.mediaElement.renderers[e],r=null;if(void 0!==i&&null!==i)return i.show(),i.setSrc(o),n.mediaElement.renderer=i,n.mediaElement.rendererName=e,!0;for(var a=n.mediaElement.options.renderers.length?n.mediaElement.options.renderers:c.renderer.order,s=0,l=a.length;s<l;s++){var d=a[s];if(d===e){r=c.renderer.renderers[d];var u=Object.assign(r.options,n.mediaElement.options);return i=r.create(n.mediaElement,u,t),i.name=e,n.mediaElement.renderers[r.name]=i,n.mediaElement.renderer=i,n.mediaElement.rendererName=e,i.show(),!0}}return!1},m.mediaElement.setSize=function(e,t){void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&m.mediaElement.renderer.setSize(e,t)},m.mediaElement.generateError=function(e,t){e=e||"",t=Array.isArray(t)?t:[];var n=(0,d.createEvent)("error",m.mediaElement);n.message=e,n.urls=t,m.mediaElement.dispatchEvent(n),v=!0};var _=l.default.html5media.properties,N=l.default.html5media.methods,A=function(e,t,n,o){var i=e[t];Object.defineProperty(e,t,{get:function(){return n.apply(e,[i])},set:function(t){return i=o.apply(e,[t])}})},L=function(){return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer?m.mediaElement.renderer.getSrc():null},F=function(e){var t=[];if("string"==typeof e)t.push({src:e,type:e?(0,u.getTypeFromFile)(e):""});else if("object"===(void 0===e?"undefined":r(e))&&void 0!==e.src){var n=(0,u.absolutizeUrl)(e.src),o=e.type,i=Object.assign(e,{src:n,type:""!==o&&null!==o&&void 0!==o||!n?o:(0,u.getTypeFromFile)(n)});t.push(i)}else if(Array.isArray(e))for(var a=0,s=e.length;a<s;a++){var l=(0,u.absolutizeUrl)(e[a].src),f=e[a].type,p=Object.assign(e[a],{src:l,type:""!==f&&null!==f&&void 0!==f||!l?f:(0,u.getTypeFromFile)(l)});t.push(p)}var h=c.renderer.select(t,m.mediaElement.options.renderers.length?m.mediaElement.options.renderers:[]),v=void 0;if(m.mediaElement.paused||(m.mediaElement.pause(),v=(0,d.createEvent)("pause",m.mediaElement),m.mediaElement.dispatchEvent(v)),m.mediaElement.originalNode.src=t[0].src||"",null!==h||!t[0].src)return t[0].src?m.mediaElement.changeRenderer(h.rendererName,t):null;m.mediaElement.generateError("No renderer found",t)},j=function(e,t){try{if("play"===e&&"native_dash"===m.mediaElement.rendererName){var n=m.mediaElement.renderer[e](t);n&&"function"==typeof n.then&&n.catch(function(){m.mediaElement.paused&&setTimeout(function(){var e=m.mediaElement.renderer.play();void 0!==e&&e.catch(function(){m.mediaElement.renderer.paused||m.mediaElement.renderer.pause()})},150)})}else m.mediaElement.renderer[e](t)}catch(e){m.mediaElement.generateError(e,b)}};A(m.mediaElement,"src",L,F),m.mediaElement.getSrc=L,m.mediaElement.setSrc=F;for(var I=0,M=_.length;I<M;I++)!function(e){if("src"!==e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1),n=function(){return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer["get"+t]?m.mediaElement.renderer["get"+t]():null},o=function(e){void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer["set"+t]&&m.mediaElement.renderer["set"+t](e)};A(m.mediaElement,e,n,o),m.mediaElement["get"+t]=n,m.mediaElement["set"+t]=o}}(_[I]);for(var O=0,D=N.length;O<D;O++)!function(e){m.mediaElement[e]=function(){for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer[e]&&(m.mediaElement.promises.length?Promise.all(m.mediaElement.promises).then(function(){j(e,n)}).catch(function(e){m.mediaElement.generateError(e,b)}):j(e,n)),null}}(N[O]);return m.mediaElement.addEventListener=function(e,t){m.mediaElement.events[e]=m.mediaElement.events[e]||[],m.mediaElement.events[e].push(t)},m.mediaElement.removeEventListener=function(e,t){if(!e)return m.mediaElement.events={},!0;var n=m.mediaElement.events[e];if(!n)return!0;if(!t)return m.mediaElement.events[e]=[],!0;for(var o=0;o<n.length;o++)if(n[o]===t)return m.mediaElement.events[e].splice(o,1),!0;return!1},m.mediaElement.dispatchEvent=function(e){var t=m.mediaElement.events[e.type];if(t)for(var n=0;n<t.length;n++)t[n].apply(null,[e])},b.length&&(m.mediaElement.src=b),m.mediaElement.promises.length?Promise.all(m.mediaElement.promises).then(function(){m.mediaElement.options.success&&m.mediaElement.options.success(m.mediaElement,m.mediaElement.originalNode)}).catch(function(){v&&m.mediaElement.options.error&&m.mediaElement.options.error(m.mediaElement,m.mediaElement.originalNode)}):(m.mediaElement.options.success&&m.mediaElement.options.success(m.mediaElement,m.mediaElement.originalNode),v&&m.mediaElement.options.error&&m.mediaElement.options.error(m.mediaElement,m.mediaElement.originalNode)),m.mediaElement};a.default.MediaElement=p,l.default.MediaElement=p,n.default=p},{2:2,25:25,27:27,28:28,3:3,7:7,8:8}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),i={};i.version="4.2.6",i.html5media={properties:["volume","src","currentTime","muted","duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable","currentSrc","preload","bufferedBytes","bufferedTime","initialTime","startOffsetTime","defaultPlaybackRate","playbackRate","played","autoplay","loop","controls"],readOnlyProperties:["duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable"],methods:["load","play","pause","canPlayType"],events:["loadstart","durationchange","loadedmetadata","loadeddata","progress","canplay","canplaythrough","suspend","abort","error","emptied","stalled","play","playing","pause","waiting","seeking","seeked","timeupdate","ended","ratechange","volumechange"],mediaTypes:["audio/mp3","audio/ogg","audio/oga","audio/wav","audio/x-wav","audio/wave","audio/x-pn-wav","audio/mpeg","audio/mp4","video/mp4","video/webm","video/ogg","video/ogv"]},o.default.mejs=i,n.default=i},{3:3}],8:[function(e,t,n){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.renderer=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),a=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),s=function(){function e(){o(this,e),this.renderers={},this.order=[]}return r(e,[{key:"add",value:function(e){if(void 0===e.name)throw new TypeError("renderer must contain at least `name` property");this.renderers[e.name]=e,this.order.push(e.name)}},{key:"select",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length;if(t=t.length?t:this.order,!n){var o=[/^(html5|native)/i,/^flash/i,/iframe$/i],i=function(e){for(var t=0,n=o.length;t<n;t++)if(o[t].test(e))return t;return o.length};t.sort(function(e,t){return i(e)-i(t)})}for(var r=0,a=t.length;r<a;r++){var s=t[r],l=this.renderers[s];if(null!==l&&void 0!==l)for(var d=0,u=e.length;d<u;d++)if("function"==typeof l.canPlayType&&"string"==typeof e[d].type&&l.canPlayType(e[d].type))return{rendererName:l.name,src:e[d].src}}return null}},{key:"order",set:function(e){if(!Array.isArray(e))throw new TypeError("order must be an array of strings.");this._order=e},get:function(){return this._order}},{key:"renderers",set:function(e){if(null!==e&&"object"!==(void 0===e?"undefined":i(e)))throw new TypeError("renderers must be an array of objects.");this._renderers=e},get:function(){return this._renderers}}]),e}(),l=n.renderer=new s;a.default.Renderers=l},{7:7}],9:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(3)),r=o(e(2)),a=o(e(5)),s=e(16),l=o(s),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e(25)),u=e(27),c=e(26),f=e(28);Object.assign(s.config,{usePluginFullScreen:!0,fullscreenText:null,useFakeFullscreen:!1}),Object.assign(l.default.prototype,{isFullScreen:!1,isNativeFullScreen:!1,isInIframe:!1,isPluginClickThroughCreated:!1,fullscreenMode:"",containerSizeTimeout:null,buildfullscreen:function(e){if(e.isVideo){e.isInIframe=i.default.location!==i.default.parent.location,e.detectFullscreenMode();var t=this,n=(0,u.isString)(t.options.fullscreenText)?t.options.fullscreenText:a.default.t("mejs.fullscreen"),o=r.default.createElement("div");if(o.className=t.options.classPrefix+"button "+t.options.classPrefix+"fullscreen-button",o.innerHTML='<button type="button" aria-controls="'+t.id+'" title="'+n+'" aria-label="'+n+'" tabindex="0"></button>',t.addControlElement(o,"fullscreen"),o.addEventListener("click",function(){d.HAS_TRUE_NATIVE_FULLSCREEN&&d.IS_FULLSCREEN||e.isFullScreen?e.exitFullScreen():e.enterFullScreen()}),e.fullscreenBtn=o,t.options.keyActions.push({keys:[70],action:function(e,t,n,o){o.ctrlKey||void 0!==e.enterFullScreen&&(e.isFullScreen?e.exitFullScreen():e.enterFullScreen())}}),t.exitFullscreenCallback=function(n){27===(n.which||n.keyCode||0)&&(d.HAS_TRUE_NATIVE_FULLSCREEN&&d.IS_FULLSCREEN||t.isFullScreen)&&e.exitFullScreen()},t.globalBind("keydown",t.exitFullscreenCallback),t.normalHeight=0,t.normalWidth=0,d.HAS_TRUE_NATIVE_FULLSCREEN){e.globalBind(d.FULLSCREEN_EVENT_NAME,function(){e.isFullScreen&&(d.isFullScreen()?(e.isNativeFullScreen=!0,e.setControlsSize()):(e.isNativeFullScreen=!1,e.exitFullScreen()))})}}},cleanfullscreen:function(e){e.exitFullScreen(),e.globalUnbind("keydown",e.exitFullscreenCallback)},detectFullscreenMode:function(){var e=this,t=null!==e.media.rendererName&&/(native|html5)/i.test(e.media.rendererName),n="";return d.HAS_TRUE_NATIVE_FULLSCREEN&&t?n="native-native":d.HAS_TRUE_NATIVE_FULLSCREEN&&!t?n="plugin-native":e.usePluginFullScreen&&d.SUPPORT_POINTER_EVENTS&&(n="plugin-click"),e.fullscreenMode=n,n},enterFullScreen:function(){var e=this,t=null!==e.media.rendererName&&/(html5|native)/i.test(e.media.rendererName),n=getComputedStyle(e.container);if(!1===e.options.useFakeFullscreen&&d.IS_IOS&&d.HAS_IOS_FULLSCREEN&&"function"==typeof e.media.originalNode.webkitEnterFullscreen&&e.media.originalNode.canPlayType((0,f.getTypeFromFile)(e.media.getSrc())))e.media.originalNode.webkitEnterFullscreen();else{if((0,c.addClass)(r.default.documentElement,e.options.classPrefix+"fullscreen"),(0,c.addClass)(e.container,e.options.classPrefix+"container-fullscreen"),e.normalHeight=parseFloat(n.height),e.normalWidth=parseFloat(n.width),"native-native"!==e.fullscreenMode&&"plugin-native"!==e.fullscreenMode||(d.requestFullScreen(e.container),e.isInIframe&&setTimeout(function t(){if(e.isNativeFullScreen){var n=i.default.innerWidth||r.default.documentElement.clientWidth||r.default.body.clientWidth,o=screen.width;Math.abs(o-n)>.002*o?e.exitFullScreen():setTimeout(t,500)}},1e3)),e.container.style.width="100%",e.container.style.height="100%",e.containerSizeTimeout=setTimeout(function(){e.container.style.width="100%",e.container.style.height="100%",e.setControlsSize()},500),t)e.node.style.width="100%",e.node.style.height="100%";else for(var o=e.container.querySelectorAll("embed, object, video"),a=o.length,s=0;s<a;s++)o[s].style.width="100%",o[s].style.height="100%";e.options.setDimensions&&"function"==typeof e.media.setSize&&e.media.setSize(screen.width,screen.height);for(var l=e.layers.children,p=l.length,m=0;m<p;m++)l[m].style.width="100%",l[m].style.height="100%";e.fullscreenBtn&&((0,c.removeClass)(e.fullscreenBtn,e.options.classPrefix+"fullscreen"),(0,c.addClass)(e.fullscreenBtn,e.options.classPrefix+"unfullscreen")),e.setControlsSize(),e.isFullScreen=!0;var h=Math.min(screen.width/e.width,screen.height/e.height),v=e.container.querySelector("."+e.options.classPrefix+"captions-text");v&&(v.style.fontSize=100*h+"%",v.style.lineHeight="normal",e.container.querySelector("."+e.options.classPrefix+"captions-position").style.bottom="45px");var y=(0,u.createEvent)("enteredfullscreen",e.container);e.container.dispatchEvent(y)}},exitFullScreen:function(){var e=this,t=null!==e.media.rendererName&&/(native|html5)/i.test(e.media.rendererName);if(clearTimeout(e.containerSizeTimeout),d.HAS_TRUE_NATIVE_FULLSCREEN&&(d.IS_FULLSCREEN||e.isFullScreen)&&d.cancelFullScreen(),(0,c.removeClass)(r.default.documentElement,e.options.classPrefix+"fullscreen"),(0,c.removeClass)(e.container,e.options.classPrefix+"container-fullscreen"),e.options.setDimensions){if(e.container.style.width=e.normalWidth+"px",e.container.style.height=e.normalHeight+"px",t)e.node.style.width=e.normalWidth+"px",e.node.style.height=e.normalHeight+"px";else for(var n=e.container.querySelectorAll("embed, object, video"),o=n.length,i=0;i<o;i++)n[i].style.width=e.normalWidth+"px",n[i].style.height=e.normalHeight+"px";"function"==typeof e.media.setSize&&e.media.setSize(e.normalWidth,e.normalHeight);for(var a=e.layers.children,s=a.length,l=0;l<s;l++)a[l].style.width=e.normalWidth+"px",a[l].style.height=e.normalHeight+"px"}e.fullscreenBtn&&((0,c.removeClass)(e.fullscreenBtn,e.options.classPrefix+"unfullscreen"),(0,c.addClass)(e.fullscreenBtn,e.options.classPrefix+"fullscreen")),e.setControlsSize(),e.isFullScreen=!1;var f=e.container.querySelector("."+e.options.classPrefix+"captions-text");f&&(f.style.fontSize="",f.style.lineHeight="",e.container.querySelector("."+e.options.classPrefix+"captions-position").style.bottom="");var p=(0,u.createEvent)("exitedfullscreen",e.container);e.container.dispatchEvent(p)}})},{16:16,2:2,25:25,26:26,27:27,28:28,3:3,5:5}],10:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=e(16),a=o(r),s=o(e(5)),l=e(27),d=e(26);Object.assign(r.config,{playText:null,pauseText:null}),Object.assign(a.default.prototype,{buildplaypause:function(e,t,n,o){function r(e){"play"===e?((0,d.removeClass)(p,a.options.classPrefix+"play"),(0,d.removeClass)(p,a.options.classPrefix+"replay"),(0,d.addClass)(p,a.options.classPrefix+"pause"),m.setAttribute("title",f),m.setAttribute("aria-label",f)):((0,d.removeClass)(p,a.options.classPrefix+"pause"),(0,d.removeClass)(p,a.options.classPrefix+"replay"),(0,d.addClass)(p,a.options.classPrefix+"play"),m.setAttribute("title",c),m.setAttribute("aria-label",c))}var a=this,u=a.options,c=(0,l.isString)(u.playText)?u.playText:s.default.t("mejs.play"),f=(0,l.isString)(u.pauseText)?u.pauseText:s.default.t("mejs.pause"),p=i.default.createElement("div");p.className=a.options.classPrefix+"button "+a.options.classPrefix+"playpause-button "+a.options.classPrefix+"play",p.innerHTML='<button type="button" aria-controls="'+a.id+'" title="'+c+'" aria-label="'+f+'" tabindex="0"></button>',p.addEventListener("click",function(){a.paused?a.play():a.pause()});var m=p.querySelector("button");a.addControlElement(p,"playpause"),r("pse"),o.addEventListener("loadedmetadata",function(){-1===o.rendererName.indexOf("flash")&&r("pse")}),o.addEventListener("play",function(){r("play")}),o.addEventListener("playing",function(){r("play")}),o.addEventListener("pause",function(){r("pse")}),o.addEventListener("ended",function(){e.options.loop||((0,d.removeClass)(p,a.options.classPrefix+"pause"),(0,d.removeClass)(p,a.options.classPrefix+"play"),(0,d.addClass)(p,a.options.classPrefix+"replay"),m.setAttribute("title",c),m.setAttribute("aria-label",c))})}})},{16:16,2:2,26:26,27:27,5:5}],11:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=e(16),a=o(r),s=o(e(5)),l=e(25),d=e(30),u=e(26);Object.assign(r.config,{enableProgressTooltip:!0,useSmoothHover:!0,forceLive:!1}),Object.assign(a.default.prototype,{buildprogress:function(e,t,n,o){var a=0,c=!1,f=!1,p=this,m=e.options.autoRewind,h=e.options.enableProgressTooltip?'<span class="'+p.options.classPrefix+'time-float"><span class="'+p.options.classPrefix+'time-float-current">00:00</span><span class="'+p.options.classPrefix+'time-float-corner"></span></span>':"",v=i.default.createElement("div");v.className=p.options.classPrefix+"time-rail",v.innerHTML='<span class="'+p.options.classPrefix+"time-total "+p.options.classPrefix+'time-slider"><span class="'+p.options.classPrefix+'time-buffering"></span><span class="'+p.options.classPrefix+'time-loaded"></span><span class="'+p.options.classPrefix+'time-current"></span><span class="'+p.options.classPrefix+'time-hovered no-hover"></span><span class="'+p.options.classPrefix+'time-handle"><span class="'+p.options.classPrefix+'time-handle-content"></span></span>'+h+"</span>",p.addControlElement(v,"progress"),p.options.keyActions.push({keys:[37,227],action:function(e){if(!isNaN(e.duration)&&e.duration>0){e.isVideo&&(e.showControls(),e.startControlsTimer()),e.container.querySelector("."+r.config.classPrefix+"time-total").focus();var t=Math.max(e.currentTime-e.options.defaultSeekBackwardInterval(e),0);e.setCurrentTime(t)}}},{keys:[39,228],action:function(e){if(!isNaN(e.duration)&&e.duration>0){e.isVideo&&(e.showControls(),e.startControlsTimer()),e.container.querySelector("."+r.config.classPrefix+"time-total").focus();var t=Math.min(e.currentTime+e.options.defaultSeekForwardInterval(e),e.duration);e.setCurrentTime(t)}}}),p.rail=t.querySelector("."+p.options.classPrefix+"time-rail"),p.total=t.querySelector("."+p.options.classPrefix+"time-total"),p.loaded=t.querySelector("."+p.options.classPrefix+"time-loaded"),p.current=t.querySelector("."+p.options.classPrefix+"time-current"),p.handle=t.querySelector("."+p.options.classPrefix+"time-handle"),p.timefloat=t.querySelector("."+p.options.classPrefix+"time-float"),p.timefloatcurrent=t.querySelector("."+p.options.classPrefix+"time-float-current"),p.slider=t.querySelector("."+p.options.classPrefix+"time-slider"),p.hovered=t.querySelector("."+p.options.classPrefix+"time-hovered"),p.buffer=t.querySelector("."+p.options.classPrefix+"time-buffering"),p.newTime=0,p.forcedHandlePause=!1,p.setTransformStyle=function(e,t){e.style.transform=t,e.style.webkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t},p.buffer.style.display="none";var y=function(t){var n=getComputedStyle(p.total),o=(0,u.offset)(p.total),i=p.total.offsetWidth,r=void 0!==n.webkitTransform?"webkitTransform":void 0!==n.mozTransform?"mozTransform ":void 0!==n.oTransform?"oTransform":void 0!==n.msTransform?"msTransform":"transform",a="WebKitCSSMatrix"in window?"WebKitCSSMatrix":"MSCSSMatrix"in window?"MSCSSMatrix":"CSSMatrix"in window?"CSSMatrix":void 0,s=0,f=0,m=0,h=void 0;if(h=t.originalEvent&&t.originalEvent.changedTouches?t.originalEvent.changedTouches[0].pageX:t.changedTouches?t.changedTouches[0].pageX:t.pageX,p.getDuration()){if(h<o.left?h=o.left:h>i+o.left&&(h=i+o.left),m=h-o.left,s=m/i,p.newTime=s<=.02?0:s*p.getDuration(),c&&null!==p.getCurrentTime()&&p.newTime.toFixed(4)!==p.getCurrentTime().toFixed(4)&&(p.setCurrentRailHandle(p.newTime),p.updateCurrent(p.newTime)),!l.IS_IOS&&!l.IS_ANDROID){if(m<0&&(m=0),p.options.useSmoothHover&&null!==a&&void 0!==window[a]){var v=new window[a](getComputedStyle(p.handle)[r]).m41,y=m/parseFloat(getComputedStyle(p.total).width)-v/parseFloat(getComputedStyle(p.total).width);p.hovered.style.left=v+"px",p.setTransformStyle(p.hovered,"scaleX("+y+")"),p.hovered.setAttribute("pos",m),y>=0?(0,u.removeClass)(p.hovered,"negative"):(0,u.addClass)(p.hovered,"negative")}if(p.timefloat){var g=p.timefloat.offsetWidth/2,b=mejs.Utils.offset(p.container),E=getComputedStyle(p.timefloat);f=h-b.left<p.timefloat.offsetWidth?g:h-b.left>=p.container.offsetWidth-g?p.total.offsetWidth-g:m,(0,u.hasClass)(p.container,p.options.classPrefix+"long-video")&&(f+=parseFloat(E.marginLeft)/2+p.timefloat.offsetWidth/2),p.timefloat.style.left=f+"px",p.timefloatcurrent.innerHTML=(0,d.secondsToTimeCode)(p.newTime,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength),p.timefloat.style.display="block"}}}else l.IS_IOS||l.IS_ANDROID||!p.timefloat||(f=p.timefloat.offsetWidth+i>=p.container.offsetWidth?p.timefloat.offsetWidth/2:0,p.timefloat.style.left=f+"px",p.timefloat.style.left=f+"px",p.timefloat.style.display="block")},g=function(){var t=p.getCurrentTime(),n=s.default.t("mejs.time-slider"),i=(0,d.secondsToTimeCode)(t,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength),r=p.getDuration();p.slider.setAttribute("role","slider"),p.slider.tabIndex=0,o.paused?(p.slider.setAttribute("aria-label",n),p.slider.setAttribute("aria-valuemin",0),p.slider.setAttribute("aria-valuemax",r),p.slider.setAttribute("aria-valuenow",t),p.slider.setAttribute("aria-valuetext",i)):(p.slider.removeAttribute("aria-label"),p.slider.removeAttribute("aria-valuemin"),p.slider.removeAttribute("aria-valuemax"),p.slider.removeAttribute("aria-valuenow"),p.slider.removeAttribute("aria-valuetext"))},b=function(){new Date-a>=1e3&&p.play()},E=function(){c&&null!==p.getCurrentTime()&&p.newTime.toFixed(4)!==p.getCurrentTime().toFixed(4)&&(p.setCurrentTime(p.newTime),p.setCurrentRail(),p.updateCurrent(p.newTime)),p.forcedHandlePause&&(p.slider.focus(),p.play()),p.forcedHandlePause=!1};p.slider.addEventListener("focus",function(){e.options.autoRewind=!1}),p.slider.addEventListener("blur",function(){e.options.autoRewind=m}),p.slider.addEventListener("keydown",function(t){if(new Date-a>=1e3&&(f=p.paused),p.options.keyActions.length){var n=t.which||t.keyCode||0,i=p.getDuration(),r=e.options.defaultSeekForwardInterval(o),s=e.options.defaultSeekBackwardInterval(o),d=p.getCurrentTime(),u=p.container.querySelector("."+p.options.classPrefix+"volume-slider");if(38===n||40===n){u&&(u.style.display="block"),p.isVideo&&(p.showControls(),p.startControlsTimer());var c=38===n?Math.min(p.volume+.1,1):Math.max(p.volume-.1,0),m=c<=0;return p.setVolume(c),void p.setMuted(m)}switch(u&&(u.style.display="none"),n){case 37:p.getDuration()!==1/0&&(d-=s);break;case 39:p.getDuration()!==1/0&&(d+=r);break;case 36:d=0;break;case 35:d=i;break;case 13:case 32:return void(l.IS_FIREFOX&&(p.paused?p.play():p.pause()));default:return}d=d<0?0:d>=i?i:Math.floor(d),a=new Date,f||e.pause(),d<p.getDuration()&&!f&&setTimeout(b,1100),p.setCurrentTime(d),e.showControls(),t.preventDefault(),t.stopPropagation()}});var S=["mousedown","touchstart"];p.slider.addEventListener("dragstart",function(){return!1});for(var x=0,w=S.length;x<w;x++)p.slider.addEventListener(S[x],function(e){if(p.forcedHandlePause=!1,p.getDuration()!==1/0&&(1===e.which||0===e.which)){p.paused||(p.pause(),p.forcedHandlePause=!0),c=!0,y(e);for(var t=["mouseup","touchend"],n=0,o=t.length;n<o;n++)p.container.addEventListener(t[n],function(e){var t=e.target;(t===p.slider||t.closest("."+p.options.classPrefix+"time-slider"))&&y(e)});p.globalBind("mouseup.dur touchend.dur",function(){E(),c=!1,p.timefloat&&(p.timefloat.style.display="none")})}},!(!l.SUPPORT_PASSIVE_EVENT||"touchstart"!==S[x])&&{passive:!0});p.slider.addEventListener("mouseenter",function(e){e.target===p.slider&&p.getDuration()!==1/0&&(p.container.addEventListener("mousemove",function(e){var t=e.target;(t===p.slider||t.closest("."+p.options.classPrefix+"time-slider"))&&y(e)}),!p.timefloat||l.IS_IOS||l.IS_ANDROID||(p.timefloat.style.display="block"),p.hovered&&!l.IS_IOS&&!l.IS_ANDROID&&p.options.useSmoothHover&&(0,u.removeClass)(p.hovered,"no-hover"))}),p.slider.addEventListener("mouseleave",function(){p.getDuration()!==1/0&&(c||(p.timefloat&&(p.timefloat.style.display="none"),p.hovered&&p.options.useSmoothHover&&(0,u.addClass)(p.hovered,"no-hover")))}),p.broadcastCallback=function(n){var o=t.querySelector("."+p.options.classPrefix+"broadcast");if(p.options.forceLive||p.getDuration()===1/0){if(!o||p.options.forceLive){var r=i.default.createElement("span");r.className=p.options.classPrefix+"broadcast",r.innerText=s.default.t("mejs.live-broadcast"),p.slider.style.display="none",p.rail.appendChild(r)}}else o&&(p.slider.style.display="",o.remove()),e.setProgressRail(n),p.forcedHandlePause||e.setCurrentRail(n),g()},o.addEventListener("progress",p.broadcastCallback),o.addEventListener("timeupdate",p.broadcastCallback),o.addEventListener("play",function(){p.buffer.style.display="none"}),o.addEventListener("playing",function(){p.buffer.style.display="none"}),o.addEventListener("seeking",function(){p.buffer.style.display=""}),o.addEventListener("seeked",function(){p.buffer.style.display="none"}),o.addEventListener("pause",function(){p.buffer.style.display="none"}),o.addEventListener("waiting",function(){p.buffer.style.display=""}),o.addEventListener("loadeddata",function(){p.buffer.style.display=""}),o.addEventListener("canplay",function(){p.buffer.style.display="none"}),o.addEventListener("error",function(){p.buffer.style.display="none"}),p.container.addEventListener("controlsresize",function(t){p.getDuration()!==1/0&&(e.setProgressRail(t),p.forcedHandlePause||e.setCurrentRail(t))})},cleanprogress:function(e,t,n,o){o.removeEventListener("progress",e.broadcastCallback),o.removeEventListener("timeupdate",e.broadcastCallback),e.rail&&e.rail.remove()},setProgressRail:function(e){var t=this,n=void 0!==e?e.detail.target||e.target:t.media,o=null;n&&n.buffered&&n.buffered.length>0&&n.buffered.end&&t.getDuration()?o=n.buffered.end(n.buffered.length-1)/t.getDuration():n&&void 0!==n.bytesTotal&&n.bytesTotal>0&&void 0!==n.bufferedBytes?o=n.bufferedBytes/n.bytesTotal:e&&e.lengthComputable&&0!==e.total&&(o=e.loaded/e.total),null!==o&&(o=Math.min(1,Math.max(0,o)),t.loaded&&t.setTransformStyle(t.loaded,"scaleX("+o+")"))},setCurrentRailHandle:function(e){var t=this;t.setCurrentRailMain(t,e)},setCurrentRail:function(){var e=this;e.setCurrentRailMain(e)},setCurrentRailMain:function(e,t){if(void 0!==e.getCurrentTime()&&e.getDuration()){var n=void 0===t?e.getCurrentTime():t;if(e.total&&e.handle){var o=parseFloat(getComputedStyle(e.total).width),i=Math.round(o*n/e.getDuration()),r=i-Math.round(e.handle.offsetWidth/2);if(r=r<0?0:r,e.setTransformStyle(e.current,"scaleX("+i/o+")"),e.setTransformStyle(e.handle,"translateX("+r+"px)"),e.options.useSmoothHover&&!(0,u.hasClass)(e.hovered,"no-hover")){var a=parseInt(e.hovered.getAttribute("pos")),s=(a=isNaN(a)?0:a)/o-r/o;e.hovered.style.left=r+"px",e.setTransformStyle(e.hovered,"scaleX("+s+")"),s>=0?(0,u.removeClass)(e.hovered,"negative"):(0,u.addClass)(e.hovered,"negative")}}}}})},{16:16,2:2,25:25,26:26,30:30,5:5}],12:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=e(16),a=o(r),s=e(30),l=e(26);Object.assign(r.config,{duration:0,timeAndDurationSeparator:"<span> | </span>"}),Object.assign(a.default.prototype,{buildcurrent:function(e,t,n,o){var r=this,a=i.default.createElement("div");a.className=r.options.classPrefix+"time",a.setAttribute("role","timer"),a.setAttribute("aria-live","off"),a.innerHTML='<span class="'+r.options.classPrefix+'currenttime">'+(0,s.secondsToTimeCode)(0,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength)+"</span>",r.addControlElement(a,"current"),e.updateCurrent(),r.updateTimeCallback=function(){r.controlsAreVisible&&e.updateCurrent()},o.addEventListener("timeupdate",r.updateTimeCallback)},cleancurrent:function(e,t,n,o){o.removeEventListener("timeupdate",e.updateTimeCallback)},buildduration:function(e,t,n,o){var r=this;if(t.lastChild.querySelector("."+r.options.classPrefix+"currenttime"))t.querySelector("."+r.options.classPrefix+"time").innerHTML+=r.options.timeAndDurationSeparator+'<span class="'+r.options.classPrefix+'duration">'+(0,s.secondsToTimeCode)(r.options.duration,r.options.alwaysShowHours,r.options.showTimecodeFrameCount,r.options.framesPerSecond,r.options.secondsDecimalLength)+"</span>";else{t.querySelector("."+r.options.classPrefix+"currenttime")&&(0,l.addClass)(t.querySelector("."+r.options.classPrefix+"currenttime").parentNode,r.options.classPrefix+"currenttime-container");var a=i.default.createElement("div");a.className=r.options.classPrefix+"time "+r.options.classPrefix+"duration-container",a.innerHTML='<span class="'+r.options.classPrefix+'duration">'+(0,s.secondsToTimeCode)(r.options.duration,r.options.alwaysShowHours,r.options.showTimecodeFrameCount,r.options.framesPerSecond,r.options.secondsDecimalLength)+"</span>",r.addControlElement(a,"duration")}r.updateDurationCallback=function(){r.controlsAreVisible&&e.updateDuration()},o.addEventListener("timeupdate",r.updateDurationCallback)},cleanduration:function(e,t,n,o){o.removeEventListener("timeupdate",e.updateDurationCallback)},updateCurrent:function(){var e=this,t=e.getCurrentTime();isNaN(t)&&(t=0);var n=(0,s.secondsToTimeCode)(t,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength);n.length>5?(0,l.addClass)(e.container,e.options.classPrefix+"long-video"):(0,l.removeClass)(e.container,e.options.classPrefix+"long-video"),e.controls.querySelector("."+e.options.classPrefix+"currenttime")&&(e.controls.querySelector("."+e.options.classPrefix+"currenttime").innerText=n)},updateDuration:function(){var e=this,t=e.getDuration();(isNaN(t)||t===1/0||t<0)&&(e.media.duration=e.options.duration=t=0),e.options.duration>0&&(t=e.options.duration);var n=(0,s.secondsToTimeCode)(t,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength);n.length>5?(0,l.addClass)(e.container,e.options.classPrefix+"long-video"):(0,l.removeClass)(e.container,e.options.classPrefix+"long-video"),e.controls.querySelector("."+e.options.classPrefix+"duration")&&t>0&&(e.controls.querySelector("."+e.options.classPrefix+"duration").innerHTML=n)}})},{16:16,2:2,26:26,30:30}],13:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=o(e(7)),a=o(e(5)),s=e(16),l=o(s),d=e(30),u=e(27),c=e(26);Object.assign(s.config,{startLanguage:"",tracksText:null,chaptersText:null,tracksAriaLive:!1,hideCaptionsButtonWhenEmpty:!0,toggleCaptionsButtonWhenOnlyOne:!1,slidesSelector:""}),Object.assign(l.default.prototype,{hasChapters:!1,buildtracks:function(e,t,n,o){if(this.findTracks(),e.tracks.length||e.trackFiles&&0!==!e.trackFiles.length){var r=this,s=r.options.tracksAriaLive?' role="log" aria-live="assertive" aria-atomic="false"':"",l=(0,u.isString)(r.options.tracksText)?r.options.tracksText:a.default.t("mejs.captions-subtitles"),d=(0,u.isString)(r.options.chaptersText)?r.options.chaptersText:a.default.t("mejs.captions-chapters"),f=null===e.trackFiles?e.tracks.length:e.trackFiles.length;if(r.domNode.textTracks)for(var p=r.domNode.textTracks.length-1;p>=0;p--)r.domNode.textTracks[p].mode="hidden";r.cleartracks(e),e.captions=i.default.createElement("div"),e.captions.className=r.options.classPrefix+"captions-layer "+r.options.classPrefix+"layer",e.captions.innerHTML='<div class="'+r.options.classPrefix+"captions-position "+r.options.classPrefix+'captions-position-hover"'+s+'><span class="'+r.options.classPrefix+'captions-text"></span></div>',e.captions.style.display="none",n.insertBefore(e.captions,n.firstChild),e.captionsText=e.captions.querySelector("."+r.options.classPrefix+"captions-text"),e.captionsButton=i.default.createElement("div"),e.captionsButton.className=r.options.classPrefix+"button "+r.options.classPrefix+"captions-button",e.captionsButton.innerHTML='<button type="button" aria-controls="'+r.id+'" title="'+l+'" aria-label="'+l+'" tabindex="0"></button><div class="'+r.options.classPrefix+"captions-selector "+r.options.classPrefix+'offscreen"><ul class="'+r.options.classPrefix+'captions-selector-list"><li class="'+r.options.classPrefix+'captions-selector-list-item"><input type="radio" class="'+r.options.classPrefix+'captions-selector-input" name="'+e.id+'_captions" id="'+e.id+'_captions_none" value="none" checked disabled><label class="'+r.options.classPrefix+"captions-selector-label "+r.options.classPrefix+'captions-selected" for="'+e.id+'_captions_none">'+a.default.t("mejs.none")+"</label></li></ul></div>",r.addControlElement(e.captionsButton,"tracks"),e.captionsButton.querySelector("."+r.options.classPrefix+"captions-selector-input").disabled=!1,e.chaptersButton=i.default.createElement("div"),e.chaptersButton.className=r.options.classPrefix+"button "+r.options.classPrefix+"chapters-button",e.chaptersButton.innerHTML='<button type="button" aria-controls="'+r.id+'" title="'+d+'" aria-label="'+d+'" tabindex="0"></button><div class="'+r.options.classPrefix+"chapters-selector "+r.options.classPrefix+'offscreen"><ul class="'+r.options.classPrefix+'chapters-selector-list"></ul></div>';for(var m=0,h=0;h<f;h++){var v=e.tracks[h].kind;e.tracks[h].src.trim()&&("subtitles"===v||"captions"===v?m++:"chapters"!==v||t.querySelector("."+r.options.classPrefix+"chapter-selector")||e.captionsButton.parentNode.insertBefore(e.chaptersButton,e.captionsButton))}e.trackToLoad=-1,e.selectedTrack=null,e.isLoadingTrack=!1;for(var y=0;y<f;y++){var g=e.tracks[y].kind;!e.tracks[y].src.trim()||"subtitles"!==g&&"captions"!==g||e.addTrackButton(e.tracks[y].trackId,e.tracks[y].srclang,e.tracks[y].label)}e.loadNextTrack();var b=["mouseenter","focusin"],E=["mouseleave","focusout"];if(r.options.toggleCaptionsButtonWhenOnlyOne&&1===m)e.captionsButton.addEventListener("click",function(t){var n="none";null===e.selectedTrack&&(n=e.tracks[0].trackId);var o=t.keyCode||t.which;e.setTrack(n,void 0!==o)});else{for(var S=e.captionsButton.querySelectorAll("."+r.options.classPrefix+"captions-selector-label"),x=e.captionsButton.querySelectorAll("input[type=radio]"),w=0,P=b.length;w<P;w++)e.captionsButton.addEventListener(b[w],function(){(0,c.removeClass)(this.querySelector("."+r.options.classPrefix+"captions-selector"),r.options.classPrefix+"offscreen")});for(var T=0,C=E.length;T<C;T++)e.captionsButton.addEventListener(E[T],function(){(0,c.addClass)(this.querySelector("."+r.options.classPrefix+"captions-selector"),r.options.classPrefix+"offscreen")});for(var k=0,_=x.length;k<_;k++)x[k].addEventListener("click",function(t){var n=t.keyCode||t.which;e.setTrack(this.value,void 0!==n)});for(var N=0,A=S.length;N<A;N++)S[N].addEventListener("click",function(e){var t=(0,c.siblings)(this,function(e){return"INPUT"===e.tagName})[0],n=(0,u.createEvent)("click",t);t.dispatchEvent(n),e.preventDefault()});e.captionsButton.addEventListener("keydown",function(e){e.stopPropagation()})}for(var L=0,F=b.length;L<F;L++)e.chaptersButton.addEventListener(b[L],function(){this.querySelector("."+r.options.classPrefix+"chapters-selector-list").children.length&&(0,c.removeClass)(this.querySelector("."+r.options.classPrefix+"chapters-selector"),r.options.classPrefix+"offscreen")});for(var j=0,I=E.length;j<I;j++)e.chaptersButton.addEventListener(E[j],function(){(0,c.addClass)(this.querySelector("."+r.options.classPrefix+"chapters-selector"),r.options.classPrefix+"offscreen")});e.chaptersButton.addEventListener("keydown",function(e){e.stopPropagation()}),e.options.alwaysShowControls?(0,c.addClass)(e.container.querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover"):(e.container.addEventListener("controlsshown",function(){(0,c.addClass)(e.container.querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover")}),e.container.addEventListener("controlshidden",function(){o.paused||(0,c.removeClass)(e.container.querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover")})),o.addEventListener("timeupdate",function(){e.displayCaptions()}),""!==e.options.slidesSelector&&(e.slidesContainer=i.default.querySelectorAll(e.options.slidesSelector),o.addEventListener("timeupdate",function(){e.displaySlides()}))}},cleartracks:function(e){e&&(e.captions&&e.captions.remove(),e.chapters&&e.chapters.remove(),e.captionsText&&e.captionsText.remove(),e.captionsButton&&e.captionsButton.remove(),e.chaptersButton&&e.chaptersButton.remove())},rebuildtracks:function(){var e=this;e.findTracks(),e.buildtracks(e,e.controls,e.layers,e.media)},findTracks:function(){var e=this,t=null===e.trackFiles?e.node.querySelectorAll("track"):e.trackFiles,n=t.length;e.tracks=[];for(var o=0;o<n;o++){var i=t[o],r=i.getAttribute("srclang").toLowerCase()||"",a=e.id+"_track_"+o+"_"+i.getAttribute("kind")+"_"+r;e.tracks.push({trackId:a,srclang:r,src:i.getAttribute("src"),kind:i.getAttribute("kind"),label:i.getAttribute("label")||"",entries:[],isLoaded:!1})}},setTrack:function(e,t){for(var n=this,o=n.captionsButton.querySelectorAll('input[type="radio"]'),i=n.captionsButton.querySelectorAll("."+n.options.classPrefix+"captions-selected"),r=n.captionsButton.querySelector('input[value="'+e+'"]'),a=0,s=o.length;a<s;a++)o[a].checked=!1;for(var l=0,d=i.length;l<d;l++)(0,c.removeClass)(i[l],n.options.classPrefix+"captions-selected");r.checked=!0;for(var f=(0,c.siblings)(r,function(e){return(0,c.hasClass)(e,n.options.classPrefix+"captions-selector-label")}),p=0,m=f.length;p<m;p++)(0,c.addClass)(f[p],n.options.classPrefix+"captions-selected");if("none"===e)n.selectedTrack=null,(0,c.removeClass)(n.captionsButton,n.options.classPrefix+"captions-enabled");else for(var h=0,v=n.tracks.length;h<v;h++){var y=n.tracks[h];if(y.trackId===e){null===n.selectedTrack&&(0,c.addClass)(n.captionsButton,n.options.classPrefix+"captions-enabled"),n.selectedTrack=y,n.captions.setAttribute("lang",n.selectedTrack.srclang),n.displayCaptions();break}}var g=(0,u.createEvent)("captionschange",n.media);g.detail.caption=n.selectedTrack,n.media.dispatchEvent(g),t||setTimeout(function(){n.container.focus()},500)},loadNextTrack:function(){var e=this;e.trackToLoad++,e.trackToLoad<e.tracks.length?(e.isLoadingTrack=!0,e.loadTrack(e.trackToLoad)):(e.isLoadingTrack=!1,e.checkForTracks())},loadTrack:function(e){var t=this,n=t.tracks[e];void 0===n||void 0===n.src&&""===n.src||(0,c.ajax)(n.src,"text",function(e){n.entries="string"==typeof e&&/<tt\s+xml/gi.exec(e)?r.default.TrackFormatParser.dfxp.parse(e):r.default.TrackFormatParser.webvtt.parse(e),n.isLoaded=!0,t.enableTrackButton(n),t.loadNextTrack(),"slides"===n.kind?t.setupSlides(n):"chapters"!==n.kind||t.hasChapters||(t.drawChapters(n),t.hasChapters=!0)},function(){t.removeTrackButton(n.trackId),t.loadNextTrack()})},enableTrackButton:function(e){var t=this,n=e.srclang,o=i.default.getElementById(""+e.trackId);if(o){var s=e.label;""===s&&(s=a.default.t(r.default.language.codes[n])||n),o.disabled=!1;for(var l=(0,c.siblings)(o,function(e){return(0,c.hasClass)(e,t.options.classPrefix+"captions-selector-label")}),d=0,f=l.length;d<f;d++)l[d].innerHTML=s;if(t.options.startLanguage===n){o.checked=!0;var p=(0,u.createEvent)("click",o);o.dispatchEvent(p)}}},removeTrackButton:function(e){var t=i.default.getElementById(""+e);if(t){var n=t.closest("li");n&&n.remove()}},addTrackButton:function(e,t,n){var o=this;""===n&&(n=a.default.t(r.default.language.codes[t])||t),o.captionsButton.querySelector("ul").innerHTML+='<li class="'+o.options.classPrefix+'captions-selector-list-item"><input type="radio" class="'+o.options.classPrefix+'captions-selector-input" name="'+o.id+'_captions" id="'+e+'" value="'+e+'" disabled><label class="'+o.options.classPrefix+'captions-selector-label"for="'+e+'">'+n+" (loading)</label></li>"},checkForTracks:function(){var e=this,t=!1;if(e.options.hideCaptionsButtonWhenEmpty){for(var n=0,o=e.tracks.length;n<o;n++){var i=e.tracks[n].kind;if(("subtitles"===i||"captions"===i)&&e.tracks[n].isLoaded){t=!0;break}}e.captionsButton.style.display=t?"":"none",e.setControlsSize()}},displayCaptions:function(){if(void 0!==this.tracks){var e=this,t=e.selectedTrack;if(null!==t&&t.isLoaded){var n=e.searchTrackPosition(t.entries,e.media.currentTime);if(n>-1)return e.captionsText.innerHTML=function(e){var t=i.default.createElement("div");t.innerHTML=e;for(var n=t.getElementsByTagName("script"),o=n.length;o--;)n[o].remove();for(var r=t.getElementsByTagName("*"),a=0,s=r.length;a<s;a++)for(var l=r[a].attributes,d=Array.prototype.slice.call(l),u=0,c=d.length;u<c;u++)d[u].name.startsWith("on")||d[u].value.startsWith("javascript")?r[a].remove():"style"===d[u].name&&r[a].removeAttribute(d[u].name);return t.innerHTML}(t.entries[n].text),e.captionsText.className=e.options.classPrefix+"captions-text "+(t.entries[n].identifier||""),e.captions.style.display="",void(e.captions.style.height="0px");e.captions.style.display="none"}else e.captions.style.display="none"}},setupSlides:function(e){var t=this;t.slides=e,t.slides.entries.imgs=[t.slides.entries.length],t.showSlide(0)},showSlide:function(e){var t=this,n=this;if(void 0!==n.tracks&&void 0!==n.slidesContainer){var o=n.slides.entries[e].text,r=n.slides.entries[e].imgs;if(void 0===r||void 0===r.fadeIn){var a=i.default.createElement("img");a.src=o,a.addEventListener("load",function(){var e=t,o=(0,c.siblings)(e,function(e){return o(e)});e.style.display="none",n.slidesContainer.innerHTML+=e.innerHTML,(0,c.fadeIn)(n.slidesContainer.querySelector(a));for(var i=0,r=o.length;i<r;i++)(0,c.fadeOut)(o[i],400)}),n.slides.entries[e].imgs=r=a}else if(!(0,c.visible)(r)){var s=(0,c.siblings)(self,function(e){return s(e)});(0,c.fadeIn)(n.slidesContainer.querySelector(r));for(var l=0,d=s.length;l<d;l++)(0,c.fadeOut)(s[l])}}},displaySlides:function(){var e=this;if(void 0!==this.slides){var t=e.slides,n=e.searchTrackPosition(t.entries,e.media.currentTime);n>-1&&e.showSlide(n)}},drawChapters:function(e){var t=this,n=e.entries.length;if(n){t.chaptersButton.querySelector("ul").innerHTML="";for(var o=0;o<n;o++)t.chaptersButton.querySelector("ul").innerHTML+='<li class="'+t.options.classPrefix+'chapters-selector-list-item" role="menuitemcheckbox" aria-live="polite" aria-disabled="false" aria-checked="false"><input type="radio" class="'+t.options.classPrefix+'captions-selector-input" name="'+t.id+'_chapters" id="'+t.id+"_chapters_"+o+'" value="'+e.entries[o].start+'" disabled><label class="'+t.options.classPrefix+'chapters-selector-label"for="'+t.id+"_chapters_"+o+'">'+e.entries[o].text+"</label></li>";for(var i=t.chaptersButton.querySelectorAll('input[type="radio"]'),r=t.chaptersButton.querySelectorAll("."+t.options.classPrefix+"chapters-selector-label"),a=0,s=i.length;a<s;a++)i[a].disabled=!1,i[a].checked=!1,i[a].addEventListener("click",function(e){var n=this,o=t.chaptersButton.querySelectorAll("li"),i=(0,c.siblings)(n,function(e){return(0,c.hasClass)(e,t.options.classPrefix+"chapters-selector-label")})[0];n.checked=!0,n.parentNode.setAttribute("aria-checked",!0),(0,c.addClass)(i,t.options.classPrefix+"chapters-selected"),(0,c.removeClass)(t.chaptersButton.querySelector("."+t.options.classPrefix+"chapters-selected"),t.options.classPrefix+"chapters-selected");for(var r=0,a=o.length;r<a;r++)o[r].setAttribute("aria-checked",!1);void 0===(e.keyCode||e.which)&&setTimeout(function(){t.container.focus()},500),t.media.setCurrentTime(parseFloat(n.value)),t.media.paused&&t.media.play()});for(var l=0,d=r.length;l<d;l++)r[l].addEventListener("click",function(e){var t=(0,c.siblings)(this,function(e){return"INPUT"===e.tagName})[0],n=(0,u.createEvent)("click",t);t.dispatchEvent(n),e.preventDefault()})}},searchTrackPosition:function(e,t){for(var n=0,o=e.length-1,i=void 0,r=void 0,a=void 0;n<=o;){if(i=n+o>>1,r=e[i].start,a=e[i].stop,t>=r&&t<a)return i;r<t?n=i+1:r>t&&(o=i-1)}return-1}}),r.default.language={codes:{af:"mejs.afrikaans",sq:"mejs.albanian",ar:"mejs.arabic",be:"mejs.belarusian",bg:"mejs.bulgarian",ca:"mejs.catalan",zh:"mejs.chinese","zh-cn":"mejs.chinese-simplified","zh-tw":"mejs.chines-traditional",hr:"mejs.croatian",cs:"mejs.czech",da:"mejs.danish",nl:"mejs.dutch",en:"mejs.english",et:"mejs.estonian",fl:"mejs.filipino",fi:"mejs.finnish",fr:"mejs.french",gl:"mejs.galician",de:"mejs.german",el:"mejs.greek",ht:"mejs.haitian-creole",iw:"mejs.hebrew",hi:"mejs.hindi",hu:"mejs.hungarian",is:"mejs.icelandic",id:"mejs.indonesian",ga:"mejs.irish",it:"mejs.italian",ja:"mejs.japanese",ko:"mejs.korean",lv:"mejs.latvian",lt:"mejs.lithuanian",mk:"mejs.macedonian",ms:"mejs.malay",mt:"mejs.maltese",no:"mejs.norwegian",fa:"mejs.persian",pl:"mejs.polish",pt:"mejs.portuguese",ro:"mejs.romanian",ru:"mejs.russian",sr:"mejs.serbian",sk:"mejs.slovak",sl:"mejs.slovenian",es:"mejs.spanish",sw:"mejs.swahili",sv:"mejs.swedish",tl:"mejs.tagalog",th:"mejs.thai",tr:"mejs.turkish",uk:"mejs.ukrainian",vi:"mejs.vietnamese",cy:"mejs.welsh",yi:"mejs.yiddish"}},r.default.TrackFormatParser={webvtt:{pattern:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(e){for(var t=e.split(/\r?\n/),n=[],o=void 0,i=void 0,r=void 0,a=0,s=t.length;a<s;a++){if((o=this.pattern.exec(t[a]))&&a<t.length){for(a-1>=0&&""!==t[a-1]&&(r=t[a-1]),i=t[++a],a++;""!==t[a]&&a<t.length;)i=i+"\n"+t[a],a++;i=i.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),n.push({identifier:r,start:0===(0,d.convertSMPTEtoSeconds)(o[1])?.2:(0,d.convertSMPTEtoSeconds)(o[1]),stop:(0,d.convertSMPTEtoSeconds)(o[3]),text:i,settings:o[5]})}r=""}return n}},dfxp:{parse:function(e){var t=(e=$(e).filter("tt")).firstChild,n=t.querySelectorAll("p"),o=e.getElementById(""+t.attr("style")),i=[],r=void 0;if(o.length){o.removeAttribute("id");var a=o.attributes;if(a.length){r={};for(var s=0,l=a.length;s<l;s++)r[a[s].name.split(":")[1]]=a[s].value}}for(var u=0,c=n.length;u<c;u++){var f=void 0,p={start:null,stop:null,style:null,text:null};if(n.eq(u).attr("begin")&&(p.start=(0,d.convertSMPTEtoSeconds)(n.eq(u).attr("begin"))),!p.start&&n.eq(u-1).attr("end")&&(p.start=(0,d.convertSMPTEtoSeconds)(n.eq(u-1).attr("end"))),n.eq(u).attr("end")&&(p.stop=(0,d.convertSMPTEtoSeconds)(n.eq(u).attr("end"))),!p.stop&&n.eq(u+1).attr("begin")&&(p.stop=(0,d.convertSMPTEtoSeconds)(n.eq(u+1).attr("begin"))),r){f="";for(var m in r)f+=m+":"+r[m]+";"}f&&(p.style=f),0===p.start&&(p.start=.2),p.text=n.eq(u).innerHTML.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),i.push(p)}return i}}}},{16:16,2:2,26:26,27:27,30:30,5:5,7:7}],14:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=e(16),a=o(r),s=o(e(5)),l=e(25),d=e(27),u=e(26);Object.assign(r.config,{muteText:null,unmuteText:null,allyVolumeControlText:null,hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical",startVolume:.8}),Object.assign(a.default.prototype,{buildvolume:function(e,t,n,o){if(!l.IS_ANDROID&&!l.IS_IOS||!this.options.hideVolumeOnTouchDevices){var a=this,c=a.isVideo?a.options.videoVolume:a.options.audioVolume,f=(0,d.isString)(a.options.muteText)?a.options.muteText:s.default.t("mejs.mute"),p=(0,d.isString)(a.options.unmuteText)?a.options.unmuteText:s.default.t("mejs.unmute"),m=(0,d.isString)(a.options.allyVolumeControlText)?a.options.allyVolumeControlText:s.default.t("mejs.volume-help-text"),h=i.default.createElement("div");if(h.className=a.options.classPrefix+"button "+a.options.classPrefix+"volume-button "+a.options.classPrefix+"mute",h.innerHTML="horizontal"===c?'<button type="button" aria-controls="'+a.id+'" title="'+f+'" aria-label="'+f+'" tabindex="0"></button>':'<button type="button" aria-controls="'+a.id+'" title="'+f+'" aria-label="'+f+'" tabindex="0"></button><a href="javascript:void(0);" class="'+a.options.classPrefix+'volume-slider" aria-label="'+s.default.t("mejs.volume-slider")+'" aria-valuemin="0" aria-valuemax="100" role="slider" aria-orientation="vertical"><span class="'+a.options.classPrefix+'offscreen">'+m+'</span><div class="'+a.options.classPrefix+'volume-total"><div class="'+a.options.classPrefix+'volume-current"></div><div class="'+a.options.classPrefix+'volume-handle"></div></div></a>',a.addControlElement(h,"volume"),a.options.keyActions.push({keys:[38],action:function(e){var t=e.container.querySelector("."+r.config.classPrefix+"volume-slider");(t||e.container.querySelector("."+r.config.classPrefix+"volume-slider").matches(":focus"))&&(t.style.display="block"),e.isVideo&&(e.showControls(),e.startControlsTimer());var n=Math.min(e.volume+.1,1);e.setVolume(n),n>0&&e.setMuted(!1)}},{keys:[40],action:function(e){var t=e.container.querySelector("."+r.config.classPrefix+"volume-slider");t&&(t.style.display="block"),e.isVideo&&(e.showControls(),e.startControlsTimer());var n=Math.max(e.volume-.1,0);e.setVolume(n),n<=.1&&e.setMuted(!0)}},{keys:[77],action:function(e){e.container.querySelector("."+r.config.classPrefix+"volume-slider").style.display="block",e.isVideo&&(e.showControls(),e.startControlsTimer()),e.media.muted?e.setMuted(!1):e.setMuted(!0)}}),"horizontal"===c){var v=i.default.createElement("a");v.className=a.options.classPrefix+"horizontal-volume-slider",v.href="javascript:void(0);",v.setAttribute("aria-label",s.default.t("mejs.volume-slider")),v.setAttribute("aria-valuemin",0),v.setAttribute("aria-valuemax",100),v.setAttribute("role","slider"),v.innerHTML+='<span class="'+a.options.classPrefix+'offscreen">'+m+'</span><div class="'+a.options.classPrefix+'horizontal-volume-total"><div class="'+a.options.classPrefix+'horizontal-volume-current"></div><div class="'+a.options.classPrefix+'horizontal-volume-handle"></div></div>',h.parentNode.insertBefore(v,h.nextSibling)}var y=!1,g=!1,b=!1,E=function(){var e=Math.floor(100*o.volume);S.setAttribute("aria-valuenow",e),S.setAttribute("aria-valuetext",e+"%")},S="vertical"===c?a.container.querySelector("."+a.options.classPrefix+"volume-slider"):a.container.querySelector("."+a.options.classPrefix+"horizontal-volume-slider"),x="vertical"===c?a.container.querySelector("."+a.options.classPrefix+"volume-total"):a.container.querySelector("."+a.options.classPrefix+"horizontal-volume-total"),w="vertical"===c?a.container.querySelector("."+a.options.classPrefix+"volume-current"):a.container.querySelector("."+a.options.classPrefix+"horizontal-volume-current"),P="vertical"===c?a.container.querySelector("."+a.options.classPrefix+"volume-handle"):a.container.querySelector("."+a.options.classPrefix+"horizontal-volume-handle"),T=function(e){if(null!==e&&!isNaN(e)&&void 0!==e){if(e=Math.max(0,e),0===(e=Math.min(e,1))){(0,u.removeClass)(h,a.options.classPrefix+"mute"),(0,u.addClass)(h,a.options.classPrefix+"unmute");var t=h.firstElementChild;t.setAttribute("title",p),t.setAttribute("aria-label",p)}else{(0,u.removeClass)(h,a.options.classPrefix+"unmute"),(0,u.addClass)(h,a.options.classPrefix+"mute");var n=h.firstElementChild;n.setAttribute("title",f),n.setAttribute("aria-label",f)}var o=100*e+"%",i=getComputedStyle(P);"vertical"===c?(w.style.bottom=0,w.style.height=o,P.style.bottom=o,P.style.marginBottom=-parseFloat(i.height)/2+"px"):(w.style.left=0,w.style.width=o,P.style.left=o,P.style.marginLeft=-parseFloat(i.width)/2+"px")}},C=function(e){var t=(0,u.offset)(x),n=getComputedStyle(x);b=!0;var o=null;if("vertical"===c){var i=parseFloat(n.height);if(o=(i-(e.pageY-t.top))/i,0===t.top||0===t.left)return}else{var r=parseFloat(n.width);o=(e.pageX-t.left)/r}o=Math.max(0,o),o=Math.min(o,1),T(o),a.setMuted(0===o),a.setVolume(o),e.preventDefault(),e.stopPropagation()},k=function(){a.muted?(T(0),(0,u.removeClass)(h,a.options.classPrefix+"mute"),(0,u.addClass)(h,a.options.classPrefix+"unmute")):(T(o.volume),(0,u.removeClass)(h,a.options.classPrefix+"unmute"),(0,u.addClass)(h,a.options.classPrefix+"mute"))};e.container.addEventListener("keydown",function(e){!!e.target.closest("."+a.options.classPrefix+"container")||"vertical"!==c||(S.style.display="none")}),h.addEventListener("mouseenter",function(e){e.target===h&&(S.style.display="block",g=!0,e.preventDefault(),e.stopPropagation())}),h.addEventListener("focusin",function(){S.style.display="block",g=!0}),h.addEventListener("focusout",function(e){e.relatedTarget&&(!e.relatedTarget||e.relatedTarget.matches("."+a.options.classPrefix+"volume-slider"))||"vertical"!==c||(S.style.display="none")}),h.addEventListener("mouseleave",function(){g=!1,y||"vertical"!==c||(S.style.display="none")}),h.addEventListener("focusout",function(){g=!1}),h.addEventListener("keydown",function(e){if(a.options.keyActions.length){var t=e.which||e.keyCode||0,n=o.volume;switch(t){case 38:n=Math.min(n+.1,1);break;case 40:n=Math.max(0,n-.1);break;default:return!0}y=!1,T(n),o.setVolume(n),e.preventDefault(),e.stopPropagation()}}),h.querySelector("button").addEventListener("click",function(){o.setMuted(!o.muted);var e=(0,d.createEvent)("volumechange",o);o.dispatchEvent(e)}),S.addEventListener("dragstart",function(){return!1}),S.addEventListener("mouseover",function(){g=!0}),S.addEventListener("focusin",function(){S.style.display="block",g=!0}),S.addEventListener("focusout",function(){g=!1,y||"vertical"!==c||(S.style.display="none")}),S.addEventListener("mousedown",function(e){C(e),a.globalBind("mousemove.vol",function(e){var t=e.target;y&&(t===S||t.closest("vertical"===c?"."+a.options.classPrefix+"volume-slider":"."+a.options.classPrefix+"horizontal-volume-slider"))&&C(e)}),a.globalBind("mouseup.vol",function(){y=!1,g||"vertical"!==c||(S.style.display="none")}),y=!0,e.preventDefault(),e.stopPropagation()}),o.addEventListener("volumechange",function(e){y||k(),E()});var _=!1;o.addEventListener("rendererready",function(){b||setTimeout(function(){_=!0,(0===e.options.startVolume||o.originalNode.muted)&&(o.setMuted(!0),e.options.startVolume=0),o.setVolume(e.options.startVolume),a.setControlsSize()},250)}),o.addEventListener("loadedmetadata",function(){setTimeout(function(){b||_||((0===e.options.startVolume||o.originalNode.muted)&&(o.setMuted(!0),e.options.startVolume=0),o.setVolume(e.options.startVolume),a.setControlsSize()),_=!1},250)}),(0===e.options.startVolume||o.originalNode.muted)&&(o.setMuted(!0),e.options.startVolume=0,k()),a.container.addEventListener("controlsresize",function(){k()})}}})},{16:16,2:2,25:25,26:26,27:27,5:5}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.EN={"mejs.plural-form":1,"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}},{}],16:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.config=void 0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),s=o(e(3)),l=o(e(2)),d=o(e(7)),u=o(e(6)),c=o(e(17)),f=o(e(5)),p=e(25),m=e(27),h=e(30),v=e(28),y=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e(26));d.default.mepIndex=0,d.default.players={};var g=n.config={poster:"",showPosterWhenEnded:!1,showPosterWhenPaused:!1,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:40,defaultSeekBackwardInterval:function(e){return.05*e.getDuration()},defaultSeekForwardInterval:function(e){return.05*e.getDuration()},setDimensions:!0,audioWidth:-1,audioHeight:-1,loop:!1,autoRewind:!0,enableAutosize:!0,timeFormat:"",alwaysShowHours:!1,showTimecodeFrameCount:!1,framesPerSecond:25,alwaysShowControls:!1,hideVideoControlsOnLoad:!1,hideVideoControlsOnPause:!1,clickToPlayPause:!0,controlsTimeoutDefault:1500,controlsTimeoutMouseEnter:2500,controlsTimeoutMouseLeave:1e3,iPadUseNativeControls:!1,iPhoneUseNativeControls:!1,AndroidUseNativeControls:!1,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],useDefaultControls:!1,isVideo:!0,stretching:"auto",classPrefix:"mejs__",enableKeyboard:!0,pauseOtherPlayers:!0,secondsDecimalLength:0,customError:null,keyActions:[{keys:[32,179],action:function(e){p.IS_FIREFOX||(e.paused||e.ended?e.play():e.pause())}}]};d.default.MepDefaults=g;var b=function(){function e(t,n){i(this,e);var o=this,r="string"==typeof t?l.default.getElementById(t):t;if(!(o instanceof e))return new e(r,n);if(o.node=o.media=r,o.node){if(o.media.player)return o.media.player;if(o.hasFocus=!1,o.controlsAreVisible=!0,o.controlsEnabled=!0,o.controlsTimer=null,o.currentMediaTime=0,o.proxy=null,void 0===n){var a=o.node.getAttribute("data-mejsoptions");n=a?JSON.parse(a):{}}o.options=Object.assign({},g,n),o.options.loop&&!o.media.getAttribute("loop")?(o.media.loop=!0,o.node.loop=!0):o.media.loop&&(o.options.loop=!0),o.options.timeFormat||(o.options.timeFormat="mm:ss",o.options.alwaysShowHours&&(o.options.timeFormat="hh:mm:ss"),o.options.showTimecodeFrameCount&&(o.options.timeFormat+=":ff")),(0,h.calculateTimeFormat)(0,o.options,o.options.framesPerSecond||25),o.id="mep_"+d.default.mepIndex++,d.default.players[o.id]=o;var s=Object.assign({},o.options,{success:function(e,t){o._meReady(e,t)},error:function(e){o._handleError(e)}}),c=o.node.tagName.toLowerCase();if(o.isDynamic="audio"!==c&&"video"!==c&&"iframe"!==c,o.isVideo=o.isDynamic?o.options.isVideo:"audio"!==c&&o.options.isVideo,o.mediaFiles=null,o.trackFiles=null,p.IS_IPAD&&o.options.iPadUseNativeControls||p.IS_IPHONE&&o.options.iPhoneUseNativeControls)o.node.setAttribute("controls",!0),p.IS_IPAD&&o.node.getAttribute("autoplay")&&o.play();else if(!o.isVideo&&(o.isVideo||!o.options.features.length&&!o.options.useDefaultControls)||p.IS_ANDROID&&o.options.AndroidUseNativeControls)o.isVideo||o.options.features.length||o.options.useDefaultControls||(o.node.style.display="none");else{o.node.removeAttribute("controls");var b=o.isVideo?f.default.t("mejs.video-player"):f.default.t("mejs.audio-player"),E=l.default.createElement("span");if(E.className=o.options.classPrefix+"offscreen",E.innerText=b,o.media.parentNode.insertBefore(E,o.media),o.container=l.default.createElement("div"),o.container.id=o.id,o.container.className=o.options.classPrefix+"container "+o.options.classPrefix+"container-keyboard-inactive "+o.media.className,o.container.tabIndex=0,o.container.setAttribute("role","application"),o.container.setAttribute("aria-label",b),o.container.innerHTML='<div class="'+o.options.classPrefix+'inner"><div class="'+o.options.classPrefix+'mediaelement"></div><div class="'+o.options.classPrefix+'layers"></div><div class="'+o.options.classPrefix+'controls"></div></div>',o.container.addEventListener("focus",function(e){if(!o.controlsAreVisible&&!o.hasFocus&&o.controlsEnabled){o.showControls(!0);var t=(0,m.isNodeAfter)(e.relatedTarget,o.container)?"."+o.options.classPrefix+"controls ."+o.options.classPrefix+"button:last-child > button":"."+o.options.classPrefix+"playpause-button > button";o.container.querySelector(t).focus()}}),o.node.parentNode.insertBefore(o.container,o.node),o.options.features.length||o.options.useDefaultControls||(o.container.style.background="transparent",o.container.querySelector("."+o.options.classPrefix+"controls").style.display="none"),o.isVideo&&"fill"===o.options.stretching&&!y.hasClass(o.container.parentNode,o.options.classPrefix+"fill-container")){o.outerContainer=o.media.parentNode;var S=l.default.createElement("div");S.className=o.options.classPrefix+"fill-container",o.container.parentNode.insertBefore(S,o.container),S.appendChild(o.container)}if(p.IS_ANDROID&&y.addClass(o.container,o.options.classPrefix+"android"),p.IS_IOS&&y.addClass(o.container,o.options.classPrefix+"ios"),p.IS_IPAD&&y.addClass(o.container,o.options.classPrefix+"ipad"),p.IS_IPHONE&&y.addClass(o.container,o.options.classPrefix+"iphone"),y.addClass(o.container,o.isVideo?o.options.classPrefix+"video":o.options.classPrefix+"audio"),p.IS_SAFARI&&!p.IS_IOS){y.addClass(o.container,o.options.classPrefix+"hide-cues");for(var x=o.node.cloneNode(),w=o.node.children,P=[],T=[],C=0,k=w.length;C<k;C++){var _=w[C];!function(){switch(_.tagName.toLowerCase()){case"source":var e={};Array.prototype.slice.call(_.attributes).forEach(function(t){e[t.name]=t.value}),e.type=(0,v.formatType)(e.src,e.type),P.push(e);break;case"track":_.mode="hidden",T.push(_);break;default:x.appendChild(_)}}()}o.node.remove(),o.node=o.media=x,P.length&&(o.mediaFiles=P),T.length&&(o.trackFiles=T)}o.container.querySelector("."+o.options.classPrefix+"mediaelement").appendChild(o.node),o.media.player=o,o.controls=o.container.querySelector("."+o.options.classPrefix+"controls"),o.layers=o.container.querySelector("."+o.options.classPrefix+"layers");var N=o.isVideo?"video":"audio",A=N.substring(0,1).toUpperCase()+N.substring(1);o.options[N+"Width"]>0||o.options[N+"Width"].toString().indexOf("%")>-1?o.width=o.options[N+"Width"]:""!==o.node.style.width&&null!==o.node.style.width?o.width=o.node.style.width:o.node.getAttribute("width")?o.width=o.node.getAttribute("width"):o.width=o.options["default"+A+"Width"],o.options[N+"Height"]>0||o.options[N+"Height"].toString().indexOf("%")>-1?o.height=o.options[N+"Height"]:""!==o.node.style.height&&null!==o.node.style.height?o.height=o.node.style.height:o.node.getAttribute("height")?o.height=o.node.getAttribute("height"):o.height=o.options["default"+A+"Height"],o.initialAspectRatio=o.height>=o.width?o.width/o.height:o.height/o.width,o.setPlayerSize(o.width,o.height),s.pluginWidth=o.width,s.pluginHeight=o.height}if(d.default.MepDefaults=s,new u.default(o.media,s,o.mediaFiles),void 0!==o.container&&o.options.features.length&&o.controlsAreVisible&&!o.options.hideVideoControlsOnLoad){var L=(0,m.createEvent)("controlsshown",o.container);o.container.dispatchEvent(L)}return o}}return a(e,[{key:"showControls",value:function(e){var t=this;if(e=void 0===e||e,!t.controlsAreVisible&&t.isVideo){if(e)!function(){y.fadeIn(t.controls,200,function(){y.removeClass(t.controls,t.options.classPrefix+"offscreen");var e=(0,m.createEvent)("controlsshown",t.container);t.container.dispatchEvent(e)});for(var e=t.container.querySelectorAll("."+t.options.classPrefix+"control"),n=0,o=e.length;n<o;n++)!function(n,o){y.fadeIn(e[n],200,function(){y.removeClass(e[n],t.options.classPrefix+"offscreen")})}(n)}();else{y.removeClass(t.controls,t.options.classPrefix+"offscreen"),t.controls.style.display="",t.controls.style.opacity=1;for(var n=t.container.querySelectorAll("."+t.options.classPrefix+"control"),o=0,i=n.length;o<i;o++)y.removeClass(n[o],t.options.classPrefix+"offscreen"),n[o].style.display="";var r=(0,m.createEvent)("controlsshown",t.container);t.container.dispatchEvent(r)}t.controlsAreVisible=!0,t.setControlsSize()}}},{key:"hideControls",value:function(e,t){var n=this;if(e=void 0===e||e,!0===t||!(!n.controlsAreVisible||n.options.alwaysShowControls||n.paused&&4===n.readyState&&(!n.options.hideVideoControlsOnLoad&&n.currentTime<=0||!n.options.hideVideoControlsOnPause&&n.currentTime>0)||n.isVideo&&!n.options.hideVideoControlsOnLoad&&!n.readyState||n.ended)){if(e)!function(){y.fadeOut(n.controls,200,function(){y.addClass(n.controls,n.options.classPrefix+"offscreen"),n.controls.style.display="";var e=(0,m.createEvent)("controlshidden",n.container);n.container.dispatchEvent(e)});for(var e=n.container.querySelectorAll("."+n.options.classPrefix+"control"),t=0,o=e.length;t<o;t++)!function(t,o){y.fadeOut(e[t],200,function(){y.addClass(e[t],n.options.classPrefix+"offscreen"),e[t].style.display=""})}(t)}();else{y.addClass(n.controls,n.options.classPrefix+"offscreen"),n.controls.style.display="",n.controls.style.opacity=0;for(var o=n.container.querySelectorAll("."+n.options.classPrefix+"control"),i=0,r=o.length;i<r;i++)y.addClass(o[i],n.options.classPrefix+"offscreen"),o[i].style.display="";var a=(0,m.createEvent)("controlshidden",n.container);n.container.dispatchEvent(a)}n.controlsAreVisible=!1}}},{key:"startControlsTimer",value:function(e){var t=this;e=void 0!==e?e:t.options.controlsTimeoutDefault,t.killControlsTimer("start"),t.controlsTimer=setTimeout(function(){t.hideControls(),t.killControlsTimer("hide")},e)}},{key:"killControlsTimer",value:function(){var e=this;null!==e.controlsTimer&&(clearTimeout(e.controlsTimer),delete e.controlsTimer,e.controlsTimer=null)}},{key:"disableControls",value:function(){var e=this;e.killControlsTimer(),e.controlsEnabled=!1,e.hideControls(!1,!0)}},{key:"enableControls",value:function(){var e=this;e.controlsEnabled=!0,e.showControls(!1)}},{key:"_setDefaultPlayer",value:function(){var e=this;e.proxy&&e.proxy.pause(),e.proxy=new c.default(e),e.media.addEventListener("loadedmetadata",function(){e.getCurrentTime()>0&&e.currentMediaTime>0&&(e.setCurrentTime(e.currentMediaTime),p.IS_IOS||p.IS_ANDROID||e.play())})}},{key:"_meReady",value:function(e,t){var n=this,o=t.getAttribute("autoplay"),i=!(void 0===o||null===o||"false"===o),r=null!==e.rendererName&&/(native|html5)/i.test(n.media.rendererName);if(n.controls&&n.enableControls(),n.container&&n.container.querySelector("."+n.options.classPrefix+"overlay-play")&&(n.container.querySelector("."+n.options.classPrefix+"overlay-play").style.display=""),!n.created){if(n.created=!0,n.media=e,n.domNode=t,!(p.IS_ANDROID&&n.options.AndroidUseNativeControls||p.IS_IPAD&&n.options.iPadUseNativeControls||p.IS_IPHONE&&n.options.iPhoneUseNativeControls)){if(!n.isVideo&&!n.options.features.length&&!n.options.useDefaultControls)return i&&r&&n.play(),void(n.options.success&&("string"==typeof n.options.success?s.default[n.options.success](n.media,n.domNode,n):n.options.success(n.media,n.domNode,n)));if(n.featurePosition={},n._setDefaultPlayer(),n.buildposter(n,n.controls,n.layers,n.media),n.buildkeyboard(n,n.controls,n.layers,n.media),n.buildoverlays(n,n.controls,n.layers,n.media),n.options.useDefaultControls){var a=["playpause","current","progress","duration","tracks","volume","fullscreen"];n.options.features=a.concat(n.options.features.filter(function(e){return-1===a.indexOf(e)}))}for(var u=0,c=n.options.features.length;u<c;u++){var f=n.options.features[u];if(n["build"+f])try{n["build"+f](n,n.controls,n.layers,n.media)}catch(e){console.error("error building "+f,e)}}var v=(0,m.createEvent)("controlsready",n.container);n.container.dispatchEvent(v),n.setPlayerSize(n.width,n.height),n.setControlsSize(),n.isVideo&&(n.clickToPlayPauseCallback=function(){if(n.options.clickToPlayPause){var e=n.container.querySelector("."+n.options.classPrefix+"overlay-button"),t=e.getAttribute("aria-pressed");n.paused&&t?n.pause():n.paused?n.play():n.pause(),e.setAttribute("aria-pressed",!t),n.container.focus()}},n.createIframeLayer(),n.media.addEventListener("click",n.clickToPlayPauseCallback),!p.IS_ANDROID&&!p.IS_IOS||n.options.alwaysShowControls?(n.container.addEventListener("mouseenter",function(){n.controlsEnabled&&(n.options.alwaysShowControls||(n.killControlsTimer("enter"),n.showControls(),n.startControlsTimer(n.options.controlsTimeoutMouseEnter)))}),n.container.addEventListener("mousemove",function(){n.controlsEnabled&&(n.controlsAreVisible||n.showControls(),n.options.alwaysShowControls||n.startControlsTimer(n.options.controlsTimeoutMouseEnter))}),n.container.addEventListener("mouseleave",function(){n.controlsEnabled&&(n.paused||n.options.alwaysShowControls||n.startControlsTimer(n.options.controlsTimeoutMouseLeave))})):n.node.addEventListener("touchstart",function(){n.controlsAreVisible?n.hideControls(!1):n.controlsEnabled&&n.showControls(!1)},!!p.SUPPORT_PASSIVE_EVENT&&{passive:!0}),n.options.hideVideoControlsOnLoad&&n.hideControls(!1),n.options.enableAutosize&&n.media.addEventListener("loadedmetadata",function(e){var t=void 0!==e?e.detail.target||e.target:n.media;n.options.videoHeight<=0&&!n.domNode.getAttribute("height")&&!n.domNode.style.height&&null!==t&&!isNaN(t.videoHeight)&&(n.setPlayerSize(t.videoWidth,t.videoHeight),n.setControlsSize(),n.media.setSize(t.videoWidth,t.videoHeight))})),n.media.addEventListener("play",function(){n.hasFocus=!0;for(var e in d.default.players)if(d.default.players.hasOwnProperty(e)){var t=d.default.players[e];t.id===n.id||!n.options.pauseOtherPlayers||t.paused||t.ended||(t.pause(),t.hasFocus=!1)}p.IS_ANDROID||p.IS_IOS||n.options.alwaysShowControls||!n.isVideo||n.hideControls()}),n.media.addEventListener("ended",function(){if(n.options.autoRewind)try{n.setCurrentTime(0),setTimeout(function(){var e=n.container.querySelector("."+n.options.classPrefix+"overlay-loading");e&&e.parentNode&&(e.parentNode.style.display="none")},20)}catch(e){}"function"==typeof n.media.renderer.stop?n.media.renderer.stop():n.pause(),n.setProgressRail&&n.setProgressRail(),n.setCurrentRail&&n.setCurrentRail(),n.options.loop?n.play():!n.options.alwaysShowControls&&n.controlsEnabled&&n.showControls()}),n.media.addEventListener("loadedmetadata",function(){(0,h.calculateTimeFormat)(n.getDuration(),n.options,n.options.framesPerSecond||25),n.updateDuration&&n.updateDuration(),n.updateCurrent&&n.updateCurrent(),n.isFullScreen||(n.setPlayerSize(n.width,n.height),n.setControlsSize())});var g=null;n.media.addEventListener("timeupdate",function(){isNaN(n.getDuration())||g===n.getDuration()||(g=n.getDuration(),(0,h.calculateTimeFormat)(g,n.options,n.options.framesPerSecond||25),n.updateDuration&&n.updateDuration(),n.updateCurrent&&n.updateCurrent(),n.setControlsSize())}),n.container.addEventListener("click",function(e){y.addClass(e.currentTarget,n.options.classPrefix+"container-keyboard-inactive")}),n.container.addEventListener("focusin",function(e){y.removeClass(e.currentTarget,n.options.classPrefix+"container-keyboard-inactive"),!n.isVideo||p.IS_ANDROID||p.IS_IOS||!n.controlsEnabled||n.options.alwaysShowControls||(n.killControlsTimer("enter"),n.showControls(),n.startControlsTimer(n.options.controlsTimeoutMouseEnter))}),n.container.addEventListener("focusout",function(e){setTimeout(function(){e.relatedTarget&&n.keyboardAction&&!e.relatedTarget.closest("."+n.options.classPrefix+"container")&&(n.keyboardAction=!1,!n.isVideo||n.options.alwaysShowControls||n.paused||n.startControlsTimer(n.options.controlsTimeoutMouseLeave))},0)}),setTimeout(function(){n.setPlayerSize(n.width,n.height),n.setControlsSize()},0),n.globalResizeCallback=function(){n.isFullScreen||p.HAS_TRUE_NATIVE_FULLSCREEN&&l.default.webkitIsFullScreen||n.setPlayerSize(n.width,n.height),n.setControlsSize()},n.globalBind("resize",n.globalResizeCallback)}i&&r&&n.play(),n.options.success&&("string"==typeof n.options.success?s.default[n.options.success](n.media,n.domNode,n):n.options.success(n.media,n.domNode,n))}}},{key:"_handleError",value:function(e,t,n){var o=this,i=o.layers.querySelector("."+o.options.classPrefix+"overlay-play");i&&(i.style.display="none"),o.options.error&&o.options.error(e,t,n),o.container.querySelector("."+o.options.classPrefix+"cannotplay")&&o.container.querySelector("."+o.options.classPrefix+"cannotplay").remove();var r=l.default.createElement("div");r.className=o.options.classPrefix+"cannotplay",r.style.width="100%",r.style.height="100%";var a="function"==typeof o.options.customError?o.options.customError(o.media,o.media.originalNode):o.options.customError,s="";if(!a){var u=o.media.originalNode.getAttribute("poster");if(u&&(s='<img src="'+u+'" alt="'+d.default.i18n.t("mejs.download-file")+'">'),e.message&&(a="<p>"+e.message+"</p>"),e.urls)for(var c=0,f=e.urls.length;c<f;c++){var p=e.urls[c];a+='<a href="'+p.src+'" data-type="'+p.type+'"><span>'+d.default.i18n.t("mejs.download-file")+": "+p.src+"</span></a>"}}a&&o.layers.querySelector("."+o.options.classPrefix+"overlay-error")&&(r.innerHTML=a,o.layers.querySelector("."+o.options.classPrefix+"overlay-error").innerHTML=""+s+r.outerHTML,o.layers.querySelector("."+o.options.classPrefix+"overlay-error").parentNode.style.display="block"),o.controlsEnabled&&o.disableControls()}},{key:"setPlayerSize",value:function(e,t){var n=this;if(!n.options.setDimensions)return!1;switch(void 0!==e&&(n.width=e),void 0!==t&&(n.height=t),n.options.stretching){case"fill":n.isVideo?n.setFillMode():n.setDimensions(n.width,n.height);break;case"responsive":n.setResponsiveMode();break;case"none":n.setDimensions(n.width,n.height);break;default:!0===n.hasFluidMode()?n.setResponsiveMode():n.setDimensions(n.width,n.height)}}},{key:"hasFluidMode",value:function(){var e=this;return-1!==e.height.toString().indexOf("%")||e.node&&e.node.style.maxWidth&&"none"!==e.node.style.maxWidth&&e.node.style.maxWidth!==e.width||e.node&&e.node.currentStyle&&"100%"===e.node.currentStyle.maxWidth}},{key:"setResponsiveMode",value:function(){var e=this,t=function(){for(var t=void 0,n=e.container;n;){try{if(p.IS_FIREFOX&&"html"===n.tagName.toLowerCase()&&s.default.self!==s.default.top&&null!==s.default.frameElement)return s.default.frameElement;t=n.parentElement}catch(e){t=n.parentElement}if(t&&y.visible(t))return t;n=t}return null}(),n=t?getComputedStyle(t,null):getComputedStyle(l.default.body,null),o=e.isVideo?e.media.videoWidth&&e.media.videoWidth>0?e.media.videoWidth:e.node.getAttribute("width")?e.node.getAttribute("width"):e.options.defaultVideoWidth:e.options.defaultAudioWidth,i=e.isVideo?e.media.videoHeight&&e.media.videoHeight>0?e.media.videoHeight:e.node.getAttribute("height")?e.node.getAttribute("height"):e.options.defaultVideoHeight:e.options.defaultAudioHeight,r=function(){var t=1;return e.isVideo?(t=e.media.videoWidth&&e.media.videoWidth>0&&e.media.videoHeight&&e.media.videoHeight>0?e.height>=e.width?e.media.videoWidth/e.media.videoHeight:e.media.videoHeight/e.media.videoWidth:e.initialAspectRatio,(isNaN(t)||t<.01||t>100)&&(t=1),t):t}(),a=parseFloat(n.height),d=void 0,u=parseFloat(n.width);if(d=e.isVideo?"100%"===e.height?parseFloat(u*i/o,10):e.height>=e.width?parseFloat(u/r,10):parseFloat(u*r,10):i,isNaN(d)&&(d=a),e.container.parentNode.length>0&&"body"===e.container.parentNode.tagName.toLowerCase()&&(u=s.default.innerWidth||l.default.documentElement.clientWidth||l.default.body.clientWidth,d=s.default.innerHeight||l.default.documentElement.clientHeight||l.default.body.clientHeight),d&&u){e.container.style.width=u+"px",e.container.style.height=d+"px",e.node.style.width="100%",e.node.style.height="100%",e.isVideo&&e.media.setSize&&e.media.setSize(u,d);for(var c=e.layers.children,f=0,m=c.length;f<m;f++)c[f].style.width="100%",c[f].style.height="100%"}}},{key:"setFillMode",value:function(){var e=this,t=void 0,n=!1;try{s.default.self!==s.default.top?(n=!0,t=s.default.frameElement):t=e.outerContainer}catch(n){t=e.outerContainer}var o=getComputedStyle(t);"none"!==e.node.style.height&&e.node.style.height!==e.height&&(e.node.style.height="auto"),"none"!==e.node.style.maxWidth&&e.node.style.maxWidth!==e.width&&(e.node.style.maxWidth="none"),"none"!==e.node.style.maxHeight&&e.node.style.maxHeight!==e.height&&(e.node.style.maxHeight="none"),e.node.currentStyle&&("100%"===e.node.currentStyle.height&&(e.node.currentStyle.height="auto"),"100%"===e.node.currentStyle.maxWidth&&(e.node.currentStyle.maxWidth="none"),"100%"===e.node.currentStyle.maxHeight&&(e.node.currentStyle.maxHeight="none")),n||parseFloat(o.width)||(t.style.width=e.media.offsetWidth+"px"),n||parseFloat(o.height)||(t.style.height=e.media.offsetHeight+"px"),o=getComputedStyle(t);var i=parseFloat(o.width),r=parseFloat(o.height);e.setDimensions("100%","100%");var a=e.container.querySelector("."+e.options.classPrefix+"poster>img");a&&(a.style.display="");for(var l=e.container.querySelectorAll("object, embed, iframe, video"),d=e.height,u=e.width,c=i,f=d*i/u,p=u*r/d,m=r,h=p>i==!1,v=h?Math.floor(c):Math.floor(p),y=h?Math.floor(f):Math.floor(m),g=h?i+"px":v+"px",b=h?y+"px":r+"px",E=0,S=l.length;E<S;E++)l[E].style.height=b,l[E].style.width=g,e.media.setSize&&e.media.setSize(g,b),l[E].style.marginLeft=Math.floor((i-v)/2)+"px",l[E].style.marginTop=0}},{key:"setDimensions",value:function(e,t){var n=this;e=(0,m.isString)(e)&&e.indexOf("%")>-1?e:parseFloat(e)+"px",t=(0,m.isString)(t)&&t.indexOf("%")>-1?t:parseFloat(t)+"px",n.container.style.width=e,n.container.style.height=t;for(var o=n.layers.children,i=0,r=o.length;i<r;i++)o[i].style.width=e,o[i].style.height=t}},{key:"setControlsSize",value:function(){var e=this;if(y.visible(e.container))if(e.rail&&y.visible(e.rail)){for(var t=e.total?getComputedStyle(e.total,null):null,n=t?parseFloat(t.marginLeft)+parseFloat(t.marginRight):0,o=getComputedStyle(e.rail),i=parseFloat(o.marginLeft)+parseFloat(o.marginRight),r=0,a=y.siblings(e.rail,function(t){return t!==e.rail}),s=a.length,l=0;l<s;l++)r+=a[l].offsetWidth;r+=n+(0===n?2*i:i)+1,e.container.style.minWidth=r+"px";var d=(0,m.createEvent)("controlsresize",e.container);e.container.dispatchEvent(d)}else{for(var u=e.controls.children,c=0,f=0,p=u.length;f<p;f++)c+=u[f].offsetWidth;e.container.style.minWidth=c+"px"}}},{key:"addControlElement",value:function(e,t){var n=this;if(void 0!==n.featurePosition[t]){var o=n.controls.children[n.featurePosition[t]-1];o.parentNode.insertBefore(e,o.nextSibling)}else{n.controls.appendChild(e);for(var i=n.controls.children,r=0,a=i.length;r<a;r++)if(e===i[r]){n.featurePosition[t]=r;break}}}},{key:"createIframeLayer",value:function(){var e=this;if(e.isVideo&&null!==e.media.rendererName&&e.media.rendererName.indexOf("iframe")>-1&&!l.default.getElementById(e.media.id+"-iframe-overlay")){var t=l.default.createElement("div"),n=l.default.getElementById(e.media.id+"_"+e.media.rendererName);t.id=e.media.id+"-iframe-overlay",t.className=e.options.classPrefix+"iframe-overlay",t.addEventListener("click",function(t){e.options.clickToPlayPause&&(e.paused?e.play():e.pause(),t.preventDefault(),t.stopPropagation())}),n.parentNode.insertBefore(t,n)}}},{key:"resetSize",value:function(){var e=this;setTimeout(function(){e.setPlayerSize(e.width,e.height),e.setControlsSize()},50)}},{key:"setPoster",value:function(e){var t=this,n=t.container.querySelector("."+t.options.classPrefix+"poster");n||((n=l.default.createElement("div")).className=t.options.classPrefix+"poster "+t.options.classPrefix+"layer",t.layers.appendChild(n));var o=n.querySelector("img");!o&&e&&((o=l.default.createElement("img")).className=t.options.classPrefix+"poster-img",o.width="100%",o.height="100%",n.style.display="",n.appendChild(o)),e?(o.setAttribute("src",e),n.style.backgroundImage='url("'+e+'")',n.style.display=""):o?(n.style.backgroundImage="none",n.style.display="none",o.remove()):n.style.display="none"}},{key:"changeSkin",value:function(e){var t=this;t.container.className=t.options.classPrefix+"container "+e,t.setPlayerSize(t.width,t.height),t.setControlsSize()}},{key:"globalBind",value:function(e,t){var n=this,o=n.node?n.node.ownerDocument:l.default;if((e=(0,m.splitEvents)(e,n.id)).d)for(var i=e.d.split(" "),r=0,a=i.length;r<a;r++)i[r].split(".").reduce(function(e,n){return o.addEventListener(n,t,!1),n},"");if(e.w)for(var d=e.w.split(" "),u=0,c=d.length;u<c;u++)d[u].split(".").reduce(function(e,n){return s.default.addEventListener(n,t,!1),n},"")}},{key:"globalUnbind",value:function(e,t){var n=this,o=n.node?n.node.ownerDocument:l.default;if((e=(0,m.splitEvents)(e,n.id)).d)for(var i=e.d.split(" "),r=0,a=i.length;r<a;r++)i[r].split(".").reduce(function(e,n){return o.removeEventListener(n,t,!1),n},"");if(e.w)for(var d=e.w.split(" "),u=0,c=d.length;u<c;u++)d[u].split(".").reduce(function(e,n){return s.default.removeEventListener(n,t,!1),n},"")}},{key:"buildposter",value:function(e,t,n,o){var i=this,r=l.default.createElement("div");r.className=i.options.classPrefix+"poster "+i.options.classPrefix+"layer",n.appendChild(r);var a=o.originalNode.getAttribute("poster");""!==e.options.poster&&(a&&p.IS_IOS&&o.originalNode.removeAttribute("poster"),a=e.options.poster),a?i.setPoster(a):null!==i.media.renderer&&"function"==typeof i.media.renderer.getPosterUrl?i.setPoster(i.media.renderer.getPosterUrl()):r.style.display="none",o.addEventListener("play",function(){r.style.display="none"}),o.addEventListener("playing",function(){r.style.display="none"}),e.options.showPosterWhenEnded&&e.options.autoRewind&&o.addEventListener("ended",function(){r.style.display=""}),o.addEventListener("error",function(){r.style.display="none"}),e.options.showPosterWhenPaused&&o.addEventListener("pause",function(){e.ended||(r.style.display="")})}},{key:"buildoverlays",value:function(e,t,n,o){if(e.isVideo){var i=this,r=l.default.createElement("div"),a=l.default.createElement("div"),s=l.default.createElement("div");r.style.display="none",r.className=i.options.classPrefix+"overlay "+i.options.classPrefix+"layer",r.innerHTML='<div class="'+i.options.classPrefix+'overlay-loading"><span class="'+i.options.classPrefix+'overlay-loading-bg-img"></span></div>',n.appendChild(r),a.style.display="none",a.className=i.options.classPrefix+"overlay "+i.options.classPrefix+"layer",a.innerHTML='<div class="'+i.options.classPrefix+'overlay-error"></div>',n.appendChild(a),s.className=i.options.classPrefix+"overlay "+i.options.classPrefix+"layer "+i.options.classPrefix+"overlay-play",s.innerHTML='<div class="'+i.options.classPrefix+'overlay-button" role="button" tabindex="0" aria-label="'+f.default.t("mejs.play")+'" aria-pressed="false"></div>',s.addEventListener("click",function(){if(i.options.clickToPlayPause){var e=i.container.querySelector("."+i.options.classPrefix+"overlay-button"),t=e.getAttribute("aria-pressed");i.paused?i.play():i.pause(),e.setAttribute("aria-pressed",!!t),i.container.focus()}}),s.addEventListener("keydown",function(e){var t=e.keyCode||e.which||0;if(13===t||p.IS_FIREFOX&&32===t){var n=(0,m.createEvent)("click",s);return s.dispatchEvent(n),!1}}),n.appendChild(s),null!==i.media.rendererName&&(/(youtube|facebook)/i.test(i.media.rendererName)&&!(i.media.originalNode.getAttribute("poster")||e.options.poster||"function"==typeof i.media.renderer.getPosterUrl&&i.media.renderer.getPosterUrl())||p.IS_STOCK_ANDROID||i.media.originalNode.getAttribute("autoplay"))&&(s.style.display="none");var d=!1;o.addEventListener("play",function(){s.style.display="none",r.style.display="none",a.style.display="none",d=!1}),o.addEventListener("playing",function(){s.style.display="none",r.style.display="none",a.style.display="none",d=!1}),o.addEventListener("seeking",function(){s.style.display="none",r.style.display="",d=!1}),o.addEventListener("seeked",function(){s.style.display=i.paused&&!p.IS_STOCK_ANDROID?"":"none",r.style.display="none",d=!1}),o.addEventListener("pause",function(){r.style.display="none",p.IS_STOCK_ANDROID||d||(s.style.display=""),d=!1}),o.addEventListener("waiting",function(){r.style.display="",d=!1}),o.addEventListener("loadeddata",function(){r.style.display="",p.IS_ANDROID&&(o.canplayTimeout=setTimeout(function(){if(l.default.createEvent){var e=l.default.createEvent("HTMLEvents");return e.initEvent("canplay",!0,!0),o.dispatchEvent(e)}},300)),d=!1}),o.addEventListener("canplay",function(){r.style.display="none",clearTimeout(o.canplayTimeout),d=!1}),o.addEventListener("error",function(e){i._handleError(e,i.media,i.node),r.style.display="none",s.style.display="none",d=!0}),o.addEventListener("loadedmetadata",function(){i.controlsEnabled||i.enableControls()}),o.addEventListener("keydown",function(t){i.onkeydown(e,o,t),d=!1})}}},{key:"buildkeyboard",value:function(e,t,n,o){var i=this;i.container.addEventListener("keydown",function(){i.keyboardAction=!0}),i.globalKeydownCallback=function(t){var n=l.default.activeElement.closest("."+i.options.classPrefix+"container"),r=i.media.closest("."+i.options.classPrefix+"container");return i.hasFocus=!(!n||!r||n.id!==r.id),i.onkeydown(e,o,t)},i.globalClickCallback=function(e){i.hasFocus=!!e.target.closest("."+i.options.classPrefix+"container")},i.globalBind("keydown",i.globalKeydownCallback),i.globalBind("click",i.globalClickCallback)}},{key:"onkeydown",value:function(e,t,n){if(e.hasFocus&&e.options.enableKeyboard)for(var o=0,i=e.options.keyActions.length;o<i;o++)for(var r=e.options.keyActions[o],a=0,s=r.keys.length;a<s;a++)if(n.keyCode===r.keys[a])return r.action(e,t,n.keyCode,n),n.preventDefault(),void n.stopPropagation();return!0}},{key:"play",value:function(){this.proxy.play()}},{key:"pause",value:function(){this.proxy.pause()}},{key:"load",value:function(){this.proxy.load()}},{key:"setCurrentTime",value:function(e){this.proxy.setCurrentTime(e)}},{key:"getCurrentTime",value:function(){return this.proxy.currentTime}},{key:"getDuration",value:function(){return this.proxy.duration}},{key:"setVolume",value:function(e){this.proxy.volume=e}},{key:"getVolume",value:function(){return this.proxy.getVolume()}},{key:"setMuted",value:function(e){this.proxy.setMuted(e)}},{key:"setSrc",value:function(e){this.controlsEnabled||this.enableControls(),this.proxy.setSrc(e)}},{key:"getSrc",value:function(){return this.proxy.getSrc()}},{key:"canPlayType",value:function(e){return this.proxy.canPlayType(e)}},{key:"remove",value:function(){var e=this,t=e.media.rendererName,n=e.media.originalNode.src;for(var o in e.options.features){var i=e.options.features[o];if(e["clean"+i])try{e["clean"+i](e,e.layers,e.controls,e.media)}catch(e){console.error("error cleaning "+i,e)}}var a=e.node.getAttribute("width"),s=e.node.getAttribute("height");a?-1===a.indexOf("%")&&(a+="px"):a="auto",s?-1===s.indexOf("%")&&(s+="px"):s="auto",e.node.style.width=a,e.node.style.height=s,e.setPlayerSize(0,0),e.isDynamic?e.container.parentNode.insertBefore(e.node,e.container):function(){e.node.setAttribute("controls",!0),e.node.setAttribute("id",e.node.getAttribute("id").replace("_"+t,"").replace("_from_mejs",""));var o=e.container.querySelector("."+e.options.classPrefix+"poster>img");o&&e.node.setAttribute("poster",o.src),delete e.node.autoplay,""!==e.media.canPlayType((0,v.getTypeFromFile)(n))&&e.node.setAttribute("src",n),~t.indexOf("iframe")&&l.default.getElementById(e.media.id+"-iframe-overlay").remove();var i=e.node.cloneNode();if(i.style.display="",e.container.parentNode.insertBefore(i,e.container),e.node.remove(),e.mediaFiles)for(var r=0,a=e.mediaFiles.length;r<a;r++){var s=l.default.createElement("source");s.setAttribute("src",e.mediaFiles[r].src),s.setAttribute("type",e.mediaFiles[r].type),i.appendChild(s)}if(e.trackFiles)for(var d=0,u=e.trackFiles.length;d<u;d++)!function(t,n){var o=e.trackFiles[t],r=l.default.createElement("track");r.kind=o.kind,r.label=o.label,r.srclang=o.srclang,r.src=o.src,i.appendChild(r),r.addEventListener("load",function(){this.mode="showing",i.textTracks[t].mode="showing"})}(d);delete e.node,delete e.mediaFiles,delete e.trackFiles}(),"function"==typeof e.media.renderer.destroy&&e.media.renderer.destroy(),delete d.default.players[e.id],"object"===r(e.container)&&(e.container.parentNode.querySelector("."+e.options.classPrefix+"offscreen").remove(),e.container.remove()),e.globalUnbind("resize",e.globalResizeCallback),e.globalUnbind("keydown",e.globalKeydownCallback),e.globalUnbind("click",e.globalClickCallback),delete e.media.player}},{key:"paused",get:function(){return this.proxy.paused}},{key:"muted",get:function(){return this.proxy.muted},set:function(e){this.setMuted(e)}},{key:"ended",get:function(){return this.proxy.ended}},{key:"readyState",get:function(){return this.proxy.readyState}},{key:"currentTime",set:function(e){this.setCurrentTime(e)},get:function(){return this.getCurrentTime()}},{key:"duration",get:function(){return this.getDuration()}},{key:"volume",set:function(e){this.setVolume(e)},get:function(){return this.getVolume()}},{key:"src",set:function(e){this.setSrc(e)},get:function(){return this.getSrc()}}]),e}();s.default.MediaElementPlayer=b,d.default.MediaElementPlayer=b,n.default=b},{17:17,2:2,25:25,26:26,27:27,28:28,3:3,30:30,5:5,6:6,7:7}],17:[function(e,t,n){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),r=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),a=function(){function e(t){return o(this,e),this.media=t.media,this.isVideo=t.isVideo,this.classPrefix=t.options.classPrefix,this.createIframeLayer=function(){return t.createIframeLayer()},this.setPoster=function(e){return t.setPoster(e)},this}return i(e,[{key:"play",value:function(){this.media.play()}},{key:"pause",value:function(){this.media.pause()}},{key:"load",value:function(){var e=this;e.isLoaded||e.media.load(),e.isLoaded=!0}},{key:"setCurrentTime",value:function(e){this.media.setCurrentTime(e)}},{key:"getCurrentTime",value:function(){return this.media.currentTime}},{key:"getDuration",value:function(){return this.media.getDuration()}},{key:"setVolume",value:function(e){this.media.setVolume(e)}},{key:"getVolume",value:function(){return this.media.getVolume()}},{key:"setMuted",value:function(e){this.media.setMuted(e)}},{key:"setSrc",value:function(e){var t=this,n=document.getElementById(t.media.id+"-iframe-overlay");n&&n.remove(),t.media.setSrc(e),t.createIframeLayer(),null!==t.media.renderer&&"function"==typeof t.media.renderer.getPosterUrl&&t.setPoster(t.media.renderer.getPosterUrl())}},{key:"getSrc",value:function(){return this.media.getSrc()}},{key:"canPlayType",value:function(e){return this.media.canPlayType(e)}},{key:"paused",get:function(){return this.media.paused}},{key:"muted",set:function(e){this.setMuted(e)},get:function(){return this.media.muted}},{key:"ended",get:function(){return this.media.ended}},{key:"readyState",get:function(){return this.media.readyState}},{key:"currentTime",set:function(e){this.setCurrentTime(e)},get:function(){return this.getCurrentTime()}},{key:"duration",get:function(){return this.getDuration()}},{key:"volume",set:function(e){this.setVolume(e)},get:function(){return this.getVolume()}},{key:"src",set:function(e){this.setSrc(e)},get:function(){return this.getSrc()}}]),e}();n.default=a,r.default.DefaultPlayer=a},{3:3}],18:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(3)),r=o(e(7)),a=o(e(16));"undefined"!=typeof jQuery?r.default.$=i.default.jQuery=i.default.$=jQuery:"undefined"!=typeof Zepto?r.default.$=i.default.Zepto=i.default.$=Zepto:"undefined"!=typeof ender&&(r.default.$=i.default.ender=i.default.$=ender),function(e){void 0!==e&&(e.fn.mediaelementplayer=function(t){return!1===t?this.each(function(){var t=e(this).data("mediaelementplayer");t&&t.remove(),e(this).removeData("mediaelementplayer")}):this.each(function(){e(this).data("mediaelementplayer",new a.default(this,t))}),this},e(document).ready(function(){e("."+r.default.MepDefaults.classPrefix+"player").mediaelementplayer()}))}(r.default.$)},{16:16,3:3,7:7}],19:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=o(e(3)),a=o(e(7)),s=e(8),l=e(27),d=e(28),u=e(25),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof dashjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.dashjs.org/latest/dash.all.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=dashjs.MediaPlayer().create();return r.default["__ready__"+e.id](t),t}},p={name:"native_dash",options:{prefix:"native_dash",dash:{path:"https://cdn.dashjs.org/latest/dash.all.min.js",debug:!1,drm:{},robustnessLevel:""}},canPlayType:function(e){return u.HAS_MSE&&["application/dash+xml"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var o=e.originalNode,d=e.id+"_"+t.prefix,u=o.autoplay,c=o.children,p=null,m=null;o.removeAttribute("type");for(var h=0,v=c.length;h<v;h++)c[h].removeAttribute("type");p=o.cloneNode(!0),t=Object.assign(t,e.options);for(var y=a.default.html5media.properties,g=a.default.html5media.events.concat(["click","mouseover","mouseout"]),b=function(t){if("error"!==t.type){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)}},E=0,S=y.length;E<S;E++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);p["get"+n]=function(){return null!==m?p[e]:null},p["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){var o="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n;if(p[e]=o,null!==m){m.reset();for(var r=0,s=g.length;r<s;r++)p.removeEventListener(g[r],b);m=f._createPlayer({options:t.dash,id:d}),n&&"object"===(void 0===n?"undefined":i(n))&&"object"===i(n.drm)&&(m.setProtectionData(n.drm),(0,l.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&m.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),m.attachSource(o),u&&m.play()}}else p[e]=n}}(y[E]);if(r.default["__ready__"+d]=function(n){e.dashPlayer=m=n;for(var o=dashjs.MediaPlayer.events,r=0,s=g.length;r<s;r++)!function(e){"loadedmetadata"===e&&(m.getDebug().setLogToBrowserConsole(t.dash.debug),m.initialize(),m.setScheduleWhilePaused(!1),m.setFastSwitchEnabled(!0),m.attachView(p),m.setAutoPlay(!1),"object"!==i(t.dash.drm)||a.default.Utils.isObjectEmpty(t.dash.drm)||(m.setProtectionData(t.dash.drm),(0,l.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&m.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),m.attachSource(p.getSrc())),p.addEventListener(e,b)}(g[r]);var d=function(t,n){if("error"===t.toLowerCase())e.generateError(n.message,p.src),console.error(n);else{var o=(0,l.createEvent)(t,e);o.data=n,e.dispatchEvent(o)}};for(var u in o)o.hasOwnProperty(u)&&m.on(o[u],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return d(e.type,n)})},n&&n.length>0)for(var x=0,w=n.length;x<w;x++)if(s.renderer.renderers[t.prefix].canPlayType(n[x].type)){p.setAttribute("src",n[x].src),void 0!==n[x].drm&&(t.dash.drm=n[x].drm);break}p.setAttribute("id",d),o.parentNode.insertBefore(p,o),o.autoplay=!1,o.style.display="none",p.setSize=function(e,t){return p.style.width=e+"px",p.style.height=t+"px",p},p.hide=function(){return p.pause(),p.style.display="none",p},p.show=function(){return p.style.display="",p},p.destroy=function(){null!==m&&m.reset()};var P=(0,l.createEvent)("rendererready",p);return e.dispatchEvent(P),e.promises.push(f.load({options:t.dash,id:d})),p}};d.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".mpd")?"application/dash+xml":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],20:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.PluginDetector=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=o(e(3)),a=o(e(2)),s=o(e(7)),l=o(e(5)),d=e(8),u=e(27),c=e(25),f=e(28),p=n.PluginDetector={plugins:[],hasPluginVersion:function(e,t){var n=p.plugins[e];return t[1]=t[1]||0,t[2]=t[2]||0,n[0]>t[0]||n[0]===t[0]&&n[1]>t[1]||n[0]===t[0]&&n[1]===t[1]&&n[2]>=t[2]},addPlugin:function(e,t,n,o,i){p.plugins[e]=p.detectPlugin(t,n,o,i)},detectPlugin:function(e,t,n,o){var a=[0,0,0],s=void 0,l=void 0;if(null!==c.NAV.plugins&&void 0!==c.NAV.plugins&&"object"===i(c.NAV.plugins[e])){if((s=c.NAV.plugins[e].description)&&(void 0===c.NAV.mimeTypes||!c.NAV.mimeTypes[t]||c.NAV.mimeTypes[t].enabledPlugin))for(var d=0,u=(a=s.replace(e,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".")).length;d<u;d++)a[d]=parseInt(a[d].match(/\d+/),10)}else if(void 0!==r.default.ActiveXObject)try{(l=new ActiveXObject(n))&&(a=o(l))}catch(e){}return a}};p.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(e){var t=[],n=e.GetVariable("$version");return n&&(n=n.split(" ")[1].split(","),t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]),t});var m={create:function(e,t,n){var o={},i=!1;o.options=t,o.id=e.id+"_"+o.options.prefix,o.mediaElement=e,o.flashState={},o.flashApi=null,o.flashApiStack=[];for(var p=s.default.html5media.properties,m=0,h=p.length;m<h;m++)!function(e){o.flashState[e]=null;var t=""+e.substring(0,1).toUpperCase()+e.substring(1);o["get"+t]=function(){if(null!==o.flashApi){if("function"==typeof o.flashApi["get_"+e]){var t=o.flashApi["get_"+e]();return"buffered"===e?{start:function(){return 0},end:function(){return t},length:1}:t}return null}return null},o["set"+t]=function(t){if("src"===e&&(t=(0,f.absolutizeUrl)(t)),null!==o.flashApi&&void 0!==o.flashApi["set_"+e])try{o.flashApi["set_"+e](t)}catch(e){}else o.flashApiStack.push({type:"set",propName:e,value:t})}}(p[m]);var v=s.default.html5media.methods;v.push("stop");for(var y=0,g=v.length;y<g;y++)!function(e){o[e]=function(){if(i)if(null!==o.flashApi){if(o.flashApi["fire_"+e])try{o.flashApi["fire_"+e]()}catch(e){}}else o.flashApiStack.push({type:"call",methodName:e})}}(v[y]);for(var b=["rendererready"],E=0,S=b.length;E<S;E++){var x=(0,u.createEvent)(b[E],o);e.dispatchEvent(x)}r.default["__ready__"+o.id]=function(){if(o.flashReady=!0,o.flashApi=a.default.getElementById("__"+o.id),o.flashApiStack.length)for(var e=0,t=o.flashApiStack.length;e<t;e++){var n=o.flashApiStack[e];if("set"===n.type){var i=n.propName,r=""+i.substring(0,1).toUpperCase()+i.substring(1);o["set"+r](n.value)}else"call"===n.type&&o[n.methodName]()}},r.default["__event__"+o.id]=function(e,t){var n=(0,u.createEvent)(e,o);if(t)try{n.data=JSON.parse(t),n.details.data=JSON.parse(t)}catch(e){n.message=t}o.mediaElement.dispatchEvent(n)},o.flashWrapper=a.default.createElement("div"),-1===["always","sameDomain"].indexOf(o.options.shimScriptAccess)&&(o.options.shimScriptAccess="sameDomain");var w=e.originalNode.autoplay,P=["uid="+o.id,"autoplay="+w,"allowScriptAccess="+o.options.shimScriptAccess,"preload="+(e.originalNode.getAttribute("preload")||"")],T=null!==e.originalNode&&"video"===e.originalNode.tagName.toLowerCase(),C=T?e.originalNode.height:1,k=T?e.originalNode.width:1;e.originalNode.getAttribute("src")&&P.push("src="+e.originalNode.getAttribute("src")),!0===o.options.enablePseudoStreaming&&(P.push("pseudostreamstart="+o.options.pseudoStreamingStartQueryParam),P.push("pseudostreamtype="+o.options.pseudoStreamingType)),e.appendChild(o.flashWrapper),e.originalNode.style.display="none";var _=[];if(c.IS_IE||c.IS_EDGE){var N=a.default.createElement("div");o.flashWrapper.appendChild(N),_=c.IS_EDGE?['type="application/x-shockwave-flash"','data="'+o.options.pluginPath+o.options.filename+'"','id="__'+o.id+'"','width="'+k+'"','height="'+C+"'\""]:['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"','codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"','id="__'+o.id+'"','width="'+k+'"','height="'+C+'"'],T||_.push('style="clip: rect(0 0 0 0); position: absolute;"'),N.outerHTML="<object "+_.join(" ")+'><param name="movie" value="'+o.options.pluginPath+o.options.filename+"?x="+new Date+'" /><param name="flashvars" value="'+P.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="'+o.options.shimScriptAccess+'" /><param name="allowFullScreen" value="true" /><div>'+l.default.t("mejs.install-flash")+"</div></object>"}else _=['id="__'+o.id+'"','name="__'+o.id+'"','play="true"','loop="false"','quality="high"','bgcolor="#000000"','wmode="transparent"','allowScriptAccess="'+o.options.shimScriptAccess+'"','allowFullScreen="true"','type="application/x-shockwave-flash"','pluginspage="//www.macromedia.com/go/getflashplayer"','src="'+o.options.pluginPath+o.options.filename+'"','flashvars="'+P.join("&")+'"'],T?(_.push('width="'+k+'"'),_.push('height="'+C+'"')):_.push('style="position: fixed; left: -9999em; top: -9999em;"'),o.flashWrapper.innerHTML="<embed "+_.join(" ")+">";if(o.flashNode=o.flashWrapper.lastChild,o.hide=function(){i=!1,T&&(o.flashNode.style.display="none")},o.show=function(){i=!0,T&&(o.flashNode.style.display="")},o.setSize=function(e,t){o.flashNode.style.width=e+"px",o.flashNode.style.height=t+"px",null!==o.flashApi&&"function"==typeof o.flashApi.fire_setSize&&o.flashApi.fire_setSize(e,t)},o.destroy=function(){o.flashNode.remove()},n&&n.length>0)for(var A=0,L=n.length;A<L;A++)if(d.renderer.renderers[t.prefix].canPlayType(n[A].type)){o.setSrc(n[A].src);break}return o}};if(p.hasPluginVersion("flash",[10,0,0])){f.typeChecks.push(function(e){return(e=e.toLowerCase()).startsWith("rtmp")?~e.indexOf(".mp3")?"audio/rtmp":"video/rtmp":/\.og(a|g)/i.test(e)?"audio/ogg":~e.indexOf(".m3u8")?"application/x-mpegURL":~e.indexOf(".mpd")?"application/dash+xml":~e.indexOf(".flv")?"video/flv":null});var h={name:"flash_video",options:{prefix:"flash_video",filename:"mediaelement-flash-video.swf",enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",pseudoStreamingType:"byte"},canPlayType:function(e){return~["video/mp4","video/rtmp","audio/rtmp","rtmp/mp4","audio/mp4","video/flv","video/x-flv"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(h);var v={name:"flash_hls",options:{prefix:"flash_hls",filename:"mediaelement-flash-video-hls.swf"},canPlayType:function(e){return~["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(v);var y={name:"flash_dash",options:{prefix:"flash_dash",filename:"mediaelement-flash-video-mdash.swf"},canPlayType:function(e){return~["application/dash+xml"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(y);var g={name:"flash_audio",options:{prefix:"flash_audio",filename:"mediaelement-flash-audio.swf"},canPlayType:function(e){return~["audio/mp3"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(g);var b={name:"flash_audio_ogg",options:{prefix:"flash_audio_ogg",filename:"mediaelement-flash-audio-ogg.swf"},canPlayType:function(e){return~["audio/ogg","audio/oga","audio/ogv"].indexOf(e.toLowerCase())},create:m.create};d.renderer.add(b)}},{2:2,25:25,27:27,28:28,3:3,5:5,7:7,8:8}],21:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=o(e(3)),a=o(e(7)),s=e(8),l=e(27),d=e(25),u=e(28),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof flvjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.3/flv.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){flvjs.LoggingControl.enableDebug=e.options.debug,flvjs.LoggingControl.enableVerbose=e.options.debug;var t=flvjs.createPlayer(e.options,e.configs);return r.default["__ready__"+e.id](t),t}},p={name:"native_flv",options:{prefix:"native_flv",flv:{path:"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.3/flv.min.js",cors:!0,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["video/x-flv","video/flv"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var o=e.originalNode,d=e.id+"_"+t.prefix,u=null,c=null;u=o.cloneNode(!0),t=Object.assign(t,e.options);for(var p=a.default.html5media.properties,m=a.default.html5media.events.concat(["click","mouseover","mouseout"]),h=function(t){if("error"!==t.type){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)}},v=0,y=p.length;v<y;v++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);u["get"+n]=function(){return null!==c?u[e]:null},u["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(u[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==c){var o={};o.type="flv",o.url=n,o.cors=t.flv.cors,o.debug=t.flv.debug,o.path=t.flv.path;var r=t.flv.configs;c.destroy();for(var s=0,l=m.length;s<l;s++)u.removeEventListener(m[s],h);(c=f._createPlayer({options:o,configs:r,id:d})).attachMediaElement(u),c.load()}}else u[e]=n}}(p[v]);if(r.default["__ready__"+d]=function(t){e.flvPlayer=c=t;for(var n=flvjs.Events,o=0,i=m.length;o<i;o++)!function(e){"loadedmetadata"===e&&(c.unload(),c.detachMediaElement(),c.attachMediaElement(u),c.load()),u.addEventListener(e,h)}(m[o]);var r=function(t,n){if("error"===t){var o=n[0]+": "+n[1]+" "+n[2].msg;e.generateError(o,u.src)}else{var i=(0,l.createEvent)(t,e);i.data=n,e.dispatchEvent(i)}};for(var a in n)!function(e){n.hasOwnProperty(e)&&c.on(n[e],function(){for(var t=arguments.length,o=Array(t),i=0;i<t;i++)o[i]=arguments[i];return r(n[e],o)})}(a)},n&&n.length>0)for(var g=0,b=n.length;g<b;g++)if(s.renderer.renderers[t.prefix].canPlayType(n[g].type)){u.setAttribute("src",n[g].src);break}u.setAttribute("id",d),o.parentNode.insertBefore(u,o),o.autoplay=!1,o.style.display="none";var E={};E.type="flv",E.url=u.src,E.cors=t.flv.cors,E.debug=t.flv.debug,E.path=t.flv.path;var S=t.flv.configs;u.setSize=function(e,t){return u.style.width=e+"px",u.style.height=t+"px",u},u.hide=function(){return null!==c&&c.pause(),u.style.display="none",u},u.show=function(){return u.style.display="",u},u.destroy=function(){null!==c&&c.destroy()};var x=(0,l.createEvent)("rendererready",u);return e.dispatchEvent(x),e.promises.push(f.load({options:E,configs:S,id:d})),u}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".flv")?"video/flv":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],22:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=o(e(3)),a=o(e(7)),s=e(8),l=e(27),d=e(25),u=e(28),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof Hls?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.2/hls.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=new Hls(e.options);return r.default["__ready__"+e.id](t),t}},p={name:"native_hls",options:{prefix:"native_hls",hls:{path:"https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.2/hls.min.js",autoStartLoad:!1,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var o=e.originalNode,d=e.id+"_"+t.prefix,u=o.getAttribute("preload"),c=o.autoplay,p=null,m=null,h=0,v=n.length;m=o.cloneNode(!0),(t=Object.assign(t,e.options)).hls.autoStartLoad=u&&"none"!==u||c;for(var y=a.default.html5media.properties,g=a.default.html5media.events.concat(["click","mouseover","mouseout"]),b=function(t){if("error"!==t.type){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)}},E=0,S=y.length;E<S;E++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);m["get"+n]=function(){return null!==p?m[e]:null},m["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(m[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==p){p.destroy();for(var o=0,r=g.length;o<r;o++)m.removeEventListener(g[o],b);(p=f._createPlayer({options:t.hls,id:d})).loadSource(n),p.attachMedia(m)}}else m[e]=n}}(y[E]);if(r.default["__ready__"+d]=function(t){e.hlsPlayer=p=t;for(var o=Hls.Events,i=0,r=g.length;i<r;i++)!function(t){if("loadedmetadata"===t){var n=e.originalNode.src;p.detachMedia(),p.loadSource(n),p.attachMedia(m)}m.addEventListener(t,b)}(g[i]);var a=void 0,s=void 0,d=function(t,o){if("hlsError"===t){if(console.warn(o),(o=o[1]).fatal)switch(o.type){case"mediaError":var i=(new Date).getTime();if(!a||i-a>3e3)a=(new Date).getTime(),p.recoverMediaError();else if(!s||i-s>3e3)s=(new Date).getTime(),console.warn("Attempting to swap Audio Codec and recover from media error"),p.swapAudioCodec(),p.recoverMediaError();else{var r="Cannot recover, last media error recovery failed";e.generateError(r,m.src),console.error(r)}break;case"networkError":if("manifestLoadError"===o.details)h<v&&(m.setSrc(n[h++].src),m.load(),m.play());else{e.generateError("Network error",n),console.error("Network error")}break;default:p.destroy()}}else{var d=(0,l.createEvent)(t,e);d.data=o,e.dispatchEvent(d)}};for(var u in o)!function(e){o.hasOwnProperty(e)&&p.on(o[e],function(){for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return d(o[e],n)})}(u)},v>0)for(;h<v;h++)if(s.renderer.renderers[t.prefix].canPlayType(n[h].type)){m.setAttribute("src",n[h].src);break}"auto"===u||c||(m.addEventListener("play",function(){null!==p&&p.startLoad()}),m.addEventListener("pause",function(){null!==p&&p.stopLoad()})),m.setAttribute("id",d),o.parentNode.insertBefore(m,o),o.autoplay=!1,o.style.display="none",m.setSize=function(e,t){return m.style.width=e+"px",m.style.height=t+"px",m},m.hide=function(){return m.pause(),m.style.display="none",m},m.show=function(){return m.style.display="",m},m.destroy=function(){null!==p&&(p.stopLoad(),p.destroy())};var x=(0,l.createEvent)("rendererready",m);return e.dispatchEvent(x),e.promises.push(f.load({options:t.hls,id:d})),m}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".m3u8")?"application/x-mpegURL":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],23:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(3)),r=o(e(2)),a=o(e(7)),s=e(8),l=e(27),d=e(25),u={name:"html5",options:{prefix:"html5"},canPlayType:function(e){var t=r.default.createElement("video");return d.IS_ANDROID&&/\/mp(3|4)$/i.test(e)||~["application/x-mpegurl","vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())&&d.SUPPORTS_NATIVE_HLS?"yes":t.canPlayType?t.canPlayType(e.toLowerCase()).replace(/no/,""):""},create:function(e,t,n){var o=e.id+"_"+t.prefix,i=!1,d=null;void 0===e.originalNode||null===e.originalNode?(d=r.default.createElement("audio"),e.appendChild(d)):d=e.originalNode,d.setAttribute("id",o);for(var u=a.default.html5media.properties,c=0,f=u.length;c<f;c++)!function(e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1);d["get"+t]=function(){return d[e]},d["set"+t]=function(t){-1===a.default.html5media.readOnlyProperties.indexOf(e)&&(d[e]=t)}}(u[c]);for(var p=a.default.html5media.events.concat(["click","mouseover","mouseout"]),m=0,h=p.length;m<h;m++)!function(t){d.addEventListener(t,function(t){if(i){var n=(0,l.createEvent)(t.type,t.target);e.dispatchEvent(n)}})}(p[m]);d.setSize=function(e,t){return d.style.width=e+"px",d.style.height=t+"px",d},d.hide=function(){return i=!1,d.style.display="none",d},d.show=function(){return i=!0,d.style.display="",d};var v=0,y=n.length;if(y>0)for(;v<y;v++)if(s.renderer.renderers[t.prefix].canPlayType(n[v].type)){d.setAttribute("src",n[v].src);break}d.addEventListener("error",function(t){4===t.target.error.code&&i&&(v<y?(d.src=n[v++].src,d.load(),d.play()):e.generateError("Media error: Format(s) not supported or source(s) not found",n))});var g=(0,l.createEvent)("rendererready",d);return e.dispatchEvent(g),d}};i.default.HtmlMediaElement=a.default.HtmlMediaElement=u,s.renderer.add(u)},{2:2,25:25,27:27,3:3,7:7,8:8}],24:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(3)),r=o(e(2)),a=o(e(7)),s=e(8),l=e(27),d=e(28),u=e(26),c={isIframeStarted:!1,isIframeLoaded:!1,iframeQueue:[],enqueueIframe:function(e){c.isLoaded="undefined"!=typeof YT&&YT.loaded,c.isLoaded?c.createIframe(e):(c.loadIframeApi(),c.iframeQueue.push(e))},loadIframeApi:function(){c.isIframeStarted||((0,u.loadScript)("https://www.youtube.com/player_api"),c.isIframeStarted=!0)},iFrameReady:function(){for(c.isLoaded=!0,c.isIframeLoaded=!0;c.iframeQueue.length>0;){var e=c.iframeQueue.pop();c.createIframe(e)}},createIframe:function(e){return new YT.Player(e.containerId,e)},getYouTubeId:function(e){var t="";return e.indexOf("?")>0?""===(t=c.getYouTubeIdFromParam(e))&&(t=c.getYouTubeIdFromUrl(e)):t=c.getYouTubeIdFromUrl(e),(t=t.substring(t.lastIndexOf("/")+1).split("?"))[0]},getYouTubeIdFromParam:function(e){if(void 0===e||null===e||!e.trim().length)return null;for(var t=e.split("?")[1].split("&"),n="",o=0,i=t.length;o<i;o++){var r=t[o].split("=");if("v"===r[0]){n=r[1];break}}return n},getYouTubeIdFromUrl:function(e){return void 0!==e&&null!==e&&e.trim().length?(e=e.split("?")[0]).substring(e.lastIndexOf("/")+1):null},getYouTubeNoCookieUrl:function(e){if(void 0===e||null===e||!e.trim().length||-1===e.indexOf("//www.youtube"))return e;var t=e.split("/");return t[2]=t[2].replace(".com","-nocookie.com"),t.join("/")}},f={name:"youtube_iframe",options:{prefix:"youtube_iframe",youtube:{autoplay:0,controls:0,disablekb:1,end:0,loop:0,modestbranding:0,playsinline:0,rel:0,showinfo:0,start:0,iv_load_policy:3,nocookie:!1,imageQuality:null}},canPlayType:function(e){return~["video/youtube","video/x-youtube"].indexOf(e.toLowerCase())},create:function(e,t,n){var o={},s=[],d=null,u=!0,f=!1,p=null,m=1;o.options=t,o.id=e.id+"_"+t.prefix,o.mediaElement=e;for(var h=a.default.html5media.properties,v=0,y=h.length;v<y;v++)!function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);o["get"+n]=function(){if(null!==d){switch(t){case"currentTime":return d.getCurrentTime();case"duration":return d.getDuration();case"volume":return m=d.getVolume()/100;case"paused":return u;case"ended":return f;case"muted":return d.isMuted();case"buffered":var e=d.getVideoLoadedFraction(),n=d.getDuration();return{start:function(){return 0},end:function(){return e*n},length:1};case"src":return d.getVideoUrl();case"readyState":return 4}return null}return null},o["set"+n]=function(n){if(null!==d)switch(t){case"src":var i="string"==typeof n?n:n[0].src,r=c.getYouTubeId(i);e.originalNode.autoplay?d.loadVideoById(r):d.cueVideoById(r);break;case"currentTime":d.seekTo(n);break;case"muted":n?d.mute():d.unMute(),setTimeout(function(){var t=(0,l.createEvent)("volumechange",o);e.dispatchEvent(t)},50);break;case"volume":m=n,d.setVolume(100*n),setTimeout(function(){var t=(0,l.createEvent)("volumechange",o);e.dispatchEvent(t)},50);break;case"readyState":var a=(0,l.createEvent)("canplay",o);e.dispatchEvent(a)}else s.push({type:"set",propName:t,value:n})}}(h[v]);for(var g=a.default.html5media.methods,b=0,E=g.length;b<E;b++)!function(e){o[e]=function(){if(null!==d)switch(e){case"play":return u=!1,d.playVideo();case"pause":return u=!0,d.pauseVideo();case"load":return null}else s.push({type:"call",methodName:e})}}(g[b]);var S=r.default.createElement("div");S.id=o.id,o.options.youtube.nocookie&&(e.originalNode.src=c.getYouTubeNoCookieUrl(n[0].src)),e.originalNode.parentNode.insertBefore(S,e.originalNode),e.originalNode.style.display="none";var x="audio"===e.originalNode.tagName.toLowerCase(),w=x?"1":e.originalNode.height,P=x?"1":e.originalNode.width,T=c.getYouTubeId(n[0].src),C={id:o.id,containerId:S.id,videoId:T,height:w,width:P,playerVars:Object.assign({controls:0,rel:0,disablekb:1,showinfo:0,modestbranding:0,html5:1,playsinline:0,start:0,end:0,iv_load_policy:3},o.options.youtube),origin:i.default.location.host,events:{onReady:function(t){if(e.youTubeApi=d=t.target,e.youTubeState={paused:!0,ended:!1},s.length)for(var n=0,i=s.length;n<i;n++){var r=s[n];if("set"===r.type){var a=r.propName,u=""+a.substring(0,1).toUpperCase()+a.substring(1);o["set"+u](r.value)}else"call"===r.type&&o[r.methodName]()}p=d.getIframe(),e.originalNode.getAttribute("muted")&&d.mute();for(var c=["mouseover","mouseout"],f=0,m=c.length;f<m;f++)p.addEventListener(c[f],function(t){var n=(0,l.createEvent)(t.type,o);e.dispatchEvent(n)},!1);for(var h=["rendererready","loadedmetadata","loadeddata","canplay"],v=0,y=h.length;v<y;v++){var g=(0,l.createEvent)(h[v],o);e.dispatchEvent(g)}},onStateChange:function(t){var n=[];switch(t.data){case-1:n=["loadedmetadata"],u=!0,f=!1;break;case 0:n=["ended"],u=!1,f=!o.options.youtube.loop,o.options.youtube.loop||o.stopInterval();break;case 1:n=["play","playing"],u=!1,f=!1,o.startInterval();break;case 2:n=["pause"],u=!0,f=!1,o.stopInterval();break;case 3:n=["progress"],f=!1;break;case 5:n=["loadeddata","loadedmetadata","canplay"],u=!0,f=!1}for(var i=0,r=n.length;i<r;i++){var a=(0,l.createEvent)(n[i],o);e.dispatchEvent(a)}},onError:function(t){var n=(0,l.createEvent)("error",o);n.data=t.data,e.dispatchEvent(n)}}};return x&&(C.playerVars.playsinline=1),e.originalNode.autoplay&&(C.playerVars.autoplay=1),e.originalNode.loop&&(C.playerVars.loop=1),c.enqueueIframe(C),o.onEvent=function(t,n,o){null!==o&&void 0!==o&&(e.youTubeState=o)},o.setSize=function(e,t){null!==d&&d.setSize(e,t)},o.hide=function(){o.stopInterval(),o.pause(),p&&(p.style.display="none")},o.show=function(){p&&(p.style.display="")},o.destroy=function(){d.destroy()},o.interval=null,o.startInterval=function(){o.interval=setInterval(function(){var t=(0,l.createEvent)("timeupdate",o);e.dispatchEvent(t)},250)},o.stopInterval=function(){o.interval&&clearInterval(o.interval)},o.getPosterUrl=function(){var n=t.youtube.imageQuality,o=["default","hqdefault","mqdefault","sddefault","maxresdefault"],i=c.getYouTubeId(e.originalNode.src);return n&&o.indexOf(n)>-1&&i?"https://img.youtube.com/vi/"+i+"/"+n+".jpg":""},o}};i.default.onYouTubePlayerAPIReady=function(){c.iFrameReady()},d.typeChecks.push(function(e){return/\/\/(www\.youtube|youtu\.?be)/i.test(e)?"video/x-youtube":null}),s.renderer.add(f)},{2:2,26:26,27:27,28:28,3:3,7:7,8:8}],25:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.cancelFullScreen=n.requestFullScreen=n.isFullScreen=n.FULLSCREEN_EVENT_NAME=n.HAS_NATIVE_FULLSCREEN_ENABLED=n.HAS_TRUE_NATIVE_FULLSCREEN=n.HAS_IOS_FULLSCREEN=n.HAS_MS_NATIVE_FULLSCREEN=n.HAS_MOZ_NATIVE_FULLSCREEN=n.HAS_WEBKIT_NATIVE_FULLSCREEN=n.HAS_NATIVE_FULLSCREEN=n.SUPPORTS_NATIVE_HLS=n.SUPPORT_PASSIVE_EVENT=n.SUPPORT_POINTER_EVENTS=n.HAS_MSE=n.IS_STOCK_ANDROID=n.IS_SAFARI=n.IS_FIREFOX=n.IS_CHROME=n.IS_EDGE=n.IS_IE=n.IS_ANDROID=n.IS_IOS=n.IS_IPOD=n.IS_IPHONE=n.IS_IPAD=n.UA=n.NAV=void 0;for(var i=o(e(3)),r=o(e(2)),a=o(e(7)),s=n.NAV=i.default.navigator,l=n.UA=s.userAgent.toLowerCase(),d=n.IS_IPAD=/ipad/i.test(l)&&!i.default.MSStream,u=n.IS_IPHONE=/iphone/i.test(l)&&!i.default.MSStream,c=n.IS_IPOD=/ipod/i.test(l)&&!i.default.MSStream,f=(n.IS_IOS=/ipad|iphone|ipod/i.test(l)&&!i.default.MSStream,n.IS_ANDROID=/android/i.test(l)),p=n.IS_IE=/(trident|microsoft)/i.test(s.appName),m=(n.IS_EDGE="msLaunchUri"in s&&!("documentMode"in r.default)),h=n.IS_CHROME=/chrome/i.test(l),v=n.IS_FIREFOX=/firefox/i.test(l),y=n.IS_SAFARI=/safari/i.test(l)&&!h,g=n.IS_STOCK_ANDROID=/^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(l),b=(n.HAS_MSE="MediaSource"in i.default),E=(n.SUPPORT_POINTER_EVENTS=function(){var e=r.default.createElement("x"),t=r.default.documentElement,n=i.default.getComputedStyle;if(!("pointerEvents"in e.style))return!1;e.style.pointerEvents="auto",e.style.pointerEvents="x",t.appendChild(e);var o=n&&"auto"===n(e,"").pointerEvents;return e.remove(),!!o}()),S=n.SUPPORT_PASSIVE_EVENT=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});i.default.addEventListener("test",null,t)}catch(e){}return e}(),x=["source","track","audio","video"],w=void 0,P=0,T=x.length;P<T;P++)w=r.default.createElement(x[P]);var C=n.SUPPORTS_NATIVE_HLS=y||f&&(h||g)||p&&/edge/i.test(l),k=void 0!==w.webkitEnterFullscreen,_=void 0!==w.requestFullscreen;k&&/mac os x 10_5/i.test(l)&&(_=!1,k=!1);var N=void 0!==w.webkitRequestFullScreen,A=void 0!==w.mozRequestFullScreen,L=void 0!==w.msRequestFullscreen,F=N||A||L,j=F,I="",M=void 0,O=void 0,D=void 0;A?j=r.default.mozFullScreenEnabled:L&&(j=r.default.msFullscreenEnabled),h&&(k=!1),F&&(N?I="webkitfullscreenchange":A?I="mozfullscreenchange":L&&(I="MSFullscreenChange"),n.isFullScreen=M=function(){return A?r.default.mozFullScreen:N?r.default.webkitIsFullScreen:L?null!==r.default.msFullscreenElement:void 0},n.requestFullScreen=O=function(e){N?e.webkitRequestFullScreen():A?e.mozRequestFullScreen():L&&e.msRequestFullscreen()},n.cancelFullScreen=D=function(){N?r.default.webkitCancelFullScreen():A?r.default.mozCancelFullScreen():L&&r.default.msExitFullscreen()});var V=n.HAS_NATIVE_FULLSCREEN=_,R=n.HAS_WEBKIT_NATIVE_FULLSCREEN=N,H=n.HAS_MOZ_NATIVE_FULLSCREEN=A,U=n.HAS_MS_NATIVE_FULLSCREEN=L,q=n.HAS_IOS_FULLSCREEN=k,B=n.HAS_TRUE_NATIVE_FULLSCREEN=F,z=n.HAS_NATIVE_FULLSCREEN_ENABLED=j,W=n.FULLSCREEN_EVENT_NAME=I;n.isFullScreen=M,n.requestFullScreen=O,n.cancelFullScreen=D,a.default.Features=a.default.Features||{},a.default.Features.isiPad=d,a.default.Features.isiPod=c,a.default.Features.isiPhone=u,a.default.Features.isiOS=a.default.Features.isiPhone||a.default.Features.isiPad,a.default.Features.isAndroid=f,a.default.Features.isIE=p,a.default.Features.isEdge=m,a.default.Features.isChrome=h,a.default.Features.isFirefox=v,a.default.Features.isSafari=y,a.default.Features.isStockAndroid=g,a.default.Features.hasMSE=b,a.default.Features.supportsNativeHLS=C,a.default.Features.supportsPointerEvents=E,a.default.Features.supportsPassiveEvent=S,a.default.Features.hasiOSFullScreen=q,a.default.Features.hasNativeFullscreen=V,a.default.Features.hasWebkitNativeFullScreen=R,a.default.Features.hasMozNativeFullScreen=H,a.default.Features.hasMsNativeFullScreen=U,a.default.Features.hasTrueNativeFullScreen=B,a.default.Features.nativeFullScreenEnabled=z,a.default.Features.fullScreenEventName=W,a.default.Features.isFullScreen=M,a.default.Features.requestFullScreen=O,a.default.Features.cancelFullScreen=D},{2:2,3:3,7:7}],26:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function i(e){return new Promise(function(t,n){var o=p.default.createElement("script");o.src=e,o.async=!0,o.onload=function(){o.remove(),t()},o.onerror=function(){o.remove(),n()},p.default.head.appendChild(o)})}function r(e){var t=e.getBoundingClientRect(),n=f.default.pageXOffset||p.default.documentElement.scrollLeft,o=f.default.pageYOffset||p.default.documentElement.scrollTop;return{top:t.top+o,left:t.left+n}}function a(e,t){g(e,t)?E(e,t):b(e,t)}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=1);var o=null;f.default.requestAnimationFrame(function i(r){var a=r-(o=o||r),s=parseFloat(1-a/t,2);e.style.opacity=s<0?0:s,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=0);var o=null;f.default.requestAnimationFrame(function i(r){var a=r-(o=o||r),s=parseFloat(a/t,2);e.style.opacity=s>1?1:s,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function d(e,t){var n=[];e=e.parentNode.firstChild;do{t&&!t(e)||n.push(e)}while(e=e.nextSibling);return n}function u(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}function c(e,t,n,o){var i=f.default.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),r="application/x-www-form-urlencoded; charset=UTF-8",a=!1,s="*/".concat("*");switch(t){case"text":r="text/plain";break;case"json":r="application/json, text/javascript";break;case"html":r="text/html";break;case"xml":r="application/xml, text/xml"}"application/x-www-form-urlencoded"!==r&&(s=r+", */*; q=0.01"),i&&(i.open("GET",e,!0),i.setRequestHeader("Accept",s),i.onreadystatechange=function(){if(!a&&4===i.readyState)if(200===i.status){a=!0;var e=void 0;switch(t){case"json":e=JSON.parse(i.responseText);break;case"xml":e=i.responseXML;break;default:e=i.responseText}n(e)}else"function"==typeof o&&o(i.status)},i.send())}Object.defineProperty(n,"__esModule",{value:!0}),n.removeClass=n.addClass=n.hasClass=void 0,n.loadScript=i,n.offset=r,n.toggleClass=a,n.fadeOut=s,n.fadeIn=l,n.siblings=d,n.visible=u,n.ajax=c;var f=o(e(3)),p=o(e(2)),m=o(e(7)),h=void 0,v=void 0,y=void 0;"classList"in p.default.documentElement?(h=function(e,t){return void 0!==e.classList&&e.classList.contains(t)},v=function(e,t){return e.classList.add(t)},y=function(e,t){return e.classList.remove(t)}):(h=function(e,t){return new RegExp("\\b"+t+"\\b").test(e.className)},v=function(e,t){g(e,t)||(e.className+=" "+t)},y=function(e,t){e.className=e.className.replace(new RegExp("\\b"+t+"\\b","g"),"")});var g=n.hasClass=h,b=n.addClass=v,E=n.removeClass=y;m.default.Utils=m.default.Utils||{},m.default.Utils.offset=r,m.default.Utils.hasClass=g,m.default.Utils.addClass=b,m.default.Utils.removeClass=E,m.default.Utils.toggleClass=a,m.default.Utils.fadeIn=l,m.default.Utils.fadeOut=s,m.default.Utils.siblings=d,m.default.Utils.visible=u,m.default.Utils.ajax=c,m.default.Utils.loadScript=i},{2:2,3:3,7:7}],27:[function(e,t,n){"use strict";function o(e){if("string"!=typeof e)throw new Error("Argument passed must be a string");var t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};return e.replace(/[&<>"]/g,function(e){return t[e]})}function i(e,t){var n=this,o=arguments,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"!=typeof e)throw new Error("First argument must be a function");if("number"!=typeof t)throw new Error("Second argument must be a numeric value");var r=void 0;return function(){var a=n,s=o,l=i&&!r;clearTimeout(r),r=setTimeout(function(){r=null,i||e.apply(a,s)},t),l&&e.apply(a,s)}}function r(e){return Object.getOwnPropertyNames(e).length<=0}function a(e,t){var n=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/,o={d:[],w:[]};return(e||"").split(" ").forEach(function(e){var i=e+(t?"."+t:"");i.startsWith(".")?(o.d.push(i),o.w.push(i)):o[n.test(e)?"w":"d"].push(i)}),o.d=o.d.join(" "),o.w=o.w.join(" "),o}function s(e,t){if("string"!=typeof e)throw new Error("Event name must be a string");var n=e.match(/([a-z]+\.([a-z]+))/i),o={target:t};return null!==n&&(e=n[1],o.namespace=n[2]),new window.CustomEvent(e,{detail:o})}function l(e,t){return!!(e&&t&&2&e.compareDocumentPosition(t))}function d(e){return"string"==typeof e}Object.defineProperty(n,"__esModule",{value:!0}),n.escapeHTML=o,n.debounce=i,n.isObjectEmpty=r,n.splitEvents=a,n.createEvent=s,n.isNodeAfter=l,n.isString=d;var u=function(e){return e&&e.__esModule?e:{default:e}}(e(7));u.default.Utils=u.default.Utils||{},u.default.Utils.escapeHTML=o,u.default.Utils.debounce=i,u.default.Utils.isObjectEmpty=r,u.default.Utils.splitEvents=a,u.default.Utils.createEvent=s,u.default.Utils.isNodeAfter=l,u.default.Utils.isString=d},{7:7}],28:[function(e,t,n){"use strict";function o(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=document.createElement("div");return t.innerHTML='<a href="'+(0,u.escapeHTML)(e)+'">x</a>',t.firstChild.href}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e&&!t?a(e):t}function r(e){if("string"!=typeof e)throw new Error("`type` argument must be a string");return e&&e.indexOf(";")>-1?e.substr(0,e.indexOf(";")):e}function a(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");for(var t=0,n=c.length;t<n;t++){var o=c[t](e);if(o)return o}var i=l(s(e)),r="video/mp4";return i&&(~["mp4","m4v","ogg","ogv","webm","flv","mpeg","mov"].indexOf(i)?r="video/"+i:~["mp3","oga","wav","mid","midi"].indexOf(i)&&(r="audio/"+i)),r}function s(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=e.split("?")[0].split("\\").pop().split("/").pop();return~t.indexOf(".")?t.substring(t.lastIndexOf(".")+1):""}function l(e){if("string"!=typeof e)throw new Error("`extension` argument must be a string");switch(e){case"mp4":case"m4v":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecks=void 0,n.absolutizeUrl=o,n.formatType=i,n.getMimeFromType=r,n.getTypeFromFile=a,n.getExtension=s,n.normalizeExtension=l;var d=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),u=e(27),c=n.typeChecks=[];d.default.Utils=d.default.Utils||{},d.default.Utils.typeChecks=c,d.default.Utils.absolutizeUrl=o,d.default.Utils.formatType=i,d.default.Utils.getMimeFromType=r,d.default.Utils.getTypeFromFile=a,d.default.Utils.getExtension=s,d.default.Utils.normalizeExtension=l},{27:27,7:7}],29:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=o(e(2)),r=o(e(4));if([Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach(function(e){e.hasOwnProperty("remove")||Object.defineProperty(e,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=i.default.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}if("function"==typeof window.CustomEvent)return!1;e.prototype=window.Event.prototype,window.CustomEvent=e}(),"function"!=typeof Object.assign&&(Object.assign=function(e){if(null===e||void 0===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1,o=arguments.length;n<o;n++){var i=arguments[n];if(null!==i)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}),String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length-1;--n>=0&&t.item(n)!==this;);return n>-1}),window.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t=(this.document||this.ownerDocument).querySelectorAll(e),n=void 0,o=this;do{for(n=t.length;--n>=0&&t.item(n)!==o;);}while(n<0&&(o=o.parentElement));return o}),function(){for(var e=0,t=["ms","moz","webkit","o"],n=0;n<t.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[t[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[n]+"CancelAnimationFrame"]||window[t[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var n=(new Date).getTime(),o=Math.max(0,16-(n-e)),i=window.setTimeout(function(){t(n+o)},o);return e=n+o,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}(),/firefox/i.test(navigator.userAgent)){var a=window.getComputedStyle;window.getComputedStyle=function(e,t){var n=a(e,t);return null===n?{getPropertyValue:function(){}}:n}}window.Promise||(window.Promise=r.default),function(e){e&&e.prototype&&null===e.prototype.children&&Object.defineProperty(e.prototype,"children",{get:function(){for(var e=0,t=void 0,n=this.childNodes,o=[];t=n[e++];)1===t.nodeType&&o.push(t);return o}})}(window.Node||window.Element)},{2:2,4:4}],30:[function(e,t,n){"use strict";function o(){return!((arguments.length>0&&void 0!==arguments[0]?arguments[0]:25)%1==0)}function i(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:25,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;e=!e||"number"!=typeof e||e<0?0:e;var a=Math.round(.066666*i),s=Math.round(i),l=24*Math.round(3600*i),d=Math.round(600*i),u=o(i)?";":":",c=void 0,f=void 0,p=void 0,m=void 0,h=Math.round(e*i);if(o(i)){h<0&&(h=l+h);var v=(h%=l)%d;h+=9*a*Math.floor(h/d),v>a&&(h+=a*Math.floor((v-a)/Math.round(60*s-a)));var y=Math.floor(h/s);c=Math.floor(Math.floor(y/60)/60),f=Math.floor(y/60)%60,p=n?y%60:(h/s%60).toFixed(r)}else c=Math.floor(e/3600)%24,f=Math.floor(e/60)%60,p=n?Math.floor(e%60):(e%60).toFixed(r);c=c<=0?0:c,f=f<=0?0:f,p=p<=0?0:p;var g=t||c>0?(c<10?"0"+c:c)+":":"";return g+=(f<10?"0"+f:f)+":",g+=""+(p<10?"0"+p:p),n&&(g+=(m=(m=(h%s).toFixed(0))<=0?0:m)<10?u+"0"+m:""+u+m),g}function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:25;if("string"!=typeof e)throw new TypeError("Time must be a string");if(e.indexOf(";")>0&&(e=e.replace(";",":")),!/\d{2}(\:\d{2}){0,3}/i.test(e))throw new TypeError("Time code must have the format `00:00:00`");var n=e.split(":"),i=void 0,r=0,a=0,s=0,l=0,d=0,u=Math.round(.066666*t),c=Math.round(t),f=3600*c,p=60*c;switch(n.length){default:case 1:s=parseInt(n[0],10);break;case 2:a=parseInt(n[0],10),s=parseInt(n[1],10);break;case 3:r=parseInt(n[0],10),a=parseInt(n[1],10),s=parseInt(n[2],10);break;case 4:r=parseInt(n[0],10),a=parseInt(n[1],10),s=parseInt(n[2],10),l=parseInt(n[3],10)}return i=o(t)?f*r+p*a+c*s+l-u*((d=60*r+a)-Math.floor(d/10)):(f*r+p*a+t*s+l)/t,parseFloat(i.toFixed(3))}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:25;e=!e||"number"!=typeof e||e<0?0:e;for(var o=Math.floor(e/3600)%24,i=Math.floor(e/60)%60,r=Math.floor(e%60),a=[[Math.floor((e%1*n).toFixed(3)),"f"],[r,"s"],[i,"m"],[o,"h"]],s=t.timeFormat,l=s[1]===s[0],d=l?2:1,u=s.length<d?s[d]:":",c=s[0],f=!1,p=0,m=a.length;p<m;p++)if(~s.indexOf(a[p][1]))f=!0;else if(f){for(var h=!1,v=p;v<m;v++)if(a[v][0]>0){h=!0;break}if(!h)break;l||(s=c+s),s=a[p][1]+u+s,l&&(s=a[p][1]+s),c=a[p][1]}t.currentTimeFormat=s}function s(e){if("string"!=typeof e)throw new TypeError("Argument must be a string value");for(var t=~(e=e.replace(",",".")).indexOf(".")?e.split(".")[1].length:0,n=0,o=1,i=0,r=(e=e.split(":").reverse()).length;i<r;i++)o=1,i>0&&(o=Math.pow(60,i)),n+=Number(e[i])*o;return Number(n.toFixed(t))}Object.defineProperty(n,"__esModule",{value:!0}),n.isDropFrame=o,n.secondsToTimeCode=i,n.timeCodeToSeconds=r,n.calculateTimeFormat=a,n.convertSMPTEtoSeconds=s;var l=function(e){return e&&e.__esModule?e:{default:e}}(e(7));l.default.Utils=l.default.Utils||{},l.default.Utils.secondsToTimeCode=i,l.default.Utils.timeCodeToSeconds=r,l.default.Utils.calculateTimeFormat=a,l.default.Utils.convertSMPTEtoSeconds=s},{7:7}]},{},[29,6,5,15,23,20,19,21,22,24,16,18,17,9,10,11,12,13,14]);
\ No newline at end of file
diff --git a/lib/mejs/mediaelement-flash-video-hls.swf b/lib/mejs/mediaelement-flash-video-hls.swf
index 4ffee184c759d545349e39cf5f3b9a7b1ac9068a..1fc05d39ee2ed5991a3ce4ee32a9e51838d0c9bd 100644
GIT binary patch
delta 89734
zcmV(>K-j;{)CK6&1%E?VQx0E>0swdcti1<(T*b9Ne&^P`yDF<yagmE`uO&-bTfNy}
zEL)NbvScjVR7qQ}C6FbdUCEd#dap?!kc7x41c*ZkH4p*`fsjVBl7k)6LqbdQh1B=*
z68*ks=B|pd;r&1FuaD-=+;h*I>1WQ&oHKiYq`oOh8DEs7xqnP*%9<xh(q-A-XOeW%
zP}Ewzy{V<(f<1lx@zr=cxu_?R7+hUews-H|ReP&e4Girrt7vFwC@ZfltE^lJjFs_y
z{fW>8EBoWiiq>)hO|f`nsCO{YJJ4T11ViD0;l#;BMGn<yWQyqE@K7Ho8I6?1`eJ)x
z{fT&4#i|Mriho8{TLVLTLW#AZ!NI=XNQlUlU9d9VGY~m%Z)ha8(&`Jvdrm5wMx;22
z-b7z)ZDVvG94lz)i(ODqUC=lkpJNLYLXJ*nbnT2{hA8%`$iSYm!J&cZa0Gd>K#E76
z8HGp;4u|`C<2|vVwZr}A^$+ar=UCHF!ifyULWzOd7=I}keeVnP?;Z~Aj;(EO<FTjS
zc^*RvlxKK%K~+Vdpt8K8PGp0iCzVm{&Zun%f(BeGWq60@wY9I@*4WW;di(Y!DVd2@
zp7qz{eOEb2+8|F(PM+mf@JWYL_5EiFtXDgJQ`dz)k#ukBi*JoZdqd5lg`^jAR+UQ<
zK1s)Z@qbFIBo*`~GwJi6<ji9cPDPdWjv(`8BcUPcQ)PRIveWiu@u3K+8qF%6D@S^x
zv4NF6eepGGj-j+F6gN5MuFz22-8vA8#)dZcTLZZt#`9M;EOA<Qx@8+Xs>&+M%WKQR
z!@Yfp-u`q>Y*n;3KG+x9mnPm~Bh(>1;)Q2aq<^`pKbCM%;``!>*q#gr|AItps6W(~
zGmF^j4wN|&^Unr0iIm#I=f)z54FecLz5TJF#j}w%_k&<4lIR_Y3B>%_-)9k7AijxA
zuWqKi)Avv!g6^pf4GbjQeN*-19t;hI_QXIwt_#vxp}xL>y&ZhyHbx?`cw7(l?G5dV
zyMH=jkztfzA1m>2oTh<2$ZR$bZ|;xN*O-7Q!@W_ZyEp0z4JQVuBF*kpNQ)=X#oZnB
zZ0zgZ-S67bzOB2pxn+kIqSp-mr6UsRi)|f<#$0Xf-5nbmTbs>z3gqS#PVbE-dOY1T
z!aTSs*1NkWktX2c#l3Z4I3DBm;NIH4vwx$xyQ%&3wk(dm0UYJLO`-m1Uu?)5ibgqB
zYcJXojo@In?`qzj%dt73_L10-6GP+Z9znFVxp7x>-ZWlo49v+v)VDWxY(A?w&FUSB
zb;o0gj@}Dnu5PE3>7rk_ko<<8-oB`|i+a1>%{#pr--8D0>FwXmE@1n#y;N$whkqB+
zv#GVCBbGp?-5t*WKVG$m_($(53=^YoU^k5d1t@Aa04@Z0W^-mEu8L9j$lTi4wz;Lb
zV@G#udt*~`leZhBdaYPI;p9KPwRu-_EC0H=ZDUS%AENcqU_;stO4>9^b5r&-Ml3oT
zq2u(;J2q@`5IXkuqF2sNq`9rBb$@fm4kwXjG!2@=LGiY1Z``=GxlLpgS((#q4TW~o
zd@(yWnX?d^oAPGiP338t-nQ1pGiTA;hF&{ex@p9YQ#Wth*4#9maL0MQgM(8P=Qi$a
z+T7l~V|(L<Q#-n;Al(}_HMVVRUWgG8?H$;GVSHYkdf0{@G*_yF_+~`w7JpSVZ)Sv9
z6_qWJrz;#8cd%PO+%OL5Y3$~vxq|c*@>K3UI~q44*Sr(>x-mrKoTH|i(7m;}X>()u
zj?G(}v${DS+|j!yRfG(x!u2S2cgK##9nI-91QV%`SyLZ3v~S(k+PtIL+l`5Jun(Na
zX<K(kbF&i{!#5U74a<2Hm48=c)6VUUJ2tnsb?@BPgcO<<cN1%&?$I<n#N~pWgHfcJ
z%C2W~Q&kGr2X0g~`*Tj~=3ULHK24c!ZEbFv-`xi$>vX1$1bEvNIjwp7_V(@R-Lave
zffNVO;|Waadonr(hWn#v+x|ESD@OOoK;Q75SVnvnI5U(;gd#m{7=QmfR#vk!PjL2b
zg(5LCG!p9V3x)e)#_m|68`GeNxB_w!Mz?VjOi<3GAo%SNdOo#*N$-1xQT8+ng@-LG
zHsriSoyy_S2Seb6QH~z#kH(@IgpMLa_o1+fm;vTQ$-2pRlA_?ur0AU|WpZ}b2R0x=
z)EaIM<EaQ>923C86@S)nKW49i{uRX+?d|Q44(vU9X}3tWyW6$2b4Bqb#Vd+caQME(
z$4uO1$GofEkQGfz6#Z)`Va8Dm&e>FgEjb1|C1$Li%Bngt&>PL_?u~DCSRA!AYJ|8X
zuYz>2N*et9B|hgEei<3)N4ot9eOn`Dk|wY4y4UY)X=&b$aet@}#o}mrmFnW7GeZ~}
zuc)OTnQ4xqMfwKfF+5|TA+tNxqGtEtK)jdg)x(Fv`NOf{SX8Ad|LC*{L$!MQ`b?B3
z!KYF;g`5c!CEOj`P9w_GkLQRJ7BdpZP7`5)@BhgBqr1>_r?(C73CD&MwBCoB*pUTS
zQ_n)@(=j~2dVduZ4*fB99>Oa5MJGz<m>#O2<GQGY`FIe$IKsK@32T}t2t<u{?GsiX
zA#x03{lEZPqyL13p@D_MoG{b$ea5glVb%ywWbK5RA`~$qQR;1cgnuMC-ld{cMVMY=
zCmu9Jmve~|wlHC&dZP=gq}}NLadm4b(UU&Kgor<BLx02xKaxy}XL)9@qrwxlIHfzy
zwKSf|6(>SIcBav|(4%oa?n(@Z-nRUNv1ju8jDh~CS(CcumX7u|6LSE<z1F_K327Wh
zU`n4sDi-w+_u3i*rAWN=<H<}-N+~KrK=_!Lv!sYrQP2fw3jLV8J6O(Koi)(kGF$FC
zmQ7DF-hWww7plpj;GIn&7F~71LeG@&rpi4d2gIyF*h37}slkuWjT6bq&Bx=<mh$Ed
z^fw+)nyWcsAwEj@%brC|G*ZR?hSIF|Oi`KHKR<@bOjM^Pd`@1bKE<NtADxvMm=2A!
zf&Lv+qGQPkV}D4z)Cc-Iz~)cLC1y#51O3#5$A1z2>Q0y-b&%skn9eoiMMp$55Nrx1
zLMP7shs8;Z=MRaFl_$*13B^pkk7W3`E5%kbh%>~ZSfhs^+=h%usGkag0W@2JIWhY?
zW-;gH3rn$n=0P!wd-{>?PzM&2kcPN$p8(@_r6dep@MjnH3*s>dtZw=`%;oLk6BhE=
zHGcvv{vl+J^u~Kh#-(y#<QmT6OWoYm+I(U@%;P$Z#Yh&y(*1-<a}j3d>fYQ#y8r_y
z;>r_cm&ZAFjqeiih7)ccz?44{J0Y){rZ98$Z}R!34cja#wcrV)VUE<@twI`JsxA!_
z6zN4=Dn8+?KPCBkNGOFcvI?tyErA7QEPww*MFhs2?(W?K-HCzjXw2&E=h9<$PpofH
zsjjM4s_W{Nn#yvern*L{sjE_I%PW=InmVPnp<1b{s!;0cE0p@mN~ONGN~v$CR~o7s
zl!m%`wW7SD0goCy5X7UBLbcUuO-*&JT2ot7uhukFR;#t;RrP9ZB_4Ivc&)3ctbbGM
zYU}Y@4=VK)4R}=6)T#AVAW&ajj@RnCYPG(mx>BvLrPtaze66poRqGpSE7XSax*D~i
z0&yFv$}81|>Z)3`p$4fn)K*uk4Rwgy&`?pWRg{<4)Z$rDPtVGRay+Ye7^OwHww7?}
z8t7|7Il?Fl;1!^ZXJsAW74?LP%zq(VRasewXBAPdsxEK9v!<p>q57|=s;jBVY@WUA
zmOg8PF6%?vd3m$GZ%FL|E=V<11lz{PwwGE_SyiK;5P2HY^gMZv>@xCPd1jtF&y$yy
zmp+%xXY(`WXU_M|&zkScTc5Wv?;fW6n5?LpZn#XhCoMfA)0^eXJ`U(Ouz#H6z;fNw
z)c(m#jhWfZ%wc9OGn71Y4m0O5GoP6Yn7NRdi<r5XnFY*T!px=2T*gd4GnX^7keNly
zT*1s@W|lCsl$il$u4LvaW|lFtoS7BOtYl^tGpm_d!^~P{)-ki5nGMWb&CE5-Jc*en
zGjlC7PhsXdW;V*^24*(NW`8p?TNHB>GdDAH3o}n;W-BwdGP8}D?abW9%+r{;otYiX
z+`-J9%-qGy)0ue&GtXq^S<F0}nddOGlbK!2>}F<=nIUF|nHgbbl$kMRTFl(d%pPX;
zGV@$!p2y5SX6|8TKQjlIImpcOnK{JFI5QK>9A@SSGxsv{0%q=G=6{9Eyoi|>GxHK=
zUdqhNm^sRrc{$t_a96@z1$Q;vHE`F$T?cnP+zoIy!rcUSE8OjHpMd)$L#^M*%)1c&
zG~C@xH9rIYvv8k-yBBT@?f~3<a9@DCAMT5AkH9@j@xKE1Br~7E`*ZaEA~Rn`_}g&b
zgZn<*58!?X_hWp|X@4<~AovrwpTWHi_fNS0VGPawZ-lOvQ2@AW;jVzY67D*<8{uw(
zy9Mr6nHfgFFe=Uc2(d516&S49$Zj&&?RZ&ZxK<nN(+J%U_XW7S;9iFNHr$B8o`d&8
zxbMR~0{1A~B7+qhtkhuF<K+gp8{uw(t2Nlw@UDfs2JSkzi+>DuslhHW*kuO00`FJC
zT@E)2cNJW(!Quux)nHo<)^4!V4Ax<=od!GIU}qZaY=d<gtlMBAgGCH>p27AQY`|dW
z8*H<|Vg}o7uvG@DFj%$0J^^ySlMRI#dc9%1EgSkfaPPvsC!6&e&QoNZr`(29lZ!t^
zkI&O%KRq5~l7D>hO(?=+3>By_<&<^o;+xqMZ1i!)@Zqa$^eG;Ao{c_>z-{aWHu`lY
z-ORp$=r^%%^5;u<-p0PgpRe%es~r9v{(Ox;e}w17<4j@~f116{Mkhe*)9j5@;OD8p
zFDW2h{A+>uW(xefRN$Rd;9Y_Edm{Tsf&J&yH#-&hAb%D3Ybx;fRN%iTAYJ?~5%qG}
z$<Ym|z-=OMkbOcPy<KJ(A7q~rfiJU9Q$R*F-ON5OU&my2w|tK*U3@@BUSw&*eKLEB
zeL?2l{lfdA@E#D}gTi}AcwZ9ULE(K_cn=Hj5#c>5yvKz172!QDyeEYBr0|{+-qXT+
zMtENp-hZ>gdro*?6W;T}`?~O65Z;Tz`-bqoDZH12_buVQEWB5Q_if?5D!lIq@4LeL
zp76deydMbfHR1hGcs~+eQh4LSn-Jb1;r&>6uM6+6@Qw)YC&GI}cs~{1&xH4L;r&8*
zzZBlDg!gOV{YH3i3h%eVdrSU3HRB(|+aG22K7adwnQ0Phe1xq-XLq}q^k^!C(X&qa
z3VM?KI082#pge)VlL)9!aR|5()1F4~Cd`XWe<l?&zKRg1=6aTgJRaha4$S>Ej;AQh
z^Lz@H_H_;emGl=<p^O)K2;(>N8>x`@n+Q=>vR>jKiTS?e1hQXdjgriAUV*2u+;78E
zS%2QE@H95(JMeTi_q*^6Ht&1zTx|aL;h8M|2k_i%!E5k5Y~c^#rLjdnf|t$~C*ftV
zf^m46Y{>*XFI##DUKU&SV|YI1e;r;nTYeZ`4l6tYFP9bl1YRCn@dms(toWz!=CYEX
z!JEfQe-3Xx3;Y6JK3n-qcnjF7U%^|*%71<hZxJj14ZOvy;!Su3tn#<;mawYd!CT6z
z--5S{)w~VQ&uZU+x180z3$KvXzXz{~HT)jl3by(W@QT@*Kf)_vC;bUtDLeVk@B(b@
zQFtraDK@-Ss6dI8p)WLnZ#J$kml$)IO0s+-z^Y=pN6q&YyDV7_w^=&MRH?$Q=znBM
zOSY62#w>MId)=-cxAef=oCT6(*K`_|5tzS=wYXTZT|4z=;;kV$Zn=9r_G<WPg$H}m
z?UOq*tc=b~E7S6Zvh20|&1d<n>`;z<N|Ii!+@3spoe0k9nQO1-IP<J|*8HTE-?Bh1
zwl_?H7ACDl9Mr@?i><|0LDE{nL4VCtpruJ`83%3Z@^>!ZvRn%J?aiHqoqo&TQiyDx
zn(QpvQY7`Puv?SXiq0ad=-R?ivAvZL0N^-n^wLS$m`Zb-^W86%91fLCxa3fYecDV|
zDZxtZ?G7wy<pD83z<}K`1)K}uN&>F5Pw!l1tttwY*=Hs@%eRzEJr(v@Nq?)Nv(l=x
zs*+YUFT~j?NKMkJ<&bkykh-K*&mo;DNJG+E%^_VW$eN^e5{GoBASWlSwHy*mK~70p
z>o_Eof;1+r^&ApTK{h0<CJu?DAk9gug+rn#$i}3#i9=#3$mXQAg+r_q<kY0q$|1W`
zkgZ9pjYE1;koKgtjYE1<kbl#X)^-j#HwEcPT01!8ycA?-(%Qu#eJRN4N$U&_*^`2t
znY7O0kp2_|)q4(y45T2a%q|W&9}ug%6V(*j5@eyUJ%rxDVJ#7KqeN%aidr$>Y9`sk
z6b@XJw5*oh=&>XG^^&C3!(aFE*GrRDFMqv&zh0KK&gHNB`0FT!+<$re{X+hJIo|vD
z`$hcy3cT;(?-%p;EAigX-!I|sSK)ntzhB1Rug3cze;;KWa18+GbHL>Sa4i5s9B_pI
zTn9j$1FjN)>j6k`z|{h90|3JuaE$=m2*3yjTq^*zH1?<pt`qM!0bwr(+#moq1K=48
z+``5RS}p+IO$>}khJWzuUIjjMI|C!S11S4Od~?BVKEaZKJ6OwwsP0b!T7eHO7vbej
ziltC23$gB^Sf9rCOYZcgA=ce2*^-co?R(fp`*Q$a+Ig9EnKjA|j+BgKrAtzA3UoO@
zzAVJJmxx>4Emtt9*b5AM%mG{pfPEjOrb38!7a_GTP-^#!)PGc<ei5lW=%8Ok=noOP
zMwx2|`j-g(p!5A|`u=6StZ2E0f{(CdQO_mzqb%u{dah;mV?1yjv%f+gu4ncWsDKAV
z1w2V)brlQN&nTe#6zHyqs4F7ciio}<VjN|sNKdh&Y#l^^qwFCjKMn6oOnC<0L8g8c
z-j|v7EWC%A{(l^^pJqiPN9^Y*FMbKE?CVab)P8{xE46ZmBdYzP2+tXgX!bYRxPLOo
zjUvB9xK?2Jb^B#D;lN(uu$9Ay?e73jdW7m43RJ}t6!sxxf0q>^#UHRkzC66WM)>1k
zjX$KoL};b=ML?4*tcJDwh9kN?4mfqV8yQ{=`w$BoVShcN9!Ni?7-1E0U#AeEgw+Ft
zeIK~$Vg6O~%lF}%wG#gRP^mYJct==R4;!4sPejBUSXe_uBmrV?h=?HZQyx+s5&=%4
z#Jd<Ie#S}U<RJKSfrN;^n2PvoY9m9IMQ?r!O>~q!&ZM`P{WkjKUbOf-EIHn@&wdwC
zrh4;x6o1P_u~wsDf6rq*#iZXe`wu`vr>1W9M|88J=nYSc-e3~}t9!iV7KZWgK2b0g
zP-p~&4>*Nqne+j(|3c}7?7y-k*qC2B*mEnh|0d#g2FC?o`#Z>fO_2Qu5poluP7wMh
zCxo@rKbigCY&>b*%H~sE{)N2!hX{k%s66h=1%K>vnP;do=$ANEuLr;@WlFZ?d}Q%z
zc`A`>WF+FD@sxo?Zj>=VZbIyRn<NNlfMx=E3qfxM^g0G`I)N7fd^>^f0QgqsGbG6`
z4SSIxq%jPvj8x=L64s|U7QmS)@LdG{G{CnLO>YW(4}m`e@ErusN`XH|;ClhSmcTx$
zlYjNd!5F|t*>{<=U$*zl$iVCN0gmLCvhz{o`{d3~Fbj;!B93(}yU!mz(DEt9fOo$<
z4ocan1RkIS9z@(bDS;ef7==jS5duFdCkuP-07D@EcJKq#UQ#sC<5YXOl%1u(eu8HQ
z%fcsQ`$-@jV&g4$F{$N3@YbgYGfxHP3V&ceox*%twx0p!Vb*y!v+f4|Jq(nA|5d`D
zL-?h@e>R2xtZY9A{GX=qt<SKjC|{!}b5lt?pNjIlY=0e5evyhYh5rKK&!eK|A&D1(
zZ+`=bzY<0JCVicsqV`gX+Do$iEg=2oL)2a-{QOjgUrFJ=BHP~v{%=$GGc)`uMSoe4
zit?RQl<&y)cM;{SsVJYFF5~wo%EDBxzMqQnecArO%qUZ3e2wrIrONn2;M+d};(MZu
zN&31t^>v)SPT=bw#MeXgwIG$&k5g&=ShimW(w|b<n@a02;V(%Q=ST|wh;07^_(xOt
zGi%@tin25n<)^7AKb7sDA<Fy5i+}QSin1(~t6!v|{6e;Wi70<bMVZRguL$3t!vA#&
z|JSnp8{q%#L-=nJ{_<3oew)Jot!)1e`2R@ZTc4Y5l(#5KVX7M6Mil!U;QqI$#&_v!
z5fOZqp`X2%qWGR{|6a!G<X+~Ntj{xRjM1$7hnb*2&kfA}<4nlPo*S9{Cx04<m)L*C
za0TC9VP%9eY#RywM<n<@f|DZnft>WKJ$EwuuX3_w8Cd?`5$Ag5bAdVhLl)Eee*={6
zBSGU|L=ch(7c~A2Dx<P9ERo5n3jGh2XN97f?nh;mXEIfuN%<(lZsJwSQFf&)Uk&dn
zS-D2BM->!uKeG<79tabcJAZGYv{yK9_b~@$tml)=zDl7|eSyUf+gJ18{VaaOz6QY?
zP*;35H@W0=BYz!%Y;dhIF;e1F06m1so+hc{usY%^K&h@%l830)u2+&1RG&8}m<PmU
z-m(mw=4Peyi{Oseu@-E)^5C^R_!to~csh5mJ4bwlpmmEPSm3SXgMTI7rX&MnqN;C4
z(BX=oMDV);`Y8mjm$}e*r-FJbR<O+dCe_<rSoa=fV3v0&_NS>D9$-C}dY{A8X@5pR
z%Ye~-mVBi0IjV%h(1Xmr7v#_sB!hk)!J7r;F~$2H#XI2S?mj2p7l7jA?taDlZ9;kA
z|3hIPbjUsA6!uHg<bMt#=oI#0#oGtU-rcC4yA>+NVf!A1OSuoRiTMz=mP_6`eB3X9
zqYjXHmjd`j0sN8!lu6(%A_;A|;>D)xa>XU*-#<C2*#DVaF*$ka<Ro6~N2w-DNJd$R
zihPn+<n6NbBm`09>kd&VPZLsU3h9{?(ld(vRUmy*AU#V+0e?cGS?ReH(sPRaH6Yz7
zke)~IE)o1X;jg4NJPG(Oas0bw=_Pdbdt~;KVt-5F3mlrkv9kEAJT^WS_?$d8F&4O2
zc2*fL6OC0gXV!tnE1+S2o5#ZXEgMzxsvt2YkJF;WON)r_DxD8wZhV-;tM60vGVF)B
zT9V};kQI|UHGfMh@B9n1{=&*T|H`bt!uuPu{s!;w%=$aL5191<ynit3AM6ZiA^+=n
zpV(0*sJ)o;s3B|y$btkX)6iHh>*<S^?SZm)Us;QzRU(lE0sgj49fM1b0@(?VFL6+<
z)Rb3{cKA@Dn@*>dn)(Vo9y`B(c#qQCpHOOR>q-4ArGH*lS5>R=vv#GvypF5C_4W@#
zy<MrVuS?^)Orbs9q))0e)Yf~VvB=QA!31d^;-Is(#+?H6j+pEBC1Q<3L!o_+iNJ88
zw=YiTpH+Ebe1cl&Zm50pd<|F@RLF34S6!Pk{SEp{-Kj5h@=3?UX{ows!ppI0+q|~a
zimHY>7k|_!ptBlJ=(}J*Ffiol?uJc6clWB1SVXO;uB{;rPpHLk<pHQ=sFgLfb?JaP
z8Z86@nT9DvD7Ct#rqY#4+%XEk;c&&roJQ8v)NCu;8HXW3+3r=*;XyjY9O;e3%JvQn
zofqvLD%;(g=ot<Riw-n6bmPiCvJb$t!yOrhs(<1h(nMC^3@BYtSZ`_Fg?#&t(ap5_
zMvQ18-o2-{KVyK~Q#AKS21rL8x-rn|OqEG!UVHYEHHNTx@NhkdZi|%EoG{n4PZMyV
zZ|^1(2BFvv9gY6oi5{1epEy@4)uA(jTpim~(b%5h3*_FY3bTyedN>r1;aGfdINqa?
z$$v@IH;5dIzCjAnq_UVZE4NNN`BJ$rSRuOf>Vot@!E|R|?Fkg5R7O_g=qpdoo0qpF
zZ+Tu_UXv6sa8}0@1LthaG??39X$DI-Sf;_U43=%MT!YOq<hcgRH`qdhEjARKz%5&t
zg9xhMU`5VhnzE9PvNRl_)f=pVPUhH227f!*U~3I_iow<ytkGcW4SfS0-?0{hZ8X>>
zehjt+d=`K6i{Of}RxFj$uwc|QS(A-)P0L<6n#M9sBP%<1PX5AWgz8gqtPSUa^T1`m
zdEp421D6LkA8rBMBDke+g>Wn2O5g%;W#vq(U~}g&N%dkwScWx{!ab(0lQbLx=zr@Z
z14jTZ{-&DT)7%_I_wa8<+Bzv+Vy+DS&CKMU+q+K6l9<Q0PRf>8T5cnDm(%lTr#@p2
zZPaIiw#4Q(VT;F`r8CWx806UU_bZRGDha#Iiy0o(G9ERG)H&Zi*{>%pua(aqMO)^p
zqw|k+rrT?`q)VgehbQb)uvM{O!hc>DSlzymO(g9`%OwKqEmZ_ISf&UxSxf|)L2%KX
zBHUuRMPMU<i$!n~f(0VD8NnqYxCOh^OA$=krvkXl2Wznj%GEM!Y0E<9g)oPW4TMJh
z#eONGC+$|t7ty>xGs9X~Uv~BD6XW()5UAAjtlv*g0?C!M+lfNN@KzF<5r1|q8(khz
zC&H?|%_^jH5jxE(azfj!6;7zb@)9M(mG$c6<e>?Br(c>t?uwN|_OA94>5zRo7Lc;0
zNNhk<F19LAuZ*hnY*D49l=)IorH4_a=kO|hecbM(Djm1G0;eL0@uc0&s}zACuTlg;
zq9(`fuwNSI$xhf2Bs*b8k$)_9;Utz%$=W@E)}T5T*g6(e#sY0)K{gg>9|MXiqvPzy
zUIMi{qb4_0JaP>@GO6*ibv*J-JWK_TWga}TG(6_G@L1@^15+~2Cz9iKNk~sl*rg$s
zL}dj+YVwf1GUQ5zHG5S^NrrX1EMz9bhFu<VC&MngBIHSiO}jFbmVXSp?W#~lGVHOd
zLz&5Nnq3p}b!OSMTe74sZ)wPjS(&=4L|Y)}yONxdERRXSc_rnTzI)~Z`eM#y^c|m%
zVc4X2MB4CWvvlTDlXo^(=#rfI_9G|ms`~nr78rDpDje;4rKYBVTaG}nep<y|sjDgf
zklwx0P+9)J)Z7;=Uw^5ps8zruy%HGWOy=kz&L|USgor==N31Btj@$^R!4XUHF~fyA
zlbFU@F#gfZ3Ve`cDtwbMS%Z&VA4P|c4ILHz#sFtv8tU4qcEppIo-9XG&u#>lXas{d
z!auOJbeu-u(ni^qj-A_Eg<T1+e`R!3m1KJCb#K_Tvkj&-uzx@+IA+S^aaYfXs}4g_
zk}|q`dBa9x8!#m%NP0@|ChH6`Lm@@B|3#as6*U#L-Yp&6zG5gfdwFAy%}dItMXjtY
zuW>^~yT2duODvkwt2d$F4fB~H7{we{ywbUdH>8nv`A|An2H)lwL!@;>u`Sfs%IE0J
zZZYL<cc^7fm4Ab0EDAd$r(7*Cy@3Uzs~bw#yLZD>va+tKiVP$~#?;D&nyL(v+2V~U
zD;>28YGp1`M5jEeRTXs=S@gEEKMqsIShS;OU?`zhRo2y*DWtesRn<^0>^an`8Yrld
zekVk*+G^;(whzYoGg1W?8H7AmRhKgp27#uTY>?EN@_+LBykov}3`fXjQ?040sPsT*
z3<6M$BuLMUMm|<V;l03|>Oa%Qt<d>v_&BkzzP984DE57*14HslOSKADn<SeZH8iw4
zE>!nFY&dm{;q9~?6}KtUg>0?y#&cvhZY879GGQotD7FWRp<HLL6_PaBex}1%eJGLY
zwJsq}ZhvkvhGH<Xi6=50KZQW+3SkX8%Vby`KzpW>ohMn}@&w$d=Iw$=#_XP{K&bqX
z4Jv8O4kgkyxAPX~6pY>h{^Cj*(6LyiXy*-%MO_po35Z2QBP|Yn)zrXnaWLM@#GXN6
z_Ml_w0e}k&0zQ(=_;6U*Gkm<Q^t5j9dM?#wg@5<03ik~RM5Fsw@x{`BF7oB(qBaeY
zc=|TSNQ4(<%49_2B@!kX3VQVX8NC&~!C$^Q)IZR_k5q7v{Zuji$+ri}$vqg(%@;&s
z{N90hwlIc<q4w&j{{4{#($0csUQ2IZY@4uAZ|j)JA!l0T9joV=rOA2fd^s<BuAEn$
zSAUzgF0b7c$+PBE&p&_u(EPZTz(k-aP`lLAys{e-Gc#mJ<(eVuhGH1d;FP&kE_+EZ
zSA7P{F;vLrc_f}Qi0AVRHs8?l4SAs<FE->QhP=#>mm6}CAs3Ujn-(xM2<YVoq$a(}
zFlr3>B*S%zAvYTGdP8n8<V}XW#gMleW`CO@pJo`_4SA;_?=sBO4K-xQ&4xQ{$Wg-+
zGvwWd++&!%hJ2op)@R6r`N-_BA;%4K1bYXVik9l>qigWYziO>yE`%fo@k?C-f0?8#
z^~mz_>ttDxm8K2N($XTJ2Z~2eWlKv+N7u?rbvZEFu|rylRsK@wW-KkK9L0SDRev&l
z=?83p&%Bu?b9>-2;1<9wf-8Vq3g?F_gj)eu0=E*b46XvMuAaFYSiusPCS~SAW;G=o
z-+8d)fGD4V3`&q!WlWQ}>Hx=}y5yrrHp%aDP8c$fk{iasr<xannvFIm1T7nVZU{;?
z#=H=8Y+Un0P_cnxtK?ol>NW0#q<>xGSwzY;X%Ou*utd>8OMw8P%8Is5(s8~c85^)l
zpozYK)&=Pq(5Hpi;DdO$`Y2l?N#k9by{<H*VXl`|$h3a(<zx~Z*Gf`wncZaheUJfy
z%YxeYgx%b}oc3oFB54wC&}DBSv6BEE4shFTRxUsqfzlk%_Le*eFnuO$SAWYKf*GnR
zu|*=?4U{f&dXzQGQqVm<amYTaeJ-WwBEe-Hr<UeJ)dkb+?)F0Rf`N^}#qC8h@*1}M
zc9=GqI<xIaU~_O8r21^xi)El4OSa7;Imgsd{`DfYQ+WaRAkrRR5s%alsTz^St>R!-
z(AS==B|A&(fxxycC9J)ad4CNMIzKtyHlLr|&8SIKl|53}<th!ikcJ11z|InBbWmY-
zV0GZJFWKUey4<B9w|%K!>dGh$WlVHs+Lx7vGO<P&W&RwT=B3MBX{Dhw6zg)v%e7KQ
z_zKp(3Qgs;uVg}YPNUjb;?#zV*T#(u)sgHhvu|dBGq#jbevy@QLVu(c!)lQEq(CXL
zKg9xPiXs6e!*EOT=V_&gE`jlIl$}kja1JdNI%$c}MGJ^-S|S8>oB~D+IISR}!&8Ih
zIQfq@O4z^t3@bY9y&E+g%t%DEpx4Hpe?>536&rg5L24Di#sEu140}H-JnY5EZZHEU
z{y<5TM2xNsocE(vf`4AD>I|Iqw^YhkNA#fEet=n32_)u5_#sdTRUuf7^~aZ3OATwU
zWkEL<C<j@n3fci)oRB8V&yq?aW=VPJ9@e?gei+MBY2gGE6z(jc&RiTUN1hMu_q!j?
zYMY!)cGf`~AaHI`QP7PnXKty}P<s<}iqN^pew?*0k~XsYaDNW@8mn)Ryfnn}sIvB?
z+I9g(MqT>?Iyk_QCJuGqUyW4jktiUU5WZ!occ6YxheJo0o9YOiEA7(2wqSlcT6vir
zC=9K(S3(>|xE!MnUB|8t1cJ&~S5_%hx@rQeDC{c@`I5n`bzZwJv?dw!t;@3OLu)WT
zvjDXltTpW?fqz;MI6iwdf9q82HI_1bd#6$wqOs&lEdgldrRMRK*U9C<wdKJjT=ZYK
zu%`fMFXrsVF$9WpoE2DNXaH8~LuD=7I>>TByzw;v7>ULI3fG<K+OcVS`;Hy0%|*v7
z0U+QyaaPZw;E4E=E73DFkicy^bcw~zt<5P5XEK<k`+p^lxq4!jTt0I@)YI({B8wl#
zc-F<umH{xkaoY=*KxnPu<8Mtv19Y(hM65lK8@h3ON#wj;*j|LWvq2&i45B}3O{rGE
zFvTk_0)bVNV>pz{Q>0}~$BgR<+^|@4N@<FOP!;L3s$<>>t1Y!fTGvqhF|u-1dHq@c
zM_GBgwSQ)}H-sb?Y@7HlblQf{U?|+%2iu-leAfLm22iN}^zE_T%@+)+=fp1#Xt?R7
zH}Ub(p2lhC&z6g3RS{d|?9qGCHOM+|s+x}{VS9jtHrO3Q;|Muih~$t_cgOgKsu1>P
zUUM?v8jL&LV(S2Gmj=l2c3W(ycOZHK$@!x%K7VoS(H#3T7W2$7$WC*@+`cixd2td?
zkIw9yGe4q2uxZWjWkAps2@Uf2=?+ZfbxPWHu8&ZAaaYU2<CP7)GKQP3`l4>s76?-M
zv)2<@sU%=fE53VapPHwNelUm%%A1Zm6Fg5`Ez<~WVMsbf!JMLC_G7)yBjryM>EKt=
zaDS+Xc$}4w0`yFhhGCABp0_Bk&{aBDo-fZ|JZF)%GVkQP)3G%Il`hSbCL7pJhG+>n
zST~r<P_Q54F;r|&XYg$pE(*&Kg|SVYW5|$(xe!b{)e8)b%fY&kfL9nsi6I9_PAxO!
z3PY|oWC*~uhEi|H4Tikhkk=ULCmHfu*nbKc>SitppK8cWTrh6s5;COXc0=A~$PkP>
z40(r<u?vhBe+w`}7UW8-VEMe!Iy~poGdF*99V@6=fTyG_96f^&l{_|QE?mJ9HfJfz
z$%WvTrqUK0L?1)KJjR7l6XGc3Q5-?0L4QYLnIwEdH%C&kFc0`ZE}KcZOC~{5!++ip
z-%^rT4vCHob*DgdT7`LR*-@NJOTj$5%$gIN8z^4STIR9Q`Pkqr_cJR$uxf1FFI)Lz
zgQO?~O>~K!PO&;O?CO>bsf=YdBesh9tUQ?2zEDQ6Hc%PFwyPY}xooG~^?|BjHV4=Z
zn0|q>##&5=_z0b3Ee>dq&KA;qtA9|Y)`(2u6t>d{F0q@fr4XeIxl1n%=|SCY;l!4K
zy1lX8Pb4-uB$g2gh|3bA!$y<~B*wA5Txho*_AW=Y+3kfwWZMRj%~Klkc;^#zR}qJD
z^~J4$Qzqv9cyiMF_T(g}X)~y;BWe+=$c{MFVntj=w5?gxdWGc3sYL_EOn+*+>Xz8M
zB%C30jU<<?C%J3`$z`ApVVQ)pW)jX?Xk&LH?elJOk(g$Zd?xf2{n8P<xPmL}0g}}Y
zqXq`8Vyna|jYCp%*+WGKOMDv1Meag`&~u7|o-2Gm!^V5iW5@T$BiLvUrrQaGRC{>&
zy9RUs!zQT?g475|1)w$<)_+m=7g{UB#(|76YN^iU_N9TXLDgEdWx3p5#_;(vtK4@L
zZ^cn&t%@Hx1Uc6)Jz7E<sKvmn@J}8r$-=^kzfjc2Mo17k1R2=Rki09XVyF2U7OLR%
zuVsPL!mcUu*D<ToM}1SZuZPT7m;<s1-^~1zp=uuC78cmKWjRA`CV#p-5QNdBVXZ42
zTCSy`bTpqq{pmDO-xyku#>Tr;ds%5nwf#=xEf<Y%7dnlIe!W8UYv@`cwPN0{(cM(L
zg!gOS%Um;sE@!(tSM0RrAl(;p9)P5E9AS$e<&`zjfnIFLk+7sWI=C!$Q5GB{AaG>d
z%EysEN>EX%D$6ta2Y(W{Kq9rHqf}uJ9ERSJSf5f|QJv0j55R=YcSx1$n(B0ZFgXRO
zDX%u1l#boo<JnLu8>)`KjmjrlNu>kllu)L*<h;y0UtW%cb3*KlbFM7T4CM?%!M;Sc
zq2_^+p^jWIlFOA`U~MkqZ0Ia7yh;7(3RAJktr~D9oCgkzAb%Xi>5?iL8f(OYSdxkJ
zF@=uJWOY4OuZp%F3szM}3oyM2iD)u~#rXuCy0}S7E;vK#(RpKiZw0;~P1OHPg#upi
zvK<{xz3}ETHa^d!tjSZJ{NSqRFtUEnTpee&ZCHQij^;(jZM~`3Vq4t34cA*W@1Tuz
zoKWoO-rPjes(;?mL_t^E&eqoMZJV1k=njNGS~RVyuC188XPr)(2BFjjUaBeF-Gh4)
z+sNV``_#_Gl1QP2&Z%|!wi#Y%B(gc0Aui<E*4)7lv0dVZugy`96Noo9ZpaYf6pl_;
zVr`CU{GPAlXb+tDlpXuZ$gI#eIDWSh80}oyA$MwrU4Nt>$1RVMgsa8563RFIIdy@|
z3{YxBOmEwZ`?uyy$KpdFbv;5F-Ko<^cXOba{ACy2riT}tF$@oFj#eS)>kdIrfG;fQ
zHa`pZ9eU_%Tc~d*q{``NIL`M1x7R{|Za5sm0fj~t9+|z&fjK>{3ga7`Zc)hg{=R)q
z-SgIR>VLk2mpvABc!pY2S6S{1beP50R35_z)LNLN&mR41ZGA({?BTE0l~-2MjbLpM
z)^>EP=a+wBnHGv}*no?nsQd7}UA^1tgWf^905vx4=s;aKZ(FxDZ{#(`(HnPdz>AkE
zKQt7ha*2h7hzUIhe9dqucWlFADwe=qRFn{gMSm)^b%!}MevZqPj@><-wRN82XSi<Q
zW0qCb)#c@<{U4WA$1n@5rZ`KaEqT^Ewa?8jHag}ANP)J=)CrJS$9!lh!qq)Keud?n
zOo%Oi&Y1a%=y;1K=R_k-T*@I%x||z2<Z$SJv%x)Q_Cju|rF2>jMq)Fz>|OC#FCXv*
z#(yWBEoI;$4O~Y67SNs8HyAT<KV@u)I*A&_LyORnp%IC23<c^fxWucs3D{};%g{a?
z_C;eFA2MnjSA!||E@<N90oUx}5H1}_(YPMsxTO2zoq4WCiGBE>4Tmz*M{k?^6JCDo
zkUEP4z??dVm_ClvPk43_Bjur(N<~!a%75#RQ7OX3OITjf-D`Bw=1gTGq1WRqg=eUv
zvDnnQPb`?!!C1UX!9&4tG6r!u4Nd|*jt@nn{&Zqf-E?OOu_(h~M7qUyL};zb869{N
zb(uYb>|B*lH2z)djkkr`6cBKO^*fUw-747Fw7G@u{}cNvZcc)SRotN%6Bl)*rGGL(
zg_mQy&G=wkXh#_c@tZ{l2ji|(&J+L*0HAV~FyRYSmH6ZoC2DAcAjqx?MmtP-X=`lV
z>E;ZY=KvR*(*3;(?zc2LwslZCvu-@i81BbS&7r}VIOnd|(XqOqw|@lp#zqT3YPf*1
zTfis4KtW_+XlQs447&jJ!LJA{IDbV2W81(h0lw?J*gky1<%y7^HV*U+><M$GxwCoJ
zX;e5=sf0rn@<@dnP32UKiDnl!1gVLE=zxjMD51oq#1jc6l&}nfKq^!Qd!uV8pEyYG
zixxo4E8u*x0JrbORu|yT>_`EP8vcdnykK2{IIb*14=7+|xQdZqorpo6Hh(w(c_TK|
z(i`iGs?^)DQpZ$BhnCPzLx^85s-PN_IBwt_?CrzY>Jy*%G=vLzX=>cuB-)*$AIqD$
zZlSTGqYV9~fc&l7stTaMh8_h-Ug}_02pp+-H)jgWQxJ2!$Q@0E*rgE41Kp`PK4S_J
zqqFR3gw%}B&(iW1VDDf_UVmHOHdl!6ADlP8Z%&)GC+}L8_bVp5VNl^o)6+9#7hUln
zb`dlZS!ILv5}@oRLx{~FO*e6-2J;!Qkw7YMvyRmk&cOkjl5eP_|Av=*LxT?7QmDZh
zGF0G}8?2Bk!mZ%Ca3%b13Fy^vjW||jFr2wn7+R&ls`y0@HFVR2Tz|(m9@ZH0$%c&M
zKCT_dpdE*sEsj-?;}=Y{8v0hlXgBoJ4Ean$KFg5LHso^*xzmul4Oh^RaXJ^F13DQ8
zbQX3xT>XYTV928=`sHxAy+Xbc4!2gwxaA@fH(cP_14G979qzx7Z-xVrTj1Tw4DAl6
z_u)bc{Z71}PN#q}E`QdLanXjnA8xN9AHc`^5c~q%{S1{dXy~|}Lw*46L411({?h~>
zF<>Zf$X|uSeH-$#_=Zb4<gdX!5BGJvzX<;uaNk7uCHUWhdzl&OufXA!5AQFD4(0bv
zxZg6I96+r1<hw_Av9|oW(OptogCw=#oXm4F+$lIp(Hci1a(`QXX#MB~ds$m#!|3fy
zYHN~MTeNu;mPc*T7U6A#CwubqH;ul^zD@AW9G<^rbQjbQ^G_XpjqyM$1$1c<{du;I
zzQx{Q@3D8;@7UY4ypUWTmX;1z54RfbB)GM3>)^I`u(Ta){RYOGvMaD*Bu^bUdT5Ww
zL#K{7i=+om9e+J^>ZsAFqX+tfcwlcylThM333u?%mtb%%OE^$nB;iDLkyJpBCG>zA
z`yy!>Y=5w+fCqL(@})w06ww3gpt({p=(*h`^j->mb7>{f!YQjqDx(K381YCIe92YG
zmt0kiwB)MhORk#rI2F`tv13)oBv(C?aK(<~hM})#4S$o;PGV9z4kI(xGAZ*E>{YG9
zQVQE3z8sv6VhN|vCKav&(j^T+JXOWOQ&U`gnTK`TdMxH}(4C7_p~Mc*Da_8JY!~gE
zoKCwbX|$VihC=%#>bSkjYEB#pwv5}STN{@@&;0U%mQ8Zvuzd!7_HM^QbKE|&WwYep
znA1pGJAY?$w2T^r58(jnoH0Zi3pGR0k0TwlJ88>`f9nF=?k?QKUqWMk!h1=z&j_m%
zxerWEjvuluAnY#MgzVB5#K=@mgY)bgSwYSQ>@Ca*=EI1$gRPgk=9Px#VPC`9ins-v
zC|zc0$h2>z(8^L6R^CRT1*M?{!BW`z2D*av?SEV3;Jk4d`nI3SI#-rhE5~spXtj=o
zRs!WytbHpTSK&4ZiJecW<G8Fqq;oF<*aBIGbG(8se`&~%bG(AC<)xwJILIsLT2UHW
zVIM%Cs5DfB^Spwt!qQM74)Y4SN=ic|$o5<q@$zivmWFbX*cVxQy9ECMk*{rH8x9FW
z4Sx^`A7o<J4cUQhFO*sdiUZ6?88)i24B8#a!bZ`Zs4RWv_a~;mXFA^v9lExEp$#;&
z`)+FT2sM6>)9y!EFKwWmtMMM-mkt;3qfICxQp**O+s`m+)8NWSuJDyG$$l1<ii5}n
z@xxy1pqjyXX!hrrb=qitNkp?+<4153_<uF_SP7YU6yx}M>|x)}B`Hit=g+hKp=PK~
zex31N^B4j?3=|aW1t#{~!s-=d-iZc(5y^zr_U-aS*8=++*qT~^h%d2Co%!}FY)igG
z$>}&H)$DIGtGT^H_ST|v^4xqUl^fUq`z53ZJo|eH23t^)ux>T)4<o1O*zFyP{eLQZ
zNe!#Pc~<MgB|h+wVj#2v@8PURCns^h`UCV2yyk#y;O#YsBJ7Aa!AQ7Z6AXY+#`t0M
z<Y!?QOmuSJ{m&%KdkfGuF3l&gdsR{QgH+?^)4t^p)p(q?EW!AWvIK2e4wLff2x+D6
zr8c^N+Gro?qFzY)sTZZ;adA2xmw#m7acL$VmwBnlyl|Ot8k`F*4bCizsPNL^^nyr6
z!I6T9yC9NP5HZGW7(eciaM<jzf5VnP#SX&rUC1z$f6H2S(g&~o7V}pe#M2ih_&cm+
z7r`^__t;APAfCQ01cwbFC#2bbW`5-$p1w+gzt7<j7p#E&i^Hx56OlC70Dt?XM8vfJ
zi}}|91k2z%BPw)a|Am+b5|Q+A82A#kh&~PzUu$DH{W18yH?f_a53^pUy)*1<WxwoK
z!f6M_+D~WU4D5s6Ah(}EAsv>z2#tp`V9e{+Ia2$XuvThDGPfbpf&Js9q2}OOK=_2*
zayGmAh<&FVxSj=IFm{(5*nf2hCcHc4(Q_j1&bhG9_3IN8MO)^oqjMu!$iwGSc`#t4
zi%!*v<N43afty%+7c9kLrt4QY3^ux1lpzD^zXxRcn1#>xAxhY=THCvoaF+cAxjiTa
za}l~<1|Px@Hx*T4W6lu04ZCyb7}QxXvr54*ENjJ{buKJvtyUlGet(0DVLlrT<~Fio
z&Rd?9r+7<eZP2uzms@JtX#Nqd`rUcTA(*|kpTauL63eu|DbsiknTPC`P}2yfVVv_=
z-*RFdf~jo5!IYvv7>Q4CMS&+KCy|?1DK`X2>qACz?e9$I>AN%Y^u6gkA=YbCu`o`9
zZZXt?W^g5}RS)_w!++Z2vf#B~ia(LT96KBAH{|vPDOh0tlp+_SqTHmRGv<t^Poj2?
zGKd^f!Qq0}gUd?jI)-AX4!n&V`7<89!gnqT76srPc}tXyMxoOGo@~X?`%1Df_ZLs#
zl)iPs+P#0m>e=s?9>Z5(0J-zQ@RFEc=jsXjsNBAqk%?C4ntuuVeYt%NjNFk?nhVJ0
zJh%+x|B3X_wfs&7{PzE(GH`%rz;FM1Dg%=rnSn{!7e$nlCSW1ieiDOmq?m1jD}3N4
z!6K*HieU0+wO-+aP!n7cEP~-9m|GF=UpV2oQE3mNVGz1WLH~mJqccI>f&fiWJmdbL
z-~J@1AmhuOjDIhOnW9s3nCVe-%VF=wYYqon_b67ZgqU;jI91y?s%>0U+ZFgmmn?Ly
z9f!?g`&wp?At9O@c|yxU=6;b-uKf@KP6vKinbCnCQKmX@Fw=fap}EUBknt8B^kIh^
zR)GG=u1x3(LC53inF!eq!gGW`dLrm39?c`M+nkPaH-8^d_b?h#pJBv+Kg);%e~u9g
zz87-TQTBO8O!!m0OPx!sc#N6EUco<2;-4<CP`nzL9Wh7RFDr#z*`=ZEV4>3_g)s4>
zCOHZ9kPj0+hh>?;Li-0wdj|_caC%L#EYuq&t8o|!{7?y5<MxlxbfMjL5;aC5L$EhG
zZcixIxqpp}-@|ZN*%&Og-%yHj+CX@&{ZpWiTj!2j=M{41bR^g}ZvRZsZP_D_=0{wI
zz!iT5w6KeJh(q?TMSnPC|Au#mH<9(?(oiwQe9MX1FOLr3T<aY~gS|)(I8s;z-+EWU
zygnFllR)@;WGZYdA9WqT;n#t%+dBWgv6dkgkALXM)*lo<T~(nAjtN0v-2Nj-18XZB
z=X;v{Cy@_K#($=ayksCfFiI6O<}H|N-L|dxphh-se}Je~Ybx^C{`lbu-x6N0f2DdA
z6;(KH|7}JRV<ZAVct_>`&n%>W^CDVYMnK0%BfAw#Ovo^=5KYc&{Th|mx`D2CgSyea
zNq-eBjMCk#`c+ZsqI`#8Y;%js+j43wfVEH9x2k;PP1v`og0ZJ-^CbCg(h7v^^$_od
zUz*VkaZ?I%fQwS_yq<T%hj}-Agi#N?n1q2x8OZ>TF%km4!bl2uoRJvt1S2`%Nk)Qz
z=(S_ai}1NwQbEMCB$8G@U03wl!)Vn^l79mt-hzm)fKEaU`!2Nzx2${`&-7q?+`e0s
zrzIhe(oHP)p!8&=0^#nnXrL@qf3V1hliy&`xP9-jWrrAbzq%2)4?^s)PD7&$e=k_X
z?)`D-q1g|q&Z%mVU|S&bB|#=^LJZ?A@MX~gDq7$%bt7__7gi&=-WO$b$J}t<vVYN$
zl1P^QtZH50HxI)1?IZq2Lv99Vd;!^==8WG!MpB%ygrBUhuwNFf1pfF6H4}QwYbtds
zVvT6+AF6(c4K&24wYg{yCL6bts<qEA`DL`UHy}%xzQ-viM$Y-j?}S<y(Lm`CQNk$n
zjN3m(@xocwR$2|cPGJwmWEKX)nSV;>g)j>`qHej6ja~>T)?@z!*(5>LenYh`5~4H2
z(2L`AT~Kgo6d!(u4+Lt2!SExDQvU^|?#kH-xisDWrJ4oSZ2t<`Nau^BU#rAWN9RY<
zkgGSHT)80S&B)d7C=8j=$yGQFoZ~I35^pO{;cZGm&q;&sX1@KdL&H68zkfG_#_uT%
z&gjqx#xainsJ2`J>7yj#wvVcQhJv~64^(TTKP}@RGWj<Y7E8*%lNZVKUIT7p|CfOM
zw`xuR`Clr8!LbD9>;F-gPqOTHVG{lyfo@N#W;hc#qZ-GFQ225U#356baBKc>CgL2-
zIy^Z!VPC2F)q{9aMRwMOk$?HCH0#{<I+<+e5c3)h0%GP^7)q&>%YUeN1;ffc4=Dgc
zK)k=&D(NE#MamqmNV(8kg;-hktr{u@QUqV)P|2_0Lt}}3yH=1*lk$?NeTNo!0s0EX
z_9wKBmAQFYtN%R-&i84}S?HvX_|603rC|@`)4R2n%ZPVp1WWACXax{YAX<MEcb*(9
z31_sNEZ^x{hh#IlO6<>SSWTjjehwE7&71}xwL`AG7gJL>L$F&YpK6>Lg}wHE4Q-0y
zG#A5Zj<*e~w(y+rTxU2vL}k&_vF$Kp5Pb>jqbq!;AcHIHgIX3gJCNwZ+VKa*Bihu!
z;L^xr$c8iK&~F~sQe%r)#}j{=7!<s_bdWUs6s4~ngwK^*R@hH#g`rXAeSp{WGxU|A
zLR_d2M7qEaY4IkSB%TE&>SI38_?l*I^+Tp@?!26ZefIO(mdhC%y_`Y0;#*q#6%5J~
zFKcw&7M3xF{R%1%6lr}LHqbq$g2r^vJV?SMO8;G+8~dA@7ZMKo0xN%sKxY9;wfOcU
ztq3_?SUG2I*1`WwZj?v$uNu!ASK{*8|8l?V`HtsGTzM;H$k=w-CuRU_gMmfA%7u)J
zNE-PLq!BcXI&Qy#8c!S<w|@$M!fK_>4ovK*$x!oz{d4Ynu|WkX;@29sR=`u$3Hvt`
z%!b;E{ias532Qs_=0ktEZ=mnKr4??n-vJQXw;D3=J7?eLyF3Scad8<5LNs-7-uq_^
z3rFVoK--9R`x~{}X#U}G`|qe}F7QF#8_Qfq8T$u7VC~4;xcyHN#z*k+3H!fzUdQc!
z0Zh3^$N9JB*LiO}*I7}ip#L91A5An#F*>2&q6fZ5>#0Nb)mVSO5#$=3uclywdc96-
zDfN(jgYK6Oi7u|%H|nB`tM*O0m~g!+<h~aTQQf#U8Abd7pKxE}a^Da6gu9Dxe$k}+
zBR=US9odhRhWO-&CLy`czC*|ID1j>Yq|Udqvb(78pTZ6TG;tC~I>Arx)LUGv@F09r
z;2F2?!bhlgk3)ZY+OPYmPkOO82)&>C^nz^cD-vt?f*u%WSecFmCfL|Gwx5Vi+^=u6
zAJQj=KSAjo)WO{R>mKy$Uxe28xcz0l#A+V?1WhH6>R6^PpF9QYYS)DQ72PlIrx=g(
z9F{-mR}n+ApAeM5ah^ghGPY6Ho*|-GV%uL$CG$08HmrY-(Zbk%UY`i-AcZI|fGCCn
zBq3~uEPsX_q=m+~{UWd@1oAiZjhHK5(IajzYS*0TTo*<zU)5XIQEt5D9M(v%H}sZ9
zf?<>A7y6WvReIq;;+Xbt^g^!fZ@-CV729{eMLoQg0>7;nb)`cs3ER}z+)1<F(~GhX
zVQx}MPz--A^OfR>)tb&N9#-?U-ccPZ7Fx4`!FR6Vp!Ydw4bAj_)rlL?>J72M-Gj@<
z(VMAY=)B$wL@J|3QT8653f85;<z$WBxt1@7t~QAHTB3BVL6m5f0}L$Mg3CeaMnh2I
z$Tt!4Xq2R%n+;k#p@S5MO)lG-kc$xH%g!tC**AZO(!i?V4ucj@pD>PDKz$m!2k1&i
zzyVMV2av%ZfIq6Va1Q!;22Vnoe)|EQ!ILP15Ah7rUL`Q7sD5Pd%T5NpH-nPty_V=@
z+Fv(F>5NaF!BuzSwImDN4qJ@&3*rkzvf^Obog?@}dt~-YMxkhz7QB2LZ5MXW`^Ud0
zgBgGDmH$izv*2%qp93GPF^EZeUK7~TlZKx@U5VgR20Agq7eH@tAGUw(S1D_}du@af
z0dY-kG62E(kTZg5*zTes{bLMf`v<VXpus^^H(~$K;GG*xF$p?hb!-Bidctb94;dJR
z{KbCV;6ulFFafS}*zl)kVvnD2eq#6y2j_ncfpf}(+&snp8L&VMY}99DNbED3;4H86
z98KlrC_Bs<%MmWg|AaG@H#k#yjr01Sa(VuAlIMTM<@uj;dHxrW=fP@F4!&~-`7n|W
zvEBZ)C>i9qYnc68g9~!kGAyb@QQw{_>btXx`iJSF{%NYH5W@b9LL`n*L61%s^!<Nn
z40FQ%fGC-~4(z`ehY(C0@#+{36ZSt0@IJ6Ku=Z5lfc1dC{kP%IJcuV*4u!Q&<n@1y
zz^`$~AvhX(go^@@k_xw6!$<(}-Uc+o{<q=J&q0jfDtpo>I*13~@y!H38Fgi2p&xd^
zCg^e)5@mY9ZV}@~7q%CtCTaEHbb5ccxNuF|vFR11(nI4S_N^{|ZVv4!=OBgKQz_)w
zcOZqF3Hxpr?-Pr`PCXO$JuXy(hgZWPh~=Mk`L!|B#36`=e=~A%MG?5;eypoWVKb5z
zEVB=|vM)h0X<cRZgCJNITxdV!iiWjDHhK+21=#1fd@F#U+Xr3NbyzK@Blv%1mvuek
zRxI|zuEMVJ(one<9M*o^<)4hC+fTTPI4qow0r;#d8`Hl1oXa_X_!<JVQ4mh=%CetF
zk{C}|c)jSNKANpytDo*Nq~+%Cc$a*OcfhxK$9#v+hwt*4@ICZksCL@tixUca$e|y1
zjyDp{>Bg|LcQoRhZR{1vk9U79v@a+PEu83DZ0{=#Ek4v$U|(1oDhR7xOYDnELrb7i
zy41e7G_=&dq)4#%O9d;pFY`~9bmgG(OZa9@3E$HZqiqzYIb_@emDr*ZzWx-OEOdNw
z#q{w>X8>kkSc*wo0&-VrX{a=;cdfFo!Xd#b`)ZIVLqkA8R@5w*NzQ+i9wSb66qx?u
zo`rMDgBygYPtSUwyqNP>R22S?ug};>=l5J$BBg(tBlLwNQbqh|HPec6N5e>|s;<n8
zIqIaOXo9<JpmJKnH9(+nS~o*0<XG(ht|^r=d8w?c|45S;QdQml|BGtYbh)9MMfWyj
zNI2fdnLo@1aMaIj2DpFitb&@8RGdW0aym}MO{`yVGIgBG8@yR`d4q1?OiN|!a7c<4
z;T}`DCu`iJ13;mNDw8rR%?35-*4enTgXCrp$*#O-gAlqgZt6(K9UT*P25#jzWM|@{
z4h#yfu<E2{WoTov^>WmX4WV`{G+BQP?r@xzhgKARW0daLnEHR|P^a;gd+w&cXR$t_
zKl{ZO82`E7rN?Nq3JR-dQaFz3)_mtD`=*Rerp?Lb38lj0eK{tnX#*wt1z5_sh?*vJ
zcEn5WF_8q~Y@JGBxIIi)X+hO+rZrK@GR@6@5RBV#!8}YD-EgZE8VW`?ejp0Jj_R9P
zX#5})KrjjuzuAA=<oq&f%5157FaMG3XbPUuJ<HBVn59j%0qIm8?_#Ns8iaJYR_$@`
zcT#KWaofbST2XCfZ50$z$>>egS^BIx!0!<?lsDklPh-N64ZloOUQ;*AW(lCm@_M(>
zPKVZ29Du6oiY)p8>RHxVXee9<mZGF4P%f>auC}UXwwZquVD->5cj^dl4Y<65GNo12
zm)AFF6s$zJrn+AIt|`Lxb#;!tpjLt3imIQbu&CjO*Q+YMWF;nw2o)!AB7iF^>T+SS
zKeNkBeXFXf<G%(9wA#uVU9_@RiL~l96u8{ETLa;W>T;K3DA<kHn%auAnVrF$YRTyf
zFVsr>EY*KUvNW}-wxVX||B<JO{yu9&gRRMt$c#J2gw|H~0JNucC~A|IUtbKr4CmZv
zM|Y0_))r>Hus@?)((uN$bkzjfdg|Uhs0lhB+rqPMwG*0k9zljjbbeP{82Zh)IAN-u
z{x^E1^JnXo&aCi{*MQ}UvLAJinlpiYv{m06*q(p!>m@Kxa>YOD?XZK(KxQb2+wkaT
zHfP(>rBv>@-tC7dIG3=gQK+%1(cwLVAE!2&jyym^(D^yRX(jngs0+{R>@4P}?YhA#
zG1{Ze{ZZeCe;d%CAIHWmNU2MbK71>Z2g-&Wbgu}EMzX}1CoS1{BUc{u%z$vE;<>3h
zq6&Xmj}e$MJ>YjX!EP6d;v%1!P(7WQW9M$B58c3Y93wy%B|_SLCc31c!A%`~P$1qE
z8j9|Pa(NTKp=M~NmFJuppSg0Vg9D{qhf$r_G=Zz@qAr2BKDN8JpEO-JajjC`XDBoB
z>H=}mhylCeIE+oHt$2UodClP6J(L(0Fj#*;f)CNFO6tJ5Q-fg@am-b1+-?VUoP?oM
zD>XL>_0i*4R0wm^4_U{iA^mCgOV`}M?gPz&WQP)9rO;6oGG5M9;?!#G;)atc?Q|C|
z(2VUS9bV$#$Gz1iWj9T?UDB;a&|XdxyhyYTS#7$*+<t&&w+|_@LkW8~U63=h!BKzb
zOh=9&B{;N>Rp_6?4L}WU0_x4%$`v>x^P}@)bKIKc+MRc9-k!X@dAG2+k-WQD-h)i>
zkWHv3O-;|xGx6&>sbEf!L_Kj+iUNtvWvE=>)3}kSE^aaO89KKR75Am+Gww^#^9_Bm
zp)Vm-PTg<lg@(Su(4oP})i?E3hF*Ve=(sPX+R$t1XSwv%hJKQvuQl{_hK}0|n+$!U
zp>H<SQw;+OnqjD2X7(7~UPC|6$m%n)1`Hi~k>?xwkl}+O<OPOyp`l-7=$9J$Wrhw_
zOdYD2I#e5V=tk;LRLzDSrVgD)nUpU-$?|0*7b=)K6fgCA;1WjGXP^}MIRt<21@aht
zC|#ysyl@A8P%IC+mpXpn%y<m`<8U!Ue-a*4F?C1nQis~50kzBQuQROJa0FeSo}Qjn
zmzADgm!6(~)vnXGpR=Q@JJiv6hJr6yi$`~zeh#Z&vt%^E>YJ90UM%4hMRH@SJ$;45
z>N`qC&t~=Rz$i`)>)k8iNm+l;C(J5`tCXbr>Z@4&uG&!?1=ZK%bv3{^2g|~?Sk^j3
z&ssnF6+}FvX|zc?qX`I*f9p3(N`05CpE~+9ezxox5_zS$3)sR%a0PHn;g-V{!4<=m
z!j-{Qz*WK3z}3Muz^#Eh8SWIgMz{@d&2TMno8Y#<wY9T_+t|ugOqzec9Er&i76~de
zE@6^uKs5>$xsn@dk$7OMo!=0XNotx|q@kHb8k$*Hx#5x9NCs<pTzhg3*PfiqBy}F?
zPAc<BcT&w?k6U6i+zR7j`a*14EQ0>z;xO)rF$&h>ju_XH^|&L(TpEJSuX|YtSM+=Q
zAz1yUEf3+giuA%TetUl@qbQ8K@-tVg$1g8=i$nO~rL2+&es{@N5|-vL9QET@mvRF1
zqf5E@v@}_XN|p2GEMS?qk@9X@a-VjTZKt(K2c6ySpo86=bX+Son`zhT3_8g@lMZjs
zqO;qx=}7k+TF7+L#!wgSM|YDdLXggMLk4XP;m9_9yerL);6{HGJGx66ErS|XjQd_P
zp-n_Gyx9Jt6R|WL0PVKQ+bf_AHGDfh*cQ~H+_}HuN9%orxel0}l^k=ARZc#(#+-nh
z3MdF{sZ>WRu~p&4$zngJ=vT*xWFJVTSyj1DLlcN~R@?DFe`gJp{GctM;rt(WOok~h
z-YqqrE!8rvB|(3;lT|1;k<m0Nh+nCas*z5weNl<!Jv0{ba$*+;;)kYUDJstCOGK;$
zZTt;0DcCTMg@4OxcJ*N%0j96}CZ=Mj3hWiHBb5&%bP-kf#T4%nYLiQ;nlDqOB$P*C
z+I$lmJ`z-*JZhaZd^o7tw=nBu+%b;Ot;||G647Audk23DjI!*fk*W!O(ExtD#nHPo
z16N>2{3tecROp8~+vM5^g@poAA%5V+FF(QobdCqIxCo|@9~h$J7YB2$;NP&VT->=>
zT^!7T4(UOH`F7)s3F@PPD_PqqEZMmR8l+p+NNwwI^Z|`g9|nHVzy&YujS{bbFSEe4
zY)duW|H6OocnMrbw~*q-mPZ%`7x9~5ko;4ueZACK3{_75WP34#rsBp!P}(eGkEGNt
z@1(PF`hAu*zXVb*FcgwVA$wgpT>ml$S@;&+9-|`LVa+*fJrq=|4G;TjkueiL&qCD%
zk8emXgl49oLR}P}UuA(CSq^Fh34E84?%YC#qn&@(pe&ljiK-(`KpXL$%%l8}C>(^c
zCI1nZL&)B8iv43s2(cZ)uM;tc@L@^>pV0C6^-Hi?eg8Bh{!9AR3x4^MfOw$q2nc34
zZrKW)H2h2oAeagznSOSGy3wupe3aeBcYDv4pl61T@h9pSIp?7mKIl4@SU#$xF<kDM
zU1EP_cQ&id_(c?}U@Vl4Uqiv625C{y52Cb{qG|uh@B>4^7Hgxn$^HkMK3>+u@p97s
zH!Emcifds1!vde8J^(F9Y7(#lb3EemVkDR}#+Hq4#uoOYvbDvp<zTBmiJ$HW+|4^p
za5H|sqvcfUG}sAw0-9(D;b%U)m?p&eB{qLQ=u)7q&@1%23l3RZ0-t4L!8WUXY|B<<
zbgLL!Ps@SNGiPuutaO=KS7XR~@G~7$c<8xz)^={Qza|Ivv!bHF0Tw`~-4*x(+bM6^
zrc!rY1Rcb{{nQ6H$~&Sxr)@vL#__Y3r?p9@ioKn3QNNhgq;a&)OEUeM$#|EEpVEJT
z4ma=IugZZhv7k9MzTF>+=YdwCi06U!Ane$Aya_pQkOimtk4HumXHt56uz8_fNPDGe
z1kU1MYO`O+RzWbEKBUja_t|f9{0zF);8c<AFC*LZ%SKFEfupx~WUI<AKL($)494wu
zW!wQ#K75$py7hbc|Izjy@NpF9|Nno@-tO(4>giP6ZP}KaBxChr0>Ltt3)nKYsYcS>
zNjh7>4NEo{k|0bEgc3^Vu_+0`)IdlNC8Re?3U(6Gd-o>cn{Pr${ChvMyLTtqK)$d1
z|I%x2cV}m3XJ(&yX6Bja`8<n^L!Aq>BH;q*rH<it3JA1N@UsNN3QA)jr-y&C7iFZ*
zq>Ga9@0o;ADbh+wNLvjBbuSyzI(Oo2!R@kpgD&Amr|X_`MUdBs(z5tka8q0rbo(4{
zE|Lt}ybN!YClBEHKzA}6AGn?DW_eGhlieaud!6i7$=vN^v2<&(_iv#un3}64(bBI3
z`s@rM?+>PABO0GG0X0j<<>G(I075#zK|5=D5XG|<opa5(XbO_DRNDF;*|Mf(o~C6$
zUUQxZO1n(QHvmsUS2V@5!9&q1x<n*GdwtTYUUY-R5b;^Bl+mR`M41`kJOH*hGU=Oa
zKRqXv9+~t7PCp?Jj!gO#r=ONOk4*YJr=O9hM<zYX_S6epzN}jj?)!hmV8@vOny}0V
zKck4u1>yz6fcPiQ=FWsn-3vtLPvDX#icP^9sgUyuIaLLmLsYp^i?@AgxNr(B{-((e
z2ZhJm&UfWVUA`wJr^TuN_w_0L3fDH0t8UTGD(6SRjw*TN$HD4nRD5E`xduZVx_{?M
zX(x+@@ylL|GN?hmpU{6??UNMNS#xlBrE)-o=-OCiZ5-)R&f2Pka?X$vx{`X)b*$8d
z(+sVXeYSP0Ow|<xPiqtez4ajIIU6XWyNP?IoC#P+XV^Kbq8CYh*yysW5;o;K+b!Pt
zMrWaO&Z<He2M!dpbE~JsOFKFZPS2~J5ifI3H&)M#Ptd2Rznp(xWmQrcnSiAwx*mGh
zIW_U_n)nGmde=gdJzsJyGft9@m+2$Valw-X>eUlV_;UR!y_5~Sy;#4s(G?5@8=4w0
z(-W@;!Tw(Swzt-~=C#dDb!l;sC+ZBgfGI2Hriewr&efQvuFr(ly1JNuBPlCrFS@BU
z>PI7K(2?Txy`g^;h);2hz*4e1lOE>>wXMZjw=&PvHZ{k@1XA9d{XkuFZPbs?qz0uq
zl1yyt)o}dc&!E28vqF~Vdp!XzSi`L?BHqbr$MG8%x~<b27p-sS&Y-@j@vQ$+%6Gi4
z>+N3536zZAz3}k(fjh!Pk-Hct0{A&uP>#fzb-CCgiXlMaT-Gi88Rdjo5S39eB$O2>
zI?f)408~qSF`<+&fiQ_Mg)ogUgD{gYn=o&_vKD|1$Tmo!I_1sxLqhtVX`jNAc~%^M
z8*8ZiqBbnX3g83)V8XME!YE59E{b7Hm0$zSp7X-V55x=Ok^K+Cv+$GX^6*NDa^~$P
zE+|}2C)fKg?$*nUgfJt?Hr*?|eU@T(pCzVy<6bs*kJB4n5CE)QJ!@&*6N~<NG&mG_
z`Mbu@{~9lR(s<$H!J*fJLw`1h{$veU{XR7G8++(yk)a>t4jsxLI#@XLa<M`Bz($QL
za(2hMQ)i6Z>Co?3oOy=}EMl!&vSHbJSMVBXTe+cIUl*-kvU=_5%hq?VUAC^fech7P
z%l-ps5#-l(lWbQTe_JoYdJSnqZ*3fpYJsnm)^Vs7waxXl<MA+RTk2|ZGOahhk7sXA
zrU4`x8s4U_*R$2}|IIFCreySUEiBH$QP7fQU(D<q@oQ`8!JP<T2V84ur1%4{?|RRq
zzu&dkCiXb;#5Wg%riFq*gwR>Lxf;PDBJx2bmRomB94oBPe-!^e5Y=bU0><K2WL%rP
zosD^j_mwYOulFk~Q0{gPh7&1-ixfF;b7DXwkh+w|B0Y@5;K)mf8NauYt^KUn$$lDj
zurJrWLpD1HLpu_^MCS}paqu$5u@76{Y3z>UTCiu#(tW%2!nEDGOW$v6$6la?pwY5f
zWsPOcS_C?K7s4#-r0~gQ?ZF5J+z~S;*T@4^*ga{=lbl!?e}ZjHvJD>;+MH<{v&CzR
z0T^BtczCuYg3W2j!EB?&Hd{HHWt$od&v*y2ObpYFQ+$Nzr2>bSx75yGMzVz(E*gY9
zu<=$47@l$F6a(G~_ne$FVQ4{MGUm!tST9Y%-eK|#OtNz#Lko<VIc&WzV3o(pcXFQm
z%|yg_-nr+5e{)oB9$_M3GGQuVI-#5}XRgYfr^=YJPK@OG0y!TbPf+p@QsjwLE)T0?
zh7c7KF`QA{#%6l3L~x@_#B;zkhco8L$oK?l3S(pplkFv}x{=GV(hewm;)p47j)q{K
z$DlL+h+3eRE7QwM5CV4QI5Sq|xQc*rR9$CwOp=jBe-A|YlH8eFt|yp824$8V){&KS
z8JWz?^$D`tuxtj(AImzPmn@VCFM`M;YLSS8YD64VD<Zl&k-F7~u$d4oEGs@01)fH&
za5eofV_q|wsWUpuIcr%}u7=8c%+7E;!sX)BjP|fGH1idl$e=7Lx=oSzY(yldq$<#v
z^sHotf6>^VlbVa6%sf<oEave`DnwFd&096i9GWJ8al=j<E^*cV19v!WVi=XQsW>`9
zOL=gC`~3Wl%An}}`nQ(Jt#|~GW}W?l{oF^<X*tvXQI0D*s+F_yC9H9Vop+|@m-ex6
zpNgH`X}Ve`92x<0_w?%JB2<_=Z`DGJ<SgvhfAo$lQ45@PZu?S^^{GXv`C17&+RNpJ
z)FSSKfOl5!sGJlyXZJ3Vl|@Kk!t`3r{g^0cNIRnfdPJ?1c3x$Q_`)Kf4!S8dWAIRC
z`LMHDw<ki3cY%j@t}L4`;8u?nMYh0~-_~9$%G##0{RCEt+r<D31LA?i3}+Ava%XpC
ze`*Hmurr38EvdQ+1$rI{Fie|~wDwo@K3?=06beV2JtV(WXu%HU1r%N}H7%@>l66SQ
zAU#M!$e>2ZV5JCO*NPb!%J4_j86wABC!*Q)Ia&adQ4YowA+52OL*veJF4K)WlW$Dj
z_9~ZHM57jgWvU)i28wf)O3a8psjCM{e;<{lp6^p`MbUDDJ`eC4yIdOM2G!mm+Kq9G
zw!cx$ag=EGrW(<_iwB9qv_0>U3PZ=_a{U1$j*nC*bboV@R?ZoURD>T)h95}gKA6lw
zfh|6J6hn8Y5EXM2n0fnXMR5PV1nt#1D;XITWw$%js#zw)AjXa)x|2lErL^%ie_#q$
z1Sc%hjd~BYKnw0(k(EW{+lx$uPwz{0k#kFno+}M}p4KrN24=9EwcrRKgK?C3M}fIc
zfO3tlSfP_d&ktR(sED}5Cr%hJPPJ6BbfOD`3(Yx0udB0ytTQ(Ui7KiHNW?;Gp}8=$
z&|Vl`7+ILJFn3|z!u*8=3kw%Ue=7oKMZ2u3%>w71rSCJrorjhY`+Uh);gQFghsruj
z@SMHfYgyBHaD$Pf{1xK2DrjoXCM*`MAAJZomwCsdUo{F(?*QiquQ}^CbgW&w?9_^J
z(@^&ni^sk~mYRV)|H+l7p1!O&eX*u{?YfTTAV9C5>c^eEWaS2V#p%n=e_D2W_nB)?
zWe%J5-X*7>zU<UVeqyGt%U3U315jQ^_p){CI@Xo=cTQV&ZaT8ak6hXzGv5u%PSxs6
z$I(@ax{lb`d-TAo3$^A?=K9U?noC`Twhc1r%A_yR8fN1ni@Whq*q>q=vI;E<{UOp0
zYP=Gh4sNx3BgZY0fUw!_f9b$+=4_TO=lF@M#@s3DX121)-H&xY(D8h-M7zN)%1&fU
z#MZ<PZ*7~`J#bM!-bVC$in^Ido!URpLp!<N4Z(XG99Xg~v1QLCtf1di<w|sd`YymT
z2q4nnMX%YlHQBebL>F)?GK=>9oqn}LIGF+C(w}aRubIC2e^v!6f08;$v+6DRQ<<yj
zYOh0cV~@-Wx9=J(kR&=n`zX?v^2B<*6(7?@9g~CGyxCb4>O`45-0Msx`TD-r{h+N1
z(pUP0?#;D3`*!!^l_c#j5$8jE#HFq_T7LHyO2o5LC_D>+mL!@d|B0l+->QF0ZL-F?
zmhlUz#^#phaSN%Yf10KS4?kV%MsZvPs@mqp#+Imj=k}f3w+bN(KR{~>)vgKt2k`Ym
zJpA-Ye*B6J8`io_?cLFzY%`*oEq$K1nhClo+}mqiiI4uA?zb6}bh1t=r8_3yiRoKw
zJ=Zbb3o|#ym2rxG0;Lg=OO1PI%)N2Xx%lJt%`GiBq(W(Ge~12hC4P-{*}Zp{rVEuF
zi-I6ENJ-xiB9M+!q@x5y+mCT+!oMm@a~P?7U$2*cvCBZl#7)V>@d=lRf1-4Hw=J?8
z*~@5>E~s~dg%t})@6OEZJDT~q;FNTCFGYEF3ayBPh%zB6P+kJJF}=)>+tA*<aSdG{
zbSAB%>$h{fe>SKzBJQ_p>sy-NS{1LMp`rfl|58ZjzHHoJ%j*5jm1qP`U8@VN_QnSH
zD;4|En(?}E0-COqrsFbSPKyKH5;QoZ%hp>ew4yVpadSPj5A7e-=SqFUl4zZ97hj>f
zP^Z__q*Kc3c$2Tvn&%07^__^T>Vs+}vIh?{K8;a$e_Zi!T8^xR8@Ym9H{cd(40z|%
zv2um6pZo1)3;yaIwJK2{9-}nssXrEJ4K<%<2`y<^_c0RWV}#ae)xiq?+hmt+8H!Vz
zP@&u7b+55Hf_W&DNmt&2WOs`er3m_`3-PEwP((h4dnRmEpXD-z*d^ZRcxEh(xZwE_
z`8-mAe*sU9qUHYP=_}7#maP<5xHWOHtEA;>!j@9})BAV#N$a}<3{F6LC;OGkZW;Fj
zx%zo&!H}h8BH=9_*H5eJ*^H`;w+Ywz!Z<-oMv#~R(9HIX?0Q%`MtjmLV-P24S?<rY
z<GZw0-dm~UP4Ph<DO<S!NiHtm+1JxY?R(2hf65n?`;=c^+oZu12Rscts)$xzVP;6t
zeX-D+TC7f7tcU)xao67bB6sDYj&jZ2%NKhZ=UP%#=<ziFUZLOQXD4=U<4Yi|>II$|
zubAsK^{(uVjf)vrlRU;p!!(}?q^)Geu|y<cei4iL_?`-?Ppt!QF8mwk-B|>3$MG^O
ze>#BPoG=TdG)rB4W~Koy+6-D{`4*Sd(s-JSOR@{?mvzeVBE2@vk&PYKeQ{Wl389Vg
zbB!i8r4<?IaW<ijztt36vTXhMNvF0N5DMSam*uD1Kji^WDm~U4ojX?Z3Df&Z1-o`I
z-1YfwK292aoNcT(@%No21wO9V?~Ip8f7dZ&?x`}RUeUK@N8e6Y<{$O;($Ymc-sajw
zzn{pbg`=c<i6?ju4qiN{wOC{8`>>b5*SV%|-7Bh=CbkJWseI&edc@-Lo}JqV270$|
zP4sUoPxJ`zZ+UOuw*J1}#pWPPFi*ObIH0DBEw-w+4s2SSlgX|oJ3F5u-YU<9e>%Im
zj*jx=uEFw^9p!zZt6N<zeQ2;eF;Kq4ok6<srerw@cI<zew!YN%of$`mTZG%<=rvdP
zn@4duTefckezY&ue{sG%F6Vmgp0lm*BA+UCdR9ndROP4eB6O=+1g+^qWqH7zR3^4U
zzJ0~V+}p4|cvi=$Q>Ab+6LcR;e=)<B#iqLmlMIDJAMaj}zFv^<7ii^cH>@v5M;H0E
zSHx1u*c&n=S2vFWkH?m~e+95wm;EfIMgy{rbjMOlU;8d3k5TZ=2W&P&7-{#6IhzLu
zaTqC|I_-6mt>!Fi1;#E~d>~iI$J@wGdq?*a`U~`4hhAX|VD040<@kwbf7Zsq82sNi
zb<M7K(ZVt`%jz~)pA7U}xNX<g!u|ouz0>t!v%YVzKsTjc??{28>B}~6!$6m6j3;=F
z%4?IaIF>JE38$yPf|`$)+;^cx-Pc>dH}U7jFfV)8wt>z4sX^ZxeXgYSGRT}KF3yv9
ze-FFFPo#^~?P37O{77M(e{PiQ?Z^BvX9Jv4zI-1pKjn>bt>=4sy0NnN;z$y5)!#<X
zGjw!??po;%C4E8WAJt$Gm-9XsKsmGPe!LBLAwumqNZPiISLlq>Gh?4V-J-c|m$*10
zO`vNh(-cu*7dr4~rk<%pp)Ra+71xnjNrp@^k;f>lyPD<&WkqF^e}N31Q8vHqgtFSQ
zwz4hZi}aSutg>s>ge}%}3Y_4wZ>X{#0tl-L3Zq4KUaZ(C`2&W8zJj^(cU{D&Fh_h5
zsXRNV-Ex|Ga~}5>o+Bc*=ta$Z8s2_vYm$wgIeRR&yIIdJ%q&qjS3Y)dc%A?Uvnhj{
zPBhOW00%F!b3hFqe+wC`nr+o$t5#brw$+KYLJ|EWTb*nx;Db-GbC=i#TQtjUW2N8)
z%f`$a8&R=3!&d8Twcb`6Y;~rs&a&0nwmQdF8bnx~Z>vsQb=j)hR&g7ZUT^_bkF9!b
z)n}`etv1<ev#t7V^)5T_0^8VW8@uiN<#s+klJ?Rtm)hYge>ixk!iJ#qUZZ5|NI->e
zAPBIqhbnB`%(*DHgD#wlg1d1$K@f(0Y~i~&N6p<p$KAM>fR4KX=$V0@d+-5{4=TF|
zeRl(ZVFMJZ@Dm(ScsEdZH=ZUu!=@M-?*<z0xz8y(<^vCVK*L3!=bjHX{1WG1B7B+f
z6~b2uUsHDJf7cZs?KUpHsqB((ar`y`^bKQ}Fhcka;T6Im)at*>5hHrz`-E4OUG@Wx
zKO+2?@DsvMDe%uY{(|sJ0vh_puL!>;{D$yb!tV&b#~c+(GyaG&KhGFPIFdg9&zuvA
zUgP*Tj{o5JFT#}uAkKuV3D**?BfO7r1L6IIn+dlNe{Ln*Nw|w}H{l+_y#^JeVv+l}
z_>f#sv(P>+9wa<Oc$n}A;iH5{2?q#|5gsQzLHGhCc+#*-p5pvz!p8{D5S}G`obVjs
z6NFC@K2La_@B-l_!WWF$S{A)=DS9c0x{Fo@)W&z8Hgt*FIQ#UWk0`aVVU5@mY<&0H
zp~pB}f3MEa#~anUA@smD-l*1l#|`>;y*g9he?*<7kMBNPA1*rw+xEalHf=VZM>wCC
zd`5NZTc1%~91UZ((arlV#TvLFK6L5j25(Lby}>KCC3U)OJ?^1bA8u5AL!aR0H&trr
zUV|n(s5TAVZx|cD1Jc9hq5Z}KWN^FcANm5Xe|=ZL+?ZRKKmUTEuNYr4zG!^ekUED?
zRm<85D+sFys|g*1jfAb+)UxgB+^H%s^Axs;G7f1o<_3nC8vv$^y+J8x&fr0VPBIBa
zGeDu)WGw>!nIGU=igI$w1A&<Va5rYNDMaL)KwxfQULY`EFra4#*uI(_Kqt`%RLc(=
ze~+^T2YR;PKpTPsZ3JrNF;uyY0BBMTfkyd3f!YW(W1|shm2K9*V$sx5C(1Uf0Rpsn
zl5DaDPnOM86BKCs6!uh?s6eC*ONXT(MV|^%^fHj5+W{O}4pQ_AkfK*E!Mec$t2K6-
z3KRqBRkB(IO4ndY(V+qp)~dk7GgM&Ge>%)F)~mo2JhV<dQw630YBBw66_|033Y5>n
zo<f=h&3YGO+6V^O0l`nMZ0=fuG;M@}_#razAIGnDQG2et$vazX7Oi3@XGiBs=b{dr
zdX_sES6>)^N5^>vUQG8?55(8Hr<YU@#?Nq1FRk7cU&pEQ?uw&bO;w2|=RIczf4Zhr
zC8j{nv<O?^k|U6kmn-d*cMiL4sq<H`xh9*ydQ;d>@jgGr^(xi5f?YJdO>D6h_?3uc
z0?4lH^X-xSz)NH+@KV{cdbjLey+`%~-z)opm&tzMkdnQ?%Uwjs$b8xR6HL93>}$^N
zvF9J2ufZYBcoVy90}IucrfkO3e-eaqzY+?7Fn$pX%r!+v>U1+eb9_+I9?^H2f#``Q
zXsGD_r@B0RyeOLW0!<ZfOm**#@wMV{ECSeTjW?$fxc`d88?g#VC3k_r5dl<s&TBz7
z`U>Wdun`-9R8OjR;7~FgFX8edD%G9pOQjxQHxR_A&<M5zd1O9<4_Uc7f1os$W8^_L
zr;}Vira(r<rx|t}7$rQ8`nvaY(t6-QOeS(LEJ$riZQdo&ZqKsi$eTe;mf{NHE!(hY
z$#FXRWbAgf_2*H9Pf!G^(%=3rLv}VhR{{Fmv5LyDHTr@|To7+|UX)UhQz98}mVaQL
zQwfO*JwR#p0acvXlFUtPe~ssKZo>qj`Zg7BUbW5W*skJvyy0cukj!b{VYpZk7siW;
z{4$a3UbgRaV>J@Arl;uF43KbuZU%Z}6hj4?t=M@5y9hSmUr~C$yBJJoyu3wws6vi&
zm`@X1!zqg6DpsK5zNb<Hl7jwAidS`;aEPIoL6LHtAF9+Kj&x}$e~KjuVLL?sM5T6R
zu706XySYl@)YthH4-~^=oL_?&t}%tAuD?;$_hI?r*46nPfELq$+yKbL1Z<fva}jW8
zf@RBV@mrVLgEGF4;uA}n2Y~AVlNoL%h6skPJzK8D7$cy}8x=sj)$v*6^}nipwR<}%
zRCEbO2&qeT#_R-3f5y}!eo5-m$73PgT1Va1I_kI9kgj5vuHxl}5OP?aD-q<jC(~_m
zg)y#8=or-e%5e`IkY4Rv1z>Wz*{(4%4fQ^9DTeQY_UyKXa|39+=@xsxk=0_lp>76m
z_djT;n+@Giw}UU8X{bA}DR3KV4PU9=xzlK0<2BTkQg}Ymf5Qew539B*h>>pnVMDt0
zX70tE1A<u`Ur@-9(%At;J^`k&!epaDxpdg3Q)y`D_`-CmPv}&iOs7KaL%&BGQ>5SX
zdHo)SJ(!{;P#J=i4?p_|+uGPfh}yQmqPRdP-!kY+l^Tb>>jZ&F`8El38HRyqIY=F6
zVLdU=MYSKHGBxX~@FG1*Ol?)7*7=U4uB%GaIj<P-WKjf%ksmTT-lMfY<n3GCw~H}{
z^P_QZ|MB>fzHAqNa96$aOUhW!OMm6P)Rr;mVNvIx&W|!E98m|fGP~GifCYURKKy&K
zI>4_+(fxz5JU-d^i;;S7Mf3p2*t3-MHF=pdlk-1PM%_T2mpOkkR$Uety6kX#@+ig_
zq9xNYq=NA&d_r)ZFIS_9K2HB_q<YE|dvUuB5gawDKc--Ra#uhJnk`N2ypn4yH6-dv
zr8=%s%6Z+0wrUd`{BpbYJ_4DvH&|imN8@N&T&ut?3NpJor1Qmw<5Sq+=sc$hl(#%^
zb+CdVfPz$iTE!=)-n*~*Giu+M$F9kGY`NO=wEDQZPF=%<L3DQ~xUD8Fg_cP$^*+^A
zU6rVYkRpPAjJsb<1k$bgN!^}sgj<8D8>H7)7HO7H1v|JwJx+9tsU|Se6_zF_$o}@A
zkbUJo4Ka*W0<h6l_}!Lvj$cSl_XJb#ha1H!9}wOw&Jo0dLn?M(up;bM>_s&^wnq17
z*9e2rhy^&9So)<)s?ijsxJT3%R4_0TMJ=*?G*}UT(v4gFa(0$7G#&`b&^R>VupXtJ
z;);a*9q(dl!WVrySp7x6<uRfPrfyQBshg?sGeJ?D9>r#)lDJ*BByLg|o<K+%bLdk+
zAtc?&0Hbz0ncIDX@FiZ*?S9NClQMYU=Yqm4GlTsZboNH)dCJ1j<@U53=Y?SE7HN7;
z+|h@B@#@83;uhEVEr&)eCaW(<Dq56yfT+D!M}JO+mpESzrak~fp$Al5$G5vxJziN9
z5hg9?6@kZNkC3t~ewzZhS~Qs|an;ge@`DN%Mfygt{SFoA_@GjNjejdx5tOP(d%+eP
znQ`1Hb&~_t=PdcaK7Q|#$h%d?Ju0kGuH7boI+$*vcq3hVI4I0!1W0OOHl20OXfRa=
zy=aE>U7|IE_+Gk3j9R)uUmZ&kxk3>y2{_xEQAGJ+k0yTYcev`&Y?{#HZPr((-9WIu
zH;d>O(OCCF0)KFc{*S>5(<k~rX`(-2pLRRaxybozFtvzE2u*0Be=V50Pl)~mP4q&4
zAJJl_Awq|L^XYKZ`Fn=U{_c_48(C!buQZwcJKcuPQNLw$t6Xl5C9@|qne8=?M`l-=
zW610((<8I1%ru!@ZH_0iYbBLOX4j(y=MH5oIB2dL%(o}AJYArhK~i?-D)~Z#(9vk>
zew5#CHZ?oB1-Na$Wj|mFJIS={2hFj6EqkYVOv^sxlk$BU0(l%M-*0A-@;;!RdHw&1
zl=n-ub#H&b^n1G|<p)h6<%a;y_DK0*GegRc60J%3K)Tg@QhvhBaCz8p-Z5PISyQ;Q
zpu}-I-^R}3Zg1?nT919g%a5qTjDXmuHaed)Q$0f;66{-$viIUQXAcaEf$h_OCIcHo
z)~NFt%8=+Cbv|o$?Bjzp!?r&s?VQ*zqt**1gA48-IMH^!a{EPn`vEoD`5;4{^OBi*
zNXd{$$`r$4>R}aM9$&HQL1iUAtfEZ+Mx8I4<(v;YUo%s^qp98}IjI!NS^$>Y*G)#^
zfJDVs!~8FEz9D5By6jMVBKE+4CIc?)wii%G0I2tkR!Lb$%+!Z<sYXmeBOP@{C1Rul
zsYVn|*13EHknN7;qApwzq=_E$2C|=zYa%N6gLDG{p)C!>5}v-8<NVZ24eILj&+GW8
zGMu0J-^%$pfbhRDy;;g{C0ZDiZn@v-rr8>A9(8_CRrQMIk7kMpmTQB5hen-0OF{V+
zqv%n=!N&E^qb$#9C03=cnH?)+B2}0}q5t6(`fB|}0dVlX>#)YhPGHvB=)CTgo^{ec
z&D3LX?-F{EF3KCaD39@l|1A}h_G|<%JH<loXfeaq$Ox#}sf)=6*xt*njwh57gzVJC
ze8DGG;Y_lbDEQb<DGkYgIMKPv>cIN4vmKc1@{V@pyw6(B%KHYZyyPUE+l}emZt`-w
z*?J}ZF*U54^A<}t=b7=d<LAWJ$IpsynAiS{iujnRvL>1Xw64|htdh?bl@{<RTZ}%B
zs6VA!V7_?xXaXo(W_5R2dRBKgrD+5&+b8$?ESfeZA5%#7eoH8S`s1t>LBdYSG4+7j
zzl#s@pe2;aqaU%{rnykl-~mh1;47ofV-~GPn>?;)s!?#Sxg4%wY^IfT^nN`h^y>-!
zwUEu5)f36mup^k*^8Kjr)4Ia6<Hu=7EaN+uf-YU{sE(z)>m|yzSAklMf&LfuISIdH
zbv&npNVM7R3>oErSVw=|l67>s^9_qdhx1L#6PS=JCM@J8kCqP8lC<4KS4El+JS-o0
zZ;VdE#fbjG@yXuZ$<B8&cPBfqxOeC1#B;!??)U`!qA^y>vyILV-Im8U$d7c(>xu$F
z4Sh2c6QF9B1N=<agK`y1$2`{^r2nEn?O(H|?Wk7|$3LZioZnf`5CrPf`Mp*BKL90v
zTJ5{)kn;zt!agh(|D8*mKUvlPtK!xBs{bwk%G~c*A|zBIP!o506?fm@x?AuU2KoiB
z@q*W^7+S!9TvxyDzd$C8e*-R_FMI`aKX)RI%!BFR|5~u<QE%=hSO+!0T+jImL)Jem
zjdjrGylz#0{}Yr2JuBmjzM%_PlU2Z_QovG!0-ofyz#F>m8mL0nZE?UzuL`C5hTA`@
z)KJ4=z^~_aO|ME!@9YrNYgs&A50vu?ERW4dKt1eDfB&s>c|(cl>Qd=5N0kV$hCob2
zVr2*i*^8F;5p{)O2ar{j_ke6|BEkaGdJ&ki@e&PxXsu_$)112mqFIB_k1&6eS?66L
z!43u)HI(Y#g?j$q<l_EN3fEo2&qkaN$$9(dmEtaX;SYr>j+P8dqK}09DdC9B2$5Ie
znFI+`h@9J>R|e_9wZ2UrdOWnqIKXcV5eR(vnGo}XYlwL!B$Ou*)}a-kR#zA+Nc?Hu
zkk_w&-~D-=*9*LxC6)71Xi>0)*|hVrq>NuU0w8s&ze4RBmCCfgsAT4Xa4UWx5~>mB
zEB?dnFG*o+=c_dM46sa{uZ60wH?G2}Ltg$(AgCo4mrEm|c_lYuhhZ`Lg!GJM)GzWY
zevw~si+orY`TJgxe<VoYl+hk_ejG}DLCfHOz`m{st`LKbpNHCCmQOC`4!;PM>ni+4
zKWRF@mqJSMac-bNGUBznHB~r&3{~GKg_Il|F9%jV9SC$@)70`mF11X+HK2jbxt<!o
zq1mdtWWEV5foB`WT<3M(`lxRDe}+<DRPisVYlgn04m)pzM%!@4c1_pBs>DRn{VP;|
z{Q)C>ddHWQ!PUP*)wgA?j)tmlH{#2@dqZ~h9Y*|A@9J{9`h!NiU9OzHwwLGRs>Ebg
z<yY8}=V?0SWamm-^7OB+(z%@C-Md=n@=kp<-MJQ!YEz~Y({^hjxz2;k?rZ^tyCS%%
zMRhe-B@idF%(YY9iEcRqhr2)V6~+R828bJN86XnFU5(C7n5H)lJ2%^@9>iT;iLWwm
zxy6=gQ1N`4Wy&zH+<K}rvjlNkd@{>>klrOKy}G~CUOw#HO9pAFz&;zP!0=e1z_7F5
z&Xx(>V|%b1V`Ksk+7*^OcpQ<yLw07eIBmK5xp8Ok-k@IHPZXwK?tW%>b^oY;o%)*6
z_WRBO@VW(F02VY!(w&-}?kPL<b;PAE^gxsIv@PiGt_&|ma}2ufmp*2D(|v}VkK3;F
zXR_o~m7Uk8X=;D*D&XPX8o1nf!FyziJTldNguz4v!e6u*$U55u0UQQO5vNL;GB?e=
z1`Xcme4UmZPJBb|PLsQ(?%n%;<u1qz2krK6E8&gPg~7hly}6&8?!5SjdH_yHHm{J4
zJ2yULr$%J%By&l;F4&0?!J>K9PK?SsX5?bn^3ybn6)yT=UMsl?qh%k8-;eOF@<Ss0
zM}p)0!p)jaj9Vp}Rj)!~?AUh@DvM4NLd|o)+<rv`I8+w#URK|NyL||MKKs}m*^z&>
zQ-?E=$U_mPI<MIxPd%`k{9<3EGIN0APMz<0JTX(>Re<L(0xyWqNuBRILNQa{Q@eM^
zSi8f$Ubp9#JVtZLO!uF*Oj(8|90Ic2Wp5)?;a~KQxk)qieT2^ZFc2nL;oxiUqYCk-
zhi+8wyf2*U*~@QiF1giz1JCXA`FOo%^oK`A$?S%3hR-LZf$j>Y`X?dl;q~`~Q-fN*
z!Pnmx=Ig_>9tg`~#CeFl6}|X#9u8}dLgCb_YF^0_*sck*cIpQdtNn)vBYs2!Pmi$~
zM?BctKTw^wsS2#6Qa_f`|5(jib(=CJ7572ePP{6zi>H7Rr&`{Bf{%wt`V;y2sr>v5
z7@V}+g6p4)JmbNABEirc<LR()j4kY4m|%6gbA3*q38#Lc5^P>@{;ZUQDfTa2$>7Js
z)t@x{-3o3$7w-5KmHY$<-!imAY2~@$fbqMKOR+2qpsP>oQTsER-acyxy&YyuFMovz
z5<@q$;Lp=W2l&;0v*72$G7El@j{sq7N_;7t>K-@*fqWsHCJ+k(fhxd*5d!J-$i{*`
z?$|A{oo&t+!_}WN=zz|b!pohn%4g84+^>cGRj%`OiA*niUiDfd8v7i><WH%Ra2RO%
zXJMD7J%Q6DE-{bU74R<dq&wUZdk;jB$2|QP;nc5Xp8lJEv>d7Zw<<Vrn2!0&aKYI^
zI!wlX7p{IW-KL}LXZ!&a^kV0aX~OvvnCh}o;v4}hJ-s#HgprMS!c<t;U&633=dV=t
zACz1te;xRBSL()8?4M!jA8gN9&e1T9S6Re*1>7s?QN+aNihl?iekdY+#*#i`rG6(r
zP?2;P?VEIeZ-g6(-@C+cMWp&=1F}lG6G?KuGNP#^_KHj@oU0;fQn#F|<<>EzZaLRV
zyi4kqkh=V2NZoSY7x75_hDa8vTRcQkNZk@r*M-a?b!#lCQ<nEf(v>0g_tkz)-yo&A
zCHCq2rbsq@Th7f9P2aafT>6eeS@fJn=eCH;N)kzb=Z=Wq!9PeUJ+qRpdS@i-t2%c@
zTycpOtlS+D!OGvm8S%M?V8w*}UUH)%<HpKYG@;xVVXPeX#OHkSeGwV8)W3{}LXUt6
zi9~#65V4`QT}5p8Mcv`Pq&wf2b+`Kp1IWRZz*6Nno2wEzqX6;s1H?DdRp7kKwO^d)
zT!7PmFgV&4y_+rbq8w+d-p+Q<x9R<C&O2v1+bc={!kKAwl~*OoDbEhQ8O}ZDLVvS+
zr`w5~fy}1&tN=_w#-uEB#;LA3<GI8>U-C<4K_nRua^or<jsZJ%ak#POK7r(c$_OT8
zE_CVqadwLCvtxkE-Df>xw?Iy}Z;ub;v6snzTbWFOiqjkfuKE}x(_m{&O`hb19Sd5w
zgL~>k=W+3(MHgLk(Fuv(?a96qdbV#}1i*CDqJ&0H9q8HFzhiJw3I)r}i+1eXe(@dv
zaT@D#QH}HS5Wt$2TuksX5iND~$AKgtZvx{fYx3B|d$KV*f(^~BZ)p<~1j}OMe`ykb
z^QIpRvltI=TN|&K+dy3i`|XcK1`Tn7R=r-V3tm3f3M3l}+Wm-cZwcZl-iO<FZPRUT
z3OcUZnS&PQ=Iy;}cz*${+i}r0zkz*xjeJ2}2p5!<mQBzKfaQ~e6H2X_;aNrw3Vt5e
zLQzKR4=?~DSJeE1Q9Bs3%@W%xvyEwgqT@DOV0ZH7+r|P`VNiIk5gM9`x=Fyu%`eCu
znmz-X&%bgWztJIp4g;|v7LRPU@`sCpaD;#wVHm91Fz^jwUK&P&Fg$UR3Qq>(79AQu
z2~fHT%8$8Jlx|F|bYp3V(NF?JfuNm0?ZylzP`j~!69}ltsU#2C5e2hQQAX{5DMtkD
z75@Xp8U)868zl&XQw};4QZgeA2H94VT{luv!Xt`;$Ag%IPf6s_e@&5zbi23b$UJkd
zOf%;(qRwC+Gw8`>f?y%E7b3M0QD4xRRXLo>tHNOaa2(J{8JOZMNamzdC}(au#i+A@
zQdlrFjXy>y7`k*(W**AU{{;PibXf8qb{3`bfC0>8U6;Ped+ND4;xv(KNLpcjx^CG|
zES4u+w{2u77o@jgt{OdP%Acn=`S3V)e}ZsW+Cf@3&E`BG9Yzg~f@{tROq;ejqFLQz
ztnNuRp4CC(=oq8qy=g!*w_I(neev{Q@3r%Q4ca%u0<X#S+3?kOo}Dj$Mpx^#b}}lw
z0iSf=l6|!_)__2=L#x|vkcT(*nYB%|En*>}BbS2o&HGn_Rqb1?)YUaLMtZkjv~7UC
z+BY77+_UX9>p=W38;4HrWoFjb)VGc|Kr-v=TASsyf*#(cF{53}B(ol*{qd;bW_?Rz
zZQ<6w-u{Hxf~@V^*}uJiR}9Y0hT58@$*CO!r^0u4^!2XZzO8?7`%bFhrZF4po0_K`
z?|#}Dh1t;3&;U}4+bY|)wXa<-nVF4XcugAEx_$fLX05BN&7!kzx7OB|xwg`$(l{O4
zbo*%&2D7QYt~o3wT+)taQ*&!e7&`!PK##w5jlneDe8_CBZEScG8zQqAf7{#RTFIDr
zPpEk-QyG&wHNLe~kcpwH{sQAogUr^tmKx7O4kIa)|Cb83yxH1R-!P${_U*?WjT^oJ
z<9bZ0v<ki1+S1%m;@iB7_O@@;V}bS7+A!sKw>;Y(QZzN!O!HH$^R1vH7pO#=TH&>#
zrndeVrF)_qYFoys=8H#*f7%Arzr8*}Nqkjtab(d_kFA1dxh$Ie#I@Ady%}`81^iT9
zjg1A!%5ACbT!EE`<>aPQ`;xn`c&=}1ZNzrZy~Kw_eQUi=EGAtRWoxRH#F{j?tZ%K&
zw#+LSJ7@7B=I|3Cerh%ZKp989Jng53u>fWA0$YtkdYfb`tv{}2f7oiK)*PQ>tNFG<
zVVoRJu$8MS-e4;rf>07iLmc&Rbi+{$Ut+7JwpwPZ<u(xED2A)mw(1bAa08X_GZ|Sj
ze{;Zk6Mr~iLN1|@FdidrGI3K0(+TB-S%eD0T*3lE6=5M^5uuh)PiQ2x5Ec{OK{%Ok
z3Zac~DxsaQf&f^fe|0)x4Ph-|9pNlhSrugTQx)nIhE;G|f*f;ll=$MY@{}?{r-0i7
z(ofhunh}mhP+2(~gFzL_<!A<#op(wgA2&VW0*;}eiWExvkjja=`Q;Y5`RB#lV}3FD
z&r_<Pg!DXLSW0?3sG?==b<qT_Q6`N|bki44B0dsSC6nF!e@dsE5}2A3RAtlL^b@AL
z&rh7;UQa5Q_XpMFneK7QEcZBdwtJjb;pRJij(eOj*Uh(lo_m}*-;JNOz&*}p*s5gY
zR~13d+;K{e^sL+6;VWx$Ugb{C1*r1*l1Ctd<BV7uo?%gzxtTvHpX1t{1>SNrYG|m-
zHdPyMhNm-6fA@#h=Jo&O#PpcLG9k^?_8|jI{d)#o+ymc2$Ha6mVQF&`7h0_YS1OUM
zJL)mH2OlGC+$1hg7)Q04Pb87(@otN~k50$5AG|Q!DrmErv;l3-k|j%ZyY=nNLZpjq
zSno%QyNI6d&2>!;nD@ykd3$FRB4bLMJ->eobddBMf7qWV_=p=8T*k)cWo7`5!h99`
z73Q6Qf=$%8U?51sR{)WmW(TL+X1U-<VwYl6n8Fhxg}Hfn2jH(j4KbZ9DlN;C{S^0)
z9%j;;OlFzT8$DF1B{Dzd-w-OqbC#VSP#+R4fE@6aWX6bE?-3k>^HU(xyFyV|X8+=d
zDiQ$_f36*mD4gpZ5d_~Os#La!$}INiN-F{hK!%2$N$pDQ?#Yb<8Z}v;=EUt`XNsKS
z>CP49j5u>r;oZ(0?QIh$fg<A&(D#V5V3i$Ok<4|)N+V8XDzaO9T(<l~VdsQZmbD_8
z<0n~^%5jshf#K#8cIsD!NRm7L$wv1{9i5fBe_5x_ldbB`F@<TB!Z;_FGvS1{xxG~@
zh99rD2HoCj=-zrJpWryXmHDOapN5MA6!@UZ%YZ`k?Tn2biDcQFt0y(u4(m;D7D~Dk
zTd?KAtz1^p;w8t%{U301-W+`AZE<`4&rmV>-58Ul9ixo#@T6}s`&q9Iv0c;0fFJ3$
ze~IrV%;Qoau}|C7XX%M`zPq9o7gE@&h1`~wIcvUvc3{)*#*D=Xcq@L%9J{s7gZ6NZ
z|2-fLAMC}fudi>((EuX)W0(y!%{5v00%ikVtV~cZTD0dcFHKWj>lnvh%!g}h@LO}S
zYn5j<w6?TnkO|Dj+Qt^<#&r#5V{;=vf32;p8TbdYskXT$8?u0@aBa;o=IUk>xiBwo
zsPzm#P0)s0)4b7au4!cnz!Y=+mVSXJSd9^}*<9D!Qk)g()0o-ZSXVdJy%`f{N+lCK
zzQkak+1%1p>w6wETWV^X#=0gmTk2|ST-*eJjaxOcfXRZR$wQDZTbem{U4=1gf3B_L
zr?u4`I<!IRfZ1A8-&ElD1V65>zQ%RKr6bH%rsOh-Zgx$}&DQ3Ydb5>@e3pG}ZB0#U
z4RhhThGvP~!t56t?%En)W%zBZZ;U`;*rO89b#qhGaloy{`_UPLtpT)hL(N;tfXv#~
z=Ei0J<yZ^v5EK-q*3i3eZtBi}e|xrUALxrBcUdMk#fGzQ8+FuI{@~<}yJ@hE@iPOR
ztrj934-%tzXW!QCyZgpupZ4T-jDso-W`yzYMY=ou-ypZV#jm$g7J!OKnw4a{!dbf$
zTXywjStaNDq^s#-!dSL@f^ds1v`Uc2a%novOppsi$ljH$$(c(T9_B}ue?z7$%rEH2
z<x*qaEZLa%i^rv7thZgL(MVZAS#jB<vQ1_EWxLCURM}otc8w~#UIkbSFh5`=V(D1|
z6I~_>Id)K+xSFg=3T-iQEwU{ag1S_MV9X>!8i?A`(+F#tEKjUiHcBwoT-#b;TUEBT
z(6$x{&ZyO7TP?PAqHUdIe_QXgttGa#)V7w{)^gigX<Mh+)@s}8u&py}YlCf_Wn1Ui
z)<)avvaN(|_1bpI4sW)t9kz9$9o}hM1GY72M|RoPMYgp^+$ve`wypO}!<5d>xy;VJ
zT-nwY1ng4tu2w{^vU9JK<LP!jZk8-8QS-1u&BF>c4`WXYOH}I)e^o7W8+GF1X+zu8
z$tTSm+7>u@778&Hgt-BAa_QWm!9eK(uGk_hT}W6Yu~m3SI=OVA{#`_h6C1dL22N><
z+-(_pZ(!+(fj~RzXzlMLEWspVDPbAsjOaKn4lF;7l*?BSU8MpmI#8iHgUg~bhOSkC
zl^X(q)6OEVb0n{Ge}-;Q>g3{$LmLCd8;L0B8oCi<x-L0Q4Bf<OA`m#amrA7cEUj|7
zno&-eO_)QNN0?8L_-eulgc?FEp^i{bXe2ZfS_z8@?;xB^IEBzgIF-;&SV34tIGwPD
zu$Hinu%2)x;cUXWg!2gJ6FLdqgg7Bd=ppnG-gSYRu|+jCf2%-cBl8+9>^z<aCJp#n
zAXu*jOmwhLWZ$M(gsG*0GJaHWLPF-B6A`0L66vVI?UJbs+%931IAtl)QFE$x!8EN6
zsMpZ+wg3>jGui?<Dm-l|ZkQs|m*R#gXU0<8Fy)rF;f5)1W?P_8<<Dxv4O79ar5Gv}
z&ThjEQ?#NDe>Y4;bHoi(Y;GIxE}qwh8>SK*GfhyX3)(0|S!Ek;m?l)U1tzPB)k^|X
z)TD)NfvIZp32lLCYRU;q1Jl*iMQwo@YFbTOpj=I_Z41ogLo5x<Qss3^1GCl4y0$=t
znpM9vFh|X<Zwt&-6%9)R^VFP%w!nNfw{b~eftpt(fAj4o=G(^n1=U*K+sJ%->k+k0
z6#AB=s;ak_*oaGWon;*@flhoAtw>e1w<?jxIx7zjFPorNIHwEzC}yw$Rg(4a+SEI=
zUIrw}DmtL{$i0L3Pq-Mr4evDK$~m)Rk_dXwl7r=(EeG2<M-I8pxgDp7JDu~mayFKC
zVa=tSfAh<=EY;~O2mLZ(IbG%2-Gb9yuH7&=@p9J@O`_a&u$*+`DS#;pi(DxHZ`hQY
zOnJ5A96xGHY6?+W(ktFlsQ)09W^Hhxw#kIIWgg$1no8PmCMwstG&PN=h(w7ykgXJa
zNTsF|hnT??m2XA6;VKc8=Sn+?XBhV-!(C<If1_3<%Hs3EL#@8FSauU5cx@8b7`Yhn
z-6#roR6(muPZ{&vZTdL?R&Q5&n>}B$7To$w)^|%1o-Pofw4e)bjhEr538goRQkW@R
z8RnM6L^D;eF`rD$BCbes#h<j~`d+tHo=}NdWE#t)R?agjHJjAMnYf7aNtLP~t|U9|
ze{(7|hq%)0IBX%sY_%*Cmn+7NLRM)%BU>SgZ>ZFK;wEON8&)Zi{ZGn{!<?~_xXGC~
z<)E=pMVwa6nd{aDZpofL3No5b$^T~xB9~o;pDQq8so_+~L3TRi?b>tFv`kFY`Gd6C
z^en=M;j)v8N({{|dPp-eC9s_TQK?0we=pC(VK0Rf9pYwY;@FB;saoP@Wqr*X$X6Dy
zR~m_0vYj2|lgx4}u~FU_bFRaDEOxN-B<Fob_50PTlT^n9sX#@hxH0D@gKXzy6&K#m
z!}-o_Je*JJxtY}Y&RvpvURG*`2T~V0_mjGi)blf`3!MigHS)WFTA-V2wx<{|f7^M)
zNUh#0>g-awj~aCUDXUI0+~QS=yQBT0%L;MbLjHf=>da@$M3gL$IdvKbo!V7~(%rw)
zJm}OR;nO^zGjvc^(m0fZ5p;$RIt{DBfKcFkr8DPX+@hB^uF45&8148PaGaa2>B^^$
z@ea<LuhHJvaqZN)YHeU>ExNsnf6F`0P@Q?h2kCkzuF4B)esa)xhvrr5WZf)`a{Sg!
zQBAzr+q!8Y$@3+*v6oJ=@mn`~Mk<@st7VU3kUa`t5;i%#tO<D2#kX4H1)Cab(<pht
z=K6*rS@Coaxa%Mmj{Vz$Elo|OV`5o%Xfc*}RH^YC!io!(#+)RZD@nb%e`1P<=kyw=
zw!XGS*1GA^9(RVFmc7-y^{z2ki%qo~{>v4^u`S2~LPX#t0VbH)B5*GCWRsbu!B%J~
zqRBwOmeEQ6iiZ#?6-IK4BsPL{*q2u4aGpmHuO?AKi~wM~HBs-P@`6*em?fwWA~}X`
z4ND(_A$<_9B}7_CkvW724Bken$aoEQ{zNBy5|bW{9DgJfp5CXjb2#cuON0)hS2aCh
zA4F?qMgqU@A*VcH9Yia3W+Dvf$=lM@>A59wcNM)&#q-VMQl=~QT)WH@{S5J^=TARD
z2y|qLG!lPp)mq#M4g-*k+M9E>Sn(|h7MViGg~if)K*5HVR(l647*?o3cJhLt_IPv;
zZPy2T2Y&~G&2{zSJ3(Y2LGWgCz2wM4Aa3pcd*?vk#Bs|aU5~}oBS;ueuKH%0TpQnd
zfg5aXs5|Yyq}Ft+$|@H@&!#l|VmCE31+FRG?+d{o>pgSZK>wy~eZ4CIb<MtBFODlv
zC&{FcPoU8ut)1IJ0@TagAi`)7)SA}BvdIBfRe$b6jP)1#0d9XtZwX14u!9q9)7=uP
zuoXK&b8R(G?*}blO9(>YuXF+wWlS1kokB;k&}$&%5b_9xgd#!-p^Pwf8q;Bgls906
zGaZF3e|BjC9P|!Lz};X8An`pVkV8jdTZKa?kAA|oJ+l*;h1zT#iN4ZrMeIA{h$@$!
zF@ICK%q;01vxBJjoAc2KaLN(t7IK``9(A|aIj?9h^86~ORG~8$ee^g3v80;c9t+HQ
z0etz;hX-Hbx{_<~>YZv)11_={x`r!)2Vx&%m{m><H!BJr*|ktT5LaXg<a|Zp!@J1L
zz1Ssc?xs_>NEI**re`)RGWPH4!ChEWg@1)P6fw<*hn<#+AX`6@;o`T?5KFdqkY8BL
zr%sma4v#pe=-lGP<kwbl-h=HWsw-5L2*ry>ou%G2T7h9+urgIRLh;<Xu1Xc^VUe-y
zG_f#=M@Vscs&IcrXrCU~w8}s3^7Msp4;kb|U6}^wgTsJ^@s5V-Izyr}r6W&N7k`4s
z;V=cRSXpKc&zGFG__!R#Q}}Vkr0!O}9{l*mB51aQ0jey2@J;>4Zkqn{A?JU>lGpu{
z^suGN+$-nk$Bjv=SFY(^vuwlq4eORIS>4@sW_vsCjMlF_Z`rJI48kqO;_PC0j3+Q@
z^^$XrpUIm6#JgDD8Ia-s2y=LX$bZ81NSyLO(OmgUnJ@2Y9~1qi=;=8g#Jq5ovyjwm
z-<jLpy<~lTclQaq`+Ds5)6W7rFfn<oepGh7bGmo;_x5eyKn4*(4Nu5fZue%mOy5p7
zRu>b5H_fyoZh9^?$asR294|GeE^@iZV6})$*mkbQc9y91Yh0Y}^zF0&%zuS@chjUJ
zU8HV_T<IzjWKa#KrStS|A^6%k=wrwikG~7Dp^F6WH?A(6``!Gg^=qc<$NcMK-sz%P
zkGnnQy>9KsrQqEzP`j>3@5RxvZ|S|5lJ#!^ffd=c&W%<q(oWe$u;=R`lmW?@0m)zI
zy3y<FEgBb{*ite+25pSABY%Nh9Po*HM(?t1y?Ncc2KxN6vR5)zf?kpx;isC}Et39a
z7w>@1`g)fn2exn7HQ47jfz)r#Tc+^yVPAr`3B9{@7C7OUuCmNQeFX2`a5rjx@=<g3
z3ETp$A27{{^qYlZa;0acq8s7@`$fBv=<eL&Y9|Q=zd3&Gr0k@AMSrv(f>`#Q)&1M}
zjQ-ZiTTOA;?Wn2M=<c$;!5LqT9gK#?EVNtX`mN3B5#Oq-ZD?p7zk^}b)zvlE9B&JQ
zJN3<tIhhYhL_<qU?ARvdMq^6@lQVE`T~<pBn<qIsW{K>>6}qIy{_+al-;c$*w(1&i
zrxtV5Nn`tbDOWbDfqy8K2F^hdbuh7MXJXq0Xqu6)Pa|X90~G0dZc$tXE~~D&p|Q3|
zbD(kYjm-^X(6~uTvqgnM#-?mxgDA5FW!1H`Hr7~m=p{82yQLPQ^-DdF*A4yqS(Lg7
zI>wSqf!6lXeNrk{*v)Rvj<)oBCmz!|Jv>SAg_qowVrDAsv44iQ@_3O3%Ur!{%V0lS
z`;woH=3Dm;s9KKRdA=NV>&P8_rQ1ZVY*d=uSdLj~xJsv)ruzX{uzo%DVB$mk7iGI4
z*__z6sc-UedZ4#K=<=TIj+mD{TpVA0*qcs6l_@%ka008Tp|!rbz>V-bzC^av1R)j9
znwp#WZLVpuy?+&}Ts72WfkjJ1b3I_XdMMhnqmPId(x(_2;gWJy-<km%mFuQfad)?A
z{TeP>YjE@FxfSu5mDSW#)6gW!(r*X&U*FVp=6^ZycV`)kvYU@3!13YKkGB!^7TBe4
zfxgZTDm_qd7r8sX6a76k!9f)|_BpKUct9^2*oVD%t$){6nGIZT$JN_8dV3w}x6moE
z`Uln|)}+N18RU7rd?`%O1=$Vn^}MVKGO+;OXYZS4ZI6Zqw(r{6(<ghQI|mDd5y?2@
z$~|nTOQt+-w*g*R<}^#t_uSUo*IOdIU|ru9q%Le2dvgZ2Lk<q)>+JkiC~#*${*xxz
z4g|?WV}IVtWN!lm8Df8|Cow1sS5v^x%>h<unayN-{jz1J;kd}(8x~nlNaFA|q@5ml
zLqE<n($g)>cV#wU_7C=LwfZUa#UUng%<Dkz+apWjF&pp^Vaa+nlg8I~_d`{GNN%lP
zb9@lzu+Jz$XdLwS^c~}yB^Pk!ol;AR?2Cc~P=DATc?-7zRIQaATyCso0;(@2Dh#5_
zlo^gi$ON~yQ(Jb6n$#GziL?udY%Ry}y1Q?^wOiy<cX}2uMp!jgWukOksoha%tU|!?
z6ph^-=P{e(Va<GDLwW88>+9VBg@m9s;-Y?>-(0R*n5_3BF4N}B^|wjt5RE1Ww6-{4
zTz>_Yw@3wSZysaIm(&S%O9E+0q3|%+=`g#keUbj&i|dwd*}kn$tQANh3^>GHPBB0v
zH<)sPd&_6VZv3em)|V#6&Exd+C(Ng2^L<;Nn~sbk^6}g#86QPkIlN@)(lf<>tU$^0
z^6td$9+!|gO{7n$og14c11XBv0%$!@z<*TnBDar8!{xiDJ%}-&{+Le5>`(?iU7(tx
zW1?{6Dah9z0=BC^5Y~NI>g{*t5Pg<DZSLl!=4Sb!9-GXq{DcVH3iS`@21{(wjZ7rZ
z!#-Gdq}xx1>x@=#*c-OH!`|53{U2dT2O-sCcG8dQ4eZUen#MaHE7m?g!)3W;(SNdH
ztF&xM*%eBgp<JmZT%p2`s<Ova*`HL|-&EN%h7nOYxp|R%+b96)IK4xUI45X}c*sO!
zIM0^t`2yR*f~06#0UPz9m~EHX;w5^5b`*^V&@4?qJVqPn5u@xk)6@4$<4|Xbkvu4B
z{CtXj@gl8aTx%O|2S_bS#{x)AIe$*H!>8D)P1KL^8)~euja42fwXxPV)@h%iXW0fo
z)aTi1qiq00Jr;%9=&_AH+t_3q{kCy|t+v@}yRCNE>Ox!XwAFyE25q&=R=aI=k*zMa
z)gD`2VyjDS^=@0e$5!vP0Y+6wi~&WpBYTmm`5@KTaDE*@;HhsU2rM<q0DlIG02+?^
zPL2XQ{V?Gp1c96WsDN4*9^ee%X@jp}2=MgNgpUybo;IE(06c8~JZ*Tu(*-Yc{zYXM
z05o0jWzGd?8jxw@>s$-2wBSf5Y$F-DO+M}+75M?j!XI+iLy?XMLiA5jP5>o32uid8
zN^}&I=%~ZFphN$K@K?fXpnpUE567zv+MX|dGg!+XFzf;lp9}6aB6mvuPaAd&tmfFW
zMx7SI>_%j_dj-gh#;Tz;;oXxaO<HUilZ?~BFuqOQp<Yy<SD#Tgs^<|5u0hPSmar}m
zs758B8kL0I=Mc^d1gi@t<!>B12qf}|GO8y{I)6wW*3n&lv{6{tJ%2O`QnD&JF+Oyi
z3REY^BuR!ngg(M1LO=U}7f_r@7Yu#R&0w3Cf!h6`+CKD4Wh`E7>==3x&=4a(-?)&o
z8w`rSbLcg6K<`rnL-!#J%P$$^#{GsWtll+rkAY-<_s{_&U|hs2E+&9AWq_q?07YWF
zoA4f9d7pYO&&u&K?|(R?ypzl2Bp9$BQ;#bEi=G1d`Uy6Q_%rSVurP2UZ6<#u)N9QR
zwAan*1G@br$@FEaeK}zz;WWZ(LI>dt!g|7)gtH0f5;_UJgcM;j;a!9+gsp_D6+hR?
z&->)(dii<3{M;lzx5&?}@^icVd{BPwlApV=998Z2Dx?2hpnv?Hhj7>mgk(bnsa*v5
ztq(NK_Fg_J75v2H2OIqo^eXs4wW1_|5VB+};`Agir@@|{CO;UA83H?P1j^-dru@v3
zpV<;uAwP2@gSqlEPk!bTr-JCw7=cRpL1<Ym7{t|L^jSR?h1y7?P*(>U<Zh!p(Ih|3
z^3x)30<&^);C~%*iIR;G0D_u5nRhM`rQ}nzrQDJw=nw?kL>I(d+9sBAr;08}Xqo7O
z*zKYV5?;Q9?fwX$)VV7Gs$R7OJ&+tgsS8dAsv1!0C_Y(>I*dSUt!RJbo*~*FdFw>`
zBY(YUe-vyG?T^9@OWEI!o(X96S%6lb4QTZ_fL5OiXn*y2fL3n=wEBD%DDT9sx6263
z>NWzi<1|u&HcA?SxjjZ;Uat|D-=_i#QfS0%Qh}<?^p-+CUrl7|DS;Ew5NJDvI;xUw
z`cS(46dFL4?a+q_7wW^ro%%3oKp!R#wgncUb7E+q>`)N%L?cvdT%eyX+M*9J`gp%c
z@TX2IM1SO8hhaiMy-#*_?^B)2om9v2K-_dTRo}1Tn>uzGoNun)r{d?i=lvk%#rxdz
zcU3>2;wkt1g6aoVe6yTmecbU*fmPTF7H#}2i3&N}I!+G6!_IaN&W>^|9Ct1(?-HT7
zv$MPltUA*fDDTR_t{EA%Hf9hF3Q#ITfOV5y*nhd01LfO8`A8D9DEq^LBXgeu4Fe)L
zqTpNtItz6kcCJ*5f`=&kRVsB+9Nf0lo;(PUh^xUvAmXCbB}11Uj=vi$H@x4zXNeM+
zp;6~L&H)VB#fF26Fd7T8<1o6nQcN8e@Z5W=pHc_*ax+Fhh+l?x+ls&_&jd$PL+XM3
z?SGdmLt~9bC(7;kWuo#?5s>JS_PyS{_=0$sbB}t;+jw6PPd>qAj9!8t+j%YsEC7wb
z=1!<eOsMQCLo=kZtF$Uns__7#w~}=TtZlblz_)s503_{s8Ywp(iZ4JPq~jDtT@NTs
z(Y?2roTm0r5m<p#<Vs%f6qodPxx9k(#DAqONnNGD_1Md^vB|tAOm<I7cFt1(K5MMV
z2<7}3uagTt$g_$s;yg!0Lsg;ygl)DfTB;H)P{1cu$JH7s%#4%<)W5|&wtTG{G=BM~
zl-L7&T8SCJXO!SWeL#sdz-Lt+zc)g`N7U!AAvnU=B%82!bKv&{Rlx5ZeB>jHT7R-H
z+g`{IgDSr-VR-Aqp<Jhm*nz?xzb9{gPtp9IXn9X=GK_(M<$PZ4*GL+>dJ5+C6gtnV
zc|G~G){Dyhx*m|vBJ4%sq6^|Rdw2Kb3<K=Vz7xN(KdL}{k@H0mrXnNY4t-gJA;D@F
zjK(J)xFhy)pcriYb_*WYS5)jZ_J5snoUf^(U(=ecfOe<$2y!<pGX4(ddt?%hpX7X>
zqve(E)lBK4B|IGNdIt#JRf%`tm-r;-N1UDHrTj@cWl=JWO3Wg2U%UqZbUx66WLU0x
zACK*j*Rn75E7g9DQeCZ8iPp}u<E`-|kNgHm^0SSh#j;2CTM8yP9=}yCMt`wd9xsTW
z=-_TzwFUHJ@uc%-DKDA*g^vuWT$@$w*V2V4h)&T}MPp`<Xp`uC-pJ%L(lrsy86ccS
zyCyqBsHjZt1V7(M%>koyPE}$~GADK+Pt^+Sw&0*&We5(ZZc{<wy2j95Z#pP0Gn{J;
z_fsar`ztj-2p>hT#N)M8?|)V!E0VE`rkswl3`i$5<qYR;&SoU-u4&FaoJ|9v<N=_=
z^O6NvkbKzKr*Si*Unj2`G-LF~E_WU^1o_JS*faUq9|T&gs~mLgszmu{*G%UzPG)w_
zbsjfTbE(eUs>EEcI(5#|Zgrmat24`aMnJ{f>ddA(70$ES)e(qIzkfP)ROdOVjvwh(
zXSVYxUdXdu70#zQtDriwoX>DJD?ZnGDP5f}Q5``_p*H~6-cuZXm`OphI9W1#=)|5F
z<P-y^o6niF{GJi*EKJ6d(PSiP4=3|RMxAdNs|v$Ig><4Aklm^G@-r}nX<Y~|u?P(=
zv{C(&)wEd*7v7^r$A5JoO@GIj+f%5)>GO#Eu8xc{S%^oueAT^V1`;pg@<;9?Kjx8q
zNGDKNTvD{*=+R`MCZt&WbWpdM7b&ean9SF)Ma2HjjV-E56w#CaWTdWF)n8R5^aR+D
zV|Z-H661H#ZWJ!mj$YI&B>tNu=J!w()!j&Z0e$-)#{LzNNPi?=$!(yuZ%}|l?~5<m
zzw4FwyMfp49bTdYCmBTTMHV_qdxI;$=H`7PlRkI!D9GB?-{ADKoc`0O{wAj%J9;$w
z<k6!v7HmpuH!`p-a;^!kV1kwvRpVSQQE81uQZ00Dk|?dQC_0ct)dO@*RE}t59dXBP
zx>%v}L5-E%m462&h`zqlz1A=|a{n&(TDOs0-|b$<P)E~U^d9$GID~U=u;OT?c63px
z@j*1?nqXoxC{3+OOs(vi388ms(6mDGx<5F-@|DDv;lu^bhjgOjj$F<@eNTFYM#6FS
z2fg9$0ZtZHB^Ejl>J&odF5b^Wx*$Tkx<4}V=SsbMynm1QEyWj>$~@*4UMlZAP983D
zPNDNeaDHNo^CY>rsPRw9J;^>Ei?0M&yZuIm$=fTP6Dm^^;xXrA!PK7N)SmtO6BBq<
zp1~xe!h6+0UUh_}j|?;{e^9!8E|}UX$gv0R;B({)q`~{$&mrTHB))^h!|^E~YkLT0
zBk`#RxPKDA6rg6$TQSV|@sivmV!;T*M~s{(*=e9;OUYaiv?$kKaj*5q%;Wm2?zR5d
zMO=T)y_Sy)X!hI{&Ns<kv`MMK;y10qNHDd7QO&i28&2(vPfVW=$Y4eeh0<rXcsY#f
zYO%JX_CE@ywvVK?!=Qf@6fX(G&X3)g{VRr@pMOfz+yqph{F3CSL9v$`c7B!}zkfyN
z>S5;>M76J0ovTUAaX;^j(!6T9_fD3OJov{TEa#8Gfhq8s5HlqX?k^{-O;~_9NBFcW
zoIeLarF32kg1HEqHJFB?7fY`b%nLo8{AUp8bZ=-sfi<zK99!VuJ}S`V#1_l6Sd?j*
z6@PC8531O?!ffAYaHnL<ooKw&xyHLwDx`U(*CkEodQ&*d_2w&4IAVm!;!QyH#*^_y
z`{E1qOmRgdzQ(!5j8TDjhw}j!>iV+y+V~mHt)@&DSH#ykx0@@tzSD#wIroym3ZSjw
zHN%q*z+i4R;WfjPKF;agCcI{N(qVYbcYlP}lu4~!;$^zI-&_>rJM1^LPmwla9x(T>
z03VtR(cP7_)ov4%0u=Wskl2s&s{uZwh6hZB`wyrUFvQ1AK-zg`qG<=z=S2HQxap^L
zzYx^tBkH?K=4Id0wDNsDcYBrjop`5l@##W>8z!%Lj@RV<oywPj_>9w+=+C5`qJJ_)
z<9$Pg;CeidlgIcJ8Fa(aMN$LwAm&(t==lY1iSo_MW@=zpPl%#@iHZJb>XIZ-ll$A5
z61s@-v8#ClnexJK@WQ0Ezk~T>ytoVScorV>__${}-!^rB)BR}zcZT(y7<We8JDN?F
zapybwP7!xraqnn`8gdSsG9M2yJAe9~sj=y0`t+&>{npbb=ZEI<mn<qOB}wfmEjfA=
z7BfjY=vuE4k7Y4nIPa)1@f=}#IH;h;{lR=(U(3v$j^Q?t--V@pgs3Oy76z1KdKv#j
zf1M}v*ZHabIzQ9j<>z|d{R=(U{-yq2?J~*!l@fd1U+W3_Z}bHHMW*KS!GEl`XZGa9
z+nm3dGH=CKiz$QSx?MdvT>M=w;&-ZRK-xpcDt@;DC%Sh@VBpY5yak}>{qcJgko8aE
zGpNCN!_@wg+Q5e1bvSDCh310>z3Xr?QW-;}!2A`Qt}870@Z4OG%!xN;W?s!WlM$%y
zxY>E10wTKli0ZswB|&t}0e{(fQM?8(H8_-8b)PaiKBTw-sODAZA2*J6H3J?E4rel_
ztI4^Bv!;=*7Ux<{TByPGmS2N?)F9;CYAv$Bu&V+UI)>x|UC!IBiXby=*qtnz_A9y^
z<jAFS2iOS7(0&1>MPMSm9H3`9dSL-q3!MGj-WTtd`;hlTRz;xT8GkH=JGpq+YVTwW
z>alszhpi%5S?4)Pn`b^^wVz`Q<pb2}JYq4IW;Ww|)S9aoh<e0++>*)p(BhsvI#)r`
zX3ivYm}GvkVD?ZUo{F3&En)Bi6PnBg^*OaukLjF0ZKVeENS>5Q*)vvZtIXBv@(YSS
z&vYvfG-zHZ6KT`=tbgAs$vkk4`H0R7R_Xy(00mU7^IVB|Q6f6d6+QMTR&hYR;4k(5
zSCib|HOc)$licf?<o>Bi?hU=9`@W{Oe`#v_w?}O<dLGrw!68GIgFbYyEC;XCOTa4(
zS@&IOM1`?1o$SdK1_LM|ha5ryft6nvkYUau<voSN&R4jvmwzoR|3(A@IKT6J=WEuy
z_VblASCPgUzl`Q90>+x5>sloXcarJW{+8d`rt@tfjF58>l<UfYo&rKn<-lPM79p1q
zWg!8y^`c-U9YxT5M|d?$6QoO#Vb&L;7X0nRN>-mBT)&r}fhn~r5JKMii$H+Y&yD(o
zNi~wMWTA7|l7Gp0{u7*FJ0Bo}?^->%(bx6OANV(a;NScqR2%)FzWG!C=1={bKeKxB
zqA%#1zw&SX%D?$*t0x+LP$VJ0r*2FJpt%LfLj899X^HHBtB2HX?u#!aO7aJ*@-S^c
zDgS7R6Ox{=EWiMor^bbDVgF+F6v!CJLiq1)ws~3E5`QP62D18xg(ojJuh-qYY{Bf~
zv43VVdqXl~Y4B2nMomVTt(89d@1w~A=gJT-lvxJnKv&E1G?`C_3o*#v7=n@Lx<DIG
zaak$fdI6*EO>#%3U!&aEt?%SZ;X=;MA)J{#NlXlp9G&D=$-hSO&jqbIbqUARCGpEZ
z90<!;U4PjVOWdTAu>`L*CC%-mkxoSyzcc-)1%$Oc%J+ZMM=gQ3b|1}i?v+R9%UkoD
z`}CuEjBxh2x8(^4w);rb*(Z;{uZELRXTN?V$|K=%k3^jZyhogm@&Lqn3A{sy^HJhm
z;ye(7I1hvd78+lgvJs&h5?KzkF(;$W6Fi0xOMe<K85w;_*dX8uh0c>9sdjX({&JvY
zOCpv_BueIFQa$IUa=+w9L++P+56s7Oz8+!(n<_G+JA6iRHJYzS)HNCi@$Z_ET&pp~
z-LVU&nA~+4$@>hED_w7hT!}3Me*di*$@?`Uc~OsYN3~q(Mnhytdo?4u0!DH~-DIFc
z9DnF3A_z-ma-?~QG>@<t;VEzuVJL;=J^AH5F+jLA3y9L^Lj>4Bk4eZQ6hX;)Z893t
zY&xHzq#!=Y`Hp+}usR(5CoS%L*KPf$z1IJpv_9O(cD^4<4URm)A$EiA9<PRaq8JkV
zC?v}c4g*sLnGByE2yi%?6#9goG)JfYNq>lb-odFrdh2OENBxZ=;CkcE%<Y@M3iaef
zp)bDs??Ut}=AxYbG1OC}yPgf2H?Mn0ONEjVP{@&qMPdAOzwde<t(}h+b^b0;>&RGf
z=I}3SME@IP!uhX|tkH)-=XRrZ9g0E<bcxID6+8qm`O)In>AoT7YMbY!Oi{qJ>3_5g
zD<EZmSXJMGl;j3mmplqgHnIds6#^0)o({R)X7es#*03JAzTLeRR+KB(cgXdicJ4$U
zx{KEolffvXnRHImxjP+W>KFil(=j<ZrT{2y|EU5UQ{>#2jwzBDNTOsE!3uLtSFnO>
zMCnWWc)9yEf!f~M{t*?Bo|O-Kcz@6qc9HKqWV42(iVxW_nw7yP?0ndUiHMgzu5z7^
z$`#_6{CFkE*%f@y)ONxS0?_fPorD2bHWLE@CFVS4OMygkGQfukIZxU2?K?c`dRmu<
zxdzSqOuBiWv15I_%?3(aXp0#GyMJ6hmnpLpI_!J`##18YF3FVXlm9`PK7Xal6cr9(
zk?-g9B_#9|a4pGbX;M?ri&9WTo{^*_P4^N-m70+3MUn}l|2gR_=VcrAFwJCwI|PP`
zUVhxFJNj$7bKj;}#qF9^{6e#eJ2b2Kpdlh<eB|<b7j`~JaPJX8Mw}zC^Rgtl%o(OC
z@wQ>TI79Rn?{L0j$GR}igMS~yql~!ly+|@QnWv{$mU9^3YUD!6$P?a3DYFJfM_D&f
z(C@mpnI6~W<`uns^eEz^AK1Og9OOrIBj<<qa<3Qu#O}#q^4jM7+?FvD`0nM-A1TZr
z9ggX6M5A?gJc9R=Vgczc-gRrIxW04#Y9~XxZXp#396PnAQhFQM-hXaqlcME3zE`Gn
zZZ1*he{G#hsq=R`RZ1?hs{nMjpG(yFTP7D+p7fk!aw!6uTjx^d{M$~Ik&En5I7idD
z6oKQNE(^?bTrST00Y@HW0U?5$8^a!Rq_*(O7<1TN(#ZZC78GCLx!p2wD${=FmT)pG
zwGPw99|#M@au}FW$A6wDjm4o_|8l|_i8Qx`VRtkPrymR-_88FJ;X|4pZDK+FmM+8W
z_ev<tjLqXEAC{NgDlajafIJdTw81MrO34%381hZ$(J;8mYBYu<6GU$>Eh`Y`Ns^8V
zwzp0>>O8Fzj_8EX`Uyu!_#6pGK;L!~jyRvx3F&2@A*z^~Ab-t`IiF*bEY>-}c|MGY
z3ORRTg7bpxV}$qd*_V4(t*&(Ah`P@ZX8ZMU>OEcas}l3MJtK$#$N642VW%9j|B&t=
z?nt<gZX%fRz{Gz$oZ2(;B!`$xH%6R;VZPg=YS-c6VP}|oEUMiIwhQop6h?gT9STZc
zEDvHe_qxB>e1AnRHuvk7JfM5wgDi57sCy`zZ0yKZ&qMS@x*ZaM9+LqTyzYfTh&bl_
zoEOC>6v*aUEIvUnxM82tH>t4+?sjUs%(WP7S<U}i(v}v8^h9J7ztL$AOVUy2w^=Fk
zoZm~zVx6l<a{l1vYUx}pu(~t376H>u+A^KC2or3_O@C|aw6^o-Oj=m$Un%whe#Je3
z^IEtZkyCh42(uy=ot_f^gY?PJ0c}<rzib4&ZIOsc9q|3*E+j{t*Zo9=ROPaf(X2E{
z%gf3V4Dc~o39s?9VnQf_9h}`dZ;VSO96g;ZQ!rq}b#87MymF0DP-gYRG7>>@povdl
z7ei#ZRDb32$cn7jToD=by!)0h&zA|Hcp1+Ncc5TbMOLJ1d`<dknQXfi=3(cWh&VoV
z-(M=|;-x$<Jc_N^$O<>U*ttFe2fRgdKsxUY5lC=m5EHc*d}-9fn$AD0N$?|@1Rv2P
zc%3G`kLrQoQ9Tf#Edn{d$PyHvPCcP{vV4?jT7RMQfrv0B4lK<h&aLbu4nnB6>7(h~
z9+@dCoo9trg`E2$dV+PB)B7W-3kSu2vGbuwYH-&fSpL39Z!+v|8H_mlBY2+iR#LX}
zVB`*hp4%V@i1gUe^)j>ma0GOGMu-JTQ%e`9<s%Vz7|IYM@P`AD{ll!r;5-Y+itz#@
z_<y7=@)6<wqrSfdOMBhjT_l_&!b<m<$Xr&s!s)oUHzLd4N;((bR$AeD5$EI5kh4U(
zS*!U4>!wddJmKW0BSI7GXvhB_ZEpe?$93L$b{*Z-7l6i1fFRi<8z2cbiTji&5g-X3
zA_<BhsS`wZ185Qw2vBTLq8uOXL$TxgNPnEn<S<BCwk%mz?nx$bWXrJ~XT1{w7?GRH
zlWZ;@*|40=%x1EgaDLx=)wl#x+L0GzbydB3@71e!e(yW}Un=eXPDu8}hwxhR<<KGS
zzaj~@u1NUxLc(t>Px#G{=4z(gZ>faemV^o6nhKbO@DaaAd$@C<ChIj;wD}NB2!99y
z#OTYGG&Oh-yDUiJ`qw4CsS@KJd0FD6m8_8Xk0o)#iX#7cp~&AU6nQi?=KdG2$fNFG
zQsgoBuO;C&KSjRFEAmTH<nM)=94Yem<*m@*s>rG6(yYk}rkDv7{0EZ7_Sa=`OJxBh
z!Llr3!YV9Gyvwrqp=7ax{;gb(NPor2%<uj)K=mR<Vcu_q^P*5b3J>w_b~~iKyX|~k
z!uN$6l==V(lk!l!dKD77A7sz0MEdTBh$d2gqV4j-xcpo}-ti?h)LvG@?w2WvvP`ty
z2hr;ocIM_6uDcH%acrgcF&vt^?mm1ZWGd|s6bK$ce_%M`KAIQ<k3M25C4Ug4cEehI
z1XsH7pw4P_6n!(I^-=UqDtT2DQuIw)YozF#j8;kEhT`rnSVcBjeBJ@?^9CrX`#a%m
z|Ml$DEYiJ;?w7-`TRoMDw~wVB?=wEFHZZBl)Z^~&g+1{ojrf%?EzoS?`)aOG2_II>
zu1~5t=A(+`_0x*YB@zs@Q-5UX{kWz_;d@a-7>{2Kr!QbV{%knikNNm#!|5rpAAc^K
zo)!c0&taM*7UZ7~r=JiL^5?_pOV=6yUkImjJbodZ+hu=aeGBHC5Z0WSYrYs(g_cn>
z=e`tXSEP7dR~N3HeSBy7aUlbV^{d31WJXf4er-jp$(`v*>Z_$tUw;ZpwB~yAxG(jX
zwj!PIE{zT6ONjYO#XnhV8kB0|YV3^;PESr>$aqK!bPoO3;2#ma<&CTCKed7QVyd-G
z+3k_c#Ee)l`hp{9!z)|s%iIRVif*ibVkV-_)6<jV>8U#zg@MA*6ZF#Lte(#9fZUuu
z0PaF}kGdY>y1lhCw0~HlI~uLGc6Z+qmCb5zYrFp~+ODjsSHV}fG@jF6fzf#Ze9Z!Q
zEHIU!GICfPOl2M(zcg)J(I{rhB*3rqlbxz64>D9if>{bU)WRNJL4sK&j#cVd<&Le4
z(Jg@w4XXAFustn_U?d(W$;W*GctQafzdo}v5Bq_eC}!pyF%ph4jtUOI?u%-TXc3Ig
zAVXpWlmD_A5<dxSf6$QOdy3(^ULoBle6N9%DzhAa_q_0+5=M*;*ksJSHf*`;vKD(6
z3($7}M;Xl~uQy60?_tN?fFuM(D1t3W2V+3L614nVMqGyTW>I*&>26N=Zn#^Z4Q{$y
zVw52??`};P&kZ{ypUvG^_=G%In5+Do+qdUkf!MJ{p1NP>#$d!!-tf8G$>242hinEz
zZsXh>Cn%od?vN7r%K!fMZKh0j=RnAqK_He)7<13fli{-ye{)-j^t{_DB%#~RHSs@p
z$n8qpp5x*gDFZUeZ`3JiFEw2oF48Z<EkaZ-b;8h=nqLi8QKTmUaTb6nIRz%lY8Vye
z{-No}&?0o58v8Qx?<*dem_q-5YIJ;`*b~H8jehMoVp&Qx$cq;Jdx*0K52x>r!@8%l
zHFji3+ii<&f0Y>Q#xO7%zciJe+=qh?v7!@*#Lf^?hPGM4n$UZoP4r@m_XFvP$;+3<
zgCjGSCeEG10tleVcCoC;joYnlt<4&05>(C(tm<@TItv@v%&v;%VHi#*{6z5a+u9<_
zK6Lf8qH0250QE;K;Sl27qw|h)4EQl^t#1`&`E^ame>4*<)Q_}+cK#urIJ9|3=>e~H
z4~vyZHa$9CoW(fi{O&@nhtf|{jp@wfxGnh<r85|071|~^op}sXs>A!8OWJ@soM9@<
zotmBjJyBhH6)H;xNE}aG9>;X10I>*=;u>Z^HZEMIRvH<FsZY;BoB2|=lxIR$g!7Pd
zglRm>K1E#UpqQ`;@N@L=plUdUN9kZkd+E~jC7F0@mo*}llxXfvPfbrfePR0Y>mIc%
zJu179zLYypJsh|)I(~7JueBmW-!t(VzvP*H)(lKcj-R+R@g(@E$A@~C74?lx1|#XQ
zvBFSU4MtibYe%iQ&a7HrwV`TTRa@=;+5@!%)$9ESgNMwM6t*OP&hghefjY<B>NpLK
zDUMbgbEjkOa?IV1+2oilPO#N6JDfnLV|F{i9w&IWWA=$_mcx!Y-~^9A0x=oI>_~nK
zzp?k#`(R)jvGo=CB==SME}!V+`f5$??uCcFSK|9v=#+C7am-S1%2LTS_B26|SAsZp
z3C4}$lAsL)JPQbaC;17=4@;G4nBg=ek`+m_VA)Ywu>3`RD0&3|gl9=HENidN7H~QL
zK2+5?8^yAeIl+h_bFgTbYz8w0a_y|;w&;1+v{@q(`bk1o9H!`0soRk)lbvF!R5@(v
z94wbPS|Rp{)054_xGP)c-lg!cLqK9Rrb@FFgCSEGUhX}A*N=xqaoQHZBSARgt+2`5
z0a58vy2Xl#cQCG$j>+o~c^wi?*l@@_oNSi7=CbQjPAWJU@?RgWagQY1kJK20wfHa~
zpQG33jz<h$Ks)=4e*FTZmvd*U-BU0S=G@a+)W#OybbWY(dnVbtZCk1;Re5BCpL`_K
z2a<Q`Ovwp<=zgz)t`Bcy3$O<eN}};3NY(jb@(Cy%f(GVpAB;+Pi2C(~f4F(L$lWnm
zB%kX5bY{L&O7j56u<ceHv3(kxrPSTffP2-AEPj0MW-6Dxw_Bg=PZ_fsuCO7wPp(Bv
z{d&sT8+5m)<JVKcy&#OI<1~XqDCpwx!ObRj#0k28JJsE=;U=>NEDF?IrCjhPmKIVQ
zUy_i}Tbff_n^PqkmTbfMVxqlL@f$Q1QCBahn&dkU0If$w`&xryIW8fq4bn6LEl<{_
zogJ}&?>l<>&Y=F?&0SXC>HT&GZdHmePmSX><|1afP{$W+*12X|Ua)%2Qm-!HH??<k
z9sRL?P`dIaCRSs@e;Ke5Wt%x5kV+xB9TH1nd{9kZE*4YF(*zw-2D?FdDu%#exzJ$(
zS5;Jqrcy==cM@|6_yGz9sDB0c>n#s!Ah?9j2s#Vax);XFR!*~0;y0dOm3g(8QfvEU
z*}njm0D$q-xta5dLXRFe(O)on&PDWcby(~fjveCdXC>5jmZ7IEVUjGHpok*r163te
zTa!z<A1G#l^0gBiut8)(wYE9db|<_;JOx;d1eQACX2)uwYwABUVwU>z)f<zNxix?9
zh%rYQegQ<#TOk@`1-}5d4A}U$jCCTusS)W-tq5<{i<q}gq`Vu%Y+$3zlbb|WBwi%)
z8qxe0!73c;QCzaF&jx2k!}B-YI_{zF`Hi?6`Hi}pwvGA)q-q8|j}VN9%}O8<f!$Uj
z+8S>C!sSND_-u3rEr%kvA-5i}t;K(aXBYIW`j5iF4q?5yjR}KX7KBK@iU2V7pWwU|
zyUijFa$D3J)Lhw?Fo_oXW%abX>@(`zlQ6!hh3N<pUMhPRQ|E%)n~f$mJ>NJQbni-p
zD*R+~cLU7Dh}aKg?BQ^#$lZ_LQ6%GB9Vj*zGDTN;b0)(7O!P?D9xTC$`v89`DKHHV
zqS_vE4~>ev<8T8!jxymJ2IZ|vp`A<r7oSw>C1Llzn=Y_ZQb>n)o=8}7Nh6DVV{7Gi
z5!gn`HZK<8p`{{Z!Ykg67~x7f220~<HXX|AK}cGeo!UDHux;c9e=ST~+I^=qAU#QK
zt!^2+qz9CX++eo|44MKoDja`W2WU-$w!BGGm15na+Nx|+?0Tf`{jqbb0;pGDp+nXA
zzQ|dBsf2xmIJ2)0{-}{KCD@YKVqAd4$M1ejLa9J5KQ5P&IeT9BlZ1%y2|ca__d`6n
zTKQoS8o575xe~rw8fnh`cLu(+ZOnPHL14y)P4^d#Bc?Bpl8A%9asz*>C!k%a-+()-
z&VG^9he&ai6dp?+fd`_q=ojB3E#*FIcrrR7Vfs^!a7e_YFo*cibhPl$FMV~?zk_@;
z{`txmD4F2HQrU*=Ze_DrMsdn0jl$|o89yv@%M)fAa5Anc5~0BgLtR$Zy9U=ROA3G&
zNh=E_cQm8VL|v98499<$xI;THQm9udI%SFDF*~}Z3m}<Xo@m0Tx(OHt+3(E=s^(Au
z%3nK1BXWrXTkyS^EnQo8R{^vEbi!5-tikH&YA#xl^=csYLIDcvQd>)h;88|#@xyGm
z=#oiMrZBRW{%nvXm!nP=bIYeQVPQL93MprCCKJQv4Cx^i>{ov?nh-A32K7Qbrnxoh
zE}-kquj=kQ(34VknWvjFlhe~<V^24YUV8fC%yd(KIyc_gu2%g(KL1bOv-0`;cdc(@
z?EE(oGY`X2{eAb|O&HUQgBf1{Co`M_I$>$%>D^wAyLFCUHF(QfDIgkvOaQtuJ+*&Y
z4C_54h1}Bs`d@!2@}MTXM`J3+F>v`WJ-s$@vA3^(-~Iyw2M--Sa^KNo#|KZ`e{$&5
z=`#;J_|U`Y%;?y7_T2f2#~z=&Fg1Pg3BV67Kl#*^r{C6$C$IL7&aUpBolQk*EjxW`
zK$f#ycyVRRtrG;f{e#E)I2}81Z1ChmBS#M$KX~fU;;MgLtoDh0g<WP;aq_&3ybf02
zjrmp7VptJ4`8>{=I{}50H}<~yzk7&!uP$`&U3c&C5;Djv+b^yqG3GBSE{T<vl~;)O
z$r>G@c75H3jho_|w`@(+H*DL!qj6_)*X}0ye)Zh1HkFYxAdY39R@dQ~^OvTdQkNE(
zHEPo>2$FyPs!&ytMv$Zjo2<Powgo7Epd@YfGbPHq7@Hb!{6UihCxG?8$}tuZ0yg@w
z{LRZ@#zLjO4;bNaH883%Uw(snU|6zr%fwO2GGA)q1Bf8z1Jhq@7=LKV8Y+`mbS~>>
zLJnk|Y%q_QYB+Qx<jaQ|NBzm-!7%gC++f65NLYWLWxh-7omu#LCh(1f@eRaj1U{Qf
zn9rfH?JI`9NZ7)jOZdL7Wcw(|`7^<J(K=*tI{IwRd-(P9%)MDZFN{VRIOtPzbzXj%
z63+({_s+2T%X?VyWAB!EHS~#@#?eqmBKF+kW$?K#6t2I3rfj0@^BtK;BKrBnz0Y?f
z<Y9j#5zsd=btA#+xC-B$K|~-~Z<`kdS+v@C7vJ;sM9*h)7=wu8qy)+wjZ_R%aX1t0
z6)URBr<jUS*+Pnj+L@0jy_+pen&NwflR}uP5Z3bv`#DvJU530+lzI!XC|coC6+5g_
z*vpGu@;o&v-};4JrYf&rRmS-ugoOTV@j!oxk&oqL5Ia&|_W59@h}FUJgE9WH5KBTh
zi2|+Y(~1&Y5v|)~T+7YekOb1gHy0b&PS!{R+jHtSi;lBySR{|j+Q(kjKD=+2)sYCl
zNLP3lJwSefu@69KWgKZFrvpW!UH0=ZKA|_{jSJ_4r~;Jl@()&+nId_d*jusYGbn$q
zA4ewPA4euoWN-a*AlPJZ(BD4yg-lTL3--$0b97E~SrA?IxlD8bZ$Oa0G0L_~K<UtL
z%LI2DOFgqfMD2xQ(E{kuuT_nVp~{O8c%0X4f*-?o{g|3*jmmjbg-h(IVA@FBhNMMR
z{|)+-49nZ)?<L+E761Ro>!Q4lc9HpKd85XE&J*@yf1iHW>S5;HFAnqKjJ+Ex3f-9o
zBUT1QSf-O=<_)MD{)8;#WXgpN$zwquj-~A8lr8k3u&G|D_$|7hEGMhzL(SS)a-*k6
zo$wEDTmSvG_0PAhzqnnJ{|EmEe#MXH-2DGz{{H`A+KbP87lT6&9pCrB;K}`)R>={6
zG!tYgSA~!23m2k~v@Tt?`2{Cw$gl9SgC|Z74jevuV5qnc0H%@SgQrFY22UT~@6iuC
z$g!7o7%oVBY+@`vH9ZrDy1g_L$F1!7xTJ}nSL_GvIPp$03h*d9I)oY1xBu{f-PzvW
zDJX@CoshG;+giG`d~|I(t8!5`p#cPcwd=!0?|@}Xk1u*`?PWm)miCgsV`N;o*-HYC
z5$z2z08r;R*wy$uZx4)$&}PyG<FaEVk|ZLKmhP2sl6ET&eT%6b=$OLW2<z!t<}dM1
z%%g%=L#X?fJIgx2CG0-=V_`EbbrzUSiv6;T`c#BhfqHa6N6nrBq)I`2<su4y)o<n!
z5~Z956XRLVq6!5C@4`i6!j=RYQ%sV*9t`+L!=Nrwx7OkPZQ(w_4^&-5SXm(fty8b?
zsCmUm@@FnjOpd)t_S3qRjH{(OurCP*OhK2+S6rIW?^f7_t6S~@`;Ex}Y2ycm6c`_D
zDP%jrbQVbv#g5`7OhD&UQC|;#o4$%}4~~L^IW<0+bLhHR#25aYl!ZEk_a`*H><mJ3
zp+MJ{m|p__cVS%M=i#3P1)wcEIsKF~dTCU`BKoQRmK@D839RAF_-a)5ih_)5`MAQZ
zw3Zl-6h;&7x4jTOQi>Pv)ks=Ou-N;LU!I(V<2Ny79^GdR4V|=(o;qQF4fUVY?z*b0
zc2wO{wKsTJ0faSH@9^JOb;1IwCKR?KQKSWUH&7R#ZYdTX-n%r(Z))`Tuz0RFfe-V%
zDL59CzViLKMDK5KOc251j=4pg*_#cHjhLm;u@SQ<z%R2+Jaz@{-4F*b%<OaQey)h6
zVZ9EBn8iFO_+AdbM@000a?~-8Ip%SvXpoqQXTbV8?U-PFJs>Dw=CEU)U2i((n3m0K
zEZ&%J_HB%#l#0A#Qv%&pd~IziF3LBX#l>c6{*gYjz8KdJkMyxl`1~7V^0z%do}D;<
zE)3pTjH8UBf@2fMW{#~K^&HzclDmwO-A3(t1HNE{<wp6Ciiy2{N=yjun4lfSKqca*
zvX2GJsuHH8T`f#W|2lCZ6~LjC9}KY&iaR2^;g=m9zn0|>fT!fh4|1Ro{-Z?7<3mM(
z7D4V4RNMbrw*O`@q-8tXV74^fGMb@di`?z;3Z(JFa0-v0qM%%y6d~0g+@QDw!a5MA
zKTU3PTs>sTRO~W;v43fD+r{aQEvy86-z~P?eh2pJ9|_l#m$VDxtV396ox(ru67E^I
zaL;;#d)6zg)4POqdUwzl*SyhGJhj=qSMkrbjM|j24?X0q!wIhXk0gwI0zJsuRFQBP
zvs(wEX1@N$a3sYh!ab1PHURUXSlE&SaX5+W+;*hO<5)s}Qt7GkG526H+Gp%=4;>ud
z>>j~l!JpkON5hfLc7F3~b8sW?BQ%)ZG1!Ri#nHi?u-xX{W4Q8h?`O;5#6H2UEwzhx
zog$@EpATL`jp^DvrVhKaP0!8_G{fr)kooBZY_UvWo61<o|9SUJb_YCAOi#{~t%qa^
zrHV-AK0v~M7M)&Rst7;t(L?emRg~SKAGciPIh@i*RH?XlREjnHsw0^XWp`ALp~oLj
zwYnp!?%HlH47a+eB;`){8XAtY`iYMEXl86dsvxVIlP@`!ZO`sd*4Gtd+@8<2^Bf-L
zV`CXxuFBlU$NGf920Pq`J@sPe!T*S~YqzxPkhJT6DVtY`t)pmd|3r2x493Kq`*zi6
zcqe#gwxjHdFd^T?Bbb&0!Vz`fV+?fq*g@FtdyU-&t`wxvpzFk|f-;P=ccaSuUPDR<
z*Y^EJdaL^ZqXAp~4;qcxt(QNQ-a03~vbqw6X9zf#1$g9YV(g{TU%GvpBp;C^A2XzD
zB5v@18UIxnyL8P5rQi=q!H1+nJ}e!wPrm3b>6MSjeqVnKXZQeUg`+X({xrG8s#MW`
zP8EF=uS)-JsVF}yMe$P<N4~?)CoQVI@=Z(ESiP72Hsu3hNj~EfX$lQrcBu;dOI6^P
zD)<GX?6;)$e$g1{_Q3;Ho+zZ=;Migg_!&cgHu%D}_0J$82y%@rEc|@h;<HP|drnd(
z?q)0gIeO}x`?;k@pEm}2eDz;pmye5!o6HDbFqjf#I4QFN-Xi=E<8!lvy#~9m08mT`
z=Q&s<&q)Zi4ir<uzB(tsFOK^w@Q>BSuNsE{Uy4)v!2o($AN3{%aK~;LDXIMqsr_yd
zsr@0Tc+~`HnG-T1PN5xc8I!xmCV!j7PX}iC(r{l_4fh9LpL5)AEvs;6slpwp@NXGq
zACm2r`@b2bFyF;{*0+~xFMAg}lsWf*FVtTqR7S7J_=g*?ITUfkoN=VVmLd9|;qGUg
zgz@}U6tFM_b8i>}cl(5w;Qw60xr*t;%*{C$k7Fok%_{Q=Y>KunfX1ZnXMd$e#Ux}7
zyrso1{|(j8s+&YZS{Z?d7Jyosoy+dHnv-7fSJZzI>&mhc{f$>5D&rri4Eo#uEe!au
zjO+XKm>8GZ&dMM-C#`Z`+GoPldRQfH4)-AQXG`4~&^#6}0lAC?NX9-}?mmgl4`4qP
z?o&I{6-*T&bm@#ElBK(Dmw$g(V3)HixGPkj{}-eFE5BpZU;Cm_pMOXFUkulO;!OQl
z?y3LHo-;*g$DQ{Rzc%?;^6}(k@<MVdIejL8!27&Ij?1|F>oteEme5x!KE~E<jon*;
zxh~v&t*9h|RL$P!Ygs!%(g+^wJAQcJz|bk5Xmj0ZPh_=qcZ81~IDd2C=!h_St#&l3
z^ljhKQ;4Gv4_Y1VT}1;Y`wkvEaQu{x)Y;Znx)`z;5AQ_9D+~3;f`K*>48%kyWSL+<
zJLWOrrsBJN*`J68mWu}pPN~Was5KE2_?4IdQGkdEV4f;50qPp2pL-jfkpO3LtWFy`
z&<zIHQpbuQ_)%hmpnq-@X{uK$K0@uT(I|^PxD?+QVrRE6x{Nc8a&Kht)FJ$@95{J$
z@Z_6ll-AZQg(e(1I>>(Y_`#8VCkKayJbt{&$7<_p!$XU1>BVS=2lZPlJSkKyK0VQQ
za!4}K2|HR^w=6c`kIo;r168k!rgH#Ze(BN5%)45eH{5psVSmAoEO%E|Yw7YBI?L|%
z78SZOw{DzQpXxg}(s$y-f#a$kbnKpv4*!VAT{f&@M5wk9AMC0v>=9JeJYIr5av^ul
zmNYnZ1A1TX@W9q=5e1cF9LUW~qi}%+nBCIR(ygGjWtYBs_od!Y5N@@0x7~Taj6b=~
z6K`?9yt03>TYs)DeBXBYoF+b?iLcqQ2SmCm(_dG$!-qQ6>xPsFD3DGdnm{f=1fXo!
zJ0_lm7h#LHI09JQAnFK4qoc;28AoWy?x7^X(crUu;LUE&#}fo$nEoS%WWi5d1<$KE
z)^XHwZ06X?QO~iBV`tLv?=mW@P+M@IWKA{@c%g+ESAXIw?PtFbDeGrf5H0U#mMp3e
zC5GZa<jsz9htZBklRwDWv5Y{7GY;pRFz1kk-UMfK#zIlf5z7cO7gRDUn3y}mTJsqq
zINuF5F3w7oR8a@S+${t!yA)y+yK1u_JBoFZ#BEGArHW>g&9kXu^&6Wdf!{=_xk;XT
z4!fw=TYoHsdI>6W*WrV4{%o;Zvol@1fS*i|zGBQd%;|c9TDDG9=_#pFO-UUHYu1>O
zz(sGu;St;qH61~pC_z~;#J23LFoi}A9q8MC;7v?M?akee#6Q{hfYpx2l)f{Cv@nZ0
zf^sX`O;%?|k8|uqn~H~r`l9`ZhxQE~KXv%{>3_qg9<sXIT7$<9oa)=(cdF0oY3V7J
zL4E3>69-1rDzjRrisJX`;x9!!b9n!O!IH&vL;Fr1K5<G|cv{!UZs}@kE4h3Tg;nt_
z;wdE+aN!HAB(XE-hR4IYIDTnOH&LV&O`nRDj2c}SCXTMwWv=;{KbT11lgRwhtsOZq
zcYm~nge5d1*{sb?WP<5xE%1<9@c*IMUpC(AJ2W@RZpST0L@}1UuTw4+x_Ua>mS!pH
zR4GMIjoY~Y>-f<;EpM{&r!QSfKW%q+ceZF26PG<5c6Sec1>4#>?mUmRb+mN6RrRu^
zPRSf*aks=vifJ+QlD9u8;f0IhA4RhQy?-WK#v&{cR*wgXFWjyr&K=yRH)h90=t=SI
zGf+>x@jx<;kAYrJv}JE78P`0mUSo&1b_5iv|CmK|3U+Zs|BhL7uMjhC#kz{BP5#YQ
z$*Q}9Cw&0B|A@I4znf;IW5Ow_c1*Ngm1Nl3u%V1e+1}{*<BqY_n}Ut)=z=+coqvu6
zNPM#+%$|0~=x~fK$LMjKyBrS>ey>82KjavP9UQP5#~tH@6C~P$%%}X-RQv4hH6VA_
z<nP<Q`-raw=E(L|pRv8BJ%5iSPdf7V?7iQYM00d=kI%-Qq_X6${KJntIxNX8@UqM}
zF?OrWn6lTRzzWm7O!IXdTQ~|+{C^IvcX2dvv~aX>baHfa^m5$G(Z|uxv2VZOKVWX&
z60#t)i}$h$7{S<H*hxmHVlNVMBV46Uk?Ord??u-s4CbO*byti#a?2>GlT{+NffZ$=
z@QX?}3BRZ;F8reM@-6U>tgR|lMM9;jtXHS1aP)t9SqaFp66QB#MfeR{Fn_1$0PGY1
zK;dVzEGpIOP^~hGlnU}0R)K+ALUp2ln><qE%hzDvwkuJTuAg(85(9$`_*rgF998F*
z#2IyNOBm|ho$#x3FN#Ckh<A6wr_Ot1l@inQpAkj|+3%Kp=n>iHpfh*N*e(!){n`42
zPuOB}Xt6~WW)t=-@0@qlD}NW<!-?4EB=ZG$NI~!FJ_$et>X`S8%j4cdE(g7*Clc#a
zeD@^9k>U?|=TqwJp5bFHSt0ACaDXt53Fm5f16Nr%a-#G$T<4x2tn(4_7@uO>e9BLH
zpK?q-;2y&lzroY#(hI8ME~<*VF}z{keS$1fu`=pe?VMvbV~uRp(0>QpnlFD1qxPAE
zCCH=zrCiR|Q(Ig-mEAg*P0Vq-!)mqc(mw*w?`_&i`ux264jm2L+;;+-OWFN?6vP$w
z9yL2C+eq}Fw*y-Je&Gf*@{SL{B6yKsQD+;5(fCtFBABXWqnoN2EP_>m;#w0m6Z>y$
zxT{fnQ{FX&C6uZb_mfc29e;6^-%c_Cx;86V{^t_D#ixe%v;s@|f3I-0=V8QnZ8s0E
z#cR8H*ez0=bE-JM1armXP*I$~i%O%N;=q9^gC{9p5Zj|mcvXLwS@^DJje6j!8w|?x
zS?c0Plm~VUwHOc+)?>PR-Y?ygO1x$4HGB(Yuv1g9;c_fj-ESI4%73lFoyKr2aL$d{
z+J)J4ExCUSK8;A!hieG~-&y*uY?U49R$C-fI1|aCRP}7~6os2jo~9CKlV@gAwX?|w
zgaiwU1@K<|`iID9^L6(%BU^nvTX8*Gbv;|`F-xz*$H=Zrufu8<-bE}O;{p`v+H~z4
z_|fDO0^P)TK<D$Ye18GZ^S6vg<%5PTAKe@633sC~D+}JbMJN9ebn@rnBs>ZyVFB0n
z!(yawL-C!3;&Vr^_!V$hK4?*QJt8EdfJD;g3N@w1wKiq_J6Ii<vVPY{CopCGo{_F6
zvCKG27G&Ctbc?1JH;WEDmza^36Z4gdAlvITNJk}IYEqIfC4YTV1SH+x=W7TLoE$th
zvj4!b(+|FxU2G4G1LB`J+V{}W!$YUou=e0*Yi6=wQD(KbwwV)SR(nUc=f(;}!>-Uo
zZvS{Tjhnav(PnkDHsdr4Diqhq&DyEc9sFxq9X*|kRFc)x+PO@WwzO}11G`a-zTT>s
zb9F^R^pq@BYk&Ok{@!>neoE@2Hy(-)DL-Dl@o?PxddQMEpWGW4CP}rn8C}$##99>h
zH29`r?p)l|31Oi&bw-^n>$T5cgFd()UpJxk`A~5*2HQ;Ve3w>nxh~=;;Sk5(vSBN1
z);4T3{F|`EVF`2Wy`ord2Gn9{IqGBw_u}Zn@Q2kY5P#V#ozE$f#V^QQ&#p>59Ta#m
z3{qu>gIG-oZp7Lq?$#tXrvkIdEwd?mHo0{+<;*4%v#H>0vVJxdmNAPv1)tF;ac>zh
zS<IA%a<L4!s0=u!bv+tN@%=sTmZcrWLb>(|UV#+}yueE3;y`s^nS_>Yq_i!FX9@DR
zD8j8V8h<=>i8K55sc}I1_@d6j>RpSc1VLP{oB5Qw0rz+0!F9EE*=(cst!6Z+?5y_Y
z=C?|BFMWg1-4`z+>Ajc}p}3X1n6vRzHM;gTWr;jrMs|DK79FA_!i$9W8iIDSv$N<>
zYiE00)MF>n`ZT+`LMlK+vsO!Uv%WhtaqfIT8GloRtIDcsd>Aw+v8(BKu#L8rkQK`{
zO+A~{8=}Z#>8aA6O}{_l&kO9Q{xbtG1UWE@V`+e4p`3I0Ea{lEuwn0~p$&}3u(o|s
zD2%A*VP5qrWDTmP4g1~lBYs~VghXtZAie^kcIQ?lScV223)*L0{cRoU*4F=J;dxya
zYkw^j6I+KlZY1iw8|Ny(@;DlpM?e&34M8_Bur=?$nE~2otCwiOg*;nOiCX=E(mz&O
z?kx})VP4lNqX7Y^Q7c7ui;}g;^~t*AhUCWNrqdR><>#e$E55{9>d&TL1Z*|)|3DTA
zYHLl^pd~AtLXWQqXdRn3G3Ph;=&hyI)<Ry`;4<yEtF19zxoepX&zjwRaenT)vr|gg
zo9%CPe%8Zc>2qapFx3|OknpeEz#->1N)$7i4U)J)%HttS$=KIolP1+ITSbTECt`VX
zTv6I!b}LR>%ycEpcl3%_S`^wPr=?YY4O@X)M#>ruu8oe5PHQF+9b&g93^;szU~t_k
z&Z>&sOJr|P?DI>k-iVeL>_5<d`d~o)_IjB-(0B5<ldjbnfATr2yQ3K`d#+kBwQlLO
zpGsev5=KtDUnzgUg=y~!O<$hD_2uOBIg28$?pvztg}&9^+;QJq<j5{o9DT+?(I$t(
z&gFg^i&xg2L$MC?y^56)<YvEo4bDaNMXNl2fRB<#if^rHoc|9d-nby1!Uy&EZgNoO
z-hR=K8rM^5e{EG9mN5JVHKj_=q=%!x5_Qa&qfLT^bXezDih8g&Ip$`iw6ay{t<;O^
zieIU&m`N;zS##-4F<&&lk>8m5EmOZ0>bEMt(Tthqy8O0{5>x&HMGz7kr5xoPl^oR^
zbqbv#=ySrN{{i*{zYY)=Y^EVn;L93;KAE<iK4HNEe^|jd!3r3)_^{}W*b$&D7(@bA
zVfaG|t70?L;|9#reE2DFOS2_zso3y>cT<-1&s`jh2sn)?V{b*os%)uS<wdMcI)#YV
z>mshlN_V{%v2H1%{kn+pY`GivB5qEG3OOnWi50J|&sMngUc`oEq!2M6Hp!j(W46gO
zfWaN0e``ClRqjruM_lP9lRM|;X9ufI5u&Enjj@y8HH&HkU&z`<m2jbaTdcJptiYA{
zU3Q{Ba(;l1IevO(Vp4Ae@_+uP#$Wtr3s#Z(bMMvX!ms<vo(R6MbK?)R?c0B9;Lb*`
z=r#rmx!-Zfwsg0=RUwKVvW2%XZiVMMj)zffe_16odSPM`)C!Dwrp9tb)7flpeCF81
z6y9`mwix0%5}k8EKeC@5PhYYwBP+k49a>L}UlQ-R65kO$L86KUiR0xM_ReU%`Y%jR
zVQ_jLf?s7yP(){Xh#;Msu#gTTALEpxyx$IH-<Yi#%3aRzTBKMWp=Rvzi(lIrt#7Lh
ze^~Jgd1?IOBohQyfW5}<uxhb^$?5cr*}U79>ab3q+PAogiXNWAHW&R{d7_PG>Q9}Y
z$i<~j;$zd}Ii;CP)n%tIU5L+2$93!Pt~)&?02C6UUJ;);KaK*g6fgcr$#5Jt{B%66
zve_M9cZ!FKF;A1k)zlt;DxK?%8?Te{f2qdomC{JZtXj#dF9dt*6b#xbC%C2B@%PsD
z)&~7|nL&TRF>Ro25QQ-%s`=2`>{yETYBe}G>qG(u`&Art!h3CTEWC5JJ9bZ~6~f?d
z)%A^NnUTj%R{x2u4vV-QLe8RyPQy?W7n74IlM|FcaGlTk3?uP}VV3m84NQ@2e`<<F
zC!s_%MSu>t#eR+-AP(8>h|MiL6>M|G<`yHmf^Dt<v)2fma;?C!uNN@ox>9~Nl<~8%
zoS#h<3h~j=z{$Ag!Y9}E8{0=C+egc{kNV@ImGRLE<*F+RSo`+TVn8VYX9dDNE($cL
zoX;iW1GX{XH=jX6XwEHBx3IM4f3g7;ScE!EELlH*D^LNuc1s6BK2ThN#4S@-F|Nwx
z>IP=KwaFc1rW{PwmL<^QscSMY3Et3Tj>0YB*H5HP$sI{^Aj}JkV&6i?qsZNy+^Le4
zr%AF^l7LiN<R)}5dL>1=FpZ;?LOo|HlSy6X%cJF)%1ou(paLj$rc%Wee}@1??lz(p
zsXX+T#8Ag^cQ#pG_DQ~q!miAI*IL={UNie9mA&NQRaBANLPT9r6>h7lp3+Q(+orCf
zT(xJ#CX4Myrh>4G$z8-2`>XhSq;gB#j<_gU1>qP12v5|Pm6=wFq?c$-z~&1keD~|3
z0g{9+Un(+|Y|2P<R)}kbe-w5KlNSJ>d(hyU&y?bu0MmnkA_oNBOu5^;%ea>D?=r8=
zW+K->UmT8NZH#5~)gw_OA4T(R59m+Hwin$!qQo{_;@+F=I8tI*ZZy`yzP$NiU*l+X
zWAn}nhPyx6IX9c^nti4b6WjyI?o@1`)Hgf(3`&J1Xfq8+vIY0he<9=Z#^3tC?=Oih
z(X>BuOJnIRjV$P|RP@Mt$5>porCF{oBi69utGTePDJen=0R@L+2S&sZ`I|I~Z4MSv
z6%~9wtK?RDSNEb9XiW?1*S(P%Olwc4wvP=IwjDvyEjE}Lmi=KGsAMl8&c)0%aAlZU
zgv&xI#bp8WL^il;e|syFkW>g&1Kq?fV-15?|MDFn=E-YSpWY&&QeF@wQ=(c}c5kk(
znmcSDbIyqp5(37qKt|ctE^_tSI=hwJlYL>w;!<OEc6J8z3s+MFsxSp2zV(eah#kk@
zB9*`V>me8_CdQiNdz$ojG_m-ldvSZo`cmej!4~(7in`Wne@y6Hpdl_?EBOQYo(&|3
zFr|6)5MX92yp+XuEod}}JguS<)d`f)X=ne^CK86Q;omD-0j6fcS<u8RF2db1LM$|<
zWF{PO!5XV}E0XI{#%!`?Hf5<_zxs7FXU*GiR<qZX<w&hWVQ<%|nQF4(oL3vp1vZ?1
zz2Ov9sI|Che_`F9LTWf(g4MXjaMUc(qbRg!YLZ^3YsTlkOKO8j__jX#eD5~=%Fx4C
z=rDKOEw*>Ig+v)<RNSpw9c`W7-Gz&7R%c6FSU)=tE6VEZX>ouvR7MU00%CP_wv{Mw
zu`$eeG&Yn+J6PSV9e|x&7`ISF@+%@t_2!=L=3;E_e<!lzxTjaa>`W1>KQ%E1W!KWe
zhV}e7EUg(d2H@_YptF{)fv69(mw|^i2D%C+`;dAVIvpOXUAcSQt!k}T)mjLvigOnP
zfGUVtin>}oOjK+%47yvQ%J^a=H~z%b<qLKT2H#<<ix%&@I@^n}G(m%6>@t;sMS9@)
z<qH|$f7V*MJ6cQ97<90$Ej$Cft*tw_c-Pw8(q5w4X9RkVVq?OD-BNd_Qm1Nd?P)Gs
z^<BB+87!B2S};gi^}Tj09D5s`tezTek)^(?e;i_Rya2}nvRh}@dL9prKS3#vLw!^C
zC&bt)eL*Nb8@z(9^4CQ;HDtGUH@C%jpej&Rf5{0#yINX1Dwn-3dujTD&fD&4Z*DE)
zk%E3%3YWJJOkhR77`_ie9+H1z=IOe^Go6JbT6$=AcXV}1>Z2g$tR11JqqEkFutx5l
zT1%nDb9PTpS6i*tby*BtRu|zB{fzG{UKz{Z($U`9p@k=fskFWM4Q#$zTe^CVy~Vk7
zE!oItDlK10v8$GO<Gqcyqhb9~j1)1+GA0(e&uT3Z455j!u<rP>4Z~Yk`dpLa-YFY+
z`gj>v^n1*-P(r)_-)Vd-HZgW(M641=E{u~W-yTgb;AJ9xZe(VfWl=v0s#qklXw%gr
zUhRfLQ*6EX__vKa7t&Woh^jI<Ja(mYsW!ZV$VOFSL|MAx{;gFF>$cWztvyxU;D0Fi
zaMe$slak*ff8<!AOUMmSbM+3&Ea(#&Nyk7prb#wbM%$7yi*dJO+~XK%vh+K~e#aVc
ztb>lhn~ylwQO7vu2*dq^W8Cl9LymC@J1FB3#~5~uw1fV+G3prOp>ZSBLU`6O&N;?;
z$CwVKjnG9xE;`0zjxiHDZ-hpX3B1iQ-X40)fF|ZIf7F4%6vdZlkI!g}_T(Qms%r1f
zr;KRrJ^697wl=yqKlPZewjUqhwfpnujc9a0{T|FeX4FOxsox{~Mr)7q+g5ojpW}Bh
zpEKK{(G&U0SL`-Wp=$5{fJnlu^O?Ny4qw}ldbOy?uu}Vj97x3cvh*((!c}u$!?B)Y
z1IK0#f6<r}b()<VyE&RUS~=P|maEj<#r+<Rf@;k^t`Be==D3gJILAqj(`O9-14dJ`
z;VW-gA~7H<SMjL>dxf2}hPaQfa*7c9aSo!cgZM90qE2D0wG)8|;Gx#tiK4Vaj3ShF
zI2G6I#f7a=vR<8Hb?Q{QL5UK}Hd5n8`6ki*f2@d$R!?PoA3VRR&BF7m-XeNE>$Zws
zPfbGfdTQ(Y0HRypVEDq@Q1IE_$4l#Wh?DsZjX0U#+2<=UHYN>UY?t9H-Q9=(Nw&t2
zNKHa7#Wz<fdP$7I9>lFdIhcMeO7KVwf%zlQ^WhzH@6EQp$GunC6vf=VSx{f`$<VJ{
ze=;m8gg!_X2g$$|j^Kb~fNlUv8u(8*nr+3GohW_GrOGkhswWsDgJT#OpfgbA9#=X8
z6(|U}gWDUG3s?mX2u0<$ApM>bX%*R>6>?46nTX2E%~S<;S-xxw22UN@ar#`ULIrfb
z<en~rUrUTL5^#u%2eYlY8}37-i}f=Ge^M0-?jwb?Xp`(9fZNVFT&$ohTDaArb+dCX
z%N|q`JxX@3TJA#&^Oe7ag;vEpN({zTRe6B`wB;Xqr5%&fo)x-M8DWfAN=qkxgEG2f
zs+3(Xp%3JT_8U*!mJ*($gf|z;o{?JPMH4F9Y`5%UD;D%k&$Zc?-3hTpavvj+e>*9f
zKd~d~dk~9U$hPFG0PmfaDsiW^i^Ej!yn8X*g}0fz46d_XWH_I#yEdyrUUH|UY0xIh
z-hJp*+nq!*SBVp0_cHklosM3{cg4br256D5857RUgm7*ilP`Q+*f%4>zL^yE%>`lK
zOiA;M!hwOY5)iK+LB8&7^c(zsf4@zA@lTNX@V0sP?E~A4%K*5z?+`C=r3{=MsXb$<
z3at2AviD@~?K7Tq-=R{xQ&Kd}yYCuk#NiThMEBiB4hz0#^|w11p2^2+!!tgAFAmwL
zk@p$dI=npwfbin87sMH#I2Qkqp=#(ufOf${-mxH>N%(7%`#vc{Zw6M-e@6{nWtpH?
zQy;~jD-8A>0*CeU#>-;rC7Md0o6VtOgo)b1wU?iKl3b*(@RnaRq)r`5ihWh6>a^JQ
zpvra4c!@)KVY0#7%H9pb<q)buO`>HJEU1e;NS(cCWLx=B4iYQeFH%O;WA`3%zhrDD
zatNOjidjzMoEK(!C7yd4f9Bj@6MZQBVY<JrIZwZ?%<ZJF{sy&Fu-^*HQ0>x9OX|5)
zHI`TSPz%Z@rq+FlJJE=u9KT07=zytpb5|MpUm;UouJm+<mJQ9vqy&slJv6^b8V1}S
zQ0SX6YE6x}Z}IwU-<&eWqUSH5&?JND4-7`rpV8^Qt+S5GceU%Re^svXUE6REW6)pZ
zyXJ{kLAP}mj3yjJ@L{MlwNTrhgXGm|8|U0VG3Ysx_D>6G|E!SqJB75xB8_~Pe(!|z
z?!qV0v1R<;ltTPfp%8yfMlZU5t$lR=jg)-e{X1jSo<}R`W^9}H$=@%0^7jp4UE%SN
zC^5Ew%Db6G+=Wy{f3~&qx)OWel0H!4u<-nX7}n9QPe?h&WaOQdk#|W(-iQpkoEl~R
zxY*DI+<)TzDCYfFsdYs6|D9?d4aCk+h~awaum7UHaiHGFSHZ#he~oxKRKSA!uLjML
z2}rAeB<N@GEx7+f21kFNA;VFU{u@abvhC@1u5TMRUJa1Df4Ir1yhf4zW$?V*_nYc<
z(#(?L1Eyq{@y`}+cBcDC_I^_(`xB7Hlc)xoSkuj+8unq6sh{EUQ8K{~qFMG)-s^sh
zJ84q26o@M3$4xy4?o%toy!%O0aaBKQmhF;GI`4jpxAJwvyBFM_GqZO$Q08pE`jMe8
zGv45CTO7|xe{R3%<+h(2Z*HAcj!IK?JpGLMtny$gZo=HFltevpugTT=o$2)~O)-l`
z`uyuBdugP{RyPtn=J*Y%qB-~TrcCqhi)2Lup>C{d?2D@G^v;(|sW?GqnRma$HI3rF
zY{H?XTm6ce?czsVO3u5#%1vP=#|^IZCOk?pc5(jWfBw3e?xMn9q{0^}e?fTwE=9a(
z{G>ONUzVZzq;#sMq`X(8k3DVUq|BeHm~+3ZD^lw8_td30V)}|HQ>Mp?wdMLr@sCW8
z;eB6~hjf`wb5)jBli$|}%1FHa^xo6~;(SBJk@na-FaX=uk3Q<R%$GUJkS7R?;UB6P
z8UIzjf9u(Fom9R+B=TfVJt>6W!$&fpN&6?Ja_MQie@X<Eb)l)#dt>BE(m!AJg!0r~
zyPDoh^OecM_I_`SW#s$cAvN(%X}K{OUhk4M?X0Y6=heI>3tJu_ytsn<M5>@{R%N#R
zJ5y#`S;fAqyX1GxvYkjRS;gG%>G})IyFW0?f0z;&9DgqbO80a1f2pgzGAI_@e=rN5
z2jRj)mkyGy<KiEQHJ|Pvvwt?h`lRtg!@FQ#<HuC`@Zc`<Yat$i;pD?ixm1>~3T}iZ
z$sS~A_q|y9Z5gO;-ddUb-4+WE$zKieh?R+1h*XejOL@#L<?&4+cH9qGYE*V!9)&1z
ze}Br7*(T_IkWlhYP&9eB`yngal5x_V86t7}VQ#Z^EWHk|`XH~$1S|0!j@z+1_Y?R4
zsG~iUAM{F@@`MMc=)x|c3)5nMDs<~=MUQ69cWdJDD-{=<HTiCfoJ^1RZT|iJzg0E)
z)t~G;ESqTG8=8r>w{)!l6)CXf#L93Pe=3S*A7LhhEewz>Yv_aBiM0#YuB&83$q8Wq
z!`DEuVzm;A`jB283p`7Kfzj5}dPn0GtE;*5t!jKM)*#%A5Fa-poZuYdWB5V)&ZjRq
z5=LEyWn<sgCjL@vVGsvAWFO5lj)3ntA~7*si3l&wy9P{h3{F=-ZsBeS8huc%e<g<%
zxQeUcQ(lkml7u0#8yq2YK{R6yS?g|?om07sV8mz^<03fBBJ(6B_%5eC^BVztQCt#@
zM-u=b=2G9x8}nz3Q^o^E(&N(n2$e#4kK~^V^ebt=8i1J^SW|;EpE!B=jKY%ARzTFr
z5F8E#C)uukThwox`fc^})U3Ase}}b{8qNSLj*_ZUe?_pRs;jEEy3`k6#?lCi9*p8@
z2o|$rDtKnQ+_5xrBW#Nu%QzQEgPR;b0%3)UZ*)6Oj|0kwU-K{Sb&P{f@DKzI+sX~q
zb>;a@3By-incpNKve}nI<TtX}FXI6G(O;u9U{>(>!$@-ci%foi9W2Dfe}=H!3tm}B
zi*3wpnY3#W{>t)ICzJLDnY2NfMEEOHbzEld%`$Uukx6^22$Lxi@b)56ZV-v`wkY$s
zAP@Q>>SQ6_JX*9(B*3;zWE|o6DB@u!_Fh9kEsiJbfnwts{Jgq@10_Dz<T>}mK+KoB
ziQm-Ic(XmBqCJ>M5-qv2f8rQ42AVaGBy2JEFP(FT2g-aP20*8sZBSlM=G+l7N<93m
z@*)F}o=6h?jak2&ZZc-m{#1F&?~V>s80vZKUzu6m#}H}rKK6VAl?D<;_It@zc1^7L
zAZ&<0@<Q1=p;xB(k~y|~r4V4a3Z8Q>HD*geq$rKC^XF?WXK@(}f7KCYYJL(tXFe>7
zZ1^crui<<p*`A5c&LWD2z{Zp9+kj?d%8t5k&sNQ{V#xQ*ka?KJqVh{XUI32pPBP!Y
ztKVxhATO<E+jXQ`ARWo>87R?=e{h|Zs^RV@je%MNf9SwBFJyp(#B>Dw=zN&v1mF|Q
zM+Vm$Ldt;Izb8{%fAjpm-HzFUs&On^nh4I$SAiJFgl}3=pSd8k4E<oQG;N=B2G#og
z(j&0AxMl2<9<g6K!vX0GiJ<IC{c#O6!KEzVNR*}hLqDud2_|<;u_BzE=u;o|q5tXw
zYQjZH3VaiH9aUG8u%x~Ok)}3T`J!7}_JnTgx`gF5^+svxe|J5vfI2o6u7Q(|7p|cJ
zH+$Ep!Q#}X@;Trnil3VWjl+3vc0u4R(2Xsfp9NoZ7}vrf+zv!cIq#sFyJ?gl#<l|j
zPAR=CnQ+vrWs@cMEeT6NJ7}d==>k_3{<3@5L3dB=F1A>eF@)_}NF7l^>J9E*s9HmO
z^7I`v#(&fNe~;$IO+FcStC!prx>HXgrzOg2$+OlsIy8QzAa1UAW~Nc=Nk4sOohU>h
z@PVf<sHljNnma5qS(D{kSpQl(Ti)vOwpd!0HzTb%>(=@4D}j^a=kUZ8JllNb?T_Z(
z-fNz_P*5Fu<Mm+eC7_^})Ev}H{nSiA>nyEa>s6V01o`;Vm6IOrCo=}E{sVIxUt7Z5
zMi)pg1NhxizEMzwgqv-x7e@2O&=!6ZY|&|C2epS7T9d^Af$oiOmXmnxB>_m2p6wrh
zXT&*G)e*;+cNh@W0>-}Ju45KW7=o*rteKmA<~2qn$iTKDJ!Ruln=qeEg~nu4Cki!*
zSf81W$PI(Zc58&W^_sZIsyoCiB0Hk@cxBoo#VMBJ#AOXBkqKn8p=JzsYtnoMNSB0Q
z``e;!BXCD|GnX!)W>W*=dp44Y4HOxFvx$FGZ=HSS=DcuD)YfG?(`1yHbOA$;XKs3!
z?ryz2tNh*Dw-?-<6lHO=+0@;dY74d|cP(bWS1Nu0BVmoPr-e;WkV@FHA0o;dglchS
zQhk>+8|T~l?DIXY1xIgA){G}9MQ`NR?%-BubH{QYN=jnf+0`0GIxQgMeFuhrERHpY
zwAIzoyd)d)<grMhyVsC7VMpIpB;=+@bCf6+A#`iI4nhP}2<lvl^`v;vU{YymUW`=;
z>S%K?ewMs=-qWc;7Duw;_yZw!XLm$JECk?Zs}ea^S_o7{#7<0!KdEuz0x44lot6^;
z(^AnkuPM`B-bBk16$-yBh)-011y~kDEEN<}Z_~19RbCyiyu1=)t=)(=>n~eXHZ0RY
z6KL)6KG_rMcQ?02b)E&$es_CwIDHur-J~cqh=9B&2)Qryk-O7I2RV6bSD7v_aYqV5
z^)j9PilC)fB8D8HiI&AG1mU()a6?b=US#Q=JvcABoI9^>flO}=<<3tLWM|ZEM+<Nc
zUc=ZO9fh0p6_d*EHh=XfP(!z{u(fyI*-8(6g0`MhKNiXK@-ndo3h;o4T1Di$Bw1BZ
z5699o=am;3!49yHwW^)U8?T01`M=QCT8^xir>dBLdsTB)Yt`LV4+PKo*hjGBSOPCE
z3lk#Os2KXmYNdhY3+OGzddC30Ws?JqZ)|mpddJ@8*gG6sL4QozNykRox_d(%k^D_g
z0HG@g0-X-~7NeI?9Dm*A*!MX0y_okocAqDHHPAaeB(m2<I054%QdcK<22cUVI_nrC
zj*(g>d>upn>V%NIo=4P*6o46d&-(uSZr>hOygdULv@)-Uk8m92IL>i`<0Qu^;=-8a
zZxcHj*&T@}R7~s<1z4tnV>x(?APa2dh;xYeG{MopA&3GU99<ke93uMM#~~umgB%61
z=P|AaIqv5e;yBIm(8GrR5u>#YvEjBQ5$H-SE7^dB_WF}b@f&|D`gxHub&8g&QxR;u
zFfa!ERLKu)xv*~?%dZa?;HIy3uWvnq(T!^7SF%Z+VsVwSbn{-{7F=^BBt^aaG|103
z`9a)?uoQ78!qP@Dkf_`#z?xObei4@L>K9?@?tT%LHua0Jw7Fk|r7iuwuu+E~78fNn
zleuAI5j2d?_zQp8OFW7pvrs0xJ$mG3Y%kk7Wlz81#(b(h6#+6J+cD5-raQdbgV`>*
z?Mk89Igcx|u7Ms?SwGLahqJxz;oSOv_W1&JJ|F)-r2cb35dYm{4QERs)7|3@9z%OD
z+m&j#dN#2$otSq|WV_Bb>`XV1Gi=!Vc`Z4MjFf=NdG}i+0e6|o%^3kvL5x%}aIG07
zplBXMOBF*9Kx5Oq?!kt$W#GHH4>g<xY^P@4eVEs6yLz^MXS#kKQE1oMZ9CK3NLw|J
zj8kPMp4tego_B|JX4M#T6Hq+wp4F4S@)v)*4M7?BZEw>?t>=Z@dNfs++Tc#Ay_Q&i
zyBD@KszRxXVE=ly9NDlt-DEVLl`=G{4{uZz+jv&qc~-vDz1U<nD)E5!_ttn;-mYLx
z-6y;pwK%y^eY&b{=qH89(7#xY%Zuemty7Y=N)PzXy|PUeC{?3^tFd1H2}<L>eVczO
zEIBD^4Qq40s1zxm2vYIQ{T|~GHaPDSNse-9Q;6_WIzkahmxn;^{IEm_hz#x?-T5ZK
zR(Oq!K52+hGL>*YWn6wuFd|a*fF9sB`X2XZjj=iH;T<<XI4_?A?SNdEI(<grHNT`^
zQvr;@A*Ab9C4w@CDMa|3j!@}-o(O-{+G|fp#E#;P`%wgxUoy1toNsyAxJo8`&aZI6
zxLY3WH+8g1qWuSnR!y|uR?#97O|%Fe6=tq`_x5z?y1Qq4I&$5;rvc?k_g;A08?Vd8
zGrfs=lmWSVv)QHz-c}yJQt?41*fj`Vy?q;iLV&QmZ~SRR?%MBu&-;S!&f9-^PCnlu
z|Hx4P;Df7y+w~@EDdieelE!imjT}CHMrBc~uTJ-m96S8rNb}0umX)`yD{tHUBPT(H
z3ZvA7vp6vgae&YfmYy?pQb^5Q;PKqa>8ElL2_8L<rr_i_ZeyP0n+mr<9z8I9X)Gry
zT3GOmU%8l`8Y4o1z6RaxPO4R+P&&;WMI&R=`-B+ppPU|j+!@1<r#P4G?(FCaFIC2B
z;zU)}B5~5zb4RYT-PYRimZ8#DH!P%yd8OODGGUAvGiL4z5~~UGN~?LLeHF6!(nq{m
zlP2{*RAy?gy{(FRzV<evQ?;pjqkmU$H||gmT0tQloS+4UblAHR7Vic&<Bs-&3MC~L
zkLa&yW-s&<2ED~=d+ZS$Z`u7jHomtviF>{#AhoT2$3ivjfRnoQ9T&$}%X;qHv?0IG
zt~S=yaMW?cHyi7=7?bYxQGd_)nToc;0hFD6y)5w!vfJM#yZ!C5(cdAQ!baf~?i5a8
zQgI4}JqUYPu?t}dzs9AVvQqYt;cl+aoBik`!87whw&)Q5PFS}(&Q=`~*qIJ^AqgEK
z+(j>>UWbU|PcNiFhlF;fLpmf8={Fh^@FCJQjS1M;axxR9oUDW`CzHPR4o)klV0~Vt
z2qo6bZ8*`Ht~ndtnGSoe+o@icH*dm4gdrMhgQ)=<b{ENBa(4+scmdTF$K4IoZMr75
zc;C!@{m+{(q-$Pv+@v69o0Y#0lN$FQfA<0~(SB@jf}hX$0Tp=ug~aF!a8^>HT;O+m
z(={m^2_XQzD_yg|>7Hy2K78OBqmRZFgjon>w3-<f!F^(}6T)KWg-o#i-Es=-vaXRC
zE`byiW<Nfa-~t6d{{?cz;|!dl0|~q|*@>763aX$1@p@z@)~O(YDzM#y=^9>rf8^8d
z5z*HHPTXjmxxpvKwg?+`VPQc)#*e*_t&xAcFfhNcFz+7McQ>dUWS~+x|Ds4B%YnxJ
zCy`&!8@EYsL<>>rRVg+!UF^nnX&HBP$Ve6U8|e~J6}uVx7vVLr%#Oe0jw>VBl7&?1
z0wmV@^!nHzLm-qaxaZ+BW!KNVe<txB`|PLP$I8ya4@O!Ld~QxYY38*Q09DgmX4g|2
z-0<yE?cCzSN$!J%d;C&yuOE_dE)|wsFFl*^eL*FDVdk~i{fgGfB?1VY8G}2B@ma8-
z%6bUrMVJ3qUc`6E|EPO~Pnmlmy&m15v4vD|<?VmFtt;m3Ud6=F81vnTDSd{D5pwjM
zS93S#felaCpXFDYN~+}DhEzz5nMUs3%TrZD^WwzOeo2$x_#I_WIZ{W3I?JwqA%!o)
zrAm{45COW@xTEx@`;K`^|FBZPupPL3pA!0)#&4B&XS4ywj@L)QvXZvs?h}mhxrF82
zeG;szxrFK6eF_kcxdb1TUO!xk(q@1n1$n6-6!XDKbPPUClVSNoe|EQs)Aq>xd5>6W
z-YW*0Oyh`U#7eUd8JBkR73GX=<tUum(GcG$eko~V`C-^Z2$`k062cE5MT7vlMRC>l
z6H-D55a@i4svkleJX9uZCIwNA15`Y=h5gz*BC;>(Hp5TpVtc)SCP~R+4}XEd?dX<z
zff1~nSq9a6!}AEGe_k%6FIkb^S&=@nX8Pzn)`$S7OP^uxT#-JqB7M=C>5J!?ZUI}@
z>ESDTV^Ydrv?6`Un(1Rm<9<!dMWZPHAulXO<!`hETgTr-WBk<+H6^YJDsSL<D?m;C
zwtkaLkAY>iB{Kp6OBJSE)ddQ5_Jvh-CTZROxIC++iu1Bsf2un#E3f)iWrc%L>hE`!
zXSGy^URF!h=w;>A<f^QS$;xqmcX?Jz)#+umRHI&2UZt+eDn{3Pg$|nut1<c&dRr!{
zF270_%@nK4SLvIXn9>akC=x_Q6Wh6OkT6~6e$$8-HlU8hOz;tJCO}skQKhgPZm?OJ
zW8Yqvu%A^Me_STQGl{^g=f%T)5aDaWzNR+7YL$41$uJ5XBKvw3@URyke1$p0&%X2q
z_feTAS-A0I%k(xpu+gU`rbp*f(aP_kiC6B9;N_J$K$%fSrO=>8Y#fY87<`q26V`Ql
zKUPiXD;0ka{k6t^Olyk_ofs0-4^Q@Bk_&&^_qIlHf9?$y68a(&xtY3E%xA6P;w9Av
zWxh9|pVQ+RoB^iR;&`c7Z(mf_h3!jQPxBqOFKF>J557g#>WXS$>k`3l5%L20{Bd*q
zTxpJt-(Yq~*TzvQ!+1<t+epYbzPYc=sH=b|jSL+KA&5MPpzlIPu~Ii-zN4~|n!J$4
z<_4=5e~iK~j#J7x<yqyP=t3qpGCei<v<j=#VWXF(FJfJD(c?;&U7Q#lVMjTBX=Ied
z!q=^qAjSA+t2!ciAQ-uvYpGh6!Q^;$#>=4|13T>avSQ$a){>-Indj)!qm$!ki%-BW
z-YAc>3_)d{zBnQ-(+jVNV62qI4HJq$qwAKve=ajUGlQj&W~7&n;-~aN8gUFpKbRnn
zjap!NRWFNvNz4zu*j`o0XJ3@s65XZ6-Ph|>f3(vl3Z&}&^nr-d*_j4iCOx(G*37TA
zX3?q^jZ(+13*0U<<XGB8k_MKkbxa%|34n}a?sm*3$8NS|KwxbYH1ZW}bV?%m?Gj>p
ze+XV-&fw2EF?M(iKhxan6ZxR6P8gjCvxonFs1)%UgiS149GOi@flrWSn>>L}kVUvs
z7V9e6;#B*YVMNuz#$F)^-JRk$;ASKwhC*csGItbjnDAuh-LU~jbX#ydJw6NdD#vGY
z=+g(>b6{OE_A`D^>CjTlp$hY=?PkCTf2;f*Mdg@Qna}u=Y`7@RdMQYqDv}grnVyc2
z7;zyiHVa{~MaYS*LQW)voTwK{qCqH$Z9+s)Ic(7c@1Zd!<U|oi$u?1^6%C#+hiL4G
z`w$^6WXo2pX3|(=HjLT}3NWPu5tMd{hEa<tJ3_64EFkD+vB4;qWiFVbqW4mre;D(?
zKv@W<mM-7Mr6VdfMfD#yUM!pCyFo!4C?dxaQ3%PD)Uy2~Y&~#kD#MMEq3y=?X-gqE
z0c^mNH|B*dXN_w}Smo4YBB($Kuw{q{Is=|$yQDE}cL%YR#%LIK?}3-xM)3zTY`8lU
z_&Fam6!;CdyApfV?W<vT8yY>4f6A{aJ@R(_?haMVfNaGwfiJq9LgtcpH&0`S+0Oug
zkO|b@s{-#Tlyi?xd#^t2Rau0@Z4-rK>n?@c$1~p8Cptuxf3MznP)9#p$mNJiC$47h
zQ&&;0jwXzOsDbwLF#zAZS{p1RI9a$D(y<yxOUr0_lATr=h~35+bwvfZe-EfD*`htD
zu8LXfAC?6&b`2-K=C!MtnEakax7=hUG#9RBqCCDP&;9Cov3hRrOba-i46xN4$Q7=$
z4<W!<W5p9=$4k?bIC*PQ)|_Jfs_!)~(s!G`l01JwpBnZu&?W5l?OO$D{Jozx>=AsJ
z?^v}YF6FI_pqKKtaD=c5e`_l=lEVsf^!(+Efi?X8X$@6h#EUdG{nS)YbTt=^!DB2X
zS58k&JaKtk+Y8?TXf!x7l~IvoeXbZ0Y3$IrRyptts>@X1z&PdE?*$b}w0=02YIP|^
zN<TBLYYZVSlQTsVyHXWYJd(YbTl(6fffGYZcdOASmujiN&b%WRf3&ruwWDg$AXWL2
z89PL=Xu&G#K-;#T5G1G92d{`NM$~<L#E=xbAERtlbh`r&n;WGv)otzpEMs-G?#C(@
zMN{;3VynO1?&|7kw!51_g<MP-C3~R+CPl{X$D2lTkG9xV`C`x9+}=_$kyCG1K||v+
zgtoQ!Xe;1Cw2syue}X&PI;w$u8dLVXgV}wPaDBZJhjQS9c(J>?x|>VX^-_Ho2&eAu
zJ3|v<J>T5@=v$<mmKt;QaDt4gVvHPk5<2JDie@UmgroQ;$JG-drpBje%GFVI(=7%M
zcsepVI8lhbJovzcaWDd=MxXA>pg@d<$CJ|&V~%I!?59<x5N0Bi)9JBe+U&XD1jxHx
zO_wGC0V4sqmr4NvBY(y4Hzr_7)3tIQXL`d*WwTYC;EkE-i_j8UPau6obOlOA(-&1v
zr(~F%8xLll8c2`MOkWC7Fs(jPDsz$4<Ko;<zQ%+S6~V~_h-KrG>8C3eYvEY>N@0F6
zo>YXhdYdt+HxS<5VB@Nfp(`btd(%_XQ%_%*zML!Q%*7YS-hY~-HqpH3_BH^WiXV;O
z)c8{>>tJEHJGny&{sNE;Z~X5=x-(NQ-J1TAQ)Ioa0g>VWo>+*8y?TJx0;3U_R3~Rr
zXQk0M{HpqjAYgOncS{pf4KmKpjjPBJb*U4S7qZ-^C)Q)2gE*Hj=G5LoDqCF@^u%$t
zk<EfRCO8;HXn*Nnl5NDKbc_<+S=cXldOo@A%mw=rzs6$$ooW>ph(>RevVaeu@+el<
z1CZ>ho??r){d(!qNGDpJ5>_eH1Qns{>}Mp4C*UAot1gPi#&Z*3Xn092kPHBq8-HBC
zsYostUj)QtdQ832VvNMnV`FMK6lRAKMYlUuAynjRs(<z?U#K0`HU6RCsj4S|V8k10
zAQH8UFuT{#k^T*S^d&6;2hhS4?!%5P0u`=`96v&pn85XVswx%A*ANnwYA3MHvB3z~
zs1#NJN<g*0;*PC!R_ug;t>G3`bXHJULBqbqv0I%0U~3(YjeZKsDgBPK&#@0U_JCs_
zbZp$A9(K$lj(vZhV;^&DPytRNrLj*t_8G^1z_A~6?1vnC#IZ*md(5%3j(y&VOgKdo
zjy>(zGfwek$9~GOuQ>M8j{SBg@(#y-hV&oc_$iJLa(sy6;~byl_!P&_$R>in?U<}@
zZ`zpe<9Cz#jpzHU68<*lA3Zzli*7Zodx}b;<Crcch+2P=$Uo*Q*(N@d0^9TNdLLVy
zMxXDVq&(W4|4D9lV*?*($>Z&<M7(mC?fIV;;>s6YZ`5tz*uqiI(ZI2TV<*QhjwX&~
zjy8_YE~Bp7sBbWQWpyMrq2YXXGzzKCFC6JmG>RBK8jZpY24)KuNI(Qk0TD2j_{!yn
z&nq!4D7$|uUv-~sst`|^HHe;S*>0^DvwPXS1U85UiMe4P8YI?6<V-l%0A(2yec+fk
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
R>WmJliBIg{xBtJZYxxt!ffoP(

delta 89697
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

diff --git a/lib/mejs/mediaelement-flash-video.swf b/lib/mejs/mediaelement-flash-video.swf
index 20097bad46ac89fa401f34cb92bb3eec8efde416..4bf3fc885b2056b2dc3c3e0cda3b6dfd813f96c5 100644
GIT binary patch
literal 8174
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
U_QmgQfAim?aP&z35AASTDoriP{{R30

literal 8017
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
T@dMaj{1+meIMV+C*60vx6?BB(

diff --git a/lib/mejs/mediaelement.js b/lib/mejs/mediaelement.js
index 42f5afd4..0c4ccb55 100644
--- a/lib/mejs/mediaelement.js
+++ b/lib/mejs/mediaelement.js
@@ -864,9 +864,23 @@ var MediaElement = function MediaElement(idOrNode, options, sources) {
 	    triggerAction = function triggerAction(methodName, args) {
 		try {
 			if (methodName === 'play' && t.mediaElement.rendererName === 'native_dash') {
-				setTimeout(function () {
-					t.mediaElement.renderer[methodName](args);
-				}, 100);
+				var response = t.mediaElement.renderer[methodName](args);
+				if (response && typeof response.then === 'function') {
+					response.catch(function () {
+						if (t.mediaElement.paused) {
+							setTimeout(function () {
+								var tmpResponse = t.mediaElement.renderer.play();
+								if (tmpResponse !== undefined) {
+									tmpResponse.catch(function () {
+										if (!t.mediaElement.renderer.paused) {
+											t.mediaElement.renderer.pause();
+										}
+									});
+								}
+							}, 150);
+						}
+					});
+				}
 			} else {
 				t.mediaElement.renderer[methodName](args);
 			}
@@ -975,6 +989,7 @@ var MediaElement = function MediaElement(idOrNode, options, sources) {
 };
 
 _window2.default.MediaElement = MediaElement;
+_mejs2.default.MediaElement = MediaElement;
 
 exports.default = MediaElement;
 
@@ -993,7 +1008,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
 
 var mejs = {};
 
-mejs.version = '4.2.5';
+mejs.version = '4.2.6';
 
 mejs.html5media = {
 	properties: ['volume', 'src', 'currentTime', 'muted', 'duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable', 'currentSrc', 'preload', 'bufferedBytes', 'bufferedTime', 'initialTime', 'startOffsetTime', 'defaultPlaybackRate', 'playbackRate', 'played', 'autoplay', 'loop', 'controls'],
@@ -1561,6 +1576,7 @@ var FlashMediaElementRenderer = {
 	create: function create(mediaElement, options, mediaFiles) {
 
 		var flash = {};
+		var isActive = false;
 
 		flash.options = options;
 		flash.id = mediaElement.id + '_' + flash.options.prefix;
@@ -1628,21 +1644,23 @@ var FlashMediaElementRenderer = {
 		var methods = _mejs2.default.html5media.methods,
 		    assignMethods = function assignMethods(methodName) {
 			flash[methodName] = function () {
-				if (flash.flashApi !== null) {
-					if (flash.flashApi['fire_' + methodName]) {
-						try {
-							flash.flashApi['fire_' + methodName]();
-						} catch (e) {
+				if (isActive) {
+					if (flash.flashApi !== null) {
+						if (flash.flashApi['fire_' + methodName]) {
+							try {
+								flash.flashApi['fire_' + methodName]();
+							} catch (e) {
+								
+							}
+						} else {
 							
 						}
 					} else {
-						
+						flash.flashApiStack.push({
+							type: 'call',
+							methodName: methodName
+						});
 					}
-				} else {
-					flash.flashApiStack.push({
-						type: 'call',
-						methodName: methodName
-					});
 				}
 			};
 		};
@@ -1719,11 +1737,15 @@ var FlashMediaElementRenderer = {
 
 		var settings = [];
 
-		if (_constants.IS_IE) {
+		if (_constants.IS_IE || _constants.IS_EDGE) {
 			var specialIEContainer = _document2.default.createElement('div');
 			flash.flashWrapper.appendChild(specialIEContainer);
 
-			settings = ['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
+			if (_constants.IS_EDGE) {
+				settings = ['type="application/x-shockwave-flash"', 'data="' + flash.options.pluginPath + flash.options.filename + '"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '\'"'];
+			} else {
+				settings = ['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
+			}
 
 			if (!isVideo) {
 				settings.push('style="clip: rect(0 0 0 0); position: absolute;"');
@@ -1732,10 +1754,13 @@ var FlashMediaElementRenderer = {
 			specialIEContainer.outerHTML = '<object ' + settings.join(' ') + '>' + ('<param name="movie" value="' + flash.options.pluginPath + flash.options.filename + '?x=' + new Date() + '" />') + ('<param name="flashvars" value="' + flashVars.join('&amp;') + '" />') + '<param name="quality" value="high" />' + '<param name="bgcolor" value="#000000" />' + '<param name="wmode" value="transparent" />' + ('<param name="allowScriptAccess" value="' + flash.options.shimScriptAccess + '" />') + '<param name="allowFullScreen" value="true" />' + ('<div>' + _i18n2.default.t('mejs.install-flash') + '</div>') + '</object>';
 		} else {
 
-			settings = ['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
+			settings = ['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"'];
 
-			if (!isVideo) {
-				settings.push('style="clip: rect(0 0 0 0); position: absolute;"');
+			if (isVideo) {
+				settings.push('width="' + flashWidth + '"');
+				settings.push('height="' + flashHeight + '"');
+			} else {
+				settings.push('style="position: fixed; left: -9999em; top: -9999em;"');
 			}
 
 			flash.flashWrapper.innerHTML = '<embed ' + settings.join(' ') + '>';
@@ -1744,11 +1769,13 @@ var FlashMediaElementRenderer = {
 		flash.flashNode = flash.flashWrapper.lastChild;
 
 		flash.hide = function () {
+			isActive = false;
 			if (isVideo) {
 				flash.flashNode.style.display = 'none';
 			}
 		};
 		flash.show = function () {
+			isActive = true;
 			if (isVideo) {
 				flash.flashNode.style.display = '';
 			}
@@ -1923,7 +1950,7 @@ var NativeFlv = {
 				NativeFlv._createPlayer(settings);
 			});
 		} else {
-			settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.2/flv.min.js';
+			settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.3/flv.min.js';
 
 			NativeFlv.promise = NativeFlv.promise || (0, _dom.loadScript)(settings.options.path);
 			NativeFlv.promise.then(function () {
@@ -1937,7 +1964,7 @@ var NativeFlv = {
 	_createPlayer: function _createPlayer(settings) {
 		flvjs.LoggingControl.enableDebug = settings.options.debug;
 		flvjs.LoggingControl.enableVerbose = settings.options.debug;
-		var player = flvjs.createPlayer(settings.options);
+		var player = flvjs.createPlayer(settings.options, settings.configs);
 		_window2.default['__ready__' + settings.id](player);
 		return player;
 	}
@@ -1948,7 +1975,7 @@ var FlvNativeRenderer = {
 	options: {
 		prefix: 'native_flv',
 		flv: {
-			path: 'https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.2/flv.min.js',
+			path: 'https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.3/flv.min.js',
 
 			cors: true,
 			debug: false
@@ -1996,6 +2023,7 @@ var FlvNativeRenderer = {
 							_flvOptions.cors = options.flv.cors;
 							_flvOptions.debug = options.flv.debug;
 							_flvOptions.path = options.flv.path;
+							var _flvConfigs = options.flv.configs;
 
 							flvPlayer.destroy();
 							for (var i = 0, total = events.length; i < total; i++) {
@@ -2003,6 +2031,7 @@ var FlvNativeRenderer = {
 							}
 							flvPlayer = NativeFlv._createPlayer({
 								options: _flvOptions,
+								configs: _flvConfigs,
 								id: id
 							});
 							flvPlayer.attachMediaElement(node);
@@ -2087,6 +2116,7 @@ var FlvNativeRenderer = {
 		flvOptions.cors = options.flv.cors;
 		flvOptions.debug = options.flv.debug;
 		flvOptions.path = options.flv.path;
+		var flvConfigs = options.flv.configs;
 
 		node.setSize = function (width, height) {
 			node.style.width = width + 'px';
@@ -2118,6 +2148,7 @@ var FlvNativeRenderer = {
 
 		mediaElement.promises.push(NativeFlv.load({
 			options: flvOptions,
+			configs: flvConfigs,
 			id: id
 		}));
 
@@ -2168,7 +2199,7 @@ var NativeHls = {
 				NativeHls._createPlayer(settings);
 			});
 		} else {
-			settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.7.11/hls.min.js';
+			settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.2/hls.min.js';
 
 			NativeHls.promise = NativeHls.promise || (0, _dom.loadScript)(settings.options.path);
 			NativeHls.promise.then(function () {
@@ -2191,7 +2222,7 @@ var HlsNativeRenderer = {
 	options: {
 		prefix: 'native_hls',
 		hls: {
-			path: 'https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.7.11/hls.min.js',
+			path: 'https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.2/hls.min.js',
 
 			autoStartLoad: false,
 			debug: false
@@ -2210,7 +2241,9 @@ var HlsNativeRenderer = {
 		    autoplay = originalNode.autoplay;
 
 		var hlsPlayer = null,
-		    node = null;
+		    node = null,
+		    index = 0,
+		    total = mediaFiles.length;
 
 		node = originalNode.cloneNode(true);
 		options = Object.assign(options, mediaElement.options);
@@ -2237,7 +2270,7 @@ var HlsNativeRenderer = {
 						node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value;
 						if (hlsPlayer !== null) {
 							hlsPlayer.destroy();
-							for (var i = 0, total = events.length; i < total; i++) {
+							for (var i = 0, _total = events.length; i < _total; i++) {
 								node.removeEventListener(events[i], attachNativeEvents);
 							}
 							hlsPlayer = NativeHls._createPlayer({
@@ -2254,7 +2287,7 @@ var HlsNativeRenderer = {
 			};
 		};
 
-		for (var i = 0, total = props.length; i < total; i++) {
+		for (var i = 0, _total2 = props.length; i < _total2; i++) {
 			assignGettersSetters(props[i]);
 		}
 
@@ -2272,7 +2305,7 @@ var HlsNativeRenderer = {
 				node.addEventListener(eventName, attachNativeEvents);
 			};
 
-			for (var _i = 0, _total = events.length; _i < _total; _i++) {
+			for (var _i = 0, _total3 = events.length; _i < _total3; _i++) {
 				assignEvents(events[_i]);
 			}
 
@@ -2280,7 +2313,8 @@ var HlsNativeRenderer = {
 			    recoverSwapAudioCodecDate = void 0;
 			var assignHlsEvents = function assignHlsEvents(name, data) {
 				if (name === 'hlsError') {
-					console.warn(name, data);
+					console.warn(data);
+					data = data[1];
 
 					if (data.fatal) {
 						switch (data.type) {
@@ -2295,15 +2329,23 @@ var HlsNativeRenderer = {
 									hlsPlayer.swapAudioCodec();
 									hlsPlayer.recoverMediaError();
 								} else {
-									var _message = 'Cannot recover, last media error recovery failed';
-									mediaElement.generateError(_message, node.src);
-									console.error(_message);
+									var message = 'Cannot recover, last media error recovery failed';
+									mediaElement.generateError(message, node.src);
+									console.error(message);
 								}
 								break;
 							case 'networkError':
-								var message = 'Network error';
-								mediaElement.generateError(message, node.src);
-								console.error(message);
+								if (data.details === 'manifestLoadError') {
+									if (index < total) {
+										node.setSrc(mediaFiles[index++].src);
+										node.load();
+										node.play();
+									}
+								} else {
+									var _message = 'Network error';
+									mediaElement.generateError(_message, mediaFiles);
+									console.error(_message);
+								}
 								break;
 							default:
 								hlsPlayer.destroy();
@@ -2334,10 +2376,10 @@ var HlsNativeRenderer = {
 			}
 		};
 
-		if (mediaFiles && mediaFiles.length > 0) {
-			for (var _i2 = 0, _total2 = mediaFiles.length; _i2 < _total2; _i2++) {
-				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) {
-					node.setAttribute('src', mediaFiles[_i2].src);
+		if (total > 0) {
+			for (; index < total; index++) {
+				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {
+					node.setAttribute('src', mediaFiles[index].src);
 					break;
 				}
 			}
@@ -2450,6 +2492,7 @@ var HtmlMediaElement = {
 	create: function create(mediaElement, options, mediaFiles) {
 
 		var id = mediaElement.id + '_' + options.prefix;
+		var isActive = false;
 
 		var node = null;
 
@@ -2477,19 +2520,21 @@ var HtmlMediaElement = {
 			};
 		};
 
-		for (var i = 0, total = props.length; i < total; i++) {
+		for (var i = 0, _total = props.length; i < _total; i++) {
 			assignGettersSetters(props[i]);
 		}
 
 		var events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']),
 		    assignEvents = function assignEvents(eventName) {
 			node.addEventListener(eventName, function (e) {
-				var event = (0, _general.createEvent)(e.type, mediaElement);
-				mediaElement.dispatchEvent(event);
+				if (isActive) {
+					var _event = (0, _general.createEvent)(e.type, e.target);
+					mediaElement.dispatchEvent(_event);
+				}
 			});
 		};
 
-		for (var _i = 0, _total = events.length; _i < _total; _i++) {
+		for (var _i = 0, _total2 = events.length; _i < _total2; _i++) {
 			assignEvents(events[_i]);
 		}
 
@@ -2500,26 +2545,42 @@ var HtmlMediaElement = {
 		};
 
 		node.hide = function () {
+			isActive = false;
 			node.style.display = 'none';
 
 			return node;
 		};
 
 		node.show = function () {
+			isActive = true;
 			node.style.display = '';
 
 			return node;
 		};
 
-		if (mediaFiles && mediaFiles.length > 0) {
-			for (var _i2 = 0, _total2 = mediaFiles.length; _i2 < _total2; _i2++) {
-				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) {
-					node.setAttribute('src', mediaFiles[_i2].src);
+		var index = 0,
+		    total = mediaFiles.length;
+		if (total > 0) {
+			for (; index < total; index++) {
+				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {
+					node.setAttribute('src', mediaFiles[index].src);
 					break;
 				}
 			}
 		}
 
+		node.addEventListener('error', function (e) {
+			if (e.target.error.code === 4 && isActive) {
+				if (index < total) {
+					node.src = mediaFiles[index++].src;
+					node.load();
+					node.play();
+				} else {
+					mediaElement.generateError('Media error: Format(s) not supported or source(s) not found', mediaFiles);
+				}
+			}
+		});
+
 		var event = (0, _general.createEvent)('rendererready', node);
 		mediaElement.dispatchEvent(event);
 
@@ -3042,7 +3103,7 @@ _renderer.renderer.add(YouTubeIframeRenderer);
 Object.defineProperty(exports, "__esModule", {
 	value: true
 });
-exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined;
+exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_PASSIVE_EVENT = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined;
 
 var _window = _dereq_(3);
 
@@ -3089,6 +3150,20 @@ var SUPPORT_POINTER_EVENTS = exports.SUPPORT_POINTER_EVENTS = function () {
 	return !!supports;
 }();
 
+var SUPPORT_PASSIVE_EVENT = exports.SUPPORT_PASSIVE_EVENT = function () {
+	var supportsPassive = false;
+	try {
+		var opts = Object.defineProperty({}, 'passive', {
+			get: function get() {
+				supportsPassive = true;
+			}
+		});
+		_window2.default.addEventListener('test', null, opts);
+	} catch (e) {}
+
+	return supportsPassive;
+}();
+
 var html5Elements = ['source', 'track', 'audio', 'video'];
 var video = void 0;
 
@@ -3195,6 +3270,7 @@ _mejs2.default.Features.isStockAndroid = IS_STOCK_ANDROID;
 _mejs2.default.Features.hasMSE = HAS_MSE;
 _mejs2.default.Features.supportsNativeHLS = SUPPORTS_NATIVE_HLS;
 _mejs2.default.Features.supportsPointerEvents = SUPPORT_POINTER_EVENTS;
+_mejs2.default.Features.supportsPassiveEvent = SUPPORT_PASSIVE_EVENT;
 _mejs2.default.Features.hasiOSFullScreen = HAS_IOS_FULLSCREEN;
 _mejs2.default.Features.hasNativeFullscreen = HAS_NATIVE_FULLSCREEN;
 _mejs2.default.Features.hasWebkitNativeFullScreen = HAS_WEBKIT_NATIVE_FULLSCREEN;
@@ -3815,9 +3891,9 @@ if (window.Element && !Element.prototype.closest) {
 })();
 
 if (/firefox/i.test(navigator.userAgent)) {
-	window.mediaElementJsOldGetComputedStyle = window.getComputedStyle;
+	var getComputedStyle = window.getComputedStyle;
 	window.getComputedStyle = function (el, pseudoEl) {
-		var t = window.mediaElementJsOldGetComputedStyle(el, pseudoEl);
+		var t = getComputedStyle(el, pseudoEl);
 		return t === null ? { getPropertyValue: function getPropertyValue() {} } : t;
 	};
 }
diff --git a/lib/mejs/mediaelement.min.js b/lib/mejs/mediaelement.min.js
index 607b38ac..71956a95 100644
--- a/lib/mejs/mediaelement.min.js
+++ b/lib/mejs/mediaelement.min.js
@@ -9,4 +9,4 @@
  * License: MIT
  *
  */
-!function e(t,n,r){function i(a,l){if(!n[a]){if(!t[a]){var s="function"==typeof require&&require;if(!l&&s)return s(a,!0);if(o)return o(a,!0);var d=new Error("Cannot find module '"+a+"'");throw d.code="MODULE_NOT_FOUND",d}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n||e)},u,u.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(e,t,n){},{}],2:[function(e,t,n){(function(n){var r,i=void 0!==n?n:"undefined"!=typeof window?window:{},o=e(1);"undefined"!=typeof document?r=document:(r=i["__GLOBAL_DOCUMENT_CACHE@4"])||(r=i["__GLOBAL_DOCUMENT_CACHE@4"]=o),t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1}],3:[function(e,t,n){(function(e){var n;n="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){!function(e){function n(){}function r(e,t){return function(){e.apply(t,arguments)}}function i(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,i._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(e){return void l(t.promise,e)}a(t.promise,r)}else(1===e._state?a:l)(t.promise,e._value)})):e._deferreds.push(t)}function a(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof i)return e._state=3,e._value=t,void s(e);if("function"==typeof n)return void u(r(n,t),e)}e._state=1,e._value=t,s(e)}catch(t){l(e,t)}}function l(e,t){e._state=2,e._value=t,s(e)}function s(e){2===e._state&&0===e._deferreds.length&&i._immediateFn(function(){e._handled||i._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)o(e,e._deferreds[t]);e._deferreds=null}function d(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function u(e,t){var n=!1;try{e(function(e){n||(n=!0,a(t,e))},function(e){n||(n=!0,l(t,e))})}catch(e){if(n)return;n=!0,l(t,e)}}var c=setTimeout;i.prototype.catch=function(e){return this.then(null,e)},i.prototype.then=function(e,t){var r=new this.constructor(n);return o(this,new d(e,t,r)),r},i.all=function(e){var t=Array.prototype.slice.call(e);return new i(function(e,n){function r(o,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var l=a.then;if("function"==typeof l)return void l.call(a,function(e){r(o,e)},n)}t[o]=a,0==--i&&e(t)}catch(e){n(e)}}if(0===t.length)return e([]);for(var i=t.length,o=0;o<t.length;o++)r(o,t[o])})},i.resolve=function(e){return e&&"object"==typeof e&&e.constructor===i?e:new i(function(t){t(e)})},i.reject=function(e){return new i(function(t,n){n(e)})},i.race=function(e){return new i(function(t,n){for(var r=0,i=e.length;r<i;r++)e[r].then(t,n)})},i._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){c(e,0)},i._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)},i._setImmediateFn=function(e){i._immediateFn=e},i._setUnhandledRejectionFn=function(e){i._unhandledRejectionFn=e},void 0!==t&&t.exports?t.exports=i:e.Promise||(e.Promise=i)}(this)},{}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),o=e(9),a=e(18),l={lang:"en",en:o.EN};l.language=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(null!==t&&void 0!==t&&t.length){if("string"!=typeof t[0])throw new TypeError("Language code must be a string value");if(!/^[a-z]{2}(\-[a-z]{2})?$/i.test(t[0]))throw new TypeError("Language code must have format `xx` or `xx-xx`");l.lang=t[0],void 0===l[t[0]]?(t[1]=null!==t[1]&&void 0!==t[1]&&"object"===r(t[1])?t[1]:{},l[t[0]]=(0,a.isObjectEmpty)(t[1])?o.EN:t[1]):null!==t[1]&&void 0!==t[1]&&"object"===r(t[1])&&(l[t[0]]=t[1])}return l.lang},l.t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof e&&e.length){var n=void 0,i=void 0,o=l.language(),s=function(e,t,n){return"object"!==(void 0===e?"undefined":r(e))||"number"!=typeof t||"number"!=typeof n?e:[function(){return arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 0===(arguments.length<=0?void 0:arguments[0])||1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:0!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])||11===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])||12===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>0&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])>=2&&(arguments.length<=0?void 0:arguments[0])<=4?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%100==1?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100==2?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100==3||(arguments.length<=0?void 0:arguments[0])%100==4?arguments.length<=4?void 0:arguments[4]:arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<7?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])>6&&(arguments.length<=0?void 0:arguments[0])<11?arguments.length<=4?void 0:arguments[4]:arguments.length<=5?void 0:arguments[5]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100>=3&&(arguments.length<=0?void 0:arguments[0])%100<=10?arguments.length<=4?void 0:arguments[4]:(arguments.length<=0?void 0:arguments[0])%100>=11?arguments.length<=5?void 0:arguments[5]:arguments.length<=6?void 0:arguments[6]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>1&&(arguments.length<=0?void 0:arguments[0])%100<11?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100>10&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10==2?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 11!==(arguments.length<=0?void 0:arguments[0])&&(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:8!==(arguments.length<=0?void 0:arguments[0])&&11!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:3===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]}][n].apply(null,[t].concat(e))};return void 0!==l[o]&&(n=l[o][e],null!==t&&"number"==typeof t&&(i=l[o]["mejs.plural-form"],n=s.apply(null,[n,t,i]))),!n&&l.en&&(n=l.en[e],null!==t&&"number"==typeof t&&(i=l.en["mejs.plural-form"],n=s.apply(null,[n,t,i]))),n=n||e,null!==t&&"number"==typeof t&&(n=n.replace("%1",t)),(0,a.escapeHTML)(n)}return e},i.default.i18n=l,"undefined"!=typeof mejsL10n&&i.default.i18n.language(mejsL10n.language,mejsL10n.strings),n.default=l},{18:18,7:7,9:9}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=r(e(3)),l=r(e(2)),s=r(e(7)),d=e(18),u=e(19),c=e(8),f=e(16),m=function e(t,n,r){var m=this;i(this,e);var p=this;r=Array.isArray(r)?r:null,p.defaults={renderers:[],fakeNodeName:"mediaelementwrapper",pluginPath:"build/",shimScriptAccess:"sameDomain"},n=Object.assign(p.defaults,n),p.mediaElement=l.default.createElement(n.fakeNodeName);var h=t,v=!1;if("string"==typeof t?p.mediaElement.originalNode=l.default.getElementById(t):(p.mediaElement.originalNode=t,h=t.id),void 0===p.mediaElement.originalNode||null===p.mediaElement.originalNode)return null;p.mediaElement.options=n,h=h||"mejs_"+Math.random().toString().slice(2),p.mediaElement.originalNode.setAttribute("id",h+"_from_mejs");var g=p.mediaElement.originalNode.tagName.toLowerCase();["video","audio"].indexOf(g)>-1&&!p.mediaElement.originalNode.getAttribute("preload")&&p.mediaElement.originalNode.setAttribute("preload","none"),p.mediaElement.originalNode.parentNode.insertBefore(p.mediaElement,p.mediaElement.originalNode),p.mediaElement.appendChild(p.mediaElement.originalNode);var y=function(e,t){if("https:"===a.default.location.protocol&&0===e.indexOf("http:")&&f.IS_IOS&&s.default.html5media.mediaTypes.indexOf(t)>-1){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===this.readyState&&200===this.status){var t=(a.default.URL||a.default.webkitURL).createObjectURL(this.response);return p.mediaElement.originalNode.setAttribute("src",t),t}return e},n.open("GET",e),n.responseType="blob",n.send()}return e},E=void 0;if(null!==r)E=r;else if(null!==p.mediaElement.originalNode)switch(E=[],p.mediaElement.originalNode.nodeName.toLowerCase()){case"iframe":E.push({type:"",src:p.mediaElement.originalNode.getAttribute("src")});break;case"audio":case"video":var b=p.mediaElement.originalNode.children.length,w=p.mediaElement.originalNode.getAttribute("src");if(w){var S=p.mediaElement.originalNode,_=(0,u.formatType)(w,S.getAttribute("type"));E.push({type:_,src:y(w,_)})}for(var j=0;j<b;j++){var N=p.mediaElement.originalNode.children[j];if("source"===N.tagName.toLowerCase()){var A=N.getAttribute("src"),F=(0,u.formatType)(A,N.getAttribute("type"));E.push({type:F,src:y(A,F)})}}}p.mediaElement.id=h,p.mediaElement.renderers={},p.mediaElement.events={},p.mediaElement.promises=[],p.mediaElement.renderer=null,p.mediaElement.rendererName=null,p.mediaElement.changeRenderer=function(e,t){var n=m,r=Object.keys(t[0]).length>2?t[0]:t[0].src;if(void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&n.mediaElement.renderer.name===e)return n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.show(),n.mediaElement.renderer.setSrc(r),!0;void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&(n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.hide());var i=n.mediaElement.renderers[e],o=null;if(void 0!==i&&null!==i)return i.show(),i.setSrc(r),n.mediaElement.renderer=i,n.mediaElement.rendererName=e,!0;for(var a=n.mediaElement.options.renderers.length?n.mediaElement.options.renderers:c.renderer.order,l=0,s=a.length;l<s;l++){var d=a[l];if(d===e){o=c.renderer.renderers[d];var u=Object.assign(o.options,n.mediaElement.options);return i=o.create(n.mediaElement,u,t),i.name=e,n.mediaElement.renderers[o.name]=i,n.mediaElement.renderer=i,n.mediaElement.rendererName=e,i.show(),!0}}return!1},p.mediaElement.setSize=function(e,t){void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&p.mediaElement.renderer.setSize(e,t)},p.mediaElement.generateError=function(e,t){e=e||"",t=Array.isArray(t)?t:[];var n=(0,d.createEvent)("error",p.mediaElement);n.message=e,n.urls=t,p.mediaElement.dispatchEvent(n),v=!0};var T=s.default.html5media.properties,P=s.default.html5media.methods,x=function(e,t,n,r){var i=e[t];Object.defineProperty(e,t,{get:function(){return n.apply(e,[i])},set:function(t){return i=r.apply(e,[t])}})},L=function(){return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer?p.mediaElement.renderer.getSrc():null},C=function(e){var t=[];if("string"==typeof e)t.push({src:e,type:e?(0,u.getTypeFromFile)(e):""});else if("object"===(void 0===e?"undefined":o(e))&&void 0!==e.src){var n=(0,u.absolutizeUrl)(e.src),r=e.type,i=Object.assign(e,{src:n,type:""!==r&&null!==r&&void 0!==r||!n?r:(0,u.getTypeFromFile)(n)});t.push(i)}else if(Array.isArray(e))for(var a=0,l=e.length;a<l;a++){var s=(0,u.absolutizeUrl)(e[a].src),f=e[a].type,m=Object.assign(e[a],{src:s,type:""!==f&&null!==f&&void 0!==f||!s?f:(0,u.getTypeFromFile)(s)});t.push(m)}var h=c.renderer.select(t,p.mediaElement.options.renderers.length?p.mediaElement.options.renderers:[]),v=void 0;if(p.mediaElement.paused||(p.mediaElement.pause(),v=(0,d.createEvent)("pause",p.mediaElement),p.mediaElement.dispatchEvent(v)),p.mediaElement.originalNode.src=t[0].src||"",null!==h||!t[0].src)return t[0].src?p.mediaElement.changeRenderer(h.rendererName,t):null;p.mediaElement.generateError("No renderer found",t)},O=function(e,t){try{"play"===e&&"native_dash"===p.mediaElement.rendererName?setTimeout(function(){p.mediaElement.renderer[e](t)},100):p.mediaElement.renderer[e](t)}catch(e){p.mediaElement.generateError(e,E)}};x(p.mediaElement,"src",L,C),p.mediaElement.getSrc=L,p.mediaElement.setSrc=C;for(var I=0,k=T.length;I<k;I++)!function(e){if("src"!==e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1),n=function(){return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer["get"+t]?p.mediaElement.renderer["get"+t]():null},r=function(e){void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer["set"+t]&&p.mediaElement.renderer["set"+t](e)};x(p.mediaElement,e,n,r),p.mediaElement["get"+t]=n,p.mediaElement["set"+t]=r}}(T[I]);for(var U=0,M=P.length;U<M;U++)!function(e){p.mediaElement[e]=function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer[e]&&(p.mediaElement.promises.length?Promise.all(p.mediaElement.promises).then(function(){O(e,n)}).catch(function(e){p.mediaElement.generateError(e,E)}):O(e,n)),null}}(P[U]);return p.mediaElement.addEventListener=function(e,t){p.mediaElement.events[e]=p.mediaElement.events[e]||[],p.mediaElement.events[e].push(t)},p.mediaElement.removeEventListener=function(e,t){if(!e)return p.mediaElement.events={},!0;var n=p.mediaElement.events[e];if(!n)return!0;if(!t)return p.mediaElement.events[e]=[],!0;for(var r=0;r<n.length;r++)if(n[r]===t)return p.mediaElement.events[e].splice(r,1),!0;return!1},p.mediaElement.dispatchEvent=function(e){var t=p.mediaElement.events[e.type];if(t)for(var n=0;n<t.length;n++)t[n].apply(null,[e])},E.length&&(p.mediaElement.src=E),p.mediaElement.promises.length?Promise.all(p.mediaElement.promises).then(function(){p.mediaElement.options.success&&p.mediaElement.options.success(p.mediaElement,p.mediaElement.originalNode)}).catch(function(){v&&p.mediaElement.options.error&&p.mediaElement.options.error(p.mediaElement,p.mediaElement.originalNode)}):(p.mediaElement.options.success&&p.mediaElement.options.success(p.mediaElement,p.mediaElement.originalNode),v&&p.mediaElement.options.error&&p.mediaElement.options.error(p.mediaElement,p.mediaElement.originalNode)),p.mediaElement};a.default.MediaElement=m,n.default=m},{16:16,18:18,19:19,2:2,3:3,7:7,8:8}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),i={};i.version="4.2.5",i.html5media={properties:["volume","src","currentTime","muted","duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable","currentSrc","preload","bufferedBytes","bufferedTime","initialTime","startOffsetTime","defaultPlaybackRate","playbackRate","played","autoplay","loop","controls"],readOnlyProperties:["duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable"],methods:["load","play","pause","canPlayType"],events:["loadstart","durationchange","loadedmetadata","loadeddata","progress","canplay","canplaythrough","suspend","abort","error","emptied","stalled","play","playing","pause","waiting","seeking","seeked","timeupdate","ended","ratechange","volumechange"],mediaTypes:["audio/mp3","audio/ogg","audio/oga","audio/wav","audio/x-wav","audio/wave","audio/x-pn-wav","audio/mpeg","audio/mp4","video/mp4","video/webm","video/ogg","video/ogv"]},r.default.mejs=i,n.default=i},{3:3}],8:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.renderer=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),l=function(){function e(){r(this,e),this.renderers={},this.order=[]}return o(e,[{key:"add",value:function(e){if(void 0===e.name)throw new TypeError("renderer must contain at least `name` property");this.renderers[e.name]=e,this.order.push(e.name)}},{key:"select",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length;if(t=t.length?t:this.order,!n){var r=[/^(html5|native)/i,/^flash/i,/iframe$/i],i=function(e){for(var t=0,n=r.length;t<n;t++)if(r[t].test(e))return t;return r.length};t.sort(function(e,t){return i(e)-i(t)})}for(var o=0,a=t.length;o<a;o++){var l=t[o],s=this.renderers[l];if(null!==s&&void 0!==s)for(var d=0,u=e.length;d<u;d++)if("function"==typeof s.canPlayType&&"string"==typeof e[d].type&&s.canPlayType(e[d].type))return{rendererName:s.name,src:e[d].src}}return null}},{key:"order",set:function(e){if(!Array.isArray(e))throw new TypeError("order must be an array of strings.");this._order=e},get:function(){return this._order}},{key:"renderers",set:function(e){if(null!==e&&"object"!==(void 0===e?"undefined":i(e)))throw new TypeError("renderers must be an array of objects.");this._renderers=e},get:function(){return this._renderers}}]),e}(),s=n.renderer=new l;a.default.Renderers=s},{7:7}],9:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.EN={"mejs.plural-form":1,"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}},{}],10:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(7)),l=e(8),s=e(18),d=e(19),u=e(16),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof dashjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.dashjs.org/latest/dash.all.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=dashjs.MediaPlayer().create();return o.default["__ready__"+e.id](t),t}},m={name:"native_dash",options:{prefix:"native_dash",dash:{path:"https://cdn.dashjs.org/latest/dash.all.min.js",debug:!1,drm:{},robustnessLevel:""}},canPlayType:function(e){return u.HAS_MSE&&["application/dash+xml"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=r.autoplay,c=r.children,m=null,p=null;r.removeAttribute("type");for(var h=0,v=c.length;h<v;h++)c[h].removeAttribute("type");m=r.cloneNode(!0),t=Object.assign(t,e.options);for(var g=a.default.html5media.properties,y=a.default.html5media.events.concat(["click","mouseover","mouseout"]),E=function(t){if("error"!==t.type){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)}},b=0,w=g.length;b<w;b++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);m["get"+n]=function(){return null!==p?m[e]:null},m["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){var r="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n;if(m[e]=r,null!==p){p.reset();for(var o=0,l=y.length;o<l;o++)m.removeEventListener(y[o],E);p=f._createPlayer({options:t.dash,id:d}),n&&"object"===(void 0===n?"undefined":i(n))&&"object"===i(n.drm)&&(p.setProtectionData(n.drm),(0,s.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&p.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),p.attachSource(r),u&&p.play()}}else m[e]=n}}(g[b]);if(o.default["__ready__"+d]=function(n){e.dashPlayer=p=n;for(var r=dashjs.MediaPlayer.events,o=0,l=y.length;o<l;o++)!function(e){"loadedmetadata"===e&&(p.getDebug().setLogToBrowserConsole(t.dash.debug),p.initialize(),p.setScheduleWhilePaused(!1),p.setFastSwitchEnabled(!0),p.attachView(m),p.setAutoPlay(!1),"object"!==i(t.dash.drm)||a.default.Utils.isObjectEmpty(t.dash.drm)||(p.setProtectionData(t.dash.drm),(0,s.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&p.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),p.attachSource(m.getSrc())),m.addEventListener(e,E)}(y[o]);var d=function(t,n){if("error"===t.toLowerCase())e.generateError(n.message,m.src),console.error(n);else{var r=(0,s.createEvent)(t,e);r.data=n,e.dispatchEvent(r)}};for(var u in r)r.hasOwnProperty(u)&&p.on(r[u],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return d(e.type,n)})},n&&n.length>0)for(var S=0,_=n.length;S<_;S++)if(l.renderer.renderers[t.prefix].canPlayType(n[S].type)){m.setAttribute("src",n[S].src),void 0!==n[S].drm&&(t.dash.drm=n[S].drm);break}m.setAttribute("id",d),r.parentNode.insertBefore(m,r),r.autoplay=!1,r.style.display="none",m.setSize=function(e,t){return m.style.width=e+"px",m.style.height=t+"px",m},m.hide=function(){return m.pause(),m.style.display="none",m},m.show=function(){return m.style.display="",m},m.destroy=function(){null!==p&&p.reset()};var j=(0,s.createEvent)("rendererready",m);return e.dispatchEvent(j),e.promises.push(f.load({options:t.dash,id:d})),m}};d.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".mpd")?"application/dash+xml":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],11:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.PluginDetector=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(2)),l=r(e(7)),s=r(e(5)),d=e(8),u=e(18),c=e(16),f=e(19),m=n.PluginDetector={plugins:[],hasPluginVersion:function(e,t){var n=m.plugins[e];return t[1]=t[1]||0,t[2]=t[2]||0,n[0]>t[0]||n[0]===t[0]&&n[1]>t[1]||n[0]===t[0]&&n[1]===t[1]&&n[2]>=t[2]},addPlugin:function(e,t,n,r,i){m.plugins[e]=m.detectPlugin(t,n,r,i)},detectPlugin:function(e,t,n,r){var a=[0,0,0],l=void 0,s=void 0;if(null!==c.NAV.plugins&&void 0!==c.NAV.plugins&&"object"===i(c.NAV.plugins[e])){if((l=c.NAV.plugins[e].description)&&(void 0===c.NAV.mimeTypes||!c.NAV.mimeTypes[t]||c.NAV.mimeTypes[t].enabledPlugin))for(var d=0,u=(a=l.replace(e,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".")).length;d<u;d++)a[d]=parseInt(a[d].match(/\d+/),10)}else if(void 0!==o.default.ActiveXObject)try{(s=new ActiveXObject(n))&&(a=r(s))}catch(e){}return a}};m.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(e){var t=[],n=e.GetVariable("$version");return n&&(n=n.split(" ")[1].split(","),t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]),t});var p={create:function(e,t,n){var r={};r.options=t,r.id=e.id+"_"+r.options.prefix,r.mediaElement=e,r.flashState={},r.flashApi=null,r.flashApiStack=[];for(var i=l.default.html5media.properties,m=0,p=i.length;m<p;m++)!function(e){r.flashState[e]=null;var t=""+e.substring(0,1).toUpperCase()+e.substring(1);r["get"+t]=function(){if(null!==r.flashApi){if("function"==typeof r.flashApi["get_"+e]){var t=r.flashApi["get_"+e]();return"buffered"===e?{start:function(){return 0},end:function(){return t},length:1}:t}return null}return null},r["set"+t]=function(t){if("src"===e&&(t=(0,f.absolutizeUrl)(t)),null!==r.flashApi&&void 0!==r.flashApi["set_"+e])try{r.flashApi["set_"+e](t)}catch(e){}else r.flashApiStack.push({type:"set",propName:e,value:t})}}(i[m]);var h=l.default.html5media.methods;h.push("stop");for(var v=0,g=h.length;v<g;v++)!function(e){r[e]=function(){if(null!==r.flashApi){if(r.flashApi["fire_"+e])try{r.flashApi["fire_"+e]()}catch(e){}}else r.flashApiStack.push({type:"call",methodName:e})}}(h[v]);for(var y=["rendererready"],E=0,b=y.length;E<b;E++){var w=(0,u.createEvent)(y[E],r);e.dispatchEvent(w)}o.default["__ready__"+r.id]=function(){if(r.flashReady=!0,r.flashApi=a.default.getElementById("__"+r.id),r.flashApiStack.length)for(var e=0,t=r.flashApiStack.length;e<t;e++){var n=r.flashApiStack[e];if("set"===n.type){var i=n.propName,o=""+i.substring(0,1).toUpperCase()+i.substring(1);r["set"+o](n.value)}else"call"===n.type&&r[n.methodName]()}},o.default["__event__"+r.id]=function(e,t){var n=(0,u.createEvent)(e,r);if(t)try{n.data=JSON.parse(t),n.details.data=JSON.parse(t)}catch(e){n.message=t}r.mediaElement.dispatchEvent(n)},r.flashWrapper=a.default.createElement("div"),-1===["always","sameDomain"].indexOf(r.options.shimScriptAccess)&&(r.options.shimScriptAccess="sameDomain");var S=e.originalNode.autoplay,_=["uid="+r.id,"autoplay="+S,"allowScriptAccess="+r.options.shimScriptAccess,"preload="+(e.originalNode.getAttribute("preload")||"")],j=null!==e.originalNode&&"video"===e.originalNode.tagName.toLowerCase(),N=j?e.originalNode.height:1,A=j?e.originalNode.width:1;e.originalNode.getAttribute("src")&&_.push("src="+e.originalNode.getAttribute("src")),!0===r.options.enablePseudoStreaming&&(_.push("pseudostreamstart="+r.options.pseudoStreamingStartQueryParam),_.push("pseudostreamtype="+r.options.pseudoStreamingType)),e.appendChild(r.flashWrapper),e.originalNode.style.display="none";var F=[];if(c.IS_IE){var T=a.default.createElement("div");r.flashWrapper.appendChild(T),F=['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"','codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"','id="__'+r.id+'"','width="'+A+'"','height="'+N+'"'],j||F.push('style="clip: rect(0 0 0 0); position: absolute;"'),T.outerHTML="<object "+F.join(" ")+'><param name="movie" value="'+r.options.pluginPath+r.options.filename+"?x="+new Date+'" /><param name="flashvars" value="'+_.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="'+r.options.shimScriptAccess+'" /><param name="allowFullScreen" value="true" /><div>'+s.default.t("mejs.install-flash")+"</div></object>"}else F=['id="__'+r.id+'"','name="__'+r.id+'"','play="true"','loop="false"','quality="high"','bgcolor="#000000"','wmode="transparent"','allowScriptAccess="'+r.options.shimScriptAccess+'"','allowFullScreen="true"','type="application/x-shockwave-flash"','pluginspage="//www.macromedia.com/go/getflashplayer"','src="'+r.options.pluginPath+r.options.filename+'"','flashvars="'+_.join("&")+'"','width="'+A+'"','height="'+N+'"'],j||F.push('style="clip: rect(0 0 0 0); position: absolute;"'),r.flashWrapper.innerHTML="<embed "+F.join(" ")+">";if(r.flashNode=r.flashWrapper.lastChild,r.hide=function(){j&&(r.flashNode.style.display="none")},r.show=function(){j&&(r.flashNode.style.display="")},r.setSize=function(e,t){r.flashNode.style.width=e+"px",r.flashNode.style.height=t+"px",null!==r.flashApi&&"function"==typeof r.flashApi.fire_setSize&&r.flashApi.fire_setSize(e,t)},r.destroy=function(){r.flashNode.remove()},n&&n.length>0)for(var P=0,x=n.length;P<x;P++)if(d.renderer.renderers[t.prefix].canPlayType(n[P].type)){r.setSrc(n[P].src);break}return r}};if(m.hasPluginVersion("flash",[10,0,0])){f.typeChecks.push(function(e){return(e=e.toLowerCase()).startsWith("rtmp")?~e.indexOf(".mp3")?"audio/rtmp":"video/rtmp":/\.og(a|g)/i.test(e)?"audio/ogg":~e.indexOf(".m3u8")?"application/x-mpegURL":~e.indexOf(".mpd")?"application/dash+xml":~e.indexOf(".flv")?"video/flv":null});var h={name:"flash_video",options:{prefix:"flash_video",filename:"mediaelement-flash-video.swf",enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",pseudoStreamingType:"byte"},canPlayType:function(e){return~["video/mp4","video/rtmp","audio/rtmp","rtmp/mp4","audio/mp4","video/flv","video/x-flv"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(h);var v={name:"flash_hls",options:{prefix:"flash_hls",filename:"mediaelement-flash-video-hls.swf"},canPlayType:function(e){return~["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(v);var g={name:"flash_dash",options:{prefix:"flash_dash",filename:"mediaelement-flash-video-mdash.swf"},canPlayType:function(e){return~["application/dash+xml"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(g);var y={name:"flash_audio",options:{prefix:"flash_audio",filename:"mediaelement-flash-audio.swf"},canPlayType:function(e){return~["audio/mp3"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(y);var E={name:"flash_audio_ogg",options:{prefix:"flash_audio_ogg",filename:"mediaelement-flash-audio-ogg.swf"},canPlayType:function(e){return~["audio/ogg","audio/oga","audio/ogv"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(E)}},{16:16,18:18,19:19,2:2,3:3,5:5,7:7,8:8}],12:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(7)),l=e(8),s=e(18),d=e(16),u=e(19),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof flvjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.2/flv.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){flvjs.LoggingControl.enableDebug=e.options.debug,flvjs.LoggingControl.enableVerbose=e.options.debug;var t=flvjs.createPlayer(e.options);return o.default["__ready__"+e.id](t),t}},m={name:"native_flv",options:{prefix:"native_flv",flv:{path:"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.2/flv.min.js",cors:!0,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["video/x-flv","video/flv"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=null,c=null;u=r.cloneNode(!0),t=Object.assign(t,e.options);for(var m=a.default.html5media.properties,p=a.default.html5media.events.concat(["click","mouseover","mouseout"]),h=function(t){if("error"!==t.type){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)}},v=0,g=m.length;v<g;v++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);u["get"+n]=function(){return null!==c?u[e]:null},u["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(u[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==c){var r={};r.type="flv",r.url=n,r.cors=t.flv.cors,r.debug=t.flv.debug,r.path=t.flv.path,c.destroy();for(var o=0,l=p.length;o<l;o++)u.removeEventListener(p[o],h);(c=f._createPlayer({options:r,id:d})).attachMediaElement(u),c.load()}}else u[e]=n}}(m[v]);if(o.default["__ready__"+d]=function(t){e.flvPlayer=c=t;for(var n=flvjs.Events,r=0,i=p.length;r<i;r++)!function(e){"loadedmetadata"===e&&(c.unload(),c.detachMediaElement(),c.attachMediaElement(u),c.load()),u.addEventListener(e,h)}(p[r]);var o=function(t,n){if("error"===t){var r=n[0]+": "+n[1]+" "+n[2].msg;e.generateError(r,u.src)}else{var i=(0,s.createEvent)(t,e);i.data=n,e.dispatchEvent(i)}};for(var a in n)!function(e){n.hasOwnProperty(e)&&c.on(n[e],function(){for(var t=arguments.length,r=Array(t),i=0;i<t;i++)r[i]=arguments[i];return o(n[e],r)})}(a)},n&&n.length>0)for(var y=0,E=n.length;y<E;y++)if(l.renderer.renderers[t.prefix].canPlayType(n[y].type)){u.setAttribute("src",n[y].src);break}u.setAttribute("id",d),r.parentNode.insertBefore(u,r),r.autoplay=!1,r.style.display="none";var b={};b.type="flv",b.url=u.src,b.cors=t.flv.cors,b.debug=t.flv.debug,b.path=t.flv.path,u.setSize=function(e,t){return u.style.width=e+"px",u.style.height=t+"px",u},u.hide=function(){return null!==c&&c.pause(),u.style.display="none",u},u.show=function(){return u.style.display="",u},u.destroy=function(){null!==c&&c.destroy()};var w=(0,s.createEvent)("rendererready",u);return e.dispatchEvent(w),e.promises.push(f.load({options:b,id:d})),u}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".flv")?"video/flv":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],13:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(7)),l=e(8),s=e(18),d=e(16),u=e(19),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof Hls?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.7.11/hls.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=new Hls(e.options);return o.default["__ready__"+e.id](t),t}},m={name:"native_hls",options:{prefix:"native_hls",hls:{path:"https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.7.11/hls.min.js",autoStartLoad:!1,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=r.getAttribute("preload"),c=r.autoplay,m=null,p=null;p=r.cloneNode(!0),(t=Object.assign(t,e.options)).hls.autoStartLoad=u&&"none"!==u||c;for(var h=a.default.html5media.properties,v=a.default.html5media.events.concat(["click","mouseover","mouseout"]),g=function(t){if("error"!==t.type){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)}},y=0,E=h.length;y<E;y++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);p["get"+n]=function(){return null!==m?p[e]:null},p["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(p[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==m){m.destroy();for(var r=0,o=v.length;r<o;r++)p.removeEventListener(v[r],g);(m=f._createPlayer({options:t.hls,id:d})).loadSource(n),m.attachMedia(p)}}else p[e]=n}}(h[y]);if(o.default["__ready__"+d]=function(t){e.hlsPlayer=m=t;for(var n=Hls.Events,r=0,i=v.length;r<i;r++)!function(t){if("loadedmetadata"===t){var n=e.originalNode.src;m.detachMedia(),m.loadSource(n),m.attachMedia(p)}p.addEventListener(t,g)}(v[r]);var o=void 0,a=void 0,l=function(t,n){if("hlsError"===t){if(console.warn(t,n),n.fatal)switch(n.type){case"mediaError":var r=(new Date).getTime();if(!o||r-o>3e3)o=(new Date).getTime(),m.recoverMediaError();else if(!a||r-a>3e3)a=(new Date).getTime(),console.warn("Attempting to swap Audio Codec and recover from media error"),m.swapAudioCodec(),m.recoverMediaError();else{var i="Cannot recover, last media error recovery failed";e.generateError(i,p.src),console.error(i)}break;case"networkError":e.generateError("Network error",p.src),console.error("Network error");break;default:m.destroy()}}else{var l=(0,s.createEvent)(t,e);l.data=n,e.dispatchEvent(l)}};for(var d in n)!function(e){n.hasOwnProperty(e)&&m.on(n[e],function(){for(var t=arguments.length,r=Array(t),i=0;i<t;i++)r[i]=arguments[i];return l(n[e],r)})}(d)},n&&n.length>0)for(var b=0,w=n.length;b<w;b++)if(l.renderer.renderers[t.prefix].canPlayType(n[b].type)){p.setAttribute("src",n[b].src);break}"auto"===u||c||(p.addEventListener("play",function(){null!==m&&m.startLoad()}),p.addEventListener("pause",function(){null!==m&&m.stopLoad()})),p.setAttribute("id",d),r.parentNode.insertBefore(p,r),r.autoplay=!1,r.style.display="none",p.setSize=function(e,t){return p.style.width=e+"px",p.style.height=t+"px",p},p.hide=function(){return p.pause(),p.style.display="none",p},p.show=function(){return p.style.display="",p},p.destroy=function(){null!==m&&(m.stopLoad(),m.destroy())};var S=(0,s.createEvent)("rendererready",p);return e.dispatchEvent(S),e.promises.push(f.load({options:t.hls,id:d})),p}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".m3u8")?"application/x-mpegURL":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],14:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(3)),o=r(e(2)),a=r(e(7)),l=e(8),s=e(18),d=e(16),u={name:"html5",options:{prefix:"html5"},canPlayType:function(e){var t=o.default.createElement("video");return d.IS_ANDROID&&/\/mp(3|4)$/i.test(e)||~["application/x-mpegurl","vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())&&d.SUPPORTS_NATIVE_HLS?"yes":t.canPlayType?t.canPlayType(e.toLowerCase()).replace(/no/,""):""},create:function(e,t,n){var r=e.id+"_"+t.prefix,i=null;void 0===e.originalNode||null===e.originalNode?(i=o.default.createElement("audio"),e.appendChild(i)):i=e.originalNode,i.setAttribute("id",r);for(var d=a.default.html5media.properties,u=0,c=d.length;u<c;u++)!function(e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1);i["get"+t]=function(){return i[e]},i["set"+t]=function(t){-1===a.default.html5media.readOnlyProperties.indexOf(e)&&(i[e]=t)}}(d[u]);for(var f=a.default.html5media.events.concat(["click","mouseover","mouseout"]),m=0,p=f.length;m<p;m++)!function(t){i.addEventListener(t,function(t){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)})}(f[m]);if(i.setSize=function(e,t){return i.style.width=e+"px",i.style.height=t+"px",i},i.hide=function(){return i.style.display="none",i},i.show=function(){return i.style.display="",i},n&&n.length>0)for(var h=0,v=n.length;h<v;h++)if(l.renderer.renderers[t.prefix].canPlayType(n[h].type)){i.setAttribute("src",n[h].src);break}var g=(0,s.createEvent)("rendererready",i);return e.dispatchEvent(g),i}};i.default.HtmlMediaElement=a.default.HtmlMediaElement=u,l.renderer.add(u)},{16:16,18:18,2:2,3:3,7:7,8:8}],15:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(3)),o=r(e(2)),a=r(e(7)),l=e(8),s=e(18),d=e(19),u=e(17),c={isIframeStarted:!1,isIframeLoaded:!1,iframeQueue:[],enqueueIframe:function(e){c.isLoaded="undefined"!=typeof YT&&YT.loaded,c.isLoaded?c.createIframe(e):(c.loadIframeApi(),c.iframeQueue.push(e))},loadIframeApi:function(){c.isIframeStarted||((0,u.loadScript)("https://www.youtube.com/player_api"),c.isIframeStarted=!0)},iFrameReady:function(){for(c.isLoaded=!0,c.isIframeLoaded=!0;c.iframeQueue.length>0;){var e=c.iframeQueue.pop();c.createIframe(e)}},createIframe:function(e){return new YT.Player(e.containerId,e)},getYouTubeId:function(e){var t="";return e.indexOf("?")>0?""===(t=c.getYouTubeIdFromParam(e))&&(t=c.getYouTubeIdFromUrl(e)):t=c.getYouTubeIdFromUrl(e),(t=t.substring(t.lastIndexOf("/")+1).split("?"))[0]},getYouTubeIdFromParam:function(e){if(void 0===e||null===e||!e.trim().length)return null;for(var t=e.split("?")[1].split("&"),n="",r=0,i=t.length;r<i;r++){var o=t[r].split("=");if("v"===o[0]){n=o[1];break}}return n},getYouTubeIdFromUrl:function(e){return void 0!==e&&null!==e&&e.trim().length?(e=e.split("?")[0]).substring(e.lastIndexOf("/")+1):null},getYouTubeNoCookieUrl:function(e){if(void 0===e||null===e||!e.trim().length||-1===e.indexOf("//www.youtube"))return e;var t=e.split("/");return t[2]=t[2].replace(".com","-nocookie.com"),t.join("/")}},f={name:"youtube_iframe",options:{prefix:"youtube_iframe",youtube:{autoplay:0,controls:0,disablekb:1,end:0,loop:0,modestbranding:0,playsinline:0,rel:0,showinfo:0,start:0,iv_load_policy:3,nocookie:!1,imageQuality:null}},canPlayType:function(e){return~["video/youtube","video/x-youtube"].indexOf(e.toLowerCase())},create:function(e,t,n){var r={},l=[],d=null,u=!0,f=!1,m=null,p=1;r.options=t,r.id=e.id+"_"+t.prefix,r.mediaElement=e;for(var h=a.default.html5media.properties,v=0,g=h.length;v<g;v++)!function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);r["get"+n]=function(){if(null!==d){switch(t){case"currentTime":return d.getCurrentTime();case"duration":return d.getDuration();case"volume":return p=d.getVolume()/100;case"paused":return u;case"ended":return f;case"muted":return d.isMuted();case"buffered":var e=d.getVideoLoadedFraction(),n=d.getDuration();return{start:function(){return 0},end:function(){return e*n},length:1};case"src":return d.getVideoUrl();case"readyState":return 4}return null}return null},r["set"+n]=function(n){if(null!==d)switch(t){case"src":var i="string"==typeof n?n:n[0].src,o=c.getYouTubeId(i);e.originalNode.autoplay?d.loadVideoById(o):d.cueVideoById(o);break;case"currentTime":d.seekTo(n);break;case"muted":n?d.mute():d.unMute(),setTimeout(function(){var t=(0,s.createEvent)("volumechange",r);e.dispatchEvent(t)},50);break;case"volume":p=n,d.setVolume(100*n),setTimeout(function(){var t=(0,s.createEvent)("volumechange",r);e.dispatchEvent(t)},50);break;case"readyState":var a=(0,s.createEvent)("canplay",r);e.dispatchEvent(a)}else l.push({type:"set",propName:t,value:n})}}(h[v]);for(var y=a.default.html5media.methods,E=0,b=y.length;E<b;E++)!function(e){r[e]=function(){if(null!==d)switch(e){case"play":return u=!1,d.playVideo();case"pause":return u=!0,d.pauseVideo();case"load":return null}else l.push({type:"call",methodName:e})}}(y[E]);var w=o.default.createElement("div");w.id=r.id,r.options.youtube.nocookie&&(e.originalNode.src=c.getYouTubeNoCookieUrl(n[0].src)),e.originalNode.parentNode.insertBefore(w,e.originalNode),e.originalNode.style.display="none";var S="audio"===e.originalNode.tagName.toLowerCase(),_=S?"1":e.originalNode.height,j=S?"1":e.originalNode.width,N=c.getYouTubeId(n[0].src),A={id:r.id,containerId:w.id,videoId:N,height:_,width:j,playerVars:Object.assign({controls:0,rel:0,disablekb:1,showinfo:0,modestbranding:0,html5:1,playsinline:0,start:0,end:0,iv_load_policy:3},r.options.youtube),origin:i.default.location.host,events:{onReady:function(t){if(e.youTubeApi=d=t.target,e.youTubeState={paused:!0,ended:!1},l.length)for(var n=0,i=l.length;n<i;n++){var o=l[n];if("set"===o.type){var a=o.propName,u=""+a.substring(0,1).toUpperCase()+a.substring(1);r["set"+u](o.value)}else"call"===o.type&&r[o.methodName]()}m=d.getIframe(),e.originalNode.getAttribute("muted")&&d.mute();for(var c=["mouseover","mouseout"],f=0,p=c.length;f<p;f++)m.addEventListener(c[f],function(t){var n=(0,s.createEvent)(t.type,r);e.dispatchEvent(n)},!1);for(var h=["rendererready","loadedmetadata","loadeddata","canplay"],v=0,g=h.length;v<g;v++){var y=(0,s.createEvent)(h[v],r);e.dispatchEvent(y)}},onStateChange:function(t){var n=[];switch(t.data){case-1:n=["loadedmetadata"],u=!0,f=!1;break;case 0:n=["ended"],u=!1,f=!r.options.youtube.loop,r.options.youtube.loop||r.stopInterval();break;case 1:n=["play","playing"],u=!1,f=!1,r.startInterval();break;case 2:n=["pause"],u=!0,f=!1,r.stopInterval();break;case 3:n=["progress"],f=!1;break;case 5:n=["loadeddata","loadedmetadata","canplay"],u=!0,f=!1}for(var i=0,o=n.length;i<o;i++){var a=(0,s.createEvent)(n[i],r);e.dispatchEvent(a)}},onError:function(t){var n=(0,s.createEvent)("error",r);n.data=t.data,e.dispatchEvent(n)}}};return S&&(A.playerVars.playsinline=1),e.originalNode.autoplay&&(A.playerVars.autoplay=1),e.originalNode.loop&&(A.playerVars.loop=1),c.enqueueIframe(A),r.onEvent=function(t,n,r){null!==r&&void 0!==r&&(e.youTubeState=r)},r.setSize=function(e,t){null!==d&&d.setSize(e,t)},r.hide=function(){r.stopInterval(),r.pause(),m&&(m.style.display="none")},r.show=function(){m&&(m.style.display="")},r.destroy=function(){d.destroy()},r.interval=null,r.startInterval=function(){r.interval=setInterval(function(){var t=(0,s.createEvent)("timeupdate",r);e.dispatchEvent(t)},250)},r.stopInterval=function(){r.interval&&clearInterval(r.interval)},r.getPosterUrl=function(){var n=t.youtube.imageQuality,r=["default","hqdefault","mqdefault","sddefault","maxresdefault"],i=c.getYouTubeId(e.originalNode.src);return n&&r.indexOf(n)>-1&&i?"https://img.youtube.com/vi/"+i+"/"+n+".jpg":""},r}};i.default.onYouTubePlayerAPIReady=function(){c.iFrameReady()},d.typeChecks.push(function(e){return/\/\/(www\.youtube|youtu\.?be)/i.test(e)?"video/x-youtube":null}),l.renderer.add(f)},{17:17,18:18,19:19,2:2,3:3,7:7,8:8}],16:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.cancelFullScreen=n.requestFullScreen=n.isFullScreen=n.FULLSCREEN_EVENT_NAME=n.HAS_NATIVE_FULLSCREEN_ENABLED=n.HAS_TRUE_NATIVE_FULLSCREEN=n.HAS_IOS_FULLSCREEN=n.HAS_MS_NATIVE_FULLSCREEN=n.HAS_MOZ_NATIVE_FULLSCREEN=n.HAS_WEBKIT_NATIVE_FULLSCREEN=n.HAS_NATIVE_FULLSCREEN=n.SUPPORTS_NATIVE_HLS=n.SUPPORT_POINTER_EVENTS=n.HAS_MSE=n.IS_STOCK_ANDROID=n.IS_SAFARI=n.IS_FIREFOX=n.IS_CHROME=n.IS_EDGE=n.IS_IE=n.IS_ANDROID=n.IS_IOS=n.IS_IPOD=n.IS_IPHONE=n.IS_IPAD=n.UA=n.NAV=void 0;for(var i=r(e(3)),o=r(e(2)),a=r(e(7)),l=n.NAV=i.default.navigator,s=n.UA=l.userAgent.toLowerCase(),d=n.IS_IPAD=/ipad/i.test(s)&&!i.default.MSStream,u=n.IS_IPHONE=/iphone/i.test(s)&&!i.default.MSStream,c=n.IS_IPOD=/ipod/i.test(s)&&!i.default.MSStream,f=(n.IS_IOS=/ipad|iphone|ipod/i.test(s)&&!i.default.MSStream,n.IS_ANDROID=/android/i.test(s)),m=n.IS_IE=/(trident|microsoft)/i.test(l.appName),p=(n.IS_EDGE="msLaunchUri"in l&&!("documentMode"in o.default)),h=n.IS_CHROME=/chrome/i.test(s),v=n.IS_FIREFOX=/firefox/i.test(s),g=n.IS_SAFARI=/safari/i.test(s)&&!h,y=n.IS_STOCK_ANDROID=/^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(s),E=(n.HAS_MSE="MediaSource"in i.default),b=(n.SUPPORT_POINTER_EVENTS=function(){var e=o.default.createElement("x"),t=o.default.documentElement,n=i.default.getComputedStyle;if(!("pointerEvents"in e.style))return!1;e.style.pointerEvents="auto",e.style.pointerEvents="x",t.appendChild(e);var r=n&&"auto"===n(e,"").pointerEvents;return e.remove(),!!r}()),w=["source","track","audio","video"],S=void 0,_=0,j=w.length;_<j;_++)S=o.default.createElement(w[_]);var N=n.SUPPORTS_NATIVE_HLS=g||f&&(h||y)||m&&/edge/i.test(s),A=void 0!==S.webkitEnterFullscreen,F=void 0!==S.requestFullscreen;A&&/mac os x 10_5/i.test(s)&&(F=!1,A=!1);var T=void 0!==S.webkitRequestFullScreen,P=void 0!==S.mozRequestFullScreen,x=void 0!==S.msRequestFullscreen,L=T||P||x,C=L,O="",I=void 0,k=void 0,U=void 0;P?C=o.default.mozFullScreenEnabled:x&&(C=o.default.msFullscreenEnabled),h&&(A=!1),L&&(T?O="webkitfullscreenchange":P?O="mozfullscreenchange":x&&(O="MSFullscreenChange"),n.isFullScreen=I=function(){return P?o.default.mozFullScreen:T?o.default.webkitIsFullScreen:x?null!==o.default.msFullscreenElement:void 0},n.requestFullScreen=k=function(e){T?e.webkitRequestFullScreen():P?e.mozRequestFullScreen():x&&e.msRequestFullscreen()},n.cancelFullScreen=U=function(){T?o.default.webkitCancelFullScreen():P?o.default.mozCancelFullScreen():x&&o.default.msExitFullscreen()});var M=n.HAS_NATIVE_FULLSCREEN=F,R=n.HAS_WEBKIT_NATIVE_FULLSCREEN=T,D=n.HAS_MOZ_NATIVE_FULLSCREEN=P,H=n.HAS_MS_NATIVE_FULLSCREEN=x,V=n.HAS_IOS_FULLSCREEN=A,q=n.HAS_TRUE_NATIVE_FULLSCREEN=L,z=n.HAS_NATIVE_FULLSCREEN_ENABLED=C,B=n.FULLSCREEN_EVENT_NAME=O;n.isFullScreen=I,n.requestFullScreen=k,n.cancelFullScreen=U,a.default.Features=a.default.Features||{},a.default.Features.isiPad=d,a.default.Features.isiPod=c,a.default.Features.isiPhone=u,a.default.Features.isiOS=a.default.Features.isiPhone||a.default.Features.isiPad,a.default.Features.isAndroid=f,a.default.Features.isIE=m,a.default.Features.isEdge=p,a.default.Features.isChrome=h,a.default.Features.isFirefox=v,a.default.Features.isSafari=g,a.default.Features.isStockAndroid=y,a.default.Features.hasMSE=E,a.default.Features.supportsNativeHLS=N,a.default.Features.supportsPointerEvents=b,a.default.Features.hasiOSFullScreen=V,a.default.Features.hasNativeFullscreen=M,a.default.Features.hasWebkitNativeFullScreen=R,a.default.Features.hasMozNativeFullScreen=D,a.default.Features.hasMsNativeFullScreen=H,a.default.Features.hasTrueNativeFullScreen=q,a.default.Features.nativeFullScreenEnabled=z,a.default.Features.fullScreenEventName=B,a.default.Features.isFullScreen=I,a.default.Features.requestFullScreen=k,a.default.Features.cancelFullScreen=U},{2:2,3:3,7:7}],17:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return new Promise(function(t,n){var r=m.default.createElement("script");r.src=e,r.async=!0,r.onload=function(){r.remove(),t()},r.onerror=function(){r.remove(),n()},m.default.head.appendChild(r)})}function o(e){var t=e.getBoundingClientRect(),n=f.default.pageXOffset||m.default.documentElement.scrollLeft,r=f.default.pageYOffset||m.default.documentElement.scrollTop;return{top:t.top+r,left:t.left+n}}function a(e,t){y(e,t)?b(e,t):E(e,t)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=1);var r=null;f.default.requestAnimationFrame(function i(o){var a=o-(r=r||o),l=parseFloat(1-a/t,2);e.style.opacity=l<0?0:l,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=0);var r=null;f.default.requestAnimationFrame(function i(o){var a=o-(r=r||o),l=parseFloat(a/t,2);e.style.opacity=l>1?1:l,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function d(e,t){var n=[];e=e.parentNode.firstChild;do{t&&!t(e)||n.push(e)}while(e=e.nextSibling);return n}function u(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}function c(e,t,n,r){var i=f.default.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),o="application/x-www-form-urlencoded; charset=UTF-8",a=!1,l="*/".concat("*");switch(t){case"text":o="text/plain";break;case"json":o="application/json, text/javascript";break;case"html":o="text/html";break;case"xml":o="application/xml, text/xml"}"application/x-www-form-urlencoded"!==o&&(l=o+", */*; q=0.01"),i&&(i.open("GET",e,!0),i.setRequestHeader("Accept",l),i.onreadystatechange=function(){if(!a&&4===i.readyState)if(200===i.status){a=!0;var e=void 0;switch(t){case"json":e=JSON.parse(i.responseText);break;case"xml":e=i.responseXML;break;default:e=i.responseText}n(e)}else"function"==typeof r&&r(i.status)},i.send())}Object.defineProperty(n,"__esModule",{value:!0}),n.removeClass=n.addClass=n.hasClass=void 0,n.loadScript=i,n.offset=o,n.toggleClass=a,n.fadeOut=l,n.fadeIn=s,n.siblings=d,n.visible=u,n.ajax=c;var f=r(e(3)),m=r(e(2)),p=r(e(7)),h=void 0,v=void 0,g=void 0;"classList"in m.default.documentElement?(h=function(e,t){return void 0!==e.classList&&e.classList.contains(t)},v=function(e,t){return e.classList.add(t)},g=function(e,t){return e.classList.remove(t)}):(h=function(e,t){return new RegExp("\\b"+t+"\\b").test(e.className)},v=function(e,t){y(e,t)||(e.className+=" "+t)},g=function(e,t){e.className=e.className.replace(new RegExp("\\b"+t+"\\b","g"),"")});var y=n.hasClass=h,E=n.addClass=v,b=n.removeClass=g;p.default.Utils=p.default.Utils||{},p.default.Utils.offset=o,p.default.Utils.hasClass=y,p.default.Utils.addClass=E,p.default.Utils.removeClass=b,p.default.Utils.toggleClass=a,p.default.Utils.fadeIn=s,p.default.Utils.fadeOut=l,p.default.Utils.siblings=d,p.default.Utils.visible=u,p.default.Utils.ajax=c,p.default.Utils.loadScript=i},{2:2,3:3,7:7}],18:[function(e,t,n){"use strict";function r(e){if("string"!=typeof e)throw new Error("Argument passed must be a string");var t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};return e.replace(/[&<>"]/g,function(e){return t[e]})}function i(e,t){var n=this,r=arguments,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"!=typeof e)throw new Error("First argument must be a function");if("number"!=typeof t)throw new Error("Second argument must be a numeric value");var o=void 0;return function(){var a=n,l=r,s=i&&!o;clearTimeout(o),o=setTimeout(function(){o=null,i||e.apply(a,l)},t),s&&e.apply(a,l)}}function o(e){return Object.getOwnPropertyNames(e).length<=0}function a(e,t){var n=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/,r={d:[],w:[]};return(e||"").split(" ").forEach(function(e){var i=e+(t?"."+t:"");i.startsWith(".")?(r.d.push(i),r.w.push(i)):r[n.test(e)?"w":"d"].push(i)}),r.d=r.d.join(" "),r.w=r.w.join(" "),r}function l(e,t){if("string"!=typeof e)throw new Error("Event name must be a string");var n=e.match(/([a-z]+\.([a-z]+))/i),r={target:t};return null!==n&&(e=n[1],r.namespace=n[2]),new window.CustomEvent(e,{detail:r})}function s(e,t){return!!(e&&t&&2&e.compareDocumentPosition(t))}function d(e){return"string"==typeof e}Object.defineProperty(n,"__esModule",{value:!0}),n.escapeHTML=r,n.debounce=i,n.isObjectEmpty=o,n.splitEvents=a,n.createEvent=l,n.isNodeAfter=s,n.isString=d;var u=function(e){return e&&e.__esModule?e:{default:e}}(e(7));u.default.Utils=u.default.Utils||{},u.default.Utils.escapeHTML=r,u.default.Utils.debounce=i,u.default.Utils.isObjectEmpty=o,u.default.Utils.splitEvents=a,u.default.Utils.createEvent=l,u.default.Utils.isNodeAfter=s,u.default.Utils.isString=d},{7:7}],19:[function(e,t,n){"use strict";function r(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=document.createElement("div");return t.innerHTML='<a href="'+(0,u.escapeHTML)(e)+'">x</a>',t.firstChild.href}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e&&!t?a(e):t}function o(e){if("string"!=typeof e)throw new Error("`type` argument must be a string");return e&&e.indexOf(";")>-1?e.substr(0,e.indexOf(";")):e}function a(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");for(var t=0,n=c.length;t<n;t++){var r=c[t](e);if(r)return r}var i=s(l(e)),o="video/mp4";return i&&(~["mp4","m4v","ogg","ogv","webm","flv","mpeg","mov"].indexOf(i)?o="video/"+i:~["mp3","oga","wav","mid","midi"].indexOf(i)&&(o="audio/"+i)),o}function l(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=e.split("?")[0].split("\\").pop().split("/").pop();return~t.indexOf(".")?t.substring(t.lastIndexOf(".")+1):""}function s(e){if("string"!=typeof e)throw new Error("`extension` argument must be a string");switch(e){case"mp4":case"m4v":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecks=void 0,n.absolutizeUrl=r,n.formatType=i,n.getMimeFromType=o,n.getTypeFromFile=a,n.getExtension=l,n.normalizeExtension=s;var d=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),u=e(18),c=n.typeChecks=[];d.default.Utils=d.default.Utils||{},d.default.Utils.typeChecks=c,d.default.Utils.absolutizeUrl=r,d.default.Utils.formatType=i,d.default.Utils.getMimeFromType=o,d.default.Utils.getTypeFromFile=a,d.default.Utils.getExtension=l,d.default.Utils.normalizeExtension=s},{18:18,7:7}],20:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(2)),o=r(e(4));[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach(function(e){e.hasOwnProperty("remove")||Object.defineProperty(e,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=i.default.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}if("function"==typeof window.CustomEvent)return!1;e.prototype=window.Event.prototype,window.CustomEvent=e}(),"function"!=typeof Object.assign&&(Object.assign=function(e){if(null===e||void 0===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1,r=arguments.length;n<r;n++){var i=arguments[n];if(null!==i)for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t}),String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length-1;--n>=0&&t.item(n)!==this;);return n>-1}),window.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t=(this.document||this.ownerDocument).querySelectorAll(e),n=void 0,r=this;do{for(n=t.length;--n>=0&&t.item(n)!==r;);}while(n<0&&(r=r.parentElement));return r}),function(){for(var e=0,t=["ms","moz","webkit","o"],n=0;n<t.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[t[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[n]+"CancelAnimationFrame"]||window[t[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var n=(new Date).getTime(),r=Math.max(0,16-(n-e)),i=window.setTimeout(function(){t(n+r)},r);return e=n+r,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}(),/firefox/i.test(navigator.userAgent)&&(window.mediaElementJsOldGetComputedStyle=window.getComputedStyle,window.getComputedStyle=function(e,t){var n=window.mediaElementJsOldGetComputedStyle(e,t);return null===n?{getPropertyValue:function(){}}:n}),window.Promise||(window.Promise=o.default),function(e){e&&e.prototype&&null===e.prototype.children&&Object.defineProperty(e.prototype,"children",{get:function(){for(var e=0,t=void 0,n=this.childNodes,r=[];t=n[e++];)1===t.nodeType&&r.push(t);return r}})}(window.Node||window.Element)},{2:2,4:4}]},{},[20,6,5,9,14,11,10,12,13,15]);
\ No newline at end of file
+!function e(t,n,r){function i(o,l){if(!n[o]){if(!t[o]){var s="function"==typeof require&&require;if(!l&&s)return s(o,!0);if(a)return a(o,!0);var d=new Error("Cannot find module '"+o+"'");throw d.code="MODULE_NOT_FOUND",d}var u=n[o]={exports:{}};t[o][0].call(u.exports,function(e){var n=t[o][1][e];return i(n||e)},u,u.exports,e,t,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<r.length;o++)i(r[o]);return i}({1:[function(e,t,n){},{}],2:[function(e,t,n){(function(n){var r,i=void 0!==n?n:"undefined"!=typeof window?window:{},a=e(1);"undefined"!=typeof document?r=document:(r=i["__GLOBAL_DOCUMENT_CACHE@4"])||(r=i["__GLOBAL_DOCUMENT_CACHE@4"]=a),t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1}],3:[function(e,t,n){(function(e){var n;n="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){!function(e){function n(){}function r(e,t){return function(){e.apply(t,arguments)}}function i(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(e,this)}function a(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,i._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(e){return void l(t.promise,e)}o(t.promise,r)}else(1===e._state?o:l)(t.promise,e._value)})):e._deferreds.push(t)}function o(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof i)return e._state=3,e._value=t,void s(e);if("function"==typeof n)return void u(r(n,t),e)}e._state=1,e._value=t,s(e)}catch(t){l(e,t)}}function l(e,t){e._state=2,e._value=t,s(e)}function s(e){2===e._state&&0===e._deferreds.length&&i._immediateFn(function(){e._handled||i._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)a(e,e._deferreds[t]);e._deferreds=null}function d(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function u(e,t){var n=!1;try{e(function(e){n||(n=!0,o(t,e))},function(e){n||(n=!0,l(t,e))})}catch(e){if(n)return;n=!0,l(t,e)}}var c=setTimeout;i.prototype.catch=function(e){return this.then(null,e)},i.prototype.then=function(e,t){var r=new this.constructor(n);return a(this,new d(e,t,r)),r},i.all=function(e){var t=Array.prototype.slice.call(e);return new i(function(e,n){function r(a,o){try{if(o&&("object"==typeof o||"function"==typeof o)){var l=o.then;if("function"==typeof l)return void l.call(o,function(e){r(a,e)},n)}t[a]=o,0==--i&&e(t)}catch(e){n(e)}}if(0===t.length)return e([]);for(var i=t.length,a=0;a<t.length;a++)r(a,t[a])})},i.resolve=function(e){return e&&"object"==typeof e&&e.constructor===i?e:new i(function(t){t(e)})},i.reject=function(e){return new i(function(t,n){n(e)})},i.race=function(e){return new i(function(t,n){for(var r=0,i=e.length;r<i;r++)e[r].then(t,n)})},i._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){c(e,0)},i._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)},i._setImmediateFn=function(e){i._immediateFn=e},i._setUnhandledRejectionFn=function(e){i._unhandledRejectionFn=e},void 0!==t&&t.exports?t.exports=i:e.Promise||(e.Promise=i)}(this)},{}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),a=e(9),o=e(18),l={lang:"en",en:a.EN};l.language=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(null!==t&&void 0!==t&&t.length){if("string"!=typeof t[0])throw new TypeError("Language code must be a string value");if(!/^[a-z]{2}(\-[a-z]{2})?$/i.test(t[0]))throw new TypeError("Language code must have format `xx` or `xx-xx`");l.lang=t[0],void 0===l[t[0]]?(t[1]=null!==t[1]&&void 0!==t[1]&&"object"===r(t[1])?t[1]:{},l[t[0]]=(0,o.isObjectEmpty)(t[1])?a.EN:t[1]):null!==t[1]&&void 0!==t[1]&&"object"===r(t[1])&&(l[t[0]]=t[1])}return l.lang},l.t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof e&&e.length){var n=void 0,i=void 0,a=l.language(),s=function(e,t,n){return"object"!==(void 0===e?"undefined":r(e))||"number"!=typeof t||"number"!=typeof n?e:[function(){return arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 0===(arguments.length<=0?void 0:arguments[0])||1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:0!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])||11===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])||12===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>0&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])>=2&&(arguments.length<=0?void 0:arguments[0])<=4?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%100==1?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100==2?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100==3||(arguments.length<=0?void 0:arguments[0])%100==4?arguments.length<=4?void 0:arguments[4]:arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<7?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])>6&&(arguments.length<=0?void 0:arguments[0])<11?arguments.length<=4?void 0:arguments[4]:arguments.length<=5?void 0:arguments[5]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100>=3&&(arguments.length<=0?void 0:arguments[0])%100<=10?arguments.length<=4?void 0:arguments[4]:(arguments.length<=0?void 0:arguments[0])%100>=11?arguments.length<=5?void 0:arguments[5]:arguments.length<=6?void 0:arguments[6]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>1&&(arguments.length<=0?void 0:arguments[0])%100<11?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100>10&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10==2?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 11!==(arguments.length<=0?void 0:arguments[0])&&(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:8!==(arguments.length<=0?void 0:arguments[0])&&11!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:3===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]}][n].apply(null,[t].concat(e))};return void 0!==l[a]&&(n=l[a][e],null!==t&&"number"==typeof t&&(i=l[a]["mejs.plural-form"],n=s.apply(null,[n,t,i]))),!n&&l.en&&(n=l.en[e],null!==t&&"number"==typeof t&&(i=l.en["mejs.plural-form"],n=s.apply(null,[n,t,i]))),n=n||e,null!==t&&"number"==typeof t&&(n=n.replace("%1",t)),(0,o.escapeHTML)(n)}return e},i.default.i18n=l,"undefined"!=typeof mejsL10n&&i.default.i18n.language(mejsL10n.language,mejsL10n.strings),n.default=l},{18:18,7:7,9:9}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),l=r(e(2)),s=r(e(7)),d=e(18),u=e(19),c=e(8),f=e(16),m=function e(t,n,r){var m=this;i(this,e);var p=this;r=Array.isArray(r)?r:null,p.defaults={renderers:[],fakeNodeName:"mediaelementwrapper",pluginPath:"build/",shimScriptAccess:"sameDomain"},n=Object.assign(p.defaults,n),p.mediaElement=l.default.createElement(n.fakeNodeName);var h=t,v=!1;if("string"==typeof t?p.mediaElement.originalNode=l.default.getElementById(t):(p.mediaElement.originalNode=t,h=t.id),void 0===p.mediaElement.originalNode||null===p.mediaElement.originalNode)return null;p.mediaElement.options=n,h=h||"mejs_"+Math.random().toString().slice(2),p.mediaElement.originalNode.setAttribute("id",h+"_from_mejs");var g=p.mediaElement.originalNode.tagName.toLowerCase();["video","audio"].indexOf(g)>-1&&!p.mediaElement.originalNode.getAttribute("preload")&&p.mediaElement.originalNode.setAttribute("preload","none"),p.mediaElement.originalNode.parentNode.insertBefore(p.mediaElement,p.mediaElement.originalNode),p.mediaElement.appendChild(p.mediaElement.originalNode);var y=function(e,t){if("https:"===o.default.location.protocol&&0===e.indexOf("http:")&&f.IS_IOS&&s.default.html5media.mediaTypes.indexOf(t)>-1){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===this.readyState&&200===this.status){var t=(o.default.URL||o.default.webkitURL).createObjectURL(this.response);return p.mediaElement.originalNode.setAttribute("src",t),t}return e},n.open("GET",e),n.responseType="blob",n.send()}return e},E=void 0;if(null!==r)E=r;else if(null!==p.mediaElement.originalNode)switch(E=[],p.mediaElement.originalNode.nodeName.toLowerCase()){case"iframe":E.push({type:"",src:p.mediaElement.originalNode.getAttribute("src")});break;case"audio":case"video":var b=p.mediaElement.originalNode.children.length,w=p.mediaElement.originalNode.getAttribute("src");if(w){var _=p.mediaElement.originalNode,S=(0,u.formatType)(w,_.getAttribute("type"));E.push({type:S,src:y(w,S)})}for(var j=0;j<b;j++){var N=p.mediaElement.originalNode.children[j];if("source"===N.tagName.toLowerCase()){var A=N.getAttribute("src"),F=(0,u.formatType)(A,N.getAttribute("type"));E.push({type:F,src:y(A,F)})}}}p.mediaElement.id=h,p.mediaElement.renderers={},p.mediaElement.events={},p.mediaElement.promises=[],p.mediaElement.renderer=null,p.mediaElement.rendererName=null,p.mediaElement.changeRenderer=function(e,t){var n=m,r=Object.keys(t[0]).length>2?t[0]:t[0].src;if(void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&n.mediaElement.renderer.name===e)return n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.show(),n.mediaElement.renderer.setSrc(r),!0;void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&(n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.hide());var i=n.mediaElement.renderers[e],a=null;if(void 0!==i&&null!==i)return i.show(),i.setSrc(r),n.mediaElement.renderer=i,n.mediaElement.rendererName=e,!0;for(var o=n.mediaElement.options.renderers.length?n.mediaElement.options.renderers:c.renderer.order,l=0,s=o.length;l<s;l++){var d=o[l];if(d===e){a=c.renderer.renderers[d];var u=Object.assign(a.options,n.mediaElement.options);return i=a.create(n.mediaElement,u,t),i.name=e,n.mediaElement.renderers[a.name]=i,n.mediaElement.renderer=i,n.mediaElement.rendererName=e,i.show(),!0}}return!1},p.mediaElement.setSize=function(e,t){void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&p.mediaElement.renderer.setSize(e,t)},p.mediaElement.generateError=function(e,t){e=e||"",t=Array.isArray(t)?t:[];var n=(0,d.createEvent)("error",p.mediaElement);n.message=e,n.urls=t,p.mediaElement.dispatchEvent(n),v=!0};var T=s.default.html5media.properties,P=s.default.html5media.methods,x=function(e,t,n,r){var i=e[t];Object.defineProperty(e,t,{get:function(){return n.apply(e,[i])},set:function(t){return i=r.apply(e,[t])}})},L=function(){return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer?p.mediaElement.renderer.getSrc():null},O=function(e){var t=[];if("string"==typeof e)t.push({src:e,type:e?(0,u.getTypeFromFile)(e):""});else if("object"===(void 0===e?"undefined":a(e))&&void 0!==e.src){var n=(0,u.absolutizeUrl)(e.src),r=e.type,i=Object.assign(e,{src:n,type:""!==r&&null!==r&&void 0!==r||!n?r:(0,u.getTypeFromFile)(n)});t.push(i)}else if(Array.isArray(e))for(var o=0,l=e.length;o<l;o++){var s=(0,u.absolutizeUrl)(e[o].src),f=e[o].type,m=Object.assign(e[o],{src:s,type:""!==f&&null!==f&&void 0!==f||!s?f:(0,u.getTypeFromFile)(s)});t.push(m)}var h=c.renderer.select(t,p.mediaElement.options.renderers.length?p.mediaElement.options.renderers:[]),v=void 0;if(p.mediaElement.paused||(p.mediaElement.pause(),v=(0,d.createEvent)("pause",p.mediaElement),p.mediaElement.dispatchEvent(v)),p.mediaElement.originalNode.src=t[0].src||"",null!==h||!t[0].src)return t[0].src?p.mediaElement.changeRenderer(h.rendererName,t):null;p.mediaElement.generateError("No renderer found",t)},C=function(e,t){try{if("play"===e&&"native_dash"===p.mediaElement.rendererName){var n=p.mediaElement.renderer[e](t);n&&"function"==typeof n.then&&n.catch(function(){p.mediaElement.paused&&setTimeout(function(){var e=p.mediaElement.renderer.play();void 0!==e&&e.catch(function(){p.mediaElement.renderer.paused||p.mediaElement.renderer.pause()})},150)})}else p.mediaElement.renderer[e](t)}catch(e){p.mediaElement.generateError(e,E)}};x(p.mediaElement,"src",L,O),p.mediaElement.getSrc=L,p.mediaElement.setSrc=O;for(var I=0,k=T.length;I<k;I++)!function(e){if("src"!==e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1),n=function(){return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer["get"+t]?p.mediaElement.renderer["get"+t]():null},r=function(e){void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer["set"+t]&&p.mediaElement.renderer["set"+t](e)};x(p.mediaElement,e,n,r),p.mediaElement["get"+t]=n,p.mediaElement["set"+t]=r}}(T[I]);for(var U=0,M=P.length;U<M;U++)!function(e){p.mediaElement[e]=function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer[e]&&(p.mediaElement.promises.length?Promise.all(p.mediaElement.promises).then(function(){C(e,n)}).catch(function(e){p.mediaElement.generateError(e,E)}):C(e,n)),null}}(P[U]);return p.mediaElement.addEventListener=function(e,t){p.mediaElement.events[e]=p.mediaElement.events[e]||[],p.mediaElement.events[e].push(t)},p.mediaElement.removeEventListener=function(e,t){if(!e)return p.mediaElement.events={},!0;var n=p.mediaElement.events[e];if(!n)return!0;if(!t)return p.mediaElement.events[e]=[],!0;for(var r=0;r<n.length;r++)if(n[r]===t)return p.mediaElement.events[e].splice(r,1),!0;return!1},p.mediaElement.dispatchEvent=function(e){var t=p.mediaElement.events[e.type];if(t)for(var n=0;n<t.length;n++)t[n].apply(null,[e])},E.length&&(p.mediaElement.src=E),p.mediaElement.promises.length?Promise.all(p.mediaElement.promises).then(function(){p.mediaElement.options.success&&p.mediaElement.options.success(p.mediaElement,p.mediaElement.originalNode)}).catch(function(){v&&p.mediaElement.options.error&&p.mediaElement.options.error(p.mediaElement,p.mediaElement.originalNode)}):(p.mediaElement.options.success&&p.mediaElement.options.success(p.mediaElement,p.mediaElement.originalNode),v&&p.mediaElement.options.error&&p.mediaElement.options.error(p.mediaElement,p.mediaElement.originalNode)),p.mediaElement};o.default.MediaElement=m,s.default.MediaElement=m,n.default=m},{16:16,18:18,19:19,2:2,3:3,7:7,8:8}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),i={};i.version="4.2.6",i.html5media={properties:["volume","src","currentTime","muted","duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable","currentSrc","preload","bufferedBytes","bufferedTime","initialTime","startOffsetTime","defaultPlaybackRate","playbackRate","played","autoplay","loop","controls"],readOnlyProperties:["duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable"],methods:["load","play","pause","canPlayType"],events:["loadstart","durationchange","loadedmetadata","loadeddata","progress","canplay","canplaythrough","suspend","abort","error","emptied","stalled","play","playing","pause","waiting","seeking","seeked","timeupdate","ended","ratechange","volumechange"],mediaTypes:["audio/mp3","audio/ogg","audio/oga","audio/wav","audio/x-wav","audio/wave","audio/x-pn-wav","audio/mpeg","audio/mp4","video/mp4","video/webm","video/ogg","video/ogv"]},r.default.mejs=i,n.default=i},{3:3}],8:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.renderer=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),l=function(){function e(){r(this,e),this.renderers={},this.order=[]}return a(e,[{key:"add",value:function(e){if(void 0===e.name)throw new TypeError("renderer must contain at least `name` property");this.renderers[e.name]=e,this.order.push(e.name)}},{key:"select",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length;if(t=t.length?t:this.order,!n){var r=[/^(html5|native)/i,/^flash/i,/iframe$/i],i=function(e){for(var t=0,n=r.length;t<n;t++)if(r[t].test(e))return t;return r.length};t.sort(function(e,t){return i(e)-i(t)})}for(var a=0,o=t.length;a<o;a++){var l=t[a],s=this.renderers[l];if(null!==s&&void 0!==s)for(var d=0,u=e.length;d<u;d++)if("function"==typeof s.canPlayType&&"string"==typeof e[d].type&&s.canPlayType(e[d].type))return{rendererName:s.name,src:e[d].src}}return null}},{key:"order",set:function(e){if(!Array.isArray(e))throw new TypeError("order must be an array of strings.");this._order=e},get:function(){return this._order}},{key:"renderers",set:function(e){if(null!==e&&"object"!==(void 0===e?"undefined":i(e)))throw new TypeError("renderers must be an array of objects.");this._renderers=e},get:function(){return this._renderers}}]),e}(),s=n.renderer=new l;o.default.Renderers=s},{7:7}],9:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.EN={"mejs.plural-form":1,"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}},{}],10:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=r(e(3)),o=r(e(7)),l=e(8),s=e(18),d=e(19),u=e(16),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof dashjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.dashjs.org/latest/dash.all.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=dashjs.MediaPlayer().create();return a.default["__ready__"+e.id](t),t}},m={name:"native_dash",options:{prefix:"native_dash",dash:{path:"https://cdn.dashjs.org/latest/dash.all.min.js",debug:!1,drm:{},robustnessLevel:""}},canPlayType:function(e){return u.HAS_MSE&&["application/dash+xml"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=r.autoplay,c=r.children,m=null,p=null;r.removeAttribute("type");for(var h=0,v=c.length;h<v;h++)c[h].removeAttribute("type");m=r.cloneNode(!0),t=Object.assign(t,e.options);for(var g=o.default.html5media.properties,y=o.default.html5media.events.concat(["click","mouseover","mouseout"]),E=function(t){if("error"!==t.type){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)}},b=0,w=g.length;b<w;b++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);m["get"+n]=function(){return null!==p?m[e]:null},m["set"+n]=function(n){if(-1===o.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){var r="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n;if(m[e]=r,null!==p){p.reset();for(var a=0,l=y.length;a<l;a++)m.removeEventListener(y[a],E);p=f._createPlayer({options:t.dash,id:d}),n&&"object"===(void 0===n?"undefined":i(n))&&"object"===i(n.drm)&&(p.setProtectionData(n.drm),(0,s.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&p.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),p.attachSource(r),u&&p.play()}}else m[e]=n}}(g[b]);if(a.default["__ready__"+d]=function(n){e.dashPlayer=p=n;for(var r=dashjs.MediaPlayer.events,a=0,l=y.length;a<l;a++)!function(e){"loadedmetadata"===e&&(p.getDebug().setLogToBrowserConsole(t.dash.debug),p.initialize(),p.setScheduleWhilePaused(!1),p.setFastSwitchEnabled(!0),p.attachView(m),p.setAutoPlay(!1),"object"!==i(t.dash.drm)||o.default.Utils.isObjectEmpty(t.dash.drm)||(p.setProtectionData(t.dash.drm),(0,s.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&p.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),p.attachSource(m.getSrc())),m.addEventListener(e,E)}(y[a]);var d=function(t,n){if("error"===t.toLowerCase())e.generateError(n.message,m.src),console.error(n);else{var r=(0,s.createEvent)(t,e);r.data=n,e.dispatchEvent(r)}};for(var u in r)r.hasOwnProperty(u)&&p.on(r[u],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return d(e.type,n)})},n&&n.length>0)for(var _=0,S=n.length;_<S;_++)if(l.renderer.renderers[t.prefix].canPlayType(n[_].type)){m.setAttribute("src",n[_].src),void 0!==n[_].drm&&(t.dash.drm=n[_].drm);break}m.setAttribute("id",d),r.parentNode.insertBefore(m,r),r.autoplay=!1,r.style.display="none",m.setSize=function(e,t){return m.style.width=e+"px",m.style.height=t+"px",m},m.hide=function(){return m.pause(),m.style.display="none",m},m.show=function(){return m.style.display="",m},m.destroy=function(){null!==p&&p.reset()};var j=(0,s.createEvent)("rendererready",m);return e.dispatchEvent(j),e.promises.push(f.load({options:t.dash,id:d})),m}};d.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".mpd")?"application/dash+xml":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],11:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.PluginDetector=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=r(e(3)),o=r(e(2)),l=r(e(7)),s=r(e(5)),d=e(8),u=e(18),c=e(16),f=e(19),m=n.PluginDetector={plugins:[],hasPluginVersion:function(e,t){var n=m.plugins[e];return t[1]=t[1]||0,t[2]=t[2]||0,n[0]>t[0]||n[0]===t[0]&&n[1]>t[1]||n[0]===t[0]&&n[1]===t[1]&&n[2]>=t[2]},addPlugin:function(e,t,n,r,i){m.plugins[e]=m.detectPlugin(t,n,r,i)},detectPlugin:function(e,t,n,r){var o=[0,0,0],l=void 0,s=void 0;if(null!==c.NAV.plugins&&void 0!==c.NAV.plugins&&"object"===i(c.NAV.plugins[e])){if((l=c.NAV.plugins[e].description)&&(void 0===c.NAV.mimeTypes||!c.NAV.mimeTypes[t]||c.NAV.mimeTypes[t].enabledPlugin))for(var d=0,u=(o=l.replace(e,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".")).length;d<u;d++)o[d]=parseInt(o[d].match(/\d+/),10)}else if(void 0!==a.default.ActiveXObject)try{(s=new ActiveXObject(n))&&(o=r(s))}catch(e){}return o}};m.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(e){var t=[],n=e.GetVariable("$version");return n&&(n=n.split(" ")[1].split(","),t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]),t});var p={create:function(e,t,n){var r={},i=!1;r.options=t,r.id=e.id+"_"+r.options.prefix,r.mediaElement=e,r.flashState={},r.flashApi=null,r.flashApiStack=[];for(var m=l.default.html5media.properties,p=0,h=m.length;p<h;p++)!function(e){r.flashState[e]=null;var t=""+e.substring(0,1).toUpperCase()+e.substring(1);r["get"+t]=function(){if(null!==r.flashApi){if("function"==typeof r.flashApi["get_"+e]){var t=r.flashApi["get_"+e]();return"buffered"===e?{start:function(){return 0},end:function(){return t},length:1}:t}return null}return null},r["set"+t]=function(t){if("src"===e&&(t=(0,f.absolutizeUrl)(t)),null!==r.flashApi&&void 0!==r.flashApi["set_"+e])try{r.flashApi["set_"+e](t)}catch(e){}else r.flashApiStack.push({type:"set",propName:e,value:t})}}(m[p]);var v=l.default.html5media.methods;v.push("stop");for(var g=0,y=v.length;g<y;g++)!function(e){r[e]=function(){if(i)if(null!==r.flashApi){if(r.flashApi["fire_"+e])try{r.flashApi["fire_"+e]()}catch(e){}}else r.flashApiStack.push({type:"call",methodName:e})}}(v[g]);for(var E=["rendererready"],b=0,w=E.length;b<w;b++){var _=(0,u.createEvent)(E[b],r);e.dispatchEvent(_)}a.default["__ready__"+r.id]=function(){if(r.flashReady=!0,r.flashApi=o.default.getElementById("__"+r.id),r.flashApiStack.length)for(var e=0,t=r.flashApiStack.length;e<t;e++){var n=r.flashApiStack[e];if("set"===n.type){var i=n.propName,a=""+i.substring(0,1).toUpperCase()+i.substring(1);r["set"+a](n.value)}else"call"===n.type&&r[n.methodName]()}},a.default["__event__"+r.id]=function(e,t){var n=(0,u.createEvent)(e,r);if(t)try{n.data=JSON.parse(t),n.details.data=JSON.parse(t)}catch(e){n.message=t}r.mediaElement.dispatchEvent(n)},r.flashWrapper=o.default.createElement("div"),-1===["always","sameDomain"].indexOf(r.options.shimScriptAccess)&&(r.options.shimScriptAccess="sameDomain");var S=e.originalNode.autoplay,j=["uid="+r.id,"autoplay="+S,"allowScriptAccess="+r.options.shimScriptAccess,"preload="+(e.originalNode.getAttribute("preload")||"")],N=null!==e.originalNode&&"video"===e.originalNode.tagName.toLowerCase(),A=N?e.originalNode.height:1,F=N?e.originalNode.width:1;e.originalNode.getAttribute("src")&&j.push("src="+e.originalNode.getAttribute("src")),!0===r.options.enablePseudoStreaming&&(j.push("pseudostreamstart="+r.options.pseudoStreamingStartQueryParam),j.push("pseudostreamtype="+r.options.pseudoStreamingType)),e.appendChild(r.flashWrapper),e.originalNode.style.display="none";var T=[];if(c.IS_IE||c.IS_EDGE){var P=o.default.createElement("div");r.flashWrapper.appendChild(P),T=c.IS_EDGE?['type="application/x-shockwave-flash"','data="'+r.options.pluginPath+r.options.filename+'"','id="__'+r.id+'"','width="'+F+'"','height="'+A+"'\""]:['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"','codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"','id="__'+r.id+'"','width="'+F+'"','height="'+A+'"'],N||T.push('style="clip: rect(0 0 0 0); position: absolute;"'),P.outerHTML="<object "+T.join(" ")+'><param name="movie" value="'+r.options.pluginPath+r.options.filename+"?x="+new Date+'" /><param name="flashvars" value="'+j.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="'+r.options.shimScriptAccess+'" /><param name="allowFullScreen" value="true" /><div>'+s.default.t("mejs.install-flash")+"</div></object>"}else T=['id="__'+r.id+'"','name="__'+r.id+'"','play="true"','loop="false"','quality="high"','bgcolor="#000000"','wmode="transparent"','allowScriptAccess="'+r.options.shimScriptAccess+'"','allowFullScreen="true"','type="application/x-shockwave-flash"','pluginspage="//www.macromedia.com/go/getflashplayer"','src="'+r.options.pluginPath+r.options.filename+'"','flashvars="'+j.join("&")+'"'],N?(T.push('width="'+F+'"'),T.push('height="'+A+'"')):T.push('style="position: fixed; left: -9999em; top: -9999em;"'),r.flashWrapper.innerHTML="<embed "+T.join(" ")+">";if(r.flashNode=r.flashWrapper.lastChild,r.hide=function(){i=!1,N&&(r.flashNode.style.display="none")},r.show=function(){i=!0,N&&(r.flashNode.style.display="")},r.setSize=function(e,t){r.flashNode.style.width=e+"px",r.flashNode.style.height=t+"px",null!==r.flashApi&&"function"==typeof r.flashApi.fire_setSize&&r.flashApi.fire_setSize(e,t)},r.destroy=function(){r.flashNode.remove()},n&&n.length>0)for(var x=0,L=n.length;x<L;x++)if(d.renderer.renderers[t.prefix].canPlayType(n[x].type)){r.setSrc(n[x].src);break}return r}};if(m.hasPluginVersion("flash",[10,0,0])){f.typeChecks.push(function(e){return(e=e.toLowerCase()).startsWith("rtmp")?~e.indexOf(".mp3")?"audio/rtmp":"video/rtmp":/\.og(a|g)/i.test(e)?"audio/ogg":~e.indexOf(".m3u8")?"application/x-mpegURL":~e.indexOf(".mpd")?"application/dash+xml":~e.indexOf(".flv")?"video/flv":null});var h={name:"flash_video",options:{prefix:"flash_video",filename:"mediaelement-flash-video.swf",enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",pseudoStreamingType:"byte"},canPlayType:function(e){return~["video/mp4","video/rtmp","audio/rtmp","rtmp/mp4","audio/mp4","video/flv","video/x-flv"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(h);var v={name:"flash_hls",options:{prefix:"flash_hls",filename:"mediaelement-flash-video-hls.swf"},canPlayType:function(e){return~["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(v);var g={name:"flash_dash",options:{prefix:"flash_dash",filename:"mediaelement-flash-video-mdash.swf"},canPlayType:function(e){return~["application/dash+xml"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(g);var y={name:"flash_audio",options:{prefix:"flash_audio",filename:"mediaelement-flash-audio.swf"},canPlayType:function(e){return~["audio/mp3"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(y);var E={name:"flash_audio_ogg",options:{prefix:"flash_audio_ogg",filename:"mediaelement-flash-audio-ogg.swf"},canPlayType:function(e){return~["audio/ogg","audio/oga","audio/ogv"].indexOf(e.toLowerCase())},create:p.create};d.renderer.add(E)}},{16:16,18:18,19:19,2:2,3:3,5:5,7:7,8:8}],12:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=r(e(3)),o=r(e(7)),l=e(8),s=e(18),d=e(16),u=e(19),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof flvjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.3/flv.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){flvjs.LoggingControl.enableDebug=e.options.debug,flvjs.LoggingControl.enableVerbose=e.options.debug;var t=flvjs.createPlayer(e.options,e.configs);return a.default["__ready__"+e.id](t),t}},m={name:"native_flv",options:{prefix:"native_flv",flv:{path:"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.3.3/flv.min.js",cors:!0,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["video/x-flv","video/flv"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=null,c=null;u=r.cloneNode(!0),t=Object.assign(t,e.options);for(var m=o.default.html5media.properties,p=o.default.html5media.events.concat(["click","mouseover","mouseout"]),h=function(t){if("error"!==t.type){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)}},v=0,g=m.length;v<g;v++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);u["get"+n]=function(){return null!==c?u[e]:null},u["set"+n]=function(n){if(-1===o.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(u[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==c){var r={};r.type="flv",r.url=n,r.cors=t.flv.cors,r.debug=t.flv.debug,r.path=t.flv.path;var a=t.flv.configs;c.destroy();for(var l=0,s=p.length;l<s;l++)u.removeEventListener(p[l],h);(c=f._createPlayer({options:r,configs:a,id:d})).attachMediaElement(u),c.load()}}else u[e]=n}}(m[v]);if(a.default["__ready__"+d]=function(t){e.flvPlayer=c=t;for(var n=flvjs.Events,r=0,i=p.length;r<i;r++)!function(e){"loadedmetadata"===e&&(c.unload(),c.detachMediaElement(),c.attachMediaElement(u),c.load()),u.addEventListener(e,h)}(p[r]);var a=function(t,n){if("error"===t){var r=n[0]+": "+n[1]+" "+n[2].msg;e.generateError(r,u.src)}else{var i=(0,s.createEvent)(t,e);i.data=n,e.dispatchEvent(i)}};for(var o in n)!function(e){n.hasOwnProperty(e)&&c.on(n[e],function(){for(var t=arguments.length,r=Array(t),i=0;i<t;i++)r[i]=arguments[i];return a(n[e],r)})}(o)},n&&n.length>0)for(var y=0,E=n.length;y<E;y++)if(l.renderer.renderers[t.prefix].canPlayType(n[y].type)){u.setAttribute("src",n[y].src);break}u.setAttribute("id",d),r.parentNode.insertBefore(u,r),r.autoplay=!1,r.style.display="none";var b={};b.type="flv",b.url=u.src,b.cors=t.flv.cors,b.debug=t.flv.debug,b.path=t.flv.path;var w=t.flv.configs;u.setSize=function(e,t){return u.style.width=e+"px",u.style.height=t+"px",u},u.hide=function(){return null!==c&&c.pause(),u.style.display="none",u},u.show=function(){return u.style.display="",u},u.destroy=function(){null!==c&&c.destroy()};var _=(0,s.createEvent)("rendererready",u);return e.dispatchEvent(_),e.promises.push(f.load({options:b,configs:w,id:d})),u}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".flv")?"video/flv":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],13:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=r(e(3)),o=r(e(7)),l=e(8),s=e(18),d=e(16),u=e(19),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof Hls?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.2/hls.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=new Hls(e.options);return a.default["__ready__"+e.id](t),t}},m={name:"native_hls",options:{prefix:"native_hls",hls:{path:"https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.2/hls.min.js",autoStartLoad:!1,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=r.getAttribute("preload"),c=r.autoplay,m=null,p=null,h=0,v=n.length;p=r.cloneNode(!0),(t=Object.assign(t,e.options)).hls.autoStartLoad=u&&"none"!==u||c;for(var g=o.default.html5media.properties,y=o.default.html5media.events.concat(["click","mouseover","mouseout"]),E=function(t){if("error"!==t.type){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)}},b=0,w=g.length;b<w;b++)!function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);p["get"+n]=function(){return null!==m?p[e]:null},p["set"+n]=function(n){if(-1===o.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(p[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==m){m.destroy();for(var r=0,a=y.length;r<a;r++)p.removeEventListener(y[r],E);(m=f._createPlayer({options:t.hls,id:d})).loadSource(n),m.attachMedia(p)}}else p[e]=n}}(g[b]);if(a.default["__ready__"+d]=function(t){e.hlsPlayer=m=t;for(var r=Hls.Events,i=0,a=y.length;i<a;i++)!function(t){if("loadedmetadata"===t){var n=e.originalNode.src;m.detachMedia(),m.loadSource(n),m.attachMedia(p)}p.addEventListener(t,E)}(y[i]);var o=void 0,l=void 0,d=function(t,r){if("hlsError"===t){if(console.warn(r),(r=r[1]).fatal)switch(r.type){case"mediaError":var i=(new Date).getTime();if(!o||i-o>3e3)o=(new Date).getTime(),m.recoverMediaError();else if(!l||i-l>3e3)l=(new Date).getTime(),console.warn("Attempting to swap Audio Codec and recover from media error"),m.swapAudioCodec(),m.recoverMediaError();else{var a="Cannot recover, last media error recovery failed";e.generateError(a,p.src),console.error(a)}break;case"networkError":if("manifestLoadError"===r.details)h<v&&(p.setSrc(n[h++].src),p.load(),p.play());else{e.generateError("Network error",n),console.error("Network error")}break;default:m.destroy()}}else{var d=(0,s.createEvent)(t,e);d.data=r,e.dispatchEvent(d)}};for(var u in r)!function(e){r.hasOwnProperty(e)&&m.on(r[e],function(){for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return d(r[e],n)})}(u)},v>0)for(;h<v;h++)if(l.renderer.renderers[t.prefix].canPlayType(n[h].type)){p.setAttribute("src",n[h].src);break}"auto"===u||c||(p.addEventListener("play",function(){null!==m&&m.startLoad()}),p.addEventListener("pause",function(){null!==m&&m.stopLoad()})),p.setAttribute("id",d),r.parentNode.insertBefore(p,r),r.autoplay=!1,r.style.display="none",p.setSize=function(e,t){return p.style.width=e+"px",p.style.height=t+"px",p},p.hide=function(){return p.pause(),p.style.display="none",p},p.show=function(){return p.style.display="",p},p.destroy=function(){null!==m&&(m.stopLoad(),m.destroy())};var _=(0,s.createEvent)("rendererready",p);return e.dispatchEvent(_),e.promises.push(f.load({options:t.hls,id:d})),p}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".m3u8")?"application/x-mpegURL":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],14:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(3)),a=r(e(2)),o=r(e(7)),l=e(8),s=e(18),d=e(16),u={name:"html5",options:{prefix:"html5"},canPlayType:function(e){var t=a.default.createElement("video");return d.IS_ANDROID&&/\/mp(3|4)$/i.test(e)||~["application/x-mpegurl","vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())&&d.SUPPORTS_NATIVE_HLS?"yes":t.canPlayType?t.canPlayType(e.toLowerCase()).replace(/no/,""):""},create:function(e,t,n){var r=e.id+"_"+t.prefix,i=!1,d=null;void 0===e.originalNode||null===e.originalNode?(d=a.default.createElement("audio"),e.appendChild(d)):d=e.originalNode,d.setAttribute("id",r);for(var u=o.default.html5media.properties,c=0,f=u.length;c<f;c++)!function(e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1);d["get"+t]=function(){return d[e]},d["set"+t]=function(t){-1===o.default.html5media.readOnlyProperties.indexOf(e)&&(d[e]=t)}}(u[c]);for(var m=o.default.html5media.events.concat(["click","mouseover","mouseout"]),p=0,h=m.length;p<h;p++)!function(t){d.addEventListener(t,function(t){if(i){var n=(0,s.createEvent)(t.type,t.target);e.dispatchEvent(n)}})}(m[p]);d.setSize=function(e,t){return d.style.width=e+"px",d.style.height=t+"px",d},d.hide=function(){return i=!1,d.style.display="none",d},d.show=function(){return i=!0,d.style.display="",d};var v=0,g=n.length;if(g>0)for(;v<g;v++)if(l.renderer.renderers[t.prefix].canPlayType(n[v].type)){d.setAttribute("src",n[v].src);break}d.addEventListener("error",function(t){4===t.target.error.code&&i&&(v<g?(d.src=n[v++].src,d.load(),d.play()):e.generateError("Media error: Format(s) not supported or source(s) not found",n))});var y=(0,s.createEvent)("rendererready",d);return e.dispatchEvent(y),d}};i.default.HtmlMediaElement=o.default.HtmlMediaElement=u,l.renderer.add(u)},{16:16,18:18,2:2,3:3,7:7,8:8}],15:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(3)),a=r(e(2)),o=r(e(7)),l=e(8),s=e(18),d=e(19),u=e(17),c={isIframeStarted:!1,isIframeLoaded:!1,iframeQueue:[],enqueueIframe:function(e){c.isLoaded="undefined"!=typeof YT&&YT.loaded,c.isLoaded?c.createIframe(e):(c.loadIframeApi(),c.iframeQueue.push(e))},loadIframeApi:function(){c.isIframeStarted||((0,u.loadScript)("https://www.youtube.com/player_api"),c.isIframeStarted=!0)},iFrameReady:function(){for(c.isLoaded=!0,c.isIframeLoaded=!0;c.iframeQueue.length>0;){var e=c.iframeQueue.pop();c.createIframe(e)}},createIframe:function(e){return new YT.Player(e.containerId,e)},getYouTubeId:function(e){var t="";return e.indexOf("?")>0?""===(t=c.getYouTubeIdFromParam(e))&&(t=c.getYouTubeIdFromUrl(e)):t=c.getYouTubeIdFromUrl(e),(t=t.substring(t.lastIndexOf("/")+1).split("?"))[0]},getYouTubeIdFromParam:function(e){if(void 0===e||null===e||!e.trim().length)return null;for(var t=e.split("?")[1].split("&"),n="",r=0,i=t.length;r<i;r++){var a=t[r].split("=");if("v"===a[0]){n=a[1];break}}return n},getYouTubeIdFromUrl:function(e){return void 0!==e&&null!==e&&e.trim().length?(e=e.split("?")[0]).substring(e.lastIndexOf("/")+1):null},getYouTubeNoCookieUrl:function(e){if(void 0===e||null===e||!e.trim().length||-1===e.indexOf("//www.youtube"))return e;var t=e.split("/");return t[2]=t[2].replace(".com","-nocookie.com"),t.join("/")}},f={name:"youtube_iframe",options:{prefix:"youtube_iframe",youtube:{autoplay:0,controls:0,disablekb:1,end:0,loop:0,modestbranding:0,playsinline:0,rel:0,showinfo:0,start:0,iv_load_policy:3,nocookie:!1,imageQuality:null}},canPlayType:function(e){return~["video/youtube","video/x-youtube"].indexOf(e.toLowerCase())},create:function(e,t,n){var r={},l=[],d=null,u=!0,f=!1,m=null,p=1;r.options=t,r.id=e.id+"_"+t.prefix,r.mediaElement=e;for(var h=o.default.html5media.properties,v=0,g=h.length;v<g;v++)!function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);r["get"+n]=function(){if(null!==d){switch(t){case"currentTime":return d.getCurrentTime();case"duration":return d.getDuration();case"volume":return p=d.getVolume()/100;case"paused":return u;case"ended":return f;case"muted":return d.isMuted();case"buffered":var e=d.getVideoLoadedFraction(),n=d.getDuration();return{start:function(){return 0},end:function(){return e*n},length:1};case"src":return d.getVideoUrl();case"readyState":return 4}return null}return null},r["set"+n]=function(n){if(null!==d)switch(t){case"src":var i="string"==typeof n?n:n[0].src,a=c.getYouTubeId(i);e.originalNode.autoplay?d.loadVideoById(a):d.cueVideoById(a);break;case"currentTime":d.seekTo(n);break;case"muted":n?d.mute():d.unMute(),setTimeout(function(){var t=(0,s.createEvent)("volumechange",r);e.dispatchEvent(t)},50);break;case"volume":p=n,d.setVolume(100*n),setTimeout(function(){var t=(0,s.createEvent)("volumechange",r);e.dispatchEvent(t)},50);break;case"readyState":var o=(0,s.createEvent)("canplay",r);e.dispatchEvent(o)}else l.push({type:"set",propName:t,value:n})}}(h[v]);for(var y=o.default.html5media.methods,E=0,b=y.length;E<b;E++)!function(e){r[e]=function(){if(null!==d)switch(e){case"play":return u=!1,d.playVideo();case"pause":return u=!0,d.pauseVideo();case"load":return null}else l.push({type:"call",methodName:e})}}(y[E]);var w=a.default.createElement("div");w.id=r.id,r.options.youtube.nocookie&&(e.originalNode.src=c.getYouTubeNoCookieUrl(n[0].src)),e.originalNode.parentNode.insertBefore(w,e.originalNode),e.originalNode.style.display="none";var _="audio"===e.originalNode.tagName.toLowerCase(),S=_?"1":e.originalNode.height,j=_?"1":e.originalNode.width,N=c.getYouTubeId(n[0].src),A={id:r.id,containerId:w.id,videoId:N,height:S,width:j,playerVars:Object.assign({controls:0,rel:0,disablekb:1,showinfo:0,modestbranding:0,html5:1,playsinline:0,start:0,end:0,iv_load_policy:3},r.options.youtube),origin:i.default.location.host,events:{onReady:function(t){if(e.youTubeApi=d=t.target,e.youTubeState={paused:!0,ended:!1},l.length)for(var n=0,i=l.length;n<i;n++){var a=l[n];if("set"===a.type){var o=a.propName,u=""+o.substring(0,1).toUpperCase()+o.substring(1);r["set"+u](a.value)}else"call"===a.type&&r[a.methodName]()}m=d.getIframe(),e.originalNode.getAttribute("muted")&&d.mute();for(var c=["mouseover","mouseout"],f=0,p=c.length;f<p;f++)m.addEventListener(c[f],function(t){var n=(0,s.createEvent)(t.type,r);e.dispatchEvent(n)},!1);for(var h=["rendererready","loadedmetadata","loadeddata","canplay"],v=0,g=h.length;v<g;v++){var y=(0,s.createEvent)(h[v],r);e.dispatchEvent(y)}},onStateChange:function(t){var n=[];switch(t.data){case-1:n=["loadedmetadata"],u=!0,f=!1;break;case 0:n=["ended"],u=!1,f=!r.options.youtube.loop,r.options.youtube.loop||r.stopInterval();break;case 1:n=["play","playing"],u=!1,f=!1,r.startInterval();break;case 2:n=["pause"],u=!0,f=!1,r.stopInterval();break;case 3:n=["progress"],f=!1;break;case 5:n=["loadeddata","loadedmetadata","canplay"],u=!0,f=!1}for(var i=0,a=n.length;i<a;i++){var o=(0,s.createEvent)(n[i],r);e.dispatchEvent(o)}},onError:function(t){var n=(0,s.createEvent)("error",r);n.data=t.data,e.dispatchEvent(n)}}};return _&&(A.playerVars.playsinline=1),e.originalNode.autoplay&&(A.playerVars.autoplay=1),e.originalNode.loop&&(A.playerVars.loop=1),c.enqueueIframe(A),r.onEvent=function(t,n,r){null!==r&&void 0!==r&&(e.youTubeState=r)},r.setSize=function(e,t){null!==d&&d.setSize(e,t)},r.hide=function(){r.stopInterval(),r.pause(),m&&(m.style.display="none")},r.show=function(){m&&(m.style.display="")},r.destroy=function(){d.destroy()},r.interval=null,r.startInterval=function(){r.interval=setInterval(function(){var t=(0,s.createEvent)("timeupdate",r);e.dispatchEvent(t)},250)},r.stopInterval=function(){r.interval&&clearInterval(r.interval)},r.getPosterUrl=function(){var n=t.youtube.imageQuality,r=["default","hqdefault","mqdefault","sddefault","maxresdefault"],i=c.getYouTubeId(e.originalNode.src);return n&&r.indexOf(n)>-1&&i?"https://img.youtube.com/vi/"+i+"/"+n+".jpg":""},r}};i.default.onYouTubePlayerAPIReady=function(){c.iFrameReady()},d.typeChecks.push(function(e){return/\/\/(www\.youtube|youtu\.?be)/i.test(e)?"video/x-youtube":null}),l.renderer.add(f)},{17:17,18:18,19:19,2:2,3:3,7:7,8:8}],16:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.cancelFullScreen=n.requestFullScreen=n.isFullScreen=n.FULLSCREEN_EVENT_NAME=n.HAS_NATIVE_FULLSCREEN_ENABLED=n.HAS_TRUE_NATIVE_FULLSCREEN=n.HAS_IOS_FULLSCREEN=n.HAS_MS_NATIVE_FULLSCREEN=n.HAS_MOZ_NATIVE_FULLSCREEN=n.HAS_WEBKIT_NATIVE_FULLSCREEN=n.HAS_NATIVE_FULLSCREEN=n.SUPPORTS_NATIVE_HLS=n.SUPPORT_PASSIVE_EVENT=n.SUPPORT_POINTER_EVENTS=n.HAS_MSE=n.IS_STOCK_ANDROID=n.IS_SAFARI=n.IS_FIREFOX=n.IS_CHROME=n.IS_EDGE=n.IS_IE=n.IS_ANDROID=n.IS_IOS=n.IS_IPOD=n.IS_IPHONE=n.IS_IPAD=n.UA=n.NAV=void 0;for(var i=r(e(3)),a=r(e(2)),o=r(e(7)),l=n.NAV=i.default.navigator,s=n.UA=l.userAgent.toLowerCase(),d=n.IS_IPAD=/ipad/i.test(s)&&!i.default.MSStream,u=n.IS_IPHONE=/iphone/i.test(s)&&!i.default.MSStream,c=n.IS_IPOD=/ipod/i.test(s)&&!i.default.MSStream,f=(n.IS_IOS=/ipad|iphone|ipod/i.test(s)&&!i.default.MSStream,n.IS_ANDROID=/android/i.test(s)),m=n.IS_IE=/(trident|microsoft)/i.test(l.appName),p=(n.IS_EDGE="msLaunchUri"in l&&!("documentMode"in a.default)),h=n.IS_CHROME=/chrome/i.test(s),v=n.IS_FIREFOX=/firefox/i.test(s),g=n.IS_SAFARI=/safari/i.test(s)&&!h,y=n.IS_STOCK_ANDROID=/^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(s),E=(n.HAS_MSE="MediaSource"in i.default),b=(n.SUPPORT_POINTER_EVENTS=function(){var e=a.default.createElement("x"),t=a.default.documentElement,n=i.default.getComputedStyle;if(!("pointerEvents"in e.style))return!1;e.style.pointerEvents="auto",e.style.pointerEvents="x",t.appendChild(e);var r=n&&"auto"===n(e,"").pointerEvents;return e.remove(),!!r}()),w=n.SUPPORT_PASSIVE_EVENT=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});i.default.addEventListener("test",null,t)}catch(e){}return e}(),_=["source","track","audio","video"],S=void 0,j=0,N=_.length;j<N;j++)S=a.default.createElement(_[j]);var A=n.SUPPORTS_NATIVE_HLS=g||f&&(h||y)||m&&/edge/i.test(s),F=void 0!==S.webkitEnterFullscreen,T=void 0!==S.requestFullscreen;F&&/mac os x 10_5/i.test(s)&&(T=!1,F=!1);var P=void 0!==S.webkitRequestFullScreen,x=void 0!==S.mozRequestFullScreen,L=void 0!==S.msRequestFullscreen,O=P||x||L,C=O,I="",k=void 0,U=void 0,M=void 0;x?C=a.default.mozFullScreenEnabled:L&&(C=a.default.msFullscreenEnabled),h&&(F=!1),O&&(P?I="webkitfullscreenchange":x?I="mozfullscreenchange":L&&(I="MSFullscreenChange"),n.isFullScreen=k=function(){return x?a.default.mozFullScreen:P?a.default.webkitIsFullScreen:L?null!==a.default.msFullscreenElement:void 0},n.requestFullScreen=U=function(e){P?e.webkitRequestFullScreen():x?e.mozRequestFullScreen():L&&e.msRequestFullscreen()},n.cancelFullScreen=M=function(){P?a.default.webkitCancelFullScreen():x?a.default.mozCancelFullScreen():L&&a.default.msExitFullscreen()});var R=n.HAS_NATIVE_FULLSCREEN=T,D=n.HAS_WEBKIT_NATIVE_FULLSCREEN=P,V=n.HAS_MOZ_NATIVE_FULLSCREEN=x,H=n.HAS_MS_NATIVE_FULLSCREEN=L,q=n.HAS_IOS_FULLSCREEN=F,z=n.HAS_TRUE_NATIVE_FULLSCREEN=O,B=n.HAS_NATIVE_FULLSCREEN_ENABLED=C,Y=n.FULLSCREEN_EVENT_NAME=I;n.isFullScreen=k,n.requestFullScreen=U,n.cancelFullScreen=M,o.default.Features=o.default.Features||{},o.default.Features.isiPad=d,o.default.Features.isiPod=c,o.default.Features.isiPhone=u,o.default.Features.isiOS=o.default.Features.isiPhone||o.default.Features.isiPad,o.default.Features.isAndroid=f,o.default.Features.isIE=m,o.default.Features.isEdge=p,o.default.Features.isChrome=h,o.default.Features.isFirefox=v,o.default.Features.isSafari=g,o.default.Features.isStockAndroid=y,o.default.Features.hasMSE=E,o.default.Features.supportsNativeHLS=A,o.default.Features.supportsPointerEvents=b,o.default.Features.supportsPassiveEvent=w,o.default.Features.hasiOSFullScreen=q,o.default.Features.hasNativeFullscreen=R,o.default.Features.hasWebkitNativeFullScreen=D,o.default.Features.hasMozNativeFullScreen=V,o.default.Features.hasMsNativeFullScreen=H,o.default.Features.hasTrueNativeFullScreen=z,o.default.Features.nativeFullScreenEnabled=B,o.default.Features.fullScreenEventName=Y,o.default.Features.isFullScreen=k,o.default.Features.requestFullScreen=U,o.default.Features.cancelFullScreen=M},{2:2,3:3,7:7}],17:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return new Promise(function(t,n){var r=m.default.createElement("script");r.src=e,r.async=!0,r.onload=function(){r.remove(),t()},r.onerror=function(){r.remove(),n()},m.default.head.appendChild(r)})}function a(e){var t=e.getBoundingClientRect(),n=f.default.pageXOffset||m.default.documentElement.scrollLeft,r=f.default.pageYOffset||m.default.documentElement.scrollTop;return{top:t.top+r,left:t.left+n}}function o(e,t){y(e,t)?b(e,t):E(e,t)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=1);var r=null;f.default.requestAnimationFrame(function i(a){var o=a-(r=r||a),l=parseFloat(1-o/t,2);e.style.opacity=l<0?0:l,o>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=0);var r=null;f.default.requestAnimationFrame(function i(a){var o=a-(r=r||a),l=parseFloat(o/t,2);e.style.opacity=l>1?1:l,o>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function d(e,t){var n=[];e=e.parentNode.firstChild;do{t&&!t(e)||n.push(e)}while(e=e.nextSibling);return n}function u(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}function c(e,t,n,r){var i=f.default.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),a="application/x-www-form-urlencoded; charset=UTF-8",o=!1,l="*/".concat("*");switch(t){case"text":a="text/plain";break;case"json":a="application/json, text/javascript";break;case"html":a="text/html";break;case"xml":a="application/xml, text/xml"}"application/x-www-form-urlencoded"!==a&&(l=a+", */*; q=0.01"),i&&(i.open("GET",e,!0),i.setRequestHeader("Accept",l),i.onreadystatechange=function(){if(!o&&4===i.readyState)if(200===i.status){o=!0;var e=void 0;switch(t){case"json":e=JSON.parse(i.responseText);break;case"xml":e=i.responseXML;break;default:e=i.responseText}n(e)}else"function"==typeof r&&r(i.status)},i.send())}Object.defineProperty(n,"__esModule",{value:!0}),n.removeClass=n.addClass=n.hasClass=void 0,n.loadScript=i,n.offset=a,n.toggleClass=o,n.fadeOut=l,n.fadeIn=s,n.siblings=d,n.visible=u,n.ajax=c;var f=r(e(3)),m=r(e(2)),p=r(e(7)),h=void 0,v=void 0,g=void 0;"classList"in m.default.documentElement?(h=function(e,t){return void 0!==e.classList&&e.classList.contains(t)},v=function(e,t){return e.classList.add(t)},g=function(e,t){return e.classList.remove(t)}):(h=function(e,t){return new RegExp("\\b"+t+"\\b").test(e.className)},v=function(e,t){y(e,t)||(e.className+=" "+t)},g=function(e,t){e.className=e.className.replace(new RegExp("\\b"+t+"\\b","g"),"")});var y=n.hasClass=h,E=n.addClass=v,b=n.removeClass=g;p.default.Utils=p.default.Utils||{},p.default.Utils.offset=a,p.default.Utils.hasClass=y,p.default.Utils.addClass=E,p.default.Utils.removeClass=b,p.default.Utils.toggleClass=o,p.default.Utils.fadeIn=s,p.default.Utils.fadeOut=l,p.default.Utils.siblings=d,p.default.Utils.visible=u,p.default.Utils.ajax=c,p.default.Utils.loadScript=i},{2:2,3:3,7:7}],18:[function(e,t,n){"use strict";function r(e){if("string"!=typeof e)throw new Error("Argument passed must be a string");var t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};return e.replace(/[&<>"]/g,function(e){return t[e]})}function i(e,t){var n=this,r=arguments,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"!=typeof e)throw new Error("First argument must be a function");if("number"!=typeof t)throw new Error("Second argument must be a numeric value");var a=void 0;return function(){var o=n,l=r,s=i&&!a;clearTimeout(a),a=setTimeout(function(){a=null,i||e.apply(o,l)},t),s&&e.apply(o,l)}}function a(e){return Object.getOwnPropertyNames(e).length<=0}function o(e,t){var n=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/,r={d:[],w:[]};return(e||"").split(" ").forEach(function(e){var i=e+(t?"."+t:"");i.startsWith(".")?(r.d.push(i),r.w.push(i)):r[n.test(e)?"w":"d"].push(i)}),r.d=r.d.join(" "),r.w=r.w.join(" "),r}function l(e,t){if("string"!=typeof e)throw new Error("Event name must be a string");var n=e.match(/([a-z]+\.([a-z]+))/i),r={target:t};return null!==n&&(e=n[1],r.namespace=n[2]),new window.CustomEvent(e,{detail:r})}function s(e,t){return!!(e&&t&&2&e.compareDocumentPosition(t))}function d(e){return"string"==typeof e}Object.defineProperty(n,"__esModule",{value:!0}),n.escapeHTML=r,n.debounce=i,n.isObjectEmpty=a,n.splitEvents=o,n.createEvent=l,n.isNodeAfter=s,n.isString=d;var u=function(e){return e&&e.__esModule?e:{default:e}}(e(7));u.default.Utils=u.default.Utils||{},u.default.Utils.escapeHTML=r,u.default.Utils.debounce=i,u.default.Utils.isObjectEmpty=a,u.default.Utils.splitEvents=o,u.default.Utils.createEvent=l,u.default.Utils.isNodeAfter=s,u.default.Utils.isString=d},{7:7}],19:[function(e,t,n){"use strict";function r(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=document.createElement("div");return t.innerHTML='<a href="'+(0,u.escapeHTML)(e)+'">x</a>',t.firstChild.href}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e&&!t?o(e):t}function a(e){if("string"!=typeof e)throw new Error("`type` argument must be a string");return e&&e.indexOf(";")>-1?e.substr(0,e.indexOf(";")):e}function o(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");for(var t=0,n=c.length;t<n;t++){var r=c[t](e);if(r)return r}var i=s(l(e)),a="video/mp4";return i&&(~["mp4","m4v","ogg","ogv","webm","flv","mpeg","mov"].indexOf(i)?a="video/"+i:~["mp3","oga","wav","mid","midi"].indexOf(i)&&(a="audio/"+i)),a}function l(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=e.split("?")[0].split("\\").pop().split("/").pop();return~t.indexOf(".")?t.substring(t.lastIndexOf(".")+1):""}function s(e){if("string"!=typeof e)throw new Error("`extension` argument must be a string");switch(e){case"mp4":case"m4v":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecks=void 0,n.absolutizeUrl=r,n.formatType=i,n.getMimeFromType=a,n.getTypeFromFile=o,n.getExtension=l,n.normalizeExtension=s;var d=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),u=e(18),c=n.typeChecks=[];d.default.Utils=d.default.Utils||{},d.default.Utils.typeChecks=c,d.default.Utils.absolutizeUrl=r,d.default.Utils.formatType=i,d.default.Utils.getMimeFromType=a,d.default.Utils.getTypeFromFile=o,d.default.Utils.getExtension=l,d.default.Utils.normalizeExtension=s},{18:18,7:7}],20:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(2)),a=r(e(4));if([Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach(function(e){e.hasOwnProperty("remove")||Object.defineProperty(e,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=i.default.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}if("function"==typeof window.CustomEvent)return!1;e.prototype=window.Event.prototype,window.CustomEvent=e}(),"function"!=typeof Object.assign&&(Object.assign=function(e){if(null===e||void 0===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1,r=arguments.length;n<r;n++){var i=arguments[n];if(null!==i)for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(t[a]=i[a])}return t}),String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length-1;--n>=0&&t.item(n)!==this;);return n>-1}),window.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t=(this.document||this.ownerDocument).querySelectorAll(e),n=void 0,r=this;do{for(n=t.length;--n>=0&&t.item(n)!==r;);}while(n<0&&(r=r.parentElement));return r}),function(){for(var e=0,t=["ms","moz","webkit","o"],n=0;n<t.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[t[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[n]+"CancelAnimationFrame"]||window[t[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var n=(new Date).getTime(),r=Math.max(0,16-(n-e)),i=window.setTimeout(function(){t(n+r)},r);return e=n+r,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}(),/firefox/i.test(navigator.userAgent)){var o=window.getComputedStyle;window.getComputedStyle=function(e,t){var n=o(e,t);return null===n?{getPropertyValue:function(){}}:n}}window.Promise||(window.Promise=a.default),function(e){e&&e.prototype&&null===e.prototype.children&&Object.defineProperty(e.prototype,"children",{get:function(){for(var e=0,t=void 0,n=this.childNodes,r=[];t=n[e++];)1===t.nodeType&&r.push(t);return r}})}(window.Node||window.Element)},{2:2,4:4}]},{},[20,6,5,9,14,11,10,12,13,15]);
\ No newline at end of file
diff --git a/lib/mejs/mediaelementplayer-legacy.css b/lib/mejs/mediaelementplayer-legacy.css
index 79a2f626..51fe4e0a 100644
--- a/lib/mejs/mediaelementplayer-legacy.css
+++ b/lib/mejs/mediaelementplayer-legacy.css
@@ -517,6 +517,7 @@ Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-h
 }
 
 .mejs-volume-button > .mejs-volume-slider {
+    -webkit-backface-visibility: hidden;
     background: rgba(50, 50, 50, 0.7);
     border-radius: 0;
     bottom: 100%;
@@ -660,7 +661,7 @@ Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-h
     list-style-type: none !important;
     margin: 0 0 6px;
     overflow: hidden;
-    padding: 0 10px;
+    padding: 0;
 }
 
 .mejs-captions-selector-list-item:hover,
@@ -684,7 +685,8 @@ Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-h
     float: left;
     font-size: 10px;
     line-height: 15px;
-    padding: 4px 0 0;
+    padding: 4px 10px 0;
+    width: 100%;
 }
 
 .mejs-captions-selected,
diff --git a/lib/mejs/mediaelementplayer-legacy.min.css b/lib/mejs/mediaelementplayer-legacy.min.css
index 19c39e48..d375d573 100644
--- a/lib/mejs/mediaelementplayer-legacy.min.css
+++ b/lib/mejs/mediaelementplayer-legacy.min.css
@@ -1 +1 @@
-.mejs-offscreen{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.mejs-container{background:#000;font-family:Helvetica,Arial,serif;position:relative;text-align:left;text-indent:0;vertical-align:top}.mejs-container,.mejs-container *{box-sizing:border-box}.mejs-container video::-webkit-media-controls,.mejs-container video::-webkit-media-controls-panel,.mejs-container video::-webkit-media-controls-panel-container,.mejs-container video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;display:none!important}.mejs-fill-container,.mejs-fill-container .mejs-container{height:100%;width:100%}.mejs-fill-container{background:transparent;margin:0 auto;overflow:hidden;position:relative}.mejs-container:focus{outline:none}.mejs-iframe-overlay{height:100%;position:absolute;width:100%}.mejs-embed,.mejs-embed body{background:#000;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.mejs-fullscreen{overflow:hidden!important}.mejs-container-fullscreen{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.mejs-container-fullscreen .mejs-mediaelement,.mejs-container-fullscreen video{height:100%!important;width:100%!important}.mejs-background,.mejs-mediaelement{left:0;position:absolute;top:0}.mejs-mediaelement{height:100%;width:100%;z-index:0}.mejs-poster{background-position:50% 50%;background-repeat:no-repeat;background-size:cover;left:0;position:absolute;top:0;z-index:1}:root .mejs-poster-img{display:none}.mejs-poster-img{border:0;padding:0}.mejs-overlay{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;left:0;position:absolute;top:0}.mejs-layer{z-index:1}.mejs-overlay-play{cursor:pointer}.mejs-overlay-button{background:url(mejs-controls.svg) no-repeat;background-position:0 -39px;height:80px;width:80px}.mejs-overlay:hover>.mejs-overlay-button{background-position:-80px -39px}.mejs-overlay-loading{height:80px;width:80px}.mejs-overlay-loading-bg-img{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent url(mejs-controls.svg) -160px -40px no-repeat;display:block;height:80px;width:80px;z-index:1}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.mejs-controls{bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:40px;left:0;list-style-type:none;margin:0;padding:0 10px;position:absolute;width:100%;z-index:3}.mejs-controls:not([style*="display: none"]){background:rgba(255,0,0,.7);background:-webkit-linear-gradient(transparent,rgba(0,0,0,.35));background:linear-gradient(transparent,rgba(0,0,0,.35))}.mejs-button,.mejs-time,.mejs-time-rail{font-size:10px;height:40px;line-height:10px;margin:0;width:32px}.mejs-button>button{background:transparent url(mejs-controls.svg);border:0;cursor:pointer;display:block;font-size:0;height:20px;line-height:0;margin:10px 6px;overflow:hidden;padding:0;position:absolute;text-decoration:none;width:20px}.mejs-button>button:focus{outline:1px dotted #999}.mejs-container-keyboard-inactive [role=slider],.mejs-container-keyboard-inactive [role=slider]:focus,.mejs-container-keyboard-inactive a,.mejs-container-keyboard-inactive a:focus,.mejs-container-keyboard-inactive button,.mejs-container-keyboard-inactive button:focus{outline:0}.mejs-time{box-sizing:content-box;color:#fff;font-size:11px;font-weight:700;height:24px;overflow:hidden;padding:16px 6px 0;text-align:center;width:auto}.mejs-play>button{background-position:0 0}.mejs-pause>button{background-position:-20px 0}.mejs-replay>button{background-position:-160px 0}.mejs-time-rail{direction:ltr;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:40px;margin:0 10px;padding-top:10px;position:relative}.mejs-time-buffering,.mejs-time-current,.mejs-time-float,.mejs-time-float-corner,.mejs-time-float-current,.mejs-time-hovered,.mejs-time-loaded,.mejs-time-marker,.mejs-time-total{border-radius:2px;cursor:pointer;display:block;height:10px;position:absolute}.mejs-time-total{background:hsla(0,0%,100%,.3);margin:5px 0 0;width:100%}.mejs-time-buffering{-webkit-animation:b 2s linear infinite;animation:b 2s linear infinite;background:-webkit-linear-gradient(135deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background:linear-gradient(-45deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background-size:15px 15px;width:100%}@-webkit-keyframes b{0%{background-position:0 0}to{background-position:30px 0}}@keyframes b{0%{background-position:0 0}to{background-position:30px 0}}.mejs-time-loaded{background:hsla(0,0%,100%,.3)}.mejs-time-current,.mejs-time-handle-content{background:hsla(0,0%,100%,.9)}.mejs-time-hovered{background:hsla(0,0%,100%,.5);z-index:10}.mejs-time-hovered.negative{background:rgba(0,0,0,.2)}.mejs-time-buffering,.mejs-time-current,.mejs-time-hovered,.mejs-time-loaded{left:0;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all .15s ease-in;transition:all .15s ease-in;width:100%}.mejs-time-buffering{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.mejs-time-hovered{-webkit-transition:height .1s cubic-bezier(.44,0,1,1);transition:height .1s cubic-bezier(.44,0,1,1)}.mejs-time-hovered.no-hover{-webkit-transform:scaleX(0)!important;-ms-transform:scaleX(0)!important;transform:scaleX(0)!important}.mejs-time-handle,.mejs-time-handle-content{border:4px solid transparent;cursor:pointer;left:0;position:absolute;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);z-index:11}.mejs-time-handle-content{border:4px solid hsla(0,0%,100%,.9);border-radius:50%;height:10px;left:-7px;top:-4px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);width:10px}.mejs-time-rail .mejs-time-handle-content:active,.mejs-time-rail .mejs-time-handle-content:focus,.mejs-time-rail:hover .mejs-time-handle-content{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.mejs-time-float{background:#eee;border:1px solid #333;bottom:100%;color:#111;display:none;height:17px;margin-bottom:9px;position:absolute;text-align:center;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:36px}.mejs-time-float-current{display:block;left:0;margin:2px;text-align:center;width:30px}.mejs-time-float-corner{border:5px solid #eee;border-color:#eee transparent transparent;border-radius:0;display:block;height:0;left:50%;line-height:0;position:absolute;top:100%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:0}.mejs-long-video .mejs-time-float{margin-left:-23px;width:64px}.mejs-long-video .mejs-time-float-current{width:60px}.mejs-broadcast{color:#fff;height:10px;position:absolute;top:15px;width:100%}.mejs-fullscreen-button>button{background-position:-80px 0}.mejs-unfullscreen>button{background-position:-100px 0}.mejs-mute>button{background-position:-60px 0}.mejs-unmute>button{background-position:-40px 0}.mejs-volume-button{position:relative}.mejs-volume-button>.mejs-volume-slider{background:rgba(50,50,50,.7);border-radius:0;bottom:100%;display:none;height:115px;left:50%;margin:0;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:25px;z-index:1}.mejs-volume-button:hover{border-radius:0 0 4px 4px}.mejs-volume-total{background:hsla(0,0%,100%,.5);height:100px;left:50%;margin:0;position:absolute;top:8px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:2px}.mejs-volume-current{left:0;margin:0;width:100%}.mejs-volume-current,.mejs-volume-handle{background:hsla(0,0%,100%,.9);position:absolute}.mejs-volume-handle{border-radius:1px;cursor:ns-resize;height:6px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:16px}.mejs-horizontal-volume-slider{display:block;height:36px;position:relative;vertical-align:middle;width:56px}.mejs-horizontal-volume-total{background:rgba(50,50,50,.8);height:8px;top:16px;width:50px}.mejs-horizontal-volume-current,.mejs-horizontal-volume-total{border-radius:2px;font-size:1px;left:0;margin:0;padding:0;position:absolute}.mejs-horizontal-volume-current{background:hsla(0,0%,100%,.8);height:100%;top:0;width:100%}.mejs-horizontal-volume-handle{display:none}.mejs-captions-button,.mejs-chapters-button{position:relative}.mejs-captions-button>button{background-position:-140px 0}.mejs-chapters-button>button{background-position:-180px 0}.mejs-captions-button>.mejs-captions-selector,.mejs-chapters-button>.mejs-chapters-selector{background:rgba(50,50,50,.7);border:1px solid transparent;border-radius:0;bottom:100%;margin-right:-43px;overflow:hidden;padding:0;position:absolute;right:50%;visibility:visible;width:86px}.mejs-chapters-button>.mejs-chapters-selector{margin-right:-55px;width:110px}.mejs-captions-selector-list,.mejs-chapters-selector-list{list-style-type:none!important;margin:0;overflow:hidden;padding:0}.mejs-captions-selector-list-item,.mejs-chapters-selector-list-item{color:#fff;cursor:pointer;display:block;list-style-type:none!important;margin:0 0 6px;overflow:hidden;padding:0 10px}.mejs-captions-selector-list-item:hover,.mejs-chapters-selector-list-item:hover{background-color:#c8c8c8!important;background-color:hsla(0,0%,100%,.4)!important}.mejs-captions-selector-input,.mejs-chapters-selector-input{clear:both;float:left;left:-1000px;margin:3px 3px 0 5px;position:absolute}.mejs-captions-selector-label,.mejs-chapters-selector-label{cursor:pointer;float:left;font-size:10px;line-height:15px;padding:4px 0 0}.mejs-captions-selected,.mejs-chapters-selected{color:#21f8f8}.mejs-captions-translations{font-size:10px;margin:0 0 5px}.mejs-captions-layer{bottom:0;color:#fff;font-size:16px;left:0;line-height:20px;position:absolute;text-align:center}.mejs-captions-layer a{color:#fff;text-decoration:underline}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:400}.mejs-captions-position{bottom:15px;left:0;position:absolute;width:100%}.mejs-captions-position-hover{bottom:35px}.mejs-captions-text,.mejs-captions-text *{background:hsla(0,0%,8%,.5);box-shadow:5px 0 0 hsla(0,0%,8%,.5),-5px 0 0 hsla(0,0%,8%,.5);padding:0;white-space:pre-wrap}.mejs-container.mejs-hide-cues video::-webkit-media-text-track-container{display:none}.mejs-overlay-error{position:relative}.mejs-overlay-error>img{left:0;position:absolute;top:0;z-index:-1}.mejs-cannotplay,.mejs-cannotplay a{color:#fff;font-size:.8em}.mejs-cannotplay{position:relative}.mejs-cannotplay a,.mejs-cannotplay p{display:inline-block;padding:0 15px;width:100%}
\ No newline at end of file
+.mejs-offscreen{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.mejs-container{background:#000;font-family:Helvetica,Arial,serif;position:relative;text-align:left;text-indent:0;vertical-align:top}.mejs-container,.mejs-container *{box-sizing:border-box}.mejs-container video::-webkit-media-controls,.mejs-container video::-webkit-media-controls-panel,.mejs-container video::-webkit-media-controls-panel-container,.mejs-container video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;display:none!important}.mejs-fill-container,.mejs-fill-container .mejs-container{height:100%;width:100%}.mejs-fill-container{background:transparent;margin:0 auto;overflow:hidden;position:relative}.mejs-container:focus{outline:none}.mejs-iframe-overlay{height:100%;position:absolute;width:100%}.mejs-embed,.mejs-embed body{background:#000;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.mejs-fullscreen{overflow:hidden!important}.mejs-container-fullscreen{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.mejs-container-fullscreen .mejs-mediaelement,.mejs-container-fullscreen video{height:100%!important;width:100%!important}.mejs-background,.mejs-mediaelement{left:0;position:absolute;top:0}.mejs-mediaelement{height:100%;width:100%;z-index:0}.mejs-poster{background-position:50% 50%;background-repeat:no-repeat;background-size:cover;left:0;position:absolute;top:0;z-index:1}:root .mejs-poster-img{display:none}.mejs-poster-img{border:0;padding:0}.mejs-overlay{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;left:0;position:absolute;top:0}.mejs-layer{z-index:1}.mejs-overlay-play{cursor:pointer}.mejs-overlay-button{background:url(mejs-controls.svg) no-repeat;background-position:0 -39px;height:80px;width:80px}.mejs-overlay:hover>.mejs-overlay-button{background-position:-80px -39px}.mejs-overlay-loading{height:80px;width:80px}.mejs-overlay-loading-bg-img{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent url(mejs-controls.svg) -160px -40px no-repeat;display:block;height:80px;width:80px;z-index:1}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.mejs-controls{bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:40px;left:0;list-style-type:none;margin:0;padding:0 10px;position:absolute;width:100%;z-index:3}.mejs-controls:not([style*="display: none"]){background:rgba(255,0,0,.7);background:-webkit-linear-gradient(transparent,rgba(0,0,0,.35));background:linear-gradient(transparent,rgba(0,0,0,.35))}.mejs-button,.mejs-time,.mejs-time-rail{font-size:10px;height:40px;line-height:10px;margin:0;width:32px}.mejs-button>button{background:transparent url(mejs-controls.svg);border:0;cursor:pointer;display:block;font-size:0;height:20px;line-height:0;margin:10px 6px;overflow:hidden;padding:0;position:absolute;text-decoration:none;width:20px}.mejs-button>button:focus{outline:1px dotted #999}.mejs-container-keyboard-inactive [role=slider],.mejs-container-keyboard-inactive [role=slider]:focus,.mejs-container-keyboard-inactive a,.mejs-container-keyboard-inactive a:focus,.mejs-container-keyboard-inactive button,.mejs-container-keyboard-inactive button:focus{outline:0}.mejs-time{box-sizing:content-box;color:#fff;font-size:11px;font-weight:700;height:24px;overflow:hidden;padding:16px 6px 0;text-align:center;width:auto}.mejs-play>button{background-position:0 0}.mejs-pause>button{background-position:-20px 0}.mejs-replay>button{background-position:-160px 0}.mejs-time-rail{direction:ltr;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:40px;margin:0 10px;padding-top:10px;position:relative}.mejs-time-buffering,.mejs-time-current,.mejs-time-float,.mejs-time-float-corner,.mejs-time-float-current,.mejs-time-hovered,.mejs-time-loaded,.mejs-time-marker,.mejs-time-total{border-radius:2px;cursor:pointer;display:block;height:10px;position:absolute}.mejs-time-total{background:hsla(0,0%,100%,.3);margin:5px 0 0;width:100%}.mejs-time-buffering{-webkit-animation:b 2s linear infinite;animation:b 2s linear infinite;background:-webkit-linear-gradient(135deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background:linear-gradient(-45deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background-size:15px 15px;width:100%}@-webkit-keyframes b{0%{background-position:0 0}to{background-position:30px 0}}@keyframes b{0%{background-position:0 0}to{background-position:30px 0}}.mejs-time-loaded{background:hsla(0,0%,100%,.3)}.mejs-time-current,.mejs-time-handle-content{background:hsla(0,0%,100%,.9)}.mejs-time-hovered{background:hsla(0,0%,100%,.5);z-index:10}.mejs-time-hovered.negative{background:rgba(0,0,0,.2)}.mejs-time-buffering,.mejs-time-current,.mejs-time-hovered,.mejs-time-loaded{left:0;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all .15s ease-in;transition:all .15s ease-in;width:100%}.mejs-time-buffering{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.mejs-time-hovered{-webkit-transition:height .1s cubic-bezier(.44,0,1,1);transition:height .1s cubic-bezier(.44,0,1,1)}.mejs-time-hovered.no-hover{-webkit-transform:scaleX(0)!important;-ms-transform:scaleX(0)!important;transform:scaleX(0)!important}.mejs-time-handle,.mejs-time-handle-content{border:4px solid transparent;cursor:pointer;left:0;position:absolute;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);z-index:11}.mejs-time-handle-content{border:4px solid hsla(0,0%,100%,.9);border-radius:50%;height:10px;left:-7px;top:-4px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);width:10px}.mejs-time-rail .mejs-time-handle-content:active,.mejs-time-rail .mejs-time-handle-content:focus,.mejs-time-rail:hover .mejs-time-handle-content{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.mejs-time-float{background:#eee;border:1px solid #333;bottom:100%;color:#111;display:none;height:17px;margin-bottom:9px;position:absolute;text-align:center;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:36px}.mejs-time-float-current{display:block;left:0;margin:2px;text-align:center;width:30px}.mejs-time-float-corner{border:5px solid #eee;border-color:#eee transparent transparent;border-radius:0;display:block;height:0;left:50%;line-height:0;position:absolute;top:100%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:0}.mejs-long-video .mejs-time-float{margin-left:-23px;width:64px}.mejs-long-video .mejs-time-float-current{width:60px}.mejs-broadcast{color:#fff;height:10px;position:absolute;top:15px;width:100%}.mejs-fullscreen-button>button{background-position:-80px 0}.mejs-unfullscreen>button{background-position:-100px 0}.mejs-mute>button{background-position:-60px 0}.mejs-unmute>button{background-position:-40px 0}.mejs-volume-button{position:relative}.mejs-volume-button>.mejs-volume-slider{-webkit-backface-visibility:hidden;background:rgba(50,50,50,.7);border-radius:0;bottom:100%;display:none;height:115px;left:50%;margin:0;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:25px;z-index:1}.mejs-volume-button:hover{border-radius:0 0 4px 4px}.mejs-volume-total{background:hsla(0,0%,100%,.5);height:100px;left:50%;margin:0;position:absolute;top:8px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:2px}.mejs-volume-current{left:0;margin:0;width:100%}.mejs-volume-current,.mejs-volume-handle{background:hsla(0,0%,100%,.9);position:absolute}.mejs-volume-handle{border-radius:1px;cursor:ns-resize;height:6px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:16px}.mejs-horizontal-volume-slider{display:block;height:36px;position:relative;vertical-align:middle;width:56px}.mejs-horizontal-volume-total{background:rgba(50,50,50,.8);height:8px;top:16px;width:50px}.mejs-horizontal-volume-current,.mejs-horizontal-volume-total{border-radius:2px;font-size:1px;left:0;margin:0;padding:0;position:absolute}.mejs-horizontal-volume-current{background:hsla(0,0%,100%,.8);height:100%;top:0;width:100%}.mejs-horizontal-volume-handle{display:none}.mejs-captions-button,.mejs-chapters-button{position:relative}.mejs-captions-button>button{background-position:-140px 0}.mejs-chapters-button>button{background-position:-180px 0}.mejs-captions-button>.mejs-captions-selector,.mejs-chapters-button>.mejs-chapters-selector{background:rgba(50,50,50,.7);border:1px solid transparent;border-radius:0;bottom:100%;margin-right:-43px;overflow:hidden;padding:0;position:absolute;right:50%;visibility:visible;width:86px}.mejs-chapters-button>.mejs-chapters-selector{margin-right:-55px;width:110px}.mejs-captions-selector-list,.mejs-chapters-selector-list{list-style-type:none!important;margin:0;overflow:hidden;padding:0}.mejs-captions-selector-list-item,.mejs-chapters-selector-list-item{color:#fff;cursor:pointer;display:block;list-style-type:none!important;margin:0 0 6px;overflow:hidden;padding:0}.mejs-captions-selector-list-item:hover,.mejs-chapters-selector-list-item:hover{background-color:#c8c8c8!important;background-color:hsla(0,0%,100%,.4)!important}.mejs-captions-selector-input,.mejs-chapters-selector-input{clear:both;float:left;left:-1000px;margin:3px 3px 0 5px;position:absolute}.mejs-captions-selector-label,.mejs-chapters-selector-label{cursor:pointer;float:left;font-size:10px;line-height:15px;padding:4px 10px 0;width:100%}.mejs-captions-selected,.mejs-chapters-selected{color:#21f8f8}.mejs-captions-translations{font-size:10px;margin:0 0 5px}.mejs-captions-layer{bottom:0;color:#fff;font-size:16px;left:0;line-height:20px;position:absolute;text-align:center}.mejs-captions-layer a{color:#fff;text-decoration:underline}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:400}.mejs-captions-position{bottom:15px;left:0;position:absolute;width:100%}.mejs-captions-position-hover{bottom:35px}.mejs-captions-text,.mejs-captions-text *{background:hsla(0,0%,8%,.5);box-shadow:5px 0 0 hsla(0,0%,8%,.5),-5px 0 0 hsla(0,0%,8%,.5);padding:0;white-space:pre-wrap}.mejs-container.mejs-hide-cues video::-webkit-media-text-track-container{display:none}.mejs-overlay-error{position:relative}.mejs-overlay-error>img{left:0;position:absolute;top:0;z-index:-1}.mejs-cannotplay,.mejs-cannotplay a{color:#fff;font-size:.8em}.mejs-cannotplay{position:relative}.mejs-cannotplay a,.mejs-cannotplay p{display:inline-block;padding:0 15px;width:100%}
\ No newline at end of file
diff --git a/lib/mejs/mediaelementplayer.css b/lib/mejs/mediaelementplayer.css
index bcf41336..dfd427b5 100644
--- a/lib/mejs/mediaelementplayer.css
+++ b/lib/mejs/mediaelementplayer.css
@@ -517,6 +517,7 @@ Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-h
 }
 
 .mejs__volume-button > .mejs__volume-slider {
+    -webkit-backface-visibility: hidden;
     background: rgba(50, 50, 50, 0.7);
     border-radius: 0;
     bottom: 100%;
@@ -660,7 +661,7 @@ Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-h
     list-style-type: none !important;
     margin: 0 0 6px;
     overflow: hidden;
-    padding: 0 10px;
+    padding: 0;
 }
 
 .mejs__captions-selector-list-item:hover,
@@ -684,7 +685,8 @@ Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-h
     float: left;
     font-size: 10px;
     line-height: 15px;
-    padding: 4px 0 0;
+    padding: 4px 10px 0;
+    width: 100%;
 }
 
 .mejs__captions-selected,
diff --git a/lib/mejs/mediaelementplayer.min.css b/lib/mejs/mediaelementplayer.min.css
index 9a740e88..dab82b02 100644
--- a/lib/mejs/mediaelementplayer.min.css
+++ b/lib/mejs/mediaelementplayer.min.css
@@ -1 +1 @@
-.mejs__offscreen{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.mejs__container{background:#000;font-family:Helvetica,Arial,serif;position:relative;text-align:left;text-indent:0;vertical-align:top}.mejs__container,.mejs__container *{box-sizing:border-box}.mejs__container video::-webkit-media-controls,.mejs__container video::-webkit-media-controls-panel,.mejs__container video::-webkit-media-controls-panel-container,.mejs__container video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;display:none!important}.mejs__fill-container,.mejs__fill-container .mejs__container{height:100%;width:100%}.mejs__fill-container{background:transparent;margin:0 auto;overflow:hidden;position:relative}.mejs__container:focus{outline:none}.mejs__iframe-overlay{height:100%;position:absolute;width:100%}.mejs__embed,.mejs__embed body{background:#000;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.mejs__fullscreen{overflow:hidden!important}.mejs__container-fullscreen{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.mejs__container-fullscreen .mejs__mediaelement,.mejs__container-fullscreen video{height:100%!important;width:100%!important}.mejs__background,.mejs__mediaelement{left:0;position:absolute;top:0}.mejs__mediaelement{height:100%;width:100%;z-index:0}.mejs__poster{background-position:50% 50%;background-repeat:no-repeat;background-size:cover;left:0;position:absolute;top:0;z-index:1}:root .mejs__poster-img{display:none}.mejs__poster-img{border:0;padding:0}.mejs__overlay{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;left:0;position:absolute;top:0}.mejs__layer{z-index:1}.mejs__overlay-play{cursor:pointer}.mejs__overlay-button{background:url(mejs-controls.svg) no-repeat;background-position:0 -39px;height:80px;width:80px}.mejs__overlay:hover>.mejs__overlay-button{background-position:-80px -39px}.mejs__overlay-loading{height:80px;width:80px}.mejs__overlay-loading-bg-img{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent url(mejs-controls.svg) -160px -40px no-repeat;display:block;height:80px;width:80px;z-index:1}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.mejs__controls{bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:40px;left:0;list-style-type:none;margin:0;padding:0 10px;position:absolute;width:100%;z-index:3}.mejs__controls:not([style*="display: none"]){background:rgba(255,0,0,.7);background:-webkit-linear-gradient(transparent,rgba(0,0,0,.35));background:linear-gradient(transparent,rgba(0,0,0,.35))}.mejs__button,.mejs__time,.mejs__time-rail{font-size:10px;height:40px;line-height:10px;margin:0;width:32px}.mejs__button>button{background:transparent url(mejs-controls.svg);border:0;cursor:pointer;display:block;font-size:0;height:20px;line-height:0;margin:10px 6px;overflow:hidden;padding:0;position:absolute;text-decoration:none;width:20px}.mejs__button>button:focus{outline:1px dotted #999}.mejs__container-keyboard-inactive [role=slider],.mejs__container-keyboard-inactive [role=slider]:focus,.mejs__container-keyboard-inactive a,.mejs__container-keyboard-inactive a:focus,.mejs__container-keyboard-inactive button,.mejs__container-keyboard-inactive button:focus{outline:0}.mejs__time{box-sizing:content-box;color:#fff;font-size:11px;font-weight:700;height:24px;overflow:hidden;padding:16px 6px 0;text-align:center;width:auto}.mejs__play>button{background-position:0 0}.mejs__pause>button{background-position:-20px 0}.mejs__replay>button{background-position:-160px 0}.mejs__time-rail{direction:ltr;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:40px;margin:0 10px;padding-top:10px;position:relative}.mejs__time-buffering,.mejs__time-current,.mejs__time-float,.mejs__time-float-corner,.mejs__time-float-current,.mejs__time-hovered,.mejs__time-loaded,.mejs__time-marker,.mejs__time-total{border-radius:2px;cursor:pointer;display:block;height:10px;position:absolute}.mejs__time-total{background:hsla(0,0%,100%,.3);margin:5px 0 0;width:100%}.mejs__time-buffering{-webkit-animation:b 2s linear infinite;animation:b 2s linear infinite;background:-webkit-linear-gradient(135deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background:linear-gradient(-45deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background-size:15px 15px;width:100%}@-webkit-keyframes b{0%{background-position:0 0}to{background-position:30px 0}}@keyframes b{0%{background-position:0 0}to{background-position:30px 0}}.mejs__time-loaded{background:hsla(0,0%,100%,.3)}.mejs__time-current,.mejs__time-handle-content{background:hsla(0,0%,100%,.9)}.mejs__time-hovered{background:hsla(0,0%,100%,.5);z-index:10}.mejs__time-hovered.negative{background:rgba(0,0,0,.2)}.mejs__time-buffering,.mejs__time-current,.mejs__time-hovered,.mejs__time-loaded{left:0;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all .15s ease-in;transition:all .15s ease-in;width:100%}.mejs__time-buffering{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.mejs__time-hovered{-webkit-transition:height .1s cubic-bezier(.44,0,1,1);transition:height .1s cubic-bezier(.44,0,1,1)}.mejs__time-hovered.no-hover{-webkit-transform:scaleX(0)!important;-ms-transform:scaleX(0)!important;transform:scaleX(0)!important}.mejs__time-handle,.mejs__time-handle-content{border:4px solid transparent;cursor:pointer;left:0;position:absolute;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);z-index:11}.mejs__time-handle-content{border:4px solid hsla(0,0%,100%,.9);border-radius:50%;height:10px;left:-7px;top:-4px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);width:10px}.mejs__time-rail .mejs__time-handle-content:active,.mejs__time-rail .mejs__time-handle-content:focus,.mejs__time-rail:hover .mejs__time-handle-content{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.mejs__time-float{background:#eee;border:1px solid #333;bottom:100%;color:#111;display:none;height:17px;margin-bottom:9px;position:absolute;text-align:center;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:36px}.mejs__time-float-current{display:block;left:0;margin:2px;text-align:center;width:30px}.mejs__time-float-corner{border:5px solid #eee;border-color:#eee transparent transparent;border-radius:0;display:block;height:0;left:50%;line-height:0;position:absolute;top:100%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:0}.mejs__long-video .mejs__time-float{margin-left:-23px;width:64px}.mejs__long-video .mejs__time-float-current{width:60px}.mejs__broadcast{color:#fff;height:10px;position:absolute;top:15px;width:100%}.mejs__fullscreen-button>button{background-position:-80px 0}.mejs__unfullscreen>button{background-position:-100px 0}.mejs__mute>button{background-position:-60px 0}.mejs__unmute>button{background-position:-40px 0}.mejs__volume-button{position:relative}.mejs__volume-button>.mejs__volume-slider{background:rgba(50,50,50,.7);border-radius:0;bottom:100%;display:none;height:115px;left:50%;margin:0;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:25px;z-index:1}.mejs__volume-button:hover{border-radius:0 0 4px 4px}.mejs__volume-total{background:hsla(0,0%,100%,.5);height:100px;left:50%;margin:0;position:absolute;top:8px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:2px}.mejs__volume-current{left:0;margin:0;width:100%}.mejs__volume-current,.mejs__volume-handle{background:hsla(0,0%,100%,.9);position:absolute}.mejs__volume-handle{border-radius:1px;cursor:ns-resize;height:6px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:16px}.mejs__horizontal-volume-slider{display:block;height:36px;position:relative;vertical-align:middle;width:56px}.mejs__horizontal-volume-total{background:rgba(50,50,50,.8);height:8px;top:16px;width:50px}.mejs__horizontal-volume-current,.mejs__horizontal-volume-total{border-radius:2px;font-size:1px;left:0;margin:0;padding:0;position:absolute}.mejs__horizontal-volume-current{background:hsla(0,0%,100%,.8);height:100%;top:0;width:100%}.mejs__horizontal-volume-handle{display:none}.mejs__captions-button,.mejs__chapters-button{position:relative}.mejs__captions-button>button{background-position:-140px 0}.mejs__chapters-button>button{background-position:-180px 0}.mejs__captions-button>.mejs__captions-selector,.mejs__chapters-button>.mejs__chapters-selector{background:rgba(50,50,50,.7);border:1px solid transparent;border-radius:0;bottom:100%;margin-right:-43px;overflow:hidden;padding:0;position:absolute;right:50%;visibility:visible;width:86px}.mejs__chapters-button>.mejs__chapters-selector{margin-right:-55px;width:110px}.mejs__captions-selector-list,.mejs__chapters-selector-list{list-style-type:none!important;margin:0;overflow:hidden;padding:0}.mejs__captions-selector-list-item,.mejs__chapters-selector-list-item{color:#fff;cursor:pointer;display:block;list-style-type:none!important;margin:0 0 6px;overflow:hidden;padding:0 10px}.mejs__captions-selector-list-item:hover,.mejs__chapters-selector-list-item:hover{background-color:#c8c8c8!important;background-color:hsla(0,0%,100%,.4)!important}.mejs__captions-selector-input,.mejs__chapters-selector-input{clear:both;float:left;left:-1000px;margin:3px 3px 0 5px;position:absolute}.mejs__captions-selector-label,.mejs__chapters-selector-label{cursor:pointer;float:left;font-size:10px;line-height:15px;padding:4px 0 0}.mejs__captions-selected,.mejs__chapters-selected{color:#21f8f8}.mejs__captions-translations{font-size:10px;margin:0 0 5px}.mejs__captions-layer{bottom:0;color:#fff;font-size:16px;left:0;line-height:20px;position:absolute;text-align:center}.mejs__captions-layer a{color:#fff;text-decoration:underline}.mejs__captions-layer[lang=ar]{font-size:20px;font-weight:400}.mejs__captions-position{bottom:15px;left:0;position:absolute;width:100%}.mejs__captions-position-hover{bottom:35px}.mejs__captions-text,.mejs__captions-text *{background:hsla(0,0%,8%,.5);box-shadow:5px 0 0 hsla(0,0%,8%,.5),-5px 0 0 hsla(0,0%,8%,.5);padding:0;white-space:pre-wrap}.mejs__container.mejs__hide-cues video::-webkit-media-text-track-container{display:none}.mejs__overlay-error{position:relative}.mejs__overlay-error>img{left:0;position:absolute;top:0;z-index:-1}.mejs__cannotplay,.mejs__cannotplay a{color:#fff;font-size:.8em}.mejs__cannotplay{position:relative}.mejs__cannotplay a,.mejs__cannotplay p{display:inline-block;padding:0 15px;width:100%}
\ No newline at end of file
+.mejs__offscreen{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.mejs__container{background:#000;font-family:Helvetica,Arial,serif;position:relative;text-align:left;text-indent:0;vertical-align:top}.mejs__container,.mejs__container *{box-sizing:border-box}.mejs__container video::-webkit-media-controls,.mejs__container video::-webkit-media-controls-panel,.mejs__container video::-webkit-media-controls-panel-container,.mejs__container video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;display:none!important}.mejs__fill-container,.mejs__fill-container .mejs__container{height:100%;width:100%}.mejs__fill-container{background:transparent;margin:0 auto;overflow:hidden;position:relative}.mejs__container:focus{outline:none}.mejs__iframe-overlay{height:100%;position:absolute;width:100%}.mejs__embed,.mejs__embed body{background:#000;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.mejs__fullscreen{overflow:hidden!important}.mejs__container-fullscreen{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.mejs__container-fullscreen .mejs__mediaelement,.mejs__container-fullscreen video{height:100%!important;width:100%!important}.mejs__background,.mejs__mediaelement{left:0;position:absolute;top:0}.mejs__mediaelement{height:100%;width:100%;z-index:0}.mejs__poster{background-position:50% 50%;background-repeat:no-repeat;background-size:cover;left:0;position:absolute;top:0;z-index:1}:root .mejs__poster-img{display:none}.mejs__poster-img{border:0;padding:0}.mejs__overlay{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;left:0;position:absolute;top:0}.mejs__layer{z-index:1}.mejs__overlay-play{cursor:pointer}.mejs__overlay-button{background:url(mejs-controls.svg) no-repeat;background-position:0 -39px;height:80px;width:80px}.mejs__overlay:hover>.mejs__overlay-button{background-position:-80px -39px}.mejs__overlay-loading{height:80px;width:80px}.mejs__overlay-loading-bg-img{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent url(mejs-controls.svg) -160px -40px no-repeat;display:block;height:80px;width:80px;z-index:1}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.mejs__controls{bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:40px;left:0;list-style-type:none;margin:0;padding:0 10px;position:absolute;width:100%;z-index:3}.mejs__controls:not([style*="display: none"]){background:rgba(255,0,0,.7);background:-webkit-linear-gradient(transparent,rgba(0,0,0,.35));background:linear-gradient(transparent,rgba(0,0,0,.35))}.mejs__button,.mejs__time,.mejs__time-rail{font-size:10px;height:40px;line-height:10px;margin:0;width:32px}.mejs__button>button{background:transparent url(mejs-controls.svg);border:0;cursor:pointer;display:block;font-size:0;height:20px;line-height:0;margin:10px 6px;overflow:hidden;padding:0;position:absolute;text-decoration:none;width:20px}.mejs__button>button:focus{outline:1px dotted #999}.mejs__container-keyboard-inactive [role=slider],.mejs__container-keyboard-inactive [role=slider]:focus,.mejs__container-keyboard-inactive a,.mejs__container-keyboard-inactive a:focus,.mejs__container-keyboard-inactive button,.mejs__container-keyboard-inactive button:focus{outline:0}.mejs__time{box-sizing:content-box;color:#fff;font-size:11px;font-weight:700;height:24px;overflow:hidden;padding:16px 6px 0;text-align:center;width:auto}.mejs__play>button{background-position:0 0}.mejs__pause>button{background-position:-20px 0}.mejs__replay>button{background-position:-160px 0}.mejs__time-rail{direction:ltr;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:40px;margin:0 10px;padding-top:10px;position:relative}.mejs__time-buffering,.mejs__time-current,.mejs__time-float,.mejs__time-float-corner,.mejs__time-float-current,.mejs__time-hovered,.mejs__time-loaded,.mejs__time-marker,.mejs__time-total{border-radius:2px;cursor:pointer;display:block;height:10px;position:absolute}.mejs__time-total{background:hsla(0,0%,100%,.3);margin:5px 0 0;width:100%}.mejs__time-buffering{-webkit-animation:b 2s linear infinite;animation:b 2s linear infinite;background:-webkit-linear-gradient(135deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background:linear-gradient(-45deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background-size:15px 15px;width:100%}@-webkit-keyframes b{0%{background-position:0 0}to{background-position:30px 0}}@keyframes b{0%{background-position:0 0}to{background-position:30px 0}}.mejs__time-loaded{background:hsla(0,0%,100%,.3)}.mejs__time-current,.mejs__time-handle-content{background:hsla(0,0%,100%,.9)}.mejs__time-hovered{background:hsla(0,0%,100%,.5);z-index:10}.mejs__time-hovered.negative{background:rgba(0,0,0,.2)}.mejs__time-buffering,.mejs__time-current,.mejs__time-hovered,.mejs__time-loaded{left:0;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all .15s ease-in;transition:all .15s ease-in;width:100%}.mejs__time-buffering{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.mejs__time-hovered{-webkit-transition:height .1s cubic-bezier(.44,0,1,1);transition:height .1s cubic-bezier(.44,0,1,1)}.mejs__time-hovered.no-hover{-webkit-transform:scaleX(0)!important;-ms-transform:scaleX(0)!important;transform:scaleX(0)!important}.mejs__time-handle,.mejs__time-handle-content{border:4px solid transparent;cursor:pointer;left:0;position:absolute;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);z-index:11}.mejs__time-handle-content{border:4px solid hsla(0,0%,100%,.9);border-radius:50%;height:10px;left:-7px;top:-4px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);width:10px}.mejs__time-rail .mejs__time-handle-content:active,.mejs__time-rail .mejs__time-handle-content:focus,.mejs__time-rail:hover .mejs__time-handle-content{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.mejs__time-float{background:#eee;border:1px solid #333;bottom:100%;color:#111;display:none;height:17px;margin-bottom:9px;position:absolute;text-align:center;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:36px}.mejs__time-float-current{display:block;left:0;margin:2px;text-align:center;width:30px}.mejs__time-float-corner{border:5px solid #eee;border-color:#eee transparent transparent;border-radius:0;display:block;height:0;left:50%;line-height:0;position:absolute;top:100%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:0}.mejs__long-video .mejs__time-float{margin-left:-23px;width:64px}.mejs__long-video .mejs__time-float-current{width:60px}.mejs__broadcast{color:#fff;height:10px;position:absolute;top:15px;width:100%}.mejs__fullscreen-button>button{background-position:-80px 0}.mejs__unfullscreen>button{background-position:-100px 0}.mejs__mute>button{background-position:-60px 0}.mejs__unmute>button{background-position:-40px 0}.mejs__volume-button{position:relative}.mejs__volume-button>.mejs__volume-slider{-webkit-backface-visibility:hidden;background:rgba(50,50,50,.7);border-radius:0;bottom:100%;display:none;height:115px;left:50%;margin:0;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:25px;z-index:1}.mejs__volume-button:hover{border-radius:0 0 4px 4px}.mejs__volume-total{background:hsla(0,0%,100%,.5);height:100px;left:50%;margin:0;position:absolute;top:8px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:2px}.mejs__volume-current{left:0;margin:0;width:100%}.mejs__volume-current,.mejs__volume-handle{background:hsla(0,0%,100%,.9);position:absolute}.mejs__volume-handle{border-radius:1px;cursor:ns-resize;height:6px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:16px}.mejs__horizontal-volume-slider{display:block;height:36px;position:relative;vertical-align:middle;width:56px}.mejs__horizontal-volume-total{background:rgba(50,50,50,.8);height:8px;top:16px;width:50px}.mejs__horizontal-volume-current,.mejs__horizontal-volume-total{border-radius:2px;font-size:1px;left:0;margin:0;padding:0;position:absolute}.mejs__horizontal-volume-current{background:hsla(0,0%,100%,.8);height:100%;top:0;width:100%}.mejs__horizontal-volume-handle{display:none}.mejs__captions-button,.mejs__chapters-button{position:relative}.mejs__captions-button>button{background-position:-140px 0}.mejs__chapters-button>button{background-position:-180px 0}.mejs__captions-button>.mejs__captions-selector,.mejs__chapters-button>.mejs__chapters-selector{background:rgba(50,50,50,.7);border:1px solid transparent;border-radius:0;bottom:100%;margin-right:-43px;overflow:hidden;padding:0;position:absolute;right:50%;visibility:visible;width:86px}.mejs__chapters-button>.mejs__chapters-selector{margin-right:-55px;width:110px}.mejs__captions-selector-list,.mejs__chapters-selector-list{list-style-type:none!important;margin:0;overflow:hidden;padding:0}.mejs__captions-selector-list-item,.mejs__chapters-selector-list-item{color:#fff;cursor:pointer;display:block;list-style-type:none!important;margin:0 0 6px;overflow:hidden;padding:0}.mejs__captions-selector-list-item:hover,.mejs__chapters-selector-list-item:hover{background-color:#c8c8c8!important;background-color:hsla(0,0%,100%,.4)!important}.mejs__captions-selector-input,.mejs__chapters-selector-input{clear:both;float:left;left:-1000px;margin:3px 3px 0 5px;position:absolute}.mejs__captions-selector-label,.mejs__chapters-selector-label{cursor:pointer;float:left;font-size:10px;line-height:15px;padding:4px 10px 0;width:100%}.mejs__captions-selected,.mejs__chapters-selected{color:#21f8f8}.mejs__captions-translations{font-size:10px;margin:0 0 5px}.mejs__captions-layer{bottom:0;color:#fff;font-size:16px;left:0;line-height:20px;position:absolute;text-align:center}.mejs__captions-layer a{color:#fff;text-decoration:underline}.mejs__captions-layer[lang=ar]{font-size:20px;font-weight:400}.mejs__captions-position{bottom:15px;left:0;position:absolute;width:100%}.mejs__captions-position-hover{bottom:35px}.mejs__captions-text,.mejs__captions-text *{background:hsla(0,0%,8%,.5);box-shadow:5px 0 0 hsla(0,0%,8%,.5),-5px 0 0 hsla(0,0%,8%,.5);padding:0;white-space:pre-wrap}.mejs__container.mejs__hide-cues video::-webkit-media-text-track-container{display:none}.mejs__overlay-error{position:relative}.mejs__overlay-error>img{left:0;position:absolute;top:0;z-index:-1}.mejs__cannotplay,.mejs__cannotplay a{color:#fff;font-size:.8em}.mejs__cannotplay{position:relative}.mejs__cannotplay a,.mejs__cannotplay p{display:inline-block;padding:0 15px;width:100%}
\ No newline at end of file
diff --git a/lib/mejs/renderers/facebook.js b/lib/mejs/renderers/facebook.js
index c3901f82..4b659bcd 100644
--- a/lib/mejs/renderers/facebook.js
+++ b/lib/mejs/renderers/facebook.js
@@ -11,6 +11,30 @@
  */(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
 'use strict';
 
+var FacebookApi = {
+
+	promise: null,
+
+	load: function load(settings) {
+
+		if (typeof FB !== 'undefined') {
+			FacebookApi._createPlayer(settings);
+		} else {
+			FacebookApi.promise = FacebookApi.promise || mejs.Utils.loadScript('https://connect.facebook.net/' + settings.options.lang + '/sdk.js');
+			FacebookApi.promise.then(function () {
+				FB.init(settings.options);
+
+				setTimeout(function () {
+					FacebookApi._createPlayer(settings);
+				}, 50);
+			});
+		}
+	},
+
+	_createPlayer: function _createPlayer(settings) {
+		window['__ready__' + settings.id]();
+	}
+};
 var FacebookRenderer = {
 	name: 'facebook',
 	options: {
@@ -18,7 +42,8 @@ var FacebookRenderer = {
 		facebook: {
 			appId: '',
 			xfbml: true,
-			version: 'v2.10'
+			version: 'v2.10',
+			lang: 'en_US'
 		}
 	},
 
@@ -27,54 +52,50 @@ var FacebookRenderer = {
 	},
 
 	create: function create(mediaElement, options, mediaFiles) {
+		var apiStack = [],
+		    fb = {},
+		    readyState = 4;
 
-		var fbWrapper = {},
-		    apiStack = [],
-		    eventHandler = {},
-		    readyState = 4,
-		    autoplay = mediaElement.originalNode.autoplay;
-
-		var poster = '',
-		    src = '',
+		var hasStartedPlaying = false,
 		    paused = true,
 		    ended = false,
-		    hasStartedPlaying = false,
-		    fbApi = null,
-		    fbDiv = null;
+		    fbPlayer = null,
+		    src = '',
+		    poster = '',
+		    autoplay = mediaElement.originalNode.autoplay;
+
+		fb.options = options;
+		fb.id = mediaElement.id + '_' + options.prefix;
+		fb.mediaElement = mediaElement;
 
 		if (mejs.Features.isiPhone && mediaElement.originalNode.getAttribute('poster')) {
 			poster = mediaElement.originalNode.getAttribute('poster');
 			mediaElement.originalNode.removeAttribute('poster');
 		}
 
-		options = Object.assign(options, mediaElement.options);
-		fbWrapper.options = options;
-		fbWrapper.id = mediaElement.id + '_' + options.prefix;
-		fbWrapper.mediaElement = mediaElement;
-
 		var props = mejs.html5media.properties,
 		    assignGettersSetters = function assignGettersSetters(propName) {
 
 			var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
 
-			fbWrapper['get' + capName] = function () {
+			fb['get' + capName] = function () {
 
-				if (fbApi !== null) {
+				if (fbPlayer !== null) {
 					var value = null;
 
 					switch (propName) {
 						case 'currentTime':
-							return fbApi.getCurrentPosition();
+							return fbPlayer.getCurrentPosition();
 						case 'duration':
-							return fbApi.getDuration();
+							return fbPlayer.getDuration();
 						case 'volume':
-							return fbApi.getVolume();
+							return fbPlayer.getVolume();
 						case 'paused':
 							return paused;
 						case 'ended':
 							return ended;
 						case 'muted':
-							return fbApi.isMuted();
+							return fbPlayer.isMuted();
 						case 'buffered':
 							return {
 								start: function start() {
@@ -97,47 +118,60 @@ var FacebookRenderer = {
 				}
 			};
 
-			fbWrapper['set' + capName] = function (value) {
+			fb['set' + capName] = function (value) {
 
-				if (fbApi !== null) {
+				if (fbPlayer !== null) {
 
 					switch (propName) {
 						case 'src':
 							var url = typeof value === 'string' ? value : value[0].src;
+							src = url;
+
+							fbContainer.remove();
+							fbContainer = document.createElement('div');
+							fbContainer.id = fb.id;
+							fbContainer.className = 'fb-video';
+							fbContainer.setAttribute('data-href', url);
+							fbContainer.setAttribute('data-allowfullscreen', 'true');
+							fbContainer.setAttribute('data-controls', 'false');
+
+							mediaElement.originalNode.parentNode.insertBefore(fbContainer, mediaElement.originalNode);
+							mediaElement.originalNode.style.display = 'none';
 
-							fbDiv.remove();
-							createFacebookEmbed(url, options.facebook);
+							FacebookApi.load({
+								lang: fb.options.lang,
+								id: fb.id
+							});
 
 							FB.XFBML.parse();
 
 							if (autoplay) {
-								fbApi.play();
+								fbPlayer.play();
 							}
-
 							break;
 						case 'currentTime':
-							fbApi.seek(value);
+							fbPlayer.seek(value);
 							break;
 						case 'muted':
 							if (value) {
-								fbApi.mute();
+								fbPlayer.mute();
 							} else {
-								fbApi.unmute();
+								fbPlayer.unmute();
 							}
 							setTimeout(function () {
-								var event = mejs.Utils.createEvent('volumechange', fbWrapper);
+								var event = mejs.Utils.createEvent('volumechange', fb);
 								mediaElement.dispatchEvent(event);
 							}, 50);
 							break;
 						case 'volume':
-							fbApi.setVolume(value);
+							fbPlayer.setVolume(value);
 							setTimeout(function () {
-								var event = mejs.Utils.createEvent('volumechange', fbWrapper);
+								var event = mejs.Utils.createEvent('volumechange', fb);
 								mediaElement.dispatchEvent(event);
 							}, 50);
 							break;
 						case 'readyState':
-							var event = mejs.Utils.createEvent('canplay', fbWrapper);
+							var event = mejs.Utils.createEvent('canplay', fb);
 							mediaElement.dispatchEvent(event);
 							break;
 						default:
@@ -156,13 +190,13 @@ var FacebookRenderer = {
 
 		var methods = mejs.html5media.methods,
 		    assignMethods = function assignMethods(methodName) {
-			fbWrapper[methodName] = function () {
-				if (fbApi !== null) {
+			fb[methodName] = function () {
+				if (fbPlayer !== null) {
 					switch (methodName) {
 						case 'play':
-							return fbApi.play();
+							return fbPlayer.play();
 						case 'pause':
-							return fbApi.pause();
+							return fbPlayer.pause();
 						case 'load':
 							return null;
 					}
@@ -176,165 +210,143 @@ var FacebookRenderer = {
 			assignMethods(methods[_i]);
 		}
 
-		function sendEvents(events) {
+		function assignEvents(events) {
 			for (var _i2 = 0, _total2 = events.length; _i2 < _total2; _i2++) {
-				var event = mejs.Utils.createEvent(events[_i2], fbWrapper);
+				var event = mejs.Utils.createEvent(events[_i2], fb);
 				mediaElement.dispatchEvent(event);
 			}
 		}
 
-		function createFacebookEmbed(url, config) {
-			src = url;
-
-			fbDiv = document.createElement('div');
-			fbDiv.id = fbWrapper.id;
-			fbDiv.className = "fb-video";
-			fbDiv.setAttribute("data-href", url);
-			fbDiv.setAttribute("data-allowfullscreen", "true");
-			fbDiv.setAttribute("data-controls", "false");
-
-			mediaElement.originalNode.parentNode.insertBefore(fbDiv, mediaElement.originalNode);
-			mediaElement.originalNode.style.display = 'none';
-
-			window.fbAsyncInit = function () {
-
-				FB.init(config);
-
-				FB.Event.subscribe('xfbml.ready', function (msg) {
-
-					if (msg.type === 'video') {
-
-						fbApi = msg.instance;
-
-						var fbIframe = fbDiv.getElementsByTagName('iframe')[0],
-						    width = fbIframe.offsetWidth,
-						    height = fbIframe.offsetHeight,
-						    events = ['mouseover', 'mouseout'],
-						    assignEvents = function assignEvents(e) {
-							var event = mejs.Utils.createEvent(e.type, fbWrapper);
-							mediaElement.dispatchEvent(event);
-						};
-
-						fbWrapper.setSize(width, height);
+		window['__ready__' + fb.id] = function () {
+			FB.Event.subscribe('xfbml.ready', function (msg) {
+				if (msg.type === 'video' && fb.id === msg.id) {
+					mediaElement.fbPlayer = fbPlayer = msg.instance;
+
+					var fbIframe = document.getElementById(fb.id),
+					    width = fbIframe.offsetWidth,
+					    height = fbIframe.offsetHeight,
+					    events = ['mouseover', 'mouseout'],
+					    assignIframeEvents = function assignIframeEvents(e) {
+						var event = mejs.Utils.createEvent(e.type, fb);
+						mediaElement.dispatchEvent(event);
+					};
+
+					fb.setSize(width, height);
+					fbPlayer.unmute();
+
+					if (autoplay) {
+						fbPlayer.play();
+					}
 
-						if (autoplay) {
-							fbApi.play();
-						}
+					for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
+						fbIframe.addEventListener(events[_i3], assignIframeEvents);
+					}
 
-						for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
-							fbIframe.addEventListener(events[_i3], assignEvents, false);
-						}
+					fb.eventHandler = {};
 
-						var fbEvents = ['startedPlaying', 'paused', 'finishedPlaying', 'startedBuffering', 'finishedBuffering'];
-						for (var _i4 = 0, _total4 = fbEvents.length; _i4 < _total4; _i4++) {
-							var event = fbEvents[_i4],
-							    handler = eventHandler[event];
-							if (handler !== undefined && handler !== null && !mejs.Utils.isObjectEmpty(handler) && typeof handler.removeListener === 'function') {
-								handler.removeListener(event);
-							}
+					var fbEvents = ['startedPlaying', 'paused', 'finishedPlaying', 'startedBuffering', 'finishedBuffering'];
+					for (var _i4 = 0, _total4 = fbEvents.length; _i4 < _total4; _i4++) {
+						var event = fbEvents[_i4],
+						    handler = fb.eventHandler[event];
+						if (handler !== undefined && handler !== null && !mejs.Utils.isObjectEmpty(handler) && typeof handler.removeListener === 'function') {
+							handler.removeListener(event);
 						}
+					}
 
-						if (apiStack.length) {
-							for (var _i5 = 0, _total5 = apiStack.length; _i5 < _total5; _i5++) {
-
-								var stackItem = apiStack[_i5];
+					if (apiStack.length) {
+						for (var _i5 = 0, _total5 = apiStack.length; _i5 < _total5; _i5++) {
+							var stackItem = apiStack[_i5];
 
-								if (stackItem.type === 'set') {
-									var propName = stackItem.propName,
-									    capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
+							if (stackItem.type === 'set') {
+								var propName = stackItem.propName,
+								    capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
 
-									fbWrapper['set' + capName](stackItem.value);
-								} else if (stackItem.type === 'call') {
-									fbWrapper[stackItem.methodName]();
-								}
+								fb['set' + capName](stackItem.value);
+							} else if (stackItem.type === 'call') {
+								fb[stackItem.methodName]();
 							}
 						}
-
-						sendEvents(['rendererready', 'loadeddata', 'canplay', 'progress', 'loadedmetadata', 'timeupdate']);
-
-						var timer = void 0;
-
-						eventHandler.startedPlaying = fbApi.subscribe('startedPlaying', function () {
-							if (!hasStartedPlaying) {
-								hasStartedPlaying = true;
-							}
-							paused = false;
-							ended = false;
-							sendEvents(['play', 'playing', 'timeupdate']);
-
-							timer = setInterval(function () {
-								fbApi.getCurrentPosition();
-								sendEvents(['timeupdate']);
-							}, 250);
-						});
-						eventHandler.paused = fbApi.subscribe('paused', function () {
-							paused = true;
-							ended = false;
-							sendEvents(['pause']);
-						});
-						eventHandler.finishedPlaying = fbApi.subscribe('finishedPlaying', function () {
-							paused = true;
-							ended = true;
-
-							sendEvents(['ended']);
-							clearInterval(timer);
-							timer = null;
-						});
-						eventHandler.startedBuffering = fbApi.subscribe('startedBuffering', function () {
-							sendEvents(['progress', 'timeupdate']);
-						});
-						eventHandler.finishedBuffering = fbApi.subscribe('finishedBuffering', function () {
-							sendEvents(['progress', 'timeupdate']);
-						});
 					}
-				});
-			};
 
-			mejs.Utils.loadScript('https://connect.facebook.net/en_US/sdk.js');
-		}
+					assignEvents(['rendererready', 'loadeddata', 'canplay', 'progress', 'loadedmetadata', 'timeupdate']);
 
-		if (mediaFiles.length > 0) {
-			createFacebookEmbed(mediaFiles[0].src, fbWrapper.options.facebook);
-		}
+					var timer = void 0;
 
-		fbWrapper.hide = function () {
-			fbWrapper.stopInterval();
-			fbWrapper.pause();
-			if (fbDiv) {
-				fbDiv.style.display = 'none';
-			}
+					fb.eventHandler.startedPlaying = fbPlayer.subscribe('startedPlaying', function () {
+						if (!hasStartedPlaying) {
+							hasStartedPlaying = true;
+						}
+						paused = false;
+						ended = false;
+						assignEvents(['play', 'playing', 'timeupdate']);
+
+						timer = setInterval(function () {
+							fbPlayer.getCurrentPosition();
+							assignEvents(['timeupdate']);
+						}, 250);
+					});
+					fb.eventHandler.paused = fbPlayer.subscribe('paused', function () {
+						paused = true;
+						ended = false;
+						assignEvents(['pause']);
+					});
+					fb.eventHandler.finishedPlaying = fbPlayer.subscribe('finishedPlaying', function () {
+						paused = true;
+						ended = true;
+
+						assignEvents(['ended']);
+						clearInterval(timer);
+						timer = null;
+					});
+					fb.eventHandler.startedBuffering = fbPlayer.subscribe('startedBuffering', function () {
+						assignEvents(['progress', 'timeupdate']);
+					});
+					fb.eventHandler.finishedBuffering = fbPlayer.subscribe('finishedBuffering', function () {
+						assignEvents(['progress', 'timeupdate']);
+					});
+				}
+			});
 		};
-		fbWrapper.show = function () {
-			if (fbDiv) {
-				fbDiv.style.display = '';
+
+		src = mediaFiles[0].src;
+		var fbContainer = document.createElement('div');
+		fbContainer.id = fb.id;
+		fbContainer.className = 'fb-video';
+		fbContainer.setAttribute('data-href', src);
+		fbContainer.setAttribute('data-allowfullscreen', 'true');
+		fbContainer.setAttribute('data-controls', 'false');
+		mediaElement.originalNode.parentNode.insertBefore(fbContainer, mediaElement.originalNode);
+		mediaElement.originalNode.style.display = 'none';
+
+		FacebookApi.load({
+			options: fb.options.facebook,
+			id: fb.id
+		});
+
+		fb.hide = function () {
+			fb.pause();
+			if (fbPlayer) {
+				fbContainer.style.display = 'none';
 			}
 		};
-		fbWrapper.setSize = function (width) {
-			if (fbApi !== null && !isNaN(width)) {
-				fbDiv.style.width = width;
+		fb.setSize = function (width) {
+			if (fbPlayer !== null && !isNaN(width)) {
+				fbContainer.style.width = width;
 			}
 		};
-		fbWrapper.destroy = function () {
-			if (poster) {
-				mediaElement.originalNode.setAttribute('poster', poster);
+		fb.show = function () {
+			if (fbPlayer) {
+				fbContainer.style.display = '';
 			}
 		};
 
-		fbWrapper.interval = null;
-
-		fbWrapper.startInterval = function () {
-			fbWrapper.interval = setInterval(function () {
-				var event = mejs.Utils.createEvent('timeupdate', fbWrapper);
-				mediaElement.dispatchEvent(event);
-			}, 250);
-		};
-		fbWrapper.stopInterval = function () {
-			if (fbWrapper.interval) {
-				clearInterval(fbWrapper.interval);
+		fb.destroy = function () {
+			if (poster) {
+				mediaElement.originalNode.setAttribute('poster', poster);
 			}
 		};
 
-		return fbWrapper;
+		return fb;
 	}
 };
 
diff --git a/lib/mejs/renderers/facebook.min.js b/lib/mejs/renderers/facebook.min.js
index 7f8bd6fe..01d279e7 100644
--- a/lib/mejs/renderers/facebook.min.js
+++ b/lib/mejs/renderers/facebook.min.js
@@ -9,4 +9,4 @@
  * License: MIT
  *
  */
-!function e(t,n,r){function i(s,o){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[s]={exports:{}};t[s][0].call(c.exports,function(e){var n=t[s][1][e];return i(n||e)},c,c.exports,e,t,n,r)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s<r.length;s++)i(r[s]);return i}({1:[function(e,t,n){"use strict";var r={name:"facebook",options:{prefix:"facebook",facebook:{appId:"",xfbml:!0,version:"v2.10"}},canPlayType:function(e){return~["video/facebook","video/x-facebook"].indexOf(e.toLowerCase())},create:function(e,t,n){function r(t){for(var n=0,r=t.length;n<r;n++){var i=mejs.Utils.createEvent(t[n],a);e.dispatchEvent(i)}}function i(t,n){c=t,(m=document.createElement("div")).id=a.id,m.className="fb-video",m.setAttribute("data-href",t),m.setAttribute("data-allowfullscreen","true"),m.setAttribute("data-controls","false"),e.originalNode.parentNode.insertBefore(m,e.originalNode),e.originalNode.style.display="none",window.fbAsyncInit=function(){FB.init(n),FB.Event.subscribe("xfbml.ready",function(t){if("video"===t.type){v=t.instance;var n=m.getElementsByTagName("iframe")[0],i=n.offsetWidth,l=n.offsetHeight,c=["mouseover","mouseout"];a.setSize(i,l),u&&v.play();for(var g=0,h=c.length;g<h;g++)n.addEventListener(c[g],function(t){var n=mejs.Utils.createEvent(t.type,a);e.dispatchEvent(n)},!1);for(var b=["startedPlaying","paused","finishedPlaying","startedBuffering","finishedBuffering"],y=0,E=b.length;y<E;y++){var N=b[y],k=o[N];void 0===k||null===k||mejs.Utils.isObjectEmpty(k)||"function"!=typeof k.removeListener||k.removeListener(N)}if(s.length)for(var j=0,w=s.length;j<w;j++){var U=s[j];if("set"===U.type){var x=U.propName,B=""+x.substring(0,1).toUpperCase()+x.substring(1);a["set"+B](U.value)}else"call"===U.type&&a[U.methodName]()}r(["rendererready","loadeddata","canplay","progress","loadedmetadata","timeupdate"]);var P=void 0;o.startedPlaying=v.subscribe("startedPlaying",function(){p||(p=!0),f=!1,d=!1,r(["play","playing","timeupdate"]),P=setInterval(function(){v.getCurrentPosition(),r(["timeupdate"])},250)}),o.paused=v.subscribe("paused",function(){f=!0,d=!1,r(["pause"])}),o.finishedPlaying=v.subscribe("finishedPlaying",function(){f=!0,d=!0,r(["ended"]),clearInterval(P),P=null}),o.startedBuffering=v.subscribe("startedBuffering",function(){r(["progress","timeupdate"])}),o.finishedBuffering=v.subscribe("finishedBuffering",function(){r(["progress","timeupdate"])})}})},mejs.Utils.loadScript("https://connect.facebook.net/en_US/sdk.js")}var a={},s=[],o={},u=e.originalNode.autoplay,l="",c="",f=!0,d=!1,p=!1,v=null,m=null;mejs.Features.isiPhone&&e.originalNode.getAttribute("poster")&&(l=e.originalNode.getAttribute("poster"),e.originalNode.removeAttribute("poster")),t=Object.assign(t,e.options),a.options=t,a.id=e.id+"_"+t.prefix,a.mediaElement=e;for(var g=mejs.html5media.properties,h=0,b=g.length;h<b;h++)!function(n){var r=""+n.substring(0,1).toUpperCase()+n.substring(1);a["get"+r]=function(){if(null!==v){switch(n){case"currentTime":return v.getCurrentPosition();case"duration":return v.getDuration();case"volume":return v.getVolume();case"paused":return f;case"ended":return d;case"muted":return v.isMuted();case"buffered":return{start:function(){return 0},end:function(){return 0},length:1};case"src":return c;case"readyState":return 4}return null}return null},a["set"+r]=function(r){if(null!==v)switch(n){case"src":var o="string"==typeof r?r:r[0].src;m.remove(),i(o,t.facebook),FB.XFBML.parse(),u&&v.play();break;case"currentTime":v.seek(r);break;case"muted":r?v.mute():v.unmute(),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50);break;case"volume":v.setVolume(r),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50);break;case"readyState":var l=mejs.Utils.createEvent("canplay",a);e.dispatchEvent(l)}else s.push({type:"set",propName:n,value:r})}}(g[h]);for(var y=mejs.html5media.methods,E=0,N=y.length;E<N;E++)!function(e){a[e]=function(){if(null!==v)switch(e){case"play":return v.play();case"pause":return v.pause();case"load":return null}else s.push({type:"call",methodName:e})}}(y[E]);return n.length>0&&i(n[0].src,a.options.facebook),a.hide=function(){a.stopInterval(),a.pause(),m&&(m.style.display="none")},a.show=function(){m&&(m.style.display="")},a.setSize=function(e){null===v||isNaN(e)||(m.style.width=e)},a.destroy=function(){l&&e.originalNode.setAttribute("poster",l)},a.interval=null,a.startInterval=function(){a.interval=setInterval(function(){var t=mejs.Utils.createEvent("timeupdate",a);e.dispatchEvent(t)},250)},a.stopInterval=function(){a.interval&&clearInterval(a.interval)},a}};mejs.Utils.typeChecks.push(function(e){return~e.toLowerCase().indexOf("//www.facebook")?"video/x-facebook":null}),mejs.Renderers.add(r)},{}]},{},[1]);
\ No newline at end of file
+!function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var d=n[o]={exports:{}};t[o][0].call(d.exports,function(e){var n=t[o][1][e];return i(n||e)},d,d.exports,e,t,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<r.length;o++)i(r[o]);return i}({1:[function(e,t,n){"use strict";var r={promise:null,load:function(e){"undefined"!=typeof FB?r._createPlayer(e):(r.promise=r.promise||mejs.Utils.loadScript("https://connect.facebook.net/"+e.options.lang+"/sdk.js"),r.promise.then(function(){FB.init(e.options),setTimeout(function(){r._createPlayer(e)},50)}))},_createPlayer:function(e){window["__ready__"+e.id]()}},i={name:"facebook",options:{prefix:"facebook",facebook:{appId:"",xfbml:!0,version:"v2.10",lang:"en_US"}},canPlayType:function(e){return~["video/facebook","video/x-facebook"].indexOf(e.toLowerCase())},create:function(e,t,n){function i(t){for(var n=0,r=t.length;n<r;n++){var i=mejs.Utils.createEvent(t[n],o);e.dispatchEvent(i)}}var a=[],o={},s=!1,u=!0,l=!1,d=null,c="",f="",p=e.originalNode.autoplay;o.options=t,o.id=e.id+"_"+t.prefix,o.mediaElement=e,mejs.Features.isiPhone&&e.originalNode.getAttribute("poster")&&(f=e.originalNode.getAttribute("poster"),e.originalNode.removeAttribute("poster"));for(var m=mejs.html5media.properties,v=0,g=m.length;v<g;v++)!function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);o["get"+n]=function(){if(null!==d){switch(t){case"currentTime":return d.getCurrentPosition();case"duration":return d.getDuration();case"volume":return d.getVolume();case"paused":return u;case"ended":return l;case"muted":return d.isMuted();case"buffered":return{start:function(){return 0},end:function(){return 0},length:1};case"src":return c;case"readyState":return 4}return null}return null},o["set"+n]=function(n){if(null!==d)switch(t){case"src":var i="string"==typeof n?n:n[0].src;c=i,N.remove(),(N=document.createElement("div")).id=o.id,N.className="fb-video",N.setAttribute("data-href",i),N.setAttribute("data-allowfullscreen","true"),N.setAttribute("data-controls","false"),e.originalNode.parentNode.insertBefore(N,e.originalNode),e.originalNode.style.display="none",r.load({lang:o.options.lang,id:o.id}),FB.XFBML.parse(),p&&d.play();break;case"currentTime":d.seek(n);break;case"muted":n?d.mute():d.unmute(),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",o);e.dispatchEvent(t)},50);break;case"volume":d.setVolume(n),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",o);e.dispatchEvent(t)},50);break;case"readyState":var s=mejs.Utils.createEvent("canplay",o);e.dispatchEvent(s)}else a.push({type:"set",propName:t,value:n})}}(m[v]);for(var y=mejs.html5media.methods,b=0,h=y.length;b<h;b++)!function(e){o[e]=function(){if(null!==d)switch(e){case"play":return d.play();case"pause":return d.pause();case"load":return null}else a.push({type:"call",methodName:e})}}(y[b]);window["__ready__"+o.id]=function(){FB.Event.subscribe("xfbml.ready",function(t){if("video"===t.type&&o.id===t.id){e.fbPlayer=d=t.instance;var n=document.getElementById(o.id),r=n.offsetWidth,c=n.offsetHeight,f=["mouseover","mouseout"];o.setSize(r,c),d.unmute(),p&&d.play();for(var m=0,v=f.length;m<v;m++)n.addEventListener(f[m],function(t){var n=mejs.Utils.createEvent(t.type,o);e.dispatchEvent(n)});o.eventHandler={};for(var g=["startedPlaying","paused","finishedPlaying","startedBuffering","finishedBuffering"],y=0,b=g.length;y<b;y++){var h=g[y],N=o.eventHandler[h];void 0===N||null===N||mejs.Utils.isObjectEmpty(N)||"function"!=typeof N.removeListener||N.removeListener(h)}if(a.length)for(var E=0,w=a.length;E<w;E++){var k=a[E];if("set"===k.type){var _=k.propName,j=""+_.substring(0,1).toUpperCase()+_.substring(1);o["set"+j](k.value)}else"call"===k.type&&o[k.methodName]()}i(["rendererready","loadeddata","canplay","progress","loadedmetadata","timeupdate"]);var B=void 0;o.eventHandler.startedPlaying=d.subscribe("startedPlaying",function(){s||(s=!0),u=!1,l=!1,i(["play","playing","timeupdate"]),B=setInterval(function(){d.getCurrentPosition(),i(["timeupdate"])},250)}),o.eventHandler.paused=d.subscribe("paused",function(){u=!0,l=!1,i(["pause"])}),o.eventHandler.finishedPlaying=d.subscribe("finishedPlaying",function(){u=!0,l=!0,i(["ended"]),clearInterval(B),B=null}),o.eventHandler.startedBuffering=d.subscribe("startedBuffering",function(){i(["progress","timeupdate"])}),o.eventHandler.finishedBuffering=d.subscribe("finishedBuffering",function(){i(["progress","timeupdate"])})}})},c=n[0].src;var N=document.createElement("div");return N.id=o.id,N.className="fb-video",N.setAttribute("data-href",c),N.setAttribute("data-allowfullscreen","true"),N.setAttribute("data-controls","false"),e.originalNode.parentNode.insertBefore(N,e.originalNode),e.originalNode.style.display="none",r.load({options:o.options.facebook,id:o.id}),o.hide=function(){o.pause(),d&&(N.style.display="none")},o.setSize=function(e){null===d||isNaN(e)||(N.style.width=e)},o.show=function(){d&&(N.style.display="")},o.destroy=function(){f&&e.originalNode.setAttribute("poster",f)},o}};mejs.Utils.typeChecks.push(function(e){return~e.toLowerCase().indexOf("//www.facebook")?"video/x-facebook":null}),mejs.Renderers.add(i)},{}]},{},[1]);
\ No newline at end of file
diff --git a/lib/mejs/renderers/twitch.js b/lib/mejs/renderers/twitch.js
index c84eed10..b0381a9e 100644
--- a/lib/mejs/renderers/twitch.js
+++ b/lib/mejs/renderers/twitch.js
@@ -62,10 +62,10 @@ var TwitchApi = {
 
 		for (var i = 0, total = parameters.length; i < total; i++) {
 			var paramParts = parameters[i].split('=');
-			if (~paramParts[0].indexOf('channel=')) {
+			if (~paramParts[0].indexOf('channel')) {
 				twitchId = paramParts[1];
 				break;
-			} else if (~paramParts[0].indexOf('video=')) {
+			} else if (~paramParts[0].indexOf('video')) {
 				twitchId = 'v' + paramParts[1];
 				break;
 			}
@@ -82,12 +82,12 @@ var TwitchApi = {
 		var parts = url.split('?');
 		url = parts[0];
 		var id = url.substring(url.lastIndexOf('/') + 1);
-		return (/^\d+$/i.test(id) !== null ? 'v' + id : id
+		return (/^\d+$/i.test(id) ? 'v' + id : id
 		);
 	},
 
 	getTwitchType: function getTwitchType(id) {
-		return (/^v\d+/i.test(id) !== null ? 'video' : 'channel'
+		return (/^v\d+/i.test(id) ? 'video' : 'channel'
 		);
 	}
 };
@@ -286,12 +286,12 @@ var TwitchIframeRenderer = {
 
 			var timer = void 0;
 
-			twitchPlayer.addEventListener('ready', function () {
+			twitchPlayer.addEventListener(Twitch.Player.READY, function () {
 				paused = false;
 				ended = false;
 				sendEvents(['rendererready', 'loadedmetadata', 'loadeddata', 'canplay']);
 			});
-			twitchPlayer.addEventListener('play', function () {
+			twitchPlayer.addEventListener(Twitch.Player.PLAY, function () {
 				if (!hasStartedPlaying) {
 					hasStartedPlaying = true;
 				}
@@ -304,14 +304,14 @@ var TwitchIframeRenderer = {
 					sendEvents(['timeupdate']);
 				}, 250);
 			});
-			twitchPlayer.addEventListener('pause', function () {
+			twitchPlayer.addEventListener(Twitch.Player.PAUSE, function () {
 				paused = true;
 				ended = false;
 				if (!twitchPlayer.getEnded()) {
 					sendEvents(['pause']);
 				}
 			});
-			twitchPlayer.addEventListener('ended', function () {
+			twitchPlayer.addEventListener(Twitch.Player.ENDED, function () {
 				paused = true;
 				ended = true;
 				sendEvents(['ended']);
diff --git a/lib/mejs/renderers/twitch.min.js b/lib/mejs/renderers/twitch.min.js
index af42ca2a..f8e81835 100644
--- a/lib/mejs/renderers/twitch.min.js
+++ b/lib/mejs/renderers/twitch.min.js
@@ -9,4 +9,4 @@
  * License: MIT
  *
  */
-!function e(t,n,r){function i(s,o){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var d=n[s]={exports:{}};t[s][0].call(d.exports,function(e){var n=t[s][1][e];return i(n||e)},d,d.exports,e,t,n,r)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s<r.length;s++)i(r[s]);return i}({1:[function(e,t,n){"use strict";var r={promise:null,load:function(e){"undefined"!=typeof Twitch?r.promise=new Promise(function(e){e()}).then(function(){r._createPlayer(e)}):(r.promise=r.promise||mejs.Utils.loadScript("https://player.twitch.tv/js/embed/v1.js"),r.promise.then(function(){r._createPlayer(e)}))},_createPlayer:function(e){var t=new Twitch.Player(e.id,e);window["__ready__"+e.id](t)},getTwitchId:function(e){var t="";return e.indexOf("?")>0?""===(t=r.getTwitchIdFromParam(e))&&(t=r.getTwitchIdFromUrl(e)):t=r.getTwitchIdFromUrl(e),t},getTwitchIdFromParam:function(e){if(void 0===e||null===e||!e.trim().length)return null;for(var t=e.split("?")[1].split("&"),n="",r=0,i=t.length;r<i;r++){var a=t[r].split("=");if(~a[0].indexOf("channel=")){n=a[1];break}if(~a[0].indexOf("video=")){n="v"+a[1];break}}return n},getTwitchIdFromUrl:function(e){if(void 0===e||null===e||!e.trim().length)return null;var t=(e=e.split("?")[0]).substring(e.lastIndexOf("/")+1);return null!==/^\d+$/i.test(t)?"v"+t:t},getTwitchType:function(e){return null!==/^v\d+/i.test(e)?"video":"channel"}},i={name:"twitch_iframe",options:{prefix:"twitch_iframe"},canPlayType:function(e){return~["video/twitch","video/x-twitch"].indexOf(e.toLowerCase())},create:function(e,t,n){function i(t){for(var n=0,r=t.length;n<r;n++){var i=mejs.Utils.createEvent(t[n],a);e.dispatchEvent(i)}}var a={},s=[],o=r.getTwitchId(n[0].src),u=null,l=!0,d=!1,c=!1,h=1,f=1/0,p=0;a.options=t,a.id=e.id+"_"+t.prefix,a.mediaElement=e;for(var v=mejs.html5media.properties,m=0,g=v.length;m<g;m++)!function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);a["get"+n]=function(){if(null!==u){switch(t){case"currentTime":return p=u.getCurrentTime();case"duration":return f=u.getDuration();case"volume":return h=u.getVolume();case"paused":return l=u.isPaused();case"ended":return d=u.getEnded();case"muted":return u.getMuted();case"buffered":return{start:function(){return 0},end:function(){return 0},length:1};case"src":return"channel"===r.getTwitchType(o)?u.getChannel():u.getVideo();case"readyState":return 4}return null}return null},a["set"+n]=function(n){if(null!==u)switch(t){case"src":var i="string"==typeof n?n:n[0].src,l=r.getTwitchId(i);"channel"===r.getTwitchType(o)?u.setChannel(l):u.setVideo(l);break;case"currentTime":u.seek(n),setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",a);e.dispatchEvent(t)},50);break;case"muted":u.setMuted(n),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50);break;case"volume":h=n,u.setVolume(n),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50);break;case"readyState":var d=mejs.Utils.createEvent("canplay",a);e.dispatchEvent(d)}else s.push({type:"set",propName:t,value:n})}}(v[m]);for(var y=mejs.html5media.methods,w=0,T=y.length;w<T;w++)!function(e){a[e]=function(){if(null!==u)switch(e){case"play":return l=!1,u.play();case"pause":return l=!0,u.pause();case"load":return null}else s.push({type:"call",methodName:e})}}(y[w]);window["__ready__"+a.id]=function(t){if(e.twitchPlayer=u=t,s.length)for(var n=0,r=s.length;n<r;n++){var o=s[n];if("set"===o.type){var h=o.propName,f=""+h.substring(0,1).toUpperCase()+h.substring(1);a["set"+f](o.value)}else"call"===o.type&&a[o.methodName]()}var p=document.getElementById(a.id).firstChild;p.style.width="100%",p.style.height="100%";for(var v=["mouseover","mouseout"],m=0,g=v.length;m<g;m++)p.addEventListener(v[m],function(t){var n=createEvent(t.type,a);e.dispatchEvent(n)},!1);var y=void 0;u.addEventListener("ready",function(){l=!1,d=!1,i(["rendererready","loadedmetadata","loadeddata","canplay"])}),u.addEventListener("play",function(){c||(c=!0),l=!1,d=!1,i(["play","playing","progress"]),y=setInterval(function(){u.getCurrentTime(),i(["timeupdate"])},250)}),u.addEventListener("pause",function(){l=!0,d=!1,u.getEnded()||i(["pause"])}),u.addEventListener("ended",function(){l=!0,d=!0,i(["ended"]),clearInterval(y),c=!1,y=null})};var E=e.originalNode.height,N=e.originalNode.width,_=document.createElement("div"),b=r.getTwitchType(o),U={id:a.id,width:N,height:E,playsinline:!1,autoplay:e.originalNode.autoplay,muted:e.originalNode.muted};return U[b]=o,_.id=a.id,_.style.width="100%",_.style.height="100%",e.originalNode.parentNode.insertBefore(_,e.originalNode),e.originalNode.style.display="none",e.originalNode.autoplay=!1,a.setSize=function(e,t){null===r||isNaN(e)||isNaN(t)||(_.setAttribute("width",e),_.setAttribute("height",t))},a.hide=function(){a.pause(),_.style.display="none"},a.show=function(){_.style.display=""},a.destroy=function(){},r.load(U),a}};mejs.Utils.typeChecks.push(function(e){return/\/\/(www|player).twitch.tv/i.test(e)?"video/x-twitch":null}),mejs.Renderers.add(i)},{}]},{},[1]);
\ No newline at end of file
+!function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var d=n[o]={exports:{}};t[o][0].call(d.exports,function(e){var n=t[o][1][e];return i(n||e)},d,d.exports,e,t,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<r.length;o++)i(r[o]);return i}({1:[function(e,t,n){"use strict";var r={promise:null,load:function(e){"undefined"!=typeof Twitch?r.promise=new Promise(function(e){e()}).then(function(){r._createPlayer(e)}):(r.promise=r.promise||mejs.Utils.loadScript("https://player.twitch.tv/js/embed/v1.js"),r.promise.then(function(){r._createPlayer(e)}))},_createPlayer:function(e){var t=new Twitch.Player(e.id,e);window["__ready__"+e.id](t)},getTwitchId:function(e){var t="";return e.indexOf("?")>0?""===(t=r.getTwitchIdFromParam(e))&&(t=r.getTwitchIdFromUrl(e)):t=r.getTwitchIdFromUrl(e),t},getTwitchIdFromParam:function(e){if(void 0===e||null===e||!e.trim().length)return null;for(var t=e.split("?")[1].split("&"),n="",r=0,i=t.length;r<i;r++){var a=t[r].split("=");if(~a[0].indexOf("channel")){n=a[1];break}if(~a[0].indexOf("video")){n="v"+a[1];break}}return n},getTwitchIdFromUrl:function(e){if(void 0===e||null===e||!e.trim().length)return null;var t=(e=e.split("?")[0]).substring(e.lastIndexOf("/")+1);return/^\d+$/i.test(t)?"v"+t:t},getTwitchType:function(e){return/^v\d+/i.test(e)?"video":"channel"}},i={name:"twitch_iframe",options:{prefix:"twitch_iframe"},canPlayType:function(e){return~["video/twitch","video/x-twitch"].indexOf(e.toLowerCase())},create:function(e,t,n){function i(t){for(var n=0,r=t.length;n<r;n++){var i=mejs.Utils.createEvent(t[n],a);e.dispatchEvent(i)}}var a={},o=[],s=r.getTwitchId(n[0].src),u=null,l=!0,d=!1,c=!1,h=1,f=1/0,p=0;a.options=t,a.id=e.id+"_"+t.prefix,a.mediaElement=e;for(var v=mejs.html5media.properties,m=0,g=v.length;m<g;m++)!function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);a["get"+n]=function(){if(null!==u){switch(t){case"currentTime":return p=u.getCurrentTime();case"duration":return f=u.getDuration();case"volume":return h=u.getVolume();case"paused":return l=u.isPaused();case"ended":return d=u.getEnded();case"muted":return u.getMuted();case"buffered":return{start:function(){return 0},end:function(){return 0},length:1};case"src":return"channel"===r.getTwitchType(s)?u.getChannel():u.getVideo();case"readyState":return 4}return null}return null},a["set"+n]=function(n){if(null!==u)switch(t){case"src":var i="string"==typeof n?n:n[0].src,l=r.getTwitchId(i);"channel"===r.getTwitchType(s)?u.setChannel(l):u.setVideo(l);break;case"currentTime":u.seek(n),setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",a);e.dispatchEvent(t)},50);break;case"muted":u.setMuted(n),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50);break;case"volume":h=n,u.setVolume(n),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50);break;case"readyState":var d=mejs.Utils.createEvent("canplay",a);e.dispatchEvent(d)}else o.push({type:"set",propName:t,value:n})}}(v[m]);for(var y=mejs.html5media.methods,w=0,T=y.length;w<T;w++)!function(e){a[e]=function(){if(null!==u)switch(e){case"play":return l=!1,u.play();case"pause":return l=!0,u.pause();case"load":return null}else o.push({type:"call",methodName:e})}}(y[w]);window["__ready__"+a.id]=function(t){if(e.twitchPlayer=u=t,o.length)for(var n=0,r=o.length;n<r;n++){var s=o[n];if("set"===s.type){var h=s.propName,f=""+h.substring(0,1).toUpperCase()+h.substring(1);a["set"+f](s.value)}else"call"===s.type&&a[s.methodName]()}var p=document.getElementById(a.id).firstChild;p.style.width="100%",p.style.height="100%";for(var v=["mouseover","mouseout"],m=0,g=v.length;m<g;m++)p.addEventListener(v[m],function(t){var n=createEvent(t.type,a);e.dispatchEvent(n)},!1);var y=void 0;u.addEventListener(Twitch.Player.READY,function(){l=!1,d=!1,i(["rendererready","loadedmetadata","loadeddata","canplay"])}),u.addEventListener(Twitch.Player.PLAY,function(){c||(c=!0),l=!1,d=!1,i(["play","playing","progress"]),y=setInterval(function(){u.getCurrentTime(),i(["timeupdate"])},250)}),u.addEventListener(Twitch.Player.PAUSE,function(){l=!0,d=!1,u.getEnded()||i(["pause"])}),u.addEventListener(Twitch.Player.ENDED,function(){l=!0,d=!0,i(["ended"]),clearInterval(y),c=!1,y=null})};var E=e.originalNode.height,N=e.originalNode.width,P=document.createElement("div"),_=r.getTwitchType(s),b={id:a.id,width:N,height:E,playsinline:!1,autoplay:e.originalNode.autoplay,muted:e.originalNode.muted};return b[_]=s,P.id=a.id,P.style.width="100%",P.style.height="100%",e.originalNode.parentNode.insertBefore(P,e.originalNode),e.originalNode.style.display="none",e.originalNode.autoplay=!1,a.setSize=function(e,t){null===r||isNaN(e)||isNaN(t)||(P.setAttribute("width",e),P.setAttribute("height",t))},a.hide=function(){a.pause(),P.style.display="none"},a.show=function(){P.style.display=""},a.destroy=function(){},r.load(b),a}};mejs.Utils.typeChecks.push(function(e){return/\/\/(www|player).twitch.tv/i.test(e)?"video/x-twitch":null}),mejs.Renderers.add(i)},{}]},{},[1]);
\ No newline at end of file
diff --git a/paquet.xml b/paquet.xml
index 36e1a35a..cbf90d9f 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@
 <paquet
 	prefix="medias"
 	categorie="multimedia"
-	version="2.21.1"
+	version="2.21.2"
 	etat="stable"
 	compatibilite="[3.3.0-dev;3.3.*]"
 	logo="prive/themes/spip/images/portfolio-32.png"
-- 
GitLab