{"version":3,"file":"player.js","mappings":"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","sources":["webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/browserslist/browser.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/browserslist/error.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/browserslist/index.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/browserslist/parse.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/caniuse-lite/data/agents.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/caniuse-lite/data/browserVersions.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/caniuse-lite/data/browsers.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/caniuse-lite/dist/unpacker/agents.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/caniuse-lite/dist/unpacker/browserVersions.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/caniuse-lite/dist/unpacker/browsers.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/electron-to-chromium/versions.js","webpack://html5-video-player-pro/../../../../../../WorkFile/modules/node_modules/regenerator-runtime/runtime.js","webpack://html5-video-player-pro/webpack/bootstrap","webpack://html5-video-player-pro/./src/public/BPlayer.js","webpack://html5-video-player-pro/./src/public/elementor/playlist.js","webpack://html5-video-player-pro/./src/public/player.js"],"sourcesContent":["var BrowserslistError = require('./error')\n\nfunction noop() {}\n\nmodule.exports = {\n loadQueries: function loadQueries() {\n throw new BrowserslistError(\n 'Sharable configs are not supported in client-side build of Browserslist'\n )\n },\n\n getStat: function getStat(opts) {\n return opts.stats\n },\n\n loadConfig: function loadConfig(opts) {\n if (opts.config) {\n throw new BrowserslistError(\n 'Browserslist config are not supported in client-side build'\n )\n }\n },\n\n loadCountry: function loadCountry() {\n throw new BrowserslistError(\n 'Country statistics are not supported ' +\n 'in client-side build of Browserslist'\n )\n },\n\n loadFeature: function loadFeature() {\n throw new BrowserslistError(\n 'Supports queries are not available in client-side build of Browserslist'\n )\n },\n\n currentNode: function currentNode(resolve, context) {\n return resolve(['maintained node versions'], context)[0]\n },\n\n parseConfig: noop,\n\n readConfig: noop,\n\n findConfig: noop,\n\n clearCaches: noop,\n\n oldDataWarning: noop\n}\n","function BrowserslistError(message) {\n this.name = 'BrowserslistError'\n this.message = message\n this.browserslist = true\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, BrowserslistError)\n }\n}\n\nBrowserslistError.prototype = Error.prototype\n\nmodule.exports = BrowserslistError\n","var jsReleases = require('node-releases/data/processed/envs.json')\nvar agents = require('caniuse-lite/dist/unpacker/agents').agents\nvar jsEOL = require('node-releases/data/release-schedule/release-schedule.json')\nvar path = require('path')\nvar e2c = require('electron-to-chromium/versions')\n\nvar BrowserslistError = require('./error')\nvar parse = require('./parse')\nvar env = require('./node') // Will load browser.js in webpack\n\nvar YEAR = 365.259641 * 24 * 60 * 60 * 1000\nvar ANDROID_EVERGREEN_FIRST = 37\n\n// Helpers\n\nfunction isVersionsMatch(versionA, versionB) {\n return (versionA + '.').indexOf(versionB + '.') === 0\n}\n\nfunction isEolReleased(name) {\n var version = name.slice(1)\n return browserslist.nodeVersions.some(function (i) {\n return isVersionsMatch(i, version)\n })\n}\n\nfunction normalize(versions) {\n return versions.filter(function (version) {\n return typeof version === 'string'\n })\n}\n\nfunction normalizeElectron(version) {\n var versionToUse = version\n if (version.split('.').length === 3) {\n versionToUse = version.split('.').slice(0, -1).join('.')\n }\n return versionToUse\n}\n\nfunction nameMapper(name) {\n return function mapName(version) {\n return name + ' ' + version\n }\n}\n\nfunction getMajor(version) {\n return parseInt(version.split('.')[0])\n}\n\nfunction getMajorVersions(released, number) {\n if (released.length === 0) return []\n var majorVersions = uniq(released.map(getMajor))\n var minimum = majorVersions[majorVersions.length - number]\n if (!minimum) {\n return released\n }\n var selected = []\n for (var i = released.length - 1; i >= 0; i--) {\n if (minimum > getMajor(released[i])) break\n selected.unshift(released[i])\n }\n return selected\n}\n\nfunction uniq(array) {\n var filtered = []\n for (var i = 0; i < array.length; i++) {\n if (filtered.indexOf(array[i]) === -1) filtered.push(array[i])\n }\n return filtered\n}\n\nfunction fillUsage(result, name, data) {\n for (var i in data) {\n result[name + ' ' + i] = data[i]\n }\n}\n\nfunction generateFilter(sign, version) {\n version = parseFloat(version)\n if (sign === '>') {\n return function (v) {\n return parseFloat(v) > version\n }\n } else if (sign === '>=') {\n return function (v) {\n return parseFloat(v) >= version\n }\n } else if (sign === '<') {\n return function (v) {\n return parseFloat(v) < version\n }\n } else {\n return function (v) {\n return parseFloat(v) <= version\n }\n }\n}\n\nfunction generateSemverFilter(sign, version) {\n version = version.split('.').map(parseSimpleInt)\n version[1] = version[1] || 0\n version[2] = version[2] || 0\n if (sign === '>') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(v, version) > 0\n }\n } else if (sign === '>=') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(v, version) >= 0\n }\n } else if (sign === '<') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(version, v) > 0\n }\n } else {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(version, v) >= 0\n }\n }\n}\n\nfunction parseSimpleInt(x) {\n return parseInt(x)\n}\n\nfunction compare(a, b) {\n if (a < b) return -1\n if (a > b) return +1\n return 0\n}\n\nfunction compareSemver(a, b) {\n return (\n compare(parseInt(a[0]), parseInt(b[0])) ||\n compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) ||\n compare(parseInt(a[2] || '0'), parseInt(b[2] || '0'))\n )\n}\n\n// this follows the npm-like semver behavior\nfunction semverFilterLoose(operator, range) {\n range = range.split('.').map(parseSimpleInt)\n if (typeof range[1] === 'undefined') {\n range[1] = 'x'\n }\n // ignore any patch version because we only return minor versions\n // range[2] = 'x'\n switch (operator) {\n case '<=':\n return function (version) {\n version = version.split('.').map(parseSimpleInt)\n return compareSemverLoose(version, range) <= 0\n }\n case '>=':\n default:\n return function (version) {\n version = version.split('.').map(parseSimpleInt)\n return compareSemverLoose(version, range) >= 0\n }\n }\n}\n\n// this follows the npm-like semver behavior\nfunction compareSemverLoose(version, range) {\n if (version[0] !== range[0]) {\n return version[0] < range[0] ? -1 : +1\n }\n if (range[1] === 'x') {\n return 0\n }\n if (version[1] !== range[1]) {\n return version[1] < range[1] ? -1 : +1\n }\n return 0\n}\n\nfunction resolveVersion(data, version) {\n if (data.versions.indexOf(version) !== -1) {\n return version\n } else if (browserslist.versionAliases[data.name][version]) {\n return browserslist.versionAliases[data.name][version]\n } else {\n return false\n }\n}\n\nfunction normalizeVersion(data, version) {\n var resolved = resolveVersion(data, version)\n if (resolved) {\n return resolved\n } else if (data.versions.length === 1) {\n return data.versions[0]\n } else {\n return false\n }\n}\n\nfunction filterByYear(since, context) {\n since = since / 1000\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var versions = Object.keys(data.releaseDate).filter(function (v) {\n var date = data.releaseDate[v]\n return date !== null && date >= since\n })\n return selected.concat(versions.map(nameMapper(data.name)))\n }, [])\n}\n\nfunction cloneData(data) {\n return {\n name: data.name,\n versions: data.versions,\n released: data.released,\n releaseDate: data.releaseDate\n }\n}\n\nfunction mapVersions(data, map) {\n data.versions = data.versions.map(function (i) {\n return map[i] || i\n })\n data.released = data.released.map(function (i) {\n return map[i] || i\n })\n var fixedDate = {}\n for (var i in data.releaseDate) {\n fixedDate[map[i] || i] = data.releaseDate[i]\n }\n data.releaseDate = fixedDate\n return data\n}\n\nfunction byName(name, context) {\n name = name.toLowerCase()\n name = browserslist.aliases[name] || name\n if (context.mobileToDesktop && browserslist.desktopNames[name]) {\n var desktop = browserslist.data[browserslist.desktopNames[name]]\n if (name === 'android') {\n return normalizeAndroidData(cloneData(browserslist.data[name]), desktop)\n } else {\n var cloned = cloneData(desktop)\n cloned.name = name\n if (name === 'op_mob') {\n cloned = mapVersions(cloned, { '10.0-10.1': '10' })\n }\n return cloned\n }\n }\n return browserslist.data[name]\n}\n\nfunction normalizeAndroidVersions(androidVersions, chromeVersions) {\n var firstEvergreen = ANDROID_EVERGREEN_FIRST\n var last = chromeVersions[chromeVersions.length - 1]\n return androidVersions\n .filter(function (version) {\n return /^(?:[2-4]\\.|[34]$)/.test(version)\n })\n .concat(chromeVersions.slice(firstEvergreen - last - 1))\n}\n\nfunction normalizeAndroidData(android, chrome) {\n android.released = normalizeAndroidVersions(android.released, chrome.released)\n android.versions = normalizeAndroidVersions(android.versions, chrome.versions)\n return android\n}\n\nfunction checkName(name, context) {\n var data = byName(name, context)\n if (!data) throw new BrowserslistError('Unknown browser ' + name)\n return data\n}\n\nfunction unknownQuery(query) {\n return new BrowserslistError(\n 'Unknown browser query `' +\n query +\n '`. ' +\n 'Maybe you are using old Browserslist or made typo in query.'\n )\n}\n\nfunction filterAndroid(list, versions, context) {\n if (context.mobileToDesktop) return list\n var released = browserslist.data.android.released\n var last = released[released.length - 1]\n var diff = last - ANDROID_EVERGREEN_FIRST - versions\n if (diff > 0) {\n return list.slice(-1)\n } else {\n return list.slice(diff - 1)\n }\n}\n\nfunction resolve(queries, context) {\n return parse(QUERIES, queries).reduce(function (result, node, index) {\n if (node.not && index === 0) {\n throw new BrowserslistError(\n 'Write any browsers query (for instance, `defaults`) ' +\n 'before `' +\n node.query +\n '`'\n )\n }\n var type = QUERIES[node.type]\n var array = type.select.call(browserslist, context, node).map(function (j) {\n var parts = j.split(' ')\n if (parts[1] === '0') {\n return parts[0] + ' ' + byName(parts[0], context).versions[0]\n } else {\n return j\n }\n })\n\n if (node.compose === 'and') {\n if (node.not) {\n return result.filter(function (j) {\n return array.indexOf(j) === -1\n })\n } else {\n return result.filter(function (j) {\n return array.indexOf(j) !== -1\n })\n }\n } else {\n if (node.not) {\n var filter = {}\n array.forEach(function (j) {\n filter[j] = true\n })\n return result.filter(function (j) {\n return !filter[j]\n })\n }\n return result.concat(array)\n }\n }, [])\n}\n\nfunction prepareOpts(opts) {\n if (typeof opts === 'undefined') opts = {}\n\n if (typeof opts.path === 'undefined') {\n opts.path = path.resolve ? path.resolve('.') : '.'\n }\n\n return opts\n}\n\nfunction prepareQueries(queries, opts) {\n if (typeof queries === 'undefined' || queries === null) {\n var config = browserslist.loadConfig(opts)\n if (config) {\n queries = config\n } else {\n queries = browserslist.defaults\n }\n }\n\n return queries\n}\n\nfunction checkQueries(queries) {\n if (!(typeof queries === 'string' || Array.isArray(queries))) {\n throw new BrowserslistError(\n 'Browser queries must be an array or string. Got ' + typeof queries + '.'\n )\n }\n}\n\nvar cache = {}\n\nfunction browserslist(queries, opts) {\n opts = prepareOpts(opts)\n queries = prepareQueries(queries, opts)\n checkQueries(queries)\n\n var context = {\n ignoreUnknownVersions: opts.ignoreUnknownVersions,\n dangerousExtend: opts.dangerousExtend,\n mobileToDesktop: opts.mobileToDesktop,\n path: opts.path,\n env: opts.env\n }\n\n env.oldDataWarning(browserslist.data)\n var stats = env.getStat(opts, browserslist.data)\n if (stats) {\n context.customUsage = {}\n for (var browser in stats) {\n fillUsage(context.customUsage, browser, stats[browser])\n }\n }\n\n var cacheKey = JSON.stringify([queries, context])\n if (cache[cacheKey]) return cache[cacheKey]\n\n var result = uniq(resolve(queries, context)).sort(function (name1, name2) {\n name1 = name1.split(' ')\n name2 = name2.split(' ')\n if (name1[0] === name2[0]) {\n // assumptions on caniuse data\n // 1) version ranges never overlaps\n // 2) if version is not a range, it never contains `-`\n var version1 = name1[1].split('-')[0]\n var version2 = name2[1].split('-')[0]\n return compareSemver(version2.split('.'), version1.split('.'))\n } else {\n return compare(name1[0], name2[0])\n }\n })\n if (!process.env.BROWSERSLIST_DISABLE_CACHE) {\n cache[cacheKey] = result\n }\n return result\n}\n\nbrowserslist.parse = function (queries, opts) {\n opts = prepareOpts(opts)\n queries = prepareQueries(queries, opts)\n checkQueries(queries)\n return parse(QUERIES, queries)\n}\n\n// Will be filled by Can I Use data below\nbrowserslist.cache = {}\nbrowserslist.data = {}\nbrowserslist.usage = {\n global: {},\n custom: null\n}\n\n// Default browsers query\nbrowserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead']\n\n// Browser names aliases\nbrowserslist.aliases = {\n fx: 'firefox',\n ff: 'firefox',\n ios: 'ios_saf',\n explorer: 'ie',\n blackberry: 'bb',\n explorermobile: 'ie_mob',\n operamini: 'op_mini',\n operamobile: 'op_mob',\n chromeandroid: 'and_chr',\n firefoxandroid: 'and_ff',\n ucandroid: 'and_uc',\n qqandroid: 'and_qq'\n}\n\n// Can I Use only provides a few versions for some browsers (e.g. and_chr).\n// Fallback to a similar browser for unknown versions\nbrowserslist.desktopNames = {\n and_chr: 'chrome',\n and_ff: 'firefox',\n ie_mob: 'ie',\n op_mob: 'opera',\n android: 'chrome' // has extra processing logic\n}\n\n// Aliases to work with joined versions like `ios_saf 7.0-7.1`\nbrowserslist.versionAliases = {}\n\nbrowserslist.clearCaches = env.clearCaches\nbrowserslist.parseConfig = env.parseConfig\nbrowserslist.readConfig = env.readConfig\nbrowserslist.findConfig = env.findConfig\nbrowserslist.loadConfig = env.loadConfig\n\nbrowserslist.coverage = function (browsers, stats) {\n var data\n if (typeof stats === 'undefined') {\n data = browserslist.usage.global\n } else if (stats === 'my stats') {\n var opts = {}\n opts.path = path.resolve ? path.resolve('.') : '.'\n var customStats = env.getStat(opts)\n if (!customStats) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n data = {}\n for (var browser in customStats) {\n fillUsage(data, browser, customStats[browser])\n }\n } else if (typeof stats === 'string') {\n if (stats.length > 2) {\n stats = stats.toLowerCase()\n } else {\n stats = stats.toUpperCase()\n }\n env.loadCountry(browserslist.usage, stats, browserslist.data)\n data = browserslist.usage[stats]\n } else {\n if ('dataByBrowser' in stats) {\n stats = stats.dataByBrowser\n }\n data = {}\n for (var name in stats) {\n for (var version in stats[name]) {\n data[name + ' ' + version] = stats[name][version]\n }\n }\n }\n\n return browsers.reduce(function (all, i) {\n var usage = data[i]\n if (usage === undefined) {\n usage = data[i.replace(/ \\S+$/, ' 0')]\n }\n return all + (usage || 0)\n }, 0)\n}\n\nfunction nodeQuery(context, node) {\n var matched = browserslist.nodeVersions.filter(function (i) {\n return isVersionsMatch(i, node.version)\n })\n if (matched.length === 0) {\n if (context.ignoreUnknownVersions) {\n return []\n } else {\n throw new BrowserslistError(\n 'Unknown version ' + node.version + ' of Node.js'\n )\n }\n }\n return ['node ' + matched[matched.length - 1]]\n}\n\nfunction sinceQuery(context, node) {\n var year = parseInt(node.year)\n var month = parseInt(node.month || '01') - 1\n var day = parseInt(node.day || '01')\n return filterByYear(Date.UTC(year, month, day, 0, 0, 0), context)\n}\n\nfunction coverQuery(context, node) {\n var coverage = parseFloat(node.coverage)\n var usage = browserslist.usage.global\n if (node.place) {\n if (node.place.match(/^my\\s+stats$/i)) {\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n usage = context.customUsage\n } else {\n var place\n if (node.place.length === 2) {\n place = node.place.toUpperCase()\n } else {\n place = node.place.toLowerCase()\n }\n env.loadCountry(browserslist.usage, place, browserslist.data)\n usage = browserslist.usage[place]\n }\n }\n var versions = Object.keys(usage).sort(function (a, b) {\n return usage[b] - usage[a]\n })\n var coveraged = 0\n var result = []\n var version\n for (var i = 0; i < versions.length; i++) {\n version = versions[i]\n if (usage[version] === 0) break\n coveraged += usage[version]\n result.push(version)\n if (coveraged >= coverage) break\n }\n return result\n}\n\nvar QUERIES = {\n last_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+major\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = getMajorVersions(data.released, node.versions)\n list = list.map(nameMapper(data.name))\n if (data.name === 'android') {\n list = filterAndroid(list, node.versions, context)\n }\n return selected.concat(list)\n }, [])\n }\n },\n last_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = data.released.slice(-node.versions)\n list = list.map(nameMapper(data.name))\n if (data.name === 'android') {\n list = filterAndroid(list, node.versions, context)\n }\n return selected.concat(list)\n }, [])\n }\n },\n last_electron_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+electron\\s+major\\s+versions?$/i,\n select: function (context, node) {\n var validVersions = getMajorVersions(Object.keys(e2c), node.versions)\n return validVersions.map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n last_node_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+node\\s+major\\s+versions?$/i,\n select: function (context, node) {\n return getMajorVersions(browserslist.nodeVersions, node.versions).map(\n function (version) {\n return 'node ' + version\n }\n )\n }\n },\n last_browser_major_versions: {\n matches: ['versions', 'browser'],\n regexp: /^last\\s+(\\d+)\\s+(\\w+)\\s+major\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var validVersions = getMajorVersions(data.released, node.versions)\n var list = validVersions.map(nameMapper(data.name))\n if (data.name === 'android') {\n list = filterAndroid(list, node.versions, context)\n }\n return list\n }\n },\n last_electron_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+electron\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(e2c)\n .slice(-node.versions)\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n last_node_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+node\\s+versions?$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .slice(-node.versions)\n .map(function (version) {\n return 'node ' + version\n })\n }\n },\n last_browser_versions: {\n matches: ['versions', 'browser'],\n regexp: /^last\\s+(\\d+)\\s+(\\w+)\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var list = data.released.slice(-node.versions).map(nameMapper(data.name))\n if (data.name === 'android') {\n list = filterAndroid(list, node.versions, context)\n }\n return list\n }\n },\n unreleased_versions: {\n matches: [],\n regexp: /^unreleased\\s+versions$/i,\n select: function (context) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = data.versions.filter(function (v) {\n return data.released.indexOf(v) === -1\n })\n list = list.map(nameMapper(data.name))\n return selected.concat(list)\n }, [])\n }\n },\n unreleased_electron_versions: {\n matches: [],\n regexp: /^unreleased\\s+electron\\s+versions?$/i,\n select: function () {\n return []\n }\n },\n unreleased_browser_versions: {\n matches: ['browser'],\n regexp: /^unreleased\\s+(\\w+)\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n return data.versions\n .filter(function (v) {\n return data.released.indexOf(v) === -1\n })\n .map(nameMapper(data.name))\n }\n },\n last_years: {\n matches: ['years'],\n regexp: /^last\\s+(\\d*.?\\d+)\\s+years?$/i,\n select: function (context, node) {\n return filterByYear(Date.now() - YEAR * node.years, context)\n }\n },\n since_y: {\n matches: ['year'],\n regexp: /^since (\\d+)$/i,\n select: sinceQuery\n },\n since_y_m: {\n matches: ['year', 'month'],\n regexp: /^since (\\d+)-(\\d+)$/i,\n select: sinceQuery\n },\n since_y_m_d: {\n matches: ['year', 'month', 'day'],\n regexp: /^since (\\d+)-(\\d+)-(\\d+)$/i,\n select: sinceQuery\n },\n popularity: {\n matches: ['sign', 'popularity'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var usage = browserslist.usage.global\n return Object.keys(usage).reduce(function (result, version) {\n if (node.sign === '>') {\n if (usage[version] > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (usage[version] < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (usage[version] <= popularity) {\n result.push(version)\n }\n } else if (usage[version] >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_my_stats: {\n matches: ['sign', 'popularity'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+my\\s+stats$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n var usage = context.customUsage\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_config_stats: {\n matches: ['sign', 'popularity', 'config'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+(\\S+)\\s+stats$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var stats = env.loadStat(context, node.config, browserslist.data)\n if (stats) {\n context.customUsage = {}\n for (var browser in stats) {\n fillUsage(context.customUsage, browser, stats[browser])\n }\n }\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n var usage = context.customUsage\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_place: {\n matches: ['sign', 'popularity', 'place'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+((alt-)?\\w\\w)$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var place = node.place\n if (place.length === 2) {\n place = place.toUpperCase()\n } else {\n place = place.toLowerCase()\n }\n env.loadCountry(browserslist.usage, place, browserslist.data)\n var usage = browserslist.usage[place]\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n cover: {\n matches: ['coverage'],\n regexp: /^cover\\s+(\\d+|\\d+\\.\\d+|\\.\\d+)%$/i,\n select: coverQuery\n },\n cover_in: {\n matches: ['coverage', 'place'],\n regexp: /^cover\\s+(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+(my\\s+stats|(alt-)?\\w\\w)$/i,\n select: coverQuery\n },\n supports: {\n matches: ['feature'],\n regexp: /^supports\\s+([\\w-]+)$/,\n select: function (context, node) {\n env.loadFeature(browserslist.cache, node.feature)\n var features = browserslist.cache[node.feature]\n return Object.keys(features).reduce(function (result, version) {\n var flags = features[version]\n if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n electron_range: {\n matches: ['from', 'to'],\n regexp: /^electron\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var fromToUse = normalizeElectron(node.from)\n var toToUse = normalizeElectron(node.to)\n var from = parseFloat(node.from)\n var to = parseFloat(node.to)\n if (!e2c[fromToUse]) {\n throw new BrowserslistError('Unknown version ' + from + ' of electron')\n }\n if (!e2c[toToUse]) {\n throw new BrowserslistError('Unknown version ' + to + ' of electron')\n }\n return Object.keys(e2c)\n .filter(function (i) {\n var parsed = parseFloat(i)\n return parsed >= from && parsed <= to\n })\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n node_range: {\n matches: ['from', 'to'],\n regexp: /^node\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .filter(semverFilterLoose('>=', node.from))\n .filter(semverFilterLoose('<=', node.to))\n .map(function (v) {\n return 'node ' + v\n })\n }\n },\n browser_range: {\n matches: ['browser', 'from', 'to'],\n regexp: /^(\\w+)\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var from = parseFloat(normalizeVersion(data, node.from) || node.from)\n var to = parseFloat(normalizeVersion(data, node.to) || node.to)\n function filter(v) {\n var parsed = parseFloat(v)\n return parsed >= from && parsed <= to\n }\n return data.released.filter(filter).map(nameMapper(data.name))\n }\n },\n electron_ray: {\n matches: ['sign', 'version'],\n regexp: /^electron\\s*(>=?|<=?)\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var versionToUse = normalizeElectron(node.version)\n return Object.keys(e2c)\n .filter(generateFilter(node.sign, versionToUse))\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n node_ray: {\n matches: ['sign', 'version'],\n regexp: /^node\\s*(>=?|<=?)\\s*([\\d.]+)$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .filter(generateSemverFilter(node.sign, node.version))\n .map(function (v) {\n return 'node ' + v\n })\n }\n },\n browser_ray: {\n matches: ['browser', 'sign', 'version'],\n regexp: /^(\\w+)\\s*(>=?|<=?)\\s*([\\d.]+)$/,\n select: function (context, node) {\n var version = node.version\n var data = checkName(node.browser, context)\n var alias = browserslist.versionAliases[data.name][version]\n if (alias) version = alias\n return data.released\n .filter(generateFilter(node.sign, version))\n .map(function (v) {\n return data.name + ' ' + v\n })\n }\n },\n firefox_esr: {\n matches: [],\n regexp: /^(firefox|ff|fx)\\s+esr$/i,\n select: function () {\n return ['firefox 102']\n }\n },\n opera_mini_all: {\n matches: [],\n regexp: /(operamini|op_mini)\\s+all/i,\n select: function () {\n return ['op_mini all']\n }\n },\n electron_version: {\n matches: ['version'],\n regexp: /^electron\\s+([\\d.]+)$/i,\n select: function (context, node) {\n var versionToUse = normalizeElectron(node.version)\n var chrome = e2c[versionToUse]\n if (!chrome) {\n throw new BrowserslistError(\n 'Unknown version ' + node.version + ' of electron'\n )\n }\n return ['chrome ' + chrome]\n }\n },\n node_major_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+)$/i,\n select: nodeQuery\n },\n node_minor_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+\\.\\d+)$/i,\n select: nodeQuery\n },\n node_patch_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+\\.\\d+\\.\\d+)$/i,\n select: nodeQuery\n },\n current_node: {\n matches: [],\n regexp: /^current\\s+node$/i,\n select: function (context) {\n return [env.currentNode(resolve, context)]\n }\n },\n maintained_node: {\n matches: [],\n regexp: /^maintained\\s+node\\s+versions$/i,\n select: function (context) {\n var now = Date.now()\n var queries = Object.keys(jsEOL)\n .filter(function (key) {\n return (\n now < Date.parse(jsEOL[key].end) &&\n now > Date.parse(jsEOL[key].start) &&\n isEolReleased(key)\n )\n })\n .map(function (key) {\n return 'node ' + key.slice(1)\n })\n return resolve(queries, context)\n }\n },\n phantomjs_1_9: {\n matches: [],\n regexp: /^phantomjs\\s+1.9$/i,\n select: function () {\n return ['safari 5']\n }\n },\n phantomjs_2_1: {\n matches: [],\n regexp: /^phantomjs\\s+2.1$/i,\n select: function () {\n return ['safari 6']\n }\n },\n browser_version: {\n matches: ['browser', 'version'],\n regexp: /^(\\w+)\\s+(tp|[\\d.]+)$/i,\n select: function (context, node) {\n var version = node.version\n if (/^tp$/i.test(version)) version = 'TP'\n var data = checkName(node.browser, context)\n var alias = normalizeVersion(data, version)\n if (alias) {\n version = alias\n } else {\n if (version.indexOf('.') === -1) {\n alias = version + '.0'\n } else {\n alias = version.replace(/\\.0$/, '')\n }\n alias = normalizeVersion(data, alias)\n if (alias) {\n version = alias\n } else if (context.ignoreUnknownVersions) {\n return []\n } else {\n throw new BrowserslistError(\n 'Unknown version ' + version + ' of ' + node.browser\n )\n }\n }\n return [data.name + ' ' + version]\n }\n },\n browserslist_config: {\n matches: [],\n regexp: /^browserslist config$/i,\n select: function (context) {\n return browserslist(undefined, context)\n }\n },\n extends: {\n matches: ['config'],\n regexp: /^extends (.+)$/i,\n select: function (context, node) {\n return resolve(env.loadQueries(context, node.config), context)\n }\n },\n defaults: {\n matches: [],\n regexp: /^defaults$/i,\n select: function (context) {\n return resolve(browserslist.defaults, context)\n }\n },\n dead: {\n matches: [],\n regexp: /^dead$/i,\n select: function (context) {\n var dead = [\n 'Baidu >= 0',\n 'ie <= 11',\n 'ie_mob <= 11',\n 'bb <= 10',\n 'op_mob <= 12.1',\n 'samsung 4'\n ]\n return resolve(dead, context)\n }\n },\n unknown: {\n matches: [],\n regexp: /^(\\w+)$/i,\n select: function (context, node) {\n if (byName(node.query, context)) {\n throw new BrowserslistError(\n 'Specify versions in Browserslist query for browser ' + node.query\n )\n } else {\n throw unknownQuery(node.query)\n }\n }\n }\n}\n\n// Get and convert Can I Use data\n\n;(function () {\n for (var name in agents) {\n var browser = agents[name]\n browserslist.data[name] = {\n name: name,\n versions: normalize(agents[name].versions),\n released: normalize(agents[name].versions.slice(0, -3)),\n releaseDate: agents[name].release_date\n }\n fillUsage(browserslist.usage.global, name, browser.usage_global)\n\n browserslist.versionAliases[name] = {}\n for (var i = 0; i < browser.versions.length; i++) {\n var full = browser.versions[i]\n if (!full) continue\n\n if (full.indexOf('-') !== -1) {\n var interval = full.split('-')\n for (var j = 0; j < interval.length; j++) {\n browserslist.versionAliases[name][interval[j]] = full\n }\n }\n }\n }\n\n browserslist.versionAliases.op_mob['59'] = '58'\n\n browserslist.nodeVersions = jsReleases.map(function (release) {\n return release.version\n })\n})()\n\nmodule.exports = browserslist\n","var AND_REGEXP = /^\\s+and\\s+(.*)/i\nvar OR_REGEXP = /^(?:,\\s*|\\s+or\\s+)(.*)/i\n\nfunction flatten(array) {\n if (!Array.isArray(array)) return [array]\n return array.reduce(function (a, b) {\n return a.concat(flatten(b))\n }, [])\n}\n\nfunction find(string, predicate) {\n for (var n = 1, max = string.length; n <= max; n++) {\n var parsed = string.substr(-n, n)\n if (predicate(parsed, n, max)) {\n return string.slice(0, -n)\n }\n }\n return ''\n}\n\nfunction matchQuery(all, query) {\n var node = { query: query }\n if (query.indexOf('not ') === 0) {\n node.not = true\n query = query.slice(4)\n }\n\n for (var name in all) {\n var type = all[name]\n var match = query.match(type.regexp)\n if (match) {\n node.type = name\n for (var i = 0; i < type.matches.length; i++) {\n node[type.matches[i]] = match[i + 1]\n }\n return node\n }\n }\n\n node.type = 'unknown'\n return node\n}\n\nfunction matchBlock(all, string, qs) {\n var node\n return find(string, function (parsed, n, max) {\n if (AND_REGEXP.test(parsed)) {\n node = matchQuery(all, parsed.match(AND_REGEXP)[1])\n node.compose = 'and'\n qs.unshift(node)\n return true\n } else if (OR_REGEXP.test(parsed)) {\n node = matchQuery(all, parsed.match(OR_REGEXP)[1])\n node.compose = 'or'\n qs.unshift(node)\n return true\n } else if (n === max) {\n node = matchQuery(all, parsed.trim())\n node.compose = 'or'\n qs.unshift(node)\n return true\n }\n return false\n })\n}\n\nmodule.exports = function parse(all, queries) {\n if (!Array.isArray(queries)) queries = [queries]\n return flatten(\n queries.map(function (block) {\n var qs = []\n do {\n block = matchBlock(all, block, qs)\n } while (block)\n return qs\n })\n )\n}\n","module.exports={A:{A:{J:0.0131217,D:0.00621152,E:0.0360158,F:0.086438,A:0.00720317,B:0.475409,\"4B\":0.009298},B:\"ms\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"4B\",\"J\",\"D\",\"E\",\"F\",\"A\",\"B\",\"\",\"\",\"\"],E:\"IE\",F:{\"4B\":962323200,J:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0.007858,K:0.004267,L:0.004268,G:0.003929,M:0.003702,N:0.007858,O:0.023574,P:0,Q:0.004298,R:0.00944,S:0.004043,T:0.007858,U:0.007858,V:0.003929,W:0.003929,X:0.004318,Y:0.003929,Z:0.004118,a:0.003939,d:0.007858,e:0.004118,f:0.003939,g:0.003801,h:0.003929,i:0.003855,j:0.003929,k:0.003929,l:0.007858,m:0.019645,n:0.015716,o:0.055006,p:0.652214,b:3.4143,H:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"C\",\"K\",\"L\",\"G\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"b\",\"H\",\"\",\"\",\"\"],E:\"Edge\",F:{C:1438128000,K:1447286400,L:1470096000,G:1491868800,M:1508198400,N:1525046400,O:1542067200,P:1579046400,Q:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,d:1626912000,e:1630627200,f:1632441600,g:1634774400,h:1637539200,i:1641427200,j:1643932800,k:1646265600,l:1649635200,m:1651190400,n:1653955200,o:1655942400,p:1659657600,b:1661990400,H:1664755200},D:{C:\"ms\",K:\"ms\",L:\"ms\",G:\"ms\",M:\"ms\",N:\"ms\",O:\"ms\"}},C:{A:{\"0\":0.004418,\"1\":0.008834,\"2\":0.008322,\"3\":0.008928,\"4\":0.004471,\"5\":0.009284,\"6\":0.004707,\"7\":0.009076,\"8\":0.007858,\"9\":0.004783,\"5B\":0.004118,pB:0.004271,I:0.019645,q:0.004879,J:0.020136,D:0.005725,E:0.004525,F:0.00533,A:0.004283,B:0.007858,C:0.004471,K:0.004486,L:0.00453,G:0.008322,M:0.004417,N:0.004425,O:0.004161,r:0.004443,s:0.004283,t:0.008322,u:0.013698,v:0.004161,w:0.008786,x:0.004118,y:0.004317,z:0.004393,AB:0.003929,BB:0.004783,CB:0.00487,DB:0.005029,EB:0.0047,FB:0.011787,GB:0.007858,HB:0.003867,IB:0.004525,JB:0.004293,KB:0.003702,LB:0.004538,MB:0.008282,NB:0.011601,OB:0.055006,PB:0.011601,QB:0.003929,RB:0.007858,SB:0.003929,TB:0.011601,UB:0.003939,qB:0.003855,VB:0.003929,rB:0.004356,WB:0.004425,XB:0.008322,c:0.00415,YB:0.004267,ZB:0.003801,aB:0.004267,bB:0.007858,cB:0.00415,dB:0.004293,eB:0.004425,fB:0.003929,gB:0.00415,hB:0.00415,iB:0.004318,jB:0.004356,kB:0.003929,lB:0.03929,P:0.007858,Q:0.007858,R:0.007858,sB:0.007858,S:0.007858,T:0.003929,U:0.004268,V:0.003801,W:0.011787,X:0.007858,Y:0.003929,Z:0.003929,a:0.070722,d:0.003801,e:0.003855,f:0.019645,g:0.007858,h:0.003929,i:0.007858,j:0.007858,k:0.011787,l:0.011787,m:0.011787,n:0.051077,o:0.141444,p:1.60303,b:0.542202,H:0.007858,tB:0,\"6B\":0.008786,\"7B\":0.00487},B:\"moz\",C:[\"5B\",\"pB\",\"6B\",\"7B\",\"I\",\"q\",\"J\",\"D\",\"E\",\"F\",\"A\",\"B\",\"C\",\"K\",\"L\",\"G\",\"M\",\"N\",\"O\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"qB\",\"VB\",\"rB\",\"WB\",\"XB\",\"c\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"P\",\"Q\",\"R\",\"sB\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"b\",\"H\",\"tB\",\"\"],E:\"Firefox\",F:{\"0\":1395100800,\"1\":1398729600,\"2\":1402358400,\"3\":1405987200,\"4\":1409616000,\"5\":1413244800,\"6\":1417392000,\"7\":1421107200,\"8\":1424736000,\"9\":1428278400,\"5B\":1161648000,pB:1213660800,\"6B\":1246320000,\"7B\":1264032000,I:1300752000,q:1308614400,J:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,K:1335225600,L:1338854400,G:1342483200,M:1346112000,N:1349740800,O:1353628800,r:1357603200,s:1361232000,t:1364860800,u:1368489600,v:1372118400,w:1375747200,x:1379376000,y:1386633600,z:1391472000,AB:1431475200,BB:1435881600,CB:1439251200,DB:1442880000,EB:1446508800,FB:1450137600,GB:1453852800,HB:1457395200,IB:1461628800,JB:1465257600,KB:1470096000,LB:1474329600,MB:1479168000,NB:1485216000,OB:1488844800,PB:1492560000,QB:1497312000,RB:1502150400,SB:1506556800,TB:1510617600,UB:1516665600,qB:1520985600,VB:1525824000,rB:1529971200,WB:1536105600,XB:1540252800,c:1544486400,YB:1548720000,ZB:1552953600,aB:1558396800,bB:1562630400,cB:1567468800,dB:1571788800,eB:1575331200,fB:1578355200,gB:1581379200,hB:1583798400,iB:1586304000,jB:1588636800,kB:1591056000,lB:1593475200,P:1595894400,Q:1598313600,R:1600732800,sB:1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,d:1630972800,e:1633392000,f:1635811200,g:1638835200,h:1641859200,i:1644364800,j:1646697600,k:1649116800,l:1651536000,m:1653955200,n:1656374400,o:1658793600,p:1661212800,b:1663632000,H:null,tB:null}},D:{A:{\"0\":0.0047,\"1\":0.004538,\"2\":0.008322,\"3\":0.008596,\"4\":0.004566,\"5\":0.004118,\"6\":0.007858,\"7\":0.003702,\"8\":0.004335,\"9\":0.004464,I:0.004706,q:0.004879,J:0.004879,D:0.005591,E:0.005591,F:0.005591,A:0.004534,B:0.004464,C:0.010424,K:0.0083,L:0.004706,G:0.015087,M:0.004393,N:0.004393,O:0.008652,r:0.008322,s:0.004393,t:0.004317,u:0.003929,v:0.008786,w:0.003939,x:0.004461,y:0.004141,z:0.004326,AB:0.015716,BB:0.003867,CB:0.015716,DB:0.007858,EB:0.003929,FB:0.007858,GB:0.007858,HB:0.007858,IB:0.003867,JB:0.007858,KB:0.019645,LB:0.047148,MB:0.003867,NB:0.003929,OB:0.003929,PB:0.007858,QB:0.003867,RB:0.003929,SB:0.03929,TB:0.003929,UB:0.003702,qB:0.003702,VB:0.011787,rB:0.007858,WB:0.003929,XB:0.011787,c:0.003929,YB:0.011787,ZB:0.027503,aB:0.011787,bB:0.007858,cB:0.047148,dB:0.023574,eB:0.015716,fB:0.023574,gB:0.007858,hB:0.031432,iB:0.047148,jB:0.03929,kB:0.015716,lB:0.035361,P:0.113941,Q:0.043219,R:0.03929,S:0.082509,T:0.086438,U:0.121799,V:0.11787,W:0.121799,X:0.023574,Y:0.043219,Z:0.023574,a:0.062864,d:0.051077,e:0.047148,f:0.03929,g:0.023574,h:0.082509,i:0.066793,j:0.062864,k:0.066793,l:0.113941,m:0.110012,n:0.208237,o:0.664001,p:4.8091,b:16.604,H:0.294675,tB:0.019645,\"8B\":0.011787,\"9B\":0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"I\",\"q\",\"J\",\"D\",\"E\",\"F\",\"A\",\"B\",\"C\",\"K\",\"L\",\"G\",\"M\",\"N\",\"O\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"qB\",\"VB\",\"rB\",\"WB\",\"XB\",\"c\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"b\",\"H\",\"tB\",\"8B\",\"9B\"],E:\"Chrome\",F:{\"0\":1369094400,\"1\":1374105600,\"2\":1376956800,\"3\":1384214400,\"4\":1389657600,\"5\":1392940800,\"6\":1397001600,\"7\":1400544000,\"8\":1405468800,\"9\":1409011200,I:1264377600,q:1274745600,J:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,G:1316131200,M:1319500800,N:1323734400,O:1328659200,r:1332892800,s:1337040000,t:1340668800,u:1343692800,v:1348531200,w:1352246400,x:1357862400,y:1361404800,z:1364428800,AB:1412640000,BB:1416268800,CB:1421798400,DB:1425513600,EB:1429401600,FB:1432080000,GB:1437523200,HB:1441152000,IB:1444780800,JB:1449014400,KB:1453248000,LB:1456963200,MB:1460592000,NB:1464134400,OB:1469059200,PB:1472601600,QB:1476230400,RB:1480550400,SB:1485302400,TB:1489017600,UB:1492560000,qB:1496707200,VB:1500940800,rB:1504569600,WB:1508198400,XB:1512518400,c:1516752000,YB:1520294400,ZB:1523923200,aB:1527552000,bB:1532390400,cB:1536019200,dB:1539648000,eB:1543968000,fB:1548720000,gB:1552348800,hB:1555977600,iB:1559606400,jB:1564444800,kB:1568073600,lB:1571702400,P:1575936000,Q:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,d:1626739200,e:1630368000,f:1632268800,g:1634601600,h:1637020800,i:1641340800,j:1643673600,k:1646092800,l:1648512000,m:1650931200,n:1653350400,o:1655769600,p:1659398400,b:1661817600,H:1664236800,tB:null,\"8B\":null,\"9B\":null}},E:{A:{I:0,q:0.008322,J:0.004656,D:0.004465,E:0.003929,F:0.003929,A:0.004425,B:0.004318,C:0.003801,K:0.027503,L:0.11787,G:0.027503,AC:0,uB:0.008692,BC:0.011787,CC:0.00456,DC:0.004283,EC:0.015716,vB:0.007858,mB:0.019645,nB:0.03929,wB:0.259314,FC:0.306462,GC:0.051077,xB:0.051077,yB:0.141444,zB:0.31432,\"0B\":1.77984,oB:0.184663,\"1B\":0.011787,HC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"AC\",\"uB\",\"I\",\"q\",\"BC\",\"J\",\"CC\",\"D\",\"DC\",\"E\",\"F\",\"EC\",\"A\",\"vB\",\"B\",\"mB\",\"C\",\"nB\",\"K\",\"wB\",\"L\",\"FC\",\"G\",\"GC\",\"xB\",\"yB\",\"zB\",\"0B\",\"oB\",\"1B\",\"HC\",\"\"],E:\"Safari\",F:{AC:1205798400,uB:1226534400,I:1244419200,q:1275868800,BC:1311120000,J:1343174400,CC:1382400000,D:1382400000,DC:1410998400,E:1413417600,F:1443657600,EC:1458518400,A:1474329600,vB:1490572800,B:1505779200,mB:1522281600,C:1537142400,nB:1553472000,K:1568851200,wB:1585008000,L:1600214400,FC:1619395200,G:1632096000,GC:1635292800,xB:1639353600,yB:1647216000,zB:1652745600,\"0B\":1658275200,oB:1662940800,\"1B\":null,HC:null}},F:{A:{\"0\":0.007858,\"1\":0.004879,\"2\":0.004879,\"3\":0.003929,\"4\":0.005152,\"5\":0.005014,\"6\":0.009758,\"7\":0.004879,\"8\":0.003929,\"9\":0.004283,F:0.0082,B:0.016581,C:0.004317,G:0.00685,M:0.00685,N:0.00685,O:0.005014,r:0.006015,s:0.004879,t:0.006597,u:0.006597,v:0.013434,w:0.006702,x:0.006015,y:0.005595,z:0.004393,AB:0.004367,BB:0.004534,CB:0.007858,DB:0.004227,EB:0.004418,FB:0.004161,GB:0.004227,HB:0.004725,IB:0.011787,JB:0.008942,KB:0.004707,LB:0.004827,MB:0.004707,NB:0.004707,OB:0.004326,PB:0.008922,QB:0.014349,RB:0.004425,SB:0.00472,TB:0.004425,UB:0.004425,VB:0.00472,WB:0.004532,XB:0.004566,c:0.02283,YB:0.00867,ZB:0.004656,aB:0.004642,bB:0.003929,cB:0.00944,dB:0.004293,eB:0.003929,fB:0.004298,gB:0.096692,hB:0.004201,iB:0.004141,jB:0.004257,kB:0.003939,lB:0.008236,P:0.003855,Q:0.003939,R:0.008514,sB:0.003939,S:0.003939,T:0.003702,U:0.011787,V:0.003855,W:0.003855,X:0.003929,Y:0.07858,Z:0.887954,a:0.035361,IC:0.00685,JC:0,KC:0.008392,LC:0.004706,mB:0.006229,\"2B\":0.004879,MC:0.008786,nB:0.00472},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"F\",\"IC\",\"JC\",\"KC\",\"LC\",\"B\",\"mB\",\"2B\",\"MC\",\"C\",\"nB\",\"G\",\"M\",\"N\",\"O\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"c\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"P\",\"Q\",\"R\",\"sB\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"\",\"\",\"\"],E:\"Opera\",F:{\"0\":1425945600,\"1\":1430179200,\"2\":1433808000,\"3\":1438646400,\"4\":1442448000,\"5\":1445904000,\"6\":1449100800,\"7\":1454371200,\"8\":1457308800,\"9\":1462320000,F:1150761600,IC:1223424000,JC:1251763200,KC:1267488000,LC:1277942400,B:1292457600,mB:1302566400,\"2B\":1309219200,MC:1323129600,C:1323129600,nB:1352073600,G:1372723200,M:1377561600,N:1381104000,O:1386288000,r:1390867200,s:1393891200,t:1399334400,u:1401753600,v:1405987200,w:1409616000,x:1413331200,y:1417132800,z:1422316800,AB:1465344000,BB:1470096000,CB:1474329600,DB:1477267200,EB:1481587200,FB:1486425600,GB:1490054400,HB:1494374400,IB:1498003200,JB:1502236800,KB:1506470400,LB:1510099200,MB:1515024000,NB:1517961600,OB:1521676800,PB:1525910400,QB:1530144000,RB:1534982400,SB:1537833600,TB:1543363200,UB:1548201600,VB:1554768000,WB:1561593600,XB:1566259200,c:1570406400,YB:1573689600,ZB:1578441600,aB:1583971200,bB:1587513600,cB:1592956800,dB:1595894400,eB:1600128000,fB:1603238400,gB:1613520000,hB:1612224000,iB:1616544000,jB:1619568000,kB:1623715200,lB:1627948800,P:1631577600,Q:1633392000,R:1635984000,sB:1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600},D:{F:\"o\",B:\"o\",C:\"o\",IC:\"o\",JC:\"o\",KC:\"o\",LC:\"o\",mB:\"o\",\"2B\":\"o\",MC:\"o\",nB:\"o\"}},G:{A:{E:0,uB:0,NC:0,\"3B\":0.0030538,OC:0.00458069,PC:0.00458069,QC:0.015269,RC:0.00916139,SC:0.0198497,TC:0.0641297,UC:0.00458069,VC:0.074818,WC:0.030538,XC:0.0244304,YC:0.0290111,ZC:0.427531,aC:0.0198497,bC:0.0106883,cC:0.04428,dC:0.140475,eC:0.432112,fC:0.916139,gC:0.230562,xB:0.322175,yB:0.426004,zB:1.04134,\"0B\":8.71401,oB:1.9132,\"1B\":0.0244304},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"uB\",\"NC\",\"3B\",\"OC\",\"PC\",\"QC\",\"E\",\"RC\",\"SC\",\"TC\",\"UC\",\"VC\",\"WC\",\"XC\",\"YC\",\"ZC\",\"aC\",\"bC\",\"cC\",\"dC\",\"eC\",\"fC\",\"gC\",\"xB\",\"yB\",\"zB\",\"0B\",\"oB\",\"1B\",\"\",\"\"],E:\"Safari on iOS\",F:{uB:1270252800,NC:1283904000,\"3B\":1299628800,OC:1331078400,PC:1359331200,QC:1394409600,E:1410912000,RC:1413763200,SC:1442361600,TC:1458518400,UC:1473724800,VC:1490572800,WC:1505779200,XC:1522281600,YC:1537142400,ZC:1553472000,aC:1568851200,bC:1572220800,cC:1580169600,dC:1585008000,eC:1600214400,fC:1619395200,gC:1632096000,xB:1639353600,yB:1647216000,zB:1652659200,\"0B\":1658275200,oB:1662940800,\"1B\":null}},H:{A:{hC:1.06906},B:\"o\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"hC\",\"\",\"\",\"\"],E:\"Opera Mini\",F:{hC:1426464000}},I:{A:{pB:0,I:0.024284,H:0,iC:0,jC:0.006071,kC:0,lC:0.024284,\"3B\":0.078923,mC:0,nC:0.309621},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"iC\",\"jC\",\"kC\",\"pB\",\"I\",\"lC\",\"3B\",\"mC\",\"nC\",\"H\",\"\",\"\",\"\"],E:\"Android Browser\",F:{iC:1256515200,jC:1274313600,kC:1291593600,pB:1298332800,I:1318896000,lC:1341792000,\"3B\":1374624000,mC:1386547200,nC:1401667200,H:1664323200}},J:{A:{D:0,A:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"D\",\"A\",\"\",\"\",\"\"],E:\"Blackberry Browser\",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,c:0.0111391,mB:0,\"2B\":0,nB:0},B:\"o\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"A\",\"B\",\"mB\",\"2B\",\"C\",\"nB\",\"c\",\"\",\"\",\"\"],E:\"Opera Mobile\",F:{A:1287100800,B:1300752000,mB:1314835200,\"2B\":1318291200,C:1330300800,nB:1349740800,c:1613433600},D:{c:\"webkit\"}},L:{A:{H:41.2317},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"H\",\"\",\"\",\"\"],E:\"Chrome for Android\",F:{H:1664323200}},M:{A:{b:0.297479},B:\"moz\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"b\",\"\",\"\",\"\"],E:\"Firefox for Android\",F:{b:1663632000}},N:{A:{A:0.0115934,B:0.022664},B:\"ms\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"A\",\"B\",\"\",\"\",\"\"],E:\"IE Mobile\",F:{A:1340150400,B:1353456000}},O:{A:{oC:0.710307},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"oC\",\"\",\"\",\"\"],E:\"UC Browser for Android\",F:{oC:1634688000},D:{oC:\"webkit\"}},P:{A:{I:0.166875,pC:0.0103543,qC:0.010304,rC:0.062578,sC:0.0103584,tC:0.0104443,vB:0.0105043,uC:0.031289,vC:0.0208593,wC:0.062578,xC:0.062578,yC:0.062578,oB:0.114726,zC:0.239882,\"0C\":2.02336},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"I\",\"pC\",\"qC\",\"rC\",\"sC\",\"tC\",\"vB\",\"uC\",\"vC\",\"wC\",\"xC\",\"yC\",\"oB\",\"zC\",\"0C\",\"\",\"\",\"\"],E:\"Samsung Internet\",F:{I:1461024000,pC:1481846400,qC:1509408000,rC:1528329600,sC:1546128000,tC:1554163200,vB:1567900800,uC:1582588800,vC:1593475200,wC:1605657600,xC:1618531200,yC:1629072000,oB:1640736000,zC:1651708800,\"0C\":1659657600}},Q:{A:{wB:0.139633},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"wB\",\"\",\"\",\"\"],E:\"QQ Browser\",F:{wB:1663718400}},R:{A:{\"1C\":0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1C\",\"\",\"\",\"\"],E:\"Baidu Browser\",F:{\"1C\":1663027200}},S:{A:{\"2C\":0.024284},B:\"moz\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"2C\",\"\",\"\",\"\"],E:\"KaiOS Browser\",F:{\"2C\":1527811200}}};\n","module.exports={\"0\":\"28\",\"1\":\"29\",\"2\":\"30\",\"3\":\"31\",\"4\":\"32\",\"5\":\"33\",\"6\":\"34\",\"7\":\"35\",\"8\":\"36\",\"9\":\"37\",A:\"10\",B:\"11\",C:\"12\",D:\"7\",E:\"8\",F:\"9\",G:\"15\",H:\"106\",I:\"4\",J:\"6\",K:\"13\",L:\"14\",M:\"16\",N:\"17\",O:\"18\",P:\"79\",Q:\"80\",R:\"81\",S:\"83\",T:\"84\",U:\"85\",V:\"86\",W:\"87\",X:\"88\",Y:\"89\",Z:\"90\",a:\"91\",b:\"105\",c:\"64\",d:\"92\",e:\"93\",f:\"94\",g:\"95\",h:\"96\",i:\"97\",j:\"98\",k:\"99\",l:\"100\",m:\"101\",n:\"102\",o:\"103\",p:\"104\",q:\"5\",r:\"19\",s:\"20\",t:\"21\",u:\"22\",v:\"23\",w:\"24\",x:\"25\",y:\"26\",z:\"27\",AB:\"38\",BB:\"39\",CB:\"40\",DB:\"41\",EB:\"42\",FB:\"43\",GB:\"44\",HB:\"45\",IB:\"46\",JB:\"47\",KB:\"48\",LB:\"49\",MB:\"50\",NB:\"51\",OB:\"52\",PB:\"53\",QB:\"54\",RB:\"55\",SB:\"56\",TB:\"57\",UB:\"58\",VB:\"60\",WB:\"62\",XB:\"63\",YB:\"65\",ZB:\"66\",aB:\"67\",bB:\"68\",cB:\"69\",dB:\"70\",eB:\"71\",fB:\"72\",gB:\"73\",hB:\"74\",iB:\"75\",jB:\"76\",kB:\"77\",lB:\"78\",mB:\"11.1\",nB:\"12.1\",oB:\"16.0\",pB:\"3\",qB:\"59\",rB:\"61\",sB:\"82\",tB:\"107\",uB:\"3.2\",vB:\"10.1\",wB:\"13.1\",xB:\"15.2-15.3\",yB:\"15.4\",zB:\"15.5\",\"0B\":\"15.6\",\"1B\":\"16.1\",\"2B\":\"11.5\",\"3B\":\"4.2-4.3\",\"4B\":\"5.5\",\"5B\":\"2\",\"6B\":\"3.5\",\"7B\":\"3.6\",\"8B\":\"108\",\"9B\":\"109\",AC:\"3.1\",BC:\"5.1\",CC:\"6.1\",DC:\"7.1\",EC:\"9.1\",FC:\"14.1\",GC:\"15.1\",HC:\"TP\",IC:\"9.5-9.6\",JC:\"10.0-10.1\",KC:\"10.5\",LC:\"10.6\",MC:\"11.6\",NC:\"4.0-4.1\",OC:\"5.0-5.1\",PC:\"6.0-6.1\",QC:\"7.0-7.1\",RC:\"8.1-8.4\",SC:\"9.0-9.2\",TC:\"9.3\",UC:\"10.0-10.2\",VC:\"10.3\",WC:\"11.0-11.2\",XC:\"11.3-11.4\",YC:\"12.0-12.1\",ZC:\"12.2-12.5\",aC:\"13.0-13.1\",bC:\"13.2\",cC:\"13.3\",dC:\"13.4-13.7\",eC:\"14.0-14.4\",fC:\"14.5-14.8\",gC:\"15.0-15.1\",hC:\"all\",iC:\"2.1\",jC:\"2.2\",kC:\"2.3\",lC:\"4.1\",mC:\"4.4\",nC:\"4.4.3-4.4.4\",oC:\"13.4\",pC:\"5.0-5.4\",qC:\"6.2-6.4\",rC:\"7.2-7.4\",sC:\"8.2\",tC:\"9.2\",uC:\"11.1-11.2\",vC:\"12.0\",wC:\"13.0\",xC:\"14.0\",yC:\"15.0\",zC:\"17.0\",\"0C\":\"18.0\",\"1C\":\"13.18\",\"2C\":\"2.5\"};\n","module.exports={A:\"ie\",B:\"edge\",C:\"firefox\",D:\"chrome\",E:\"safari\",F:\"opera\",G:\"ios_saf\",H:\"op_mini\",I:\"android\",J:\"bb\",K:\"op_mob\",L:\"and_chr\",M:\"and_ff\",N:\"ie_mob\",O:\"and_uc\",P:\"samsung\",Q:\"and_qq\",R:\"baidu\",S:\"kaios\"};\n","'use strict'\n\nconst browsers = require('./browsers').browsers\nconst versions = require('./browserVersions').browserVersions\nconst agentsData = require('../../data/agents')\n\nfunction unpackBrowserVersions(versionsData) {\n return Object.keys(versionsData).reduce((usage, version) => {\n usage[versions[version]] = versionsData[version]\n return usage\n }, {})\n}\n\nmodule.exports.agents = Object.keys(agentsData).reduce((map, key) => {\n let versionsData = agentsData[key]\n map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => {\n if (entry === 'A') {\n data.usage_global = unpackBrowserVersions(versionsData[entry])\n } else if (entry === 'C') {\n data.versions = versionsData[entry].reduce((list, version) => {\n if (version === '') {\n list.push(null)\n } else {\n list.push(versions[version])\n }\n return list\n }, [])\n } else if (entry === 'D') {\n data.prefix_exceptions = unpackBrowserVersions(versionsData[entry])\n } else if (entry === 'E') {\n data.browser = versionsData[entry]\n } else if (entry === 'F') {\n data.release_date = Object.keys(versionsData[entry]).reduce(\n (map2, key2) => {\n map2[versions[key2]] = versionsData[entry][key2]\n return map2\n },\n {}\n )\n } else {\n // entry is B\n data.prefix = versionsData[entry]\n }\n return data\n }, {})\n return map\n}, {})\n","module.exports.browserVersions = require('../../data/browserVersions')\n","module.exports.browsers = require('../../data/browsers')\n","module.exports = {\n\t\"0.20\": \"39\",\n\t\"0.21\": \"41\",\n\t\"0.22\": \"41\",\n\t\"0.23\": \"41\",\n\t\"0.24\": \"41\",\n\t\"0.25\": \"42\",\n\t\"0.26\": \"42\",\n\t\"0.27\": \"43\",\n\t\"0.28\": \"43\",\n\t\"0.29\": \"43\",\n\t\"0.30\": \"44\",\n\t\"0.31\": \"45\",\n\t\"0.32\": \"45\",\n\t\"0.33\": \"45\",\n\t\"0.34\": \"45\",\n\t\"0.35\": \"45\",\n\t\"0.36\": \"47\",\n\t\"0.37\": \"49\",\n\t\"1.0\": \"49\",\n\t\"1.1\": \"50\",\n\t\"1.2\": \"51\",\n\t\"1.3\": \"52\",\n\t\"1.4\": \"53\",\n\t\"1.5\": \"54\",\n\t\"1.6\": \"56\",\n\t\"1.7\": \"58\",\n\t\"1.8\": \"59\",\n\t\"2.0\": \"61\",\n\t\"2.1\": \"61\",\n\t\"3.0\": \"66\",\n\t\"3.1\": \"66\",\n\t\"4.0\": \"69\",\n\t\"4.1\": \"69\",\n\t\"4.2\": \"69\",\n\t\"5.0\": \"73\",\n\t\"6.0\": \"76\",\n\t\"6.1\": \"76\",\n\t\"7.0\": \"78\",\n\t\"7.1\": \"78\",\n\t\"7.2\": \"78\",\n\t\"7.3\": \"78\",\n\t\"8.0\": \"80\",\n\t\"8.1\": \"80\",\n\t\"8.2\": \"80\",\n\t\"8.3\": \"80\",\n\t\"8.4\": \"80\",\n\t\"8.5\": \"80\",\n\t\"9.0\": \"83\",\n\t\"9.1\": \"83\",\n\t\"9.2\": \"83\",\n\t\"9.3\": \"83\",\n\t\"9.4\": \"83\",\n\t\"10.0\": \"85\",\n\t\"10.1\": \"85\",\n\t\"10.2\": \"85\",\n\t\"10.3\": \"85\",\n\t\"10.4\": \"85\",\n\t\"11.0\": \"87\",\n\t\"11.1\": \"87\",\n\t\"11.2\": \"87\",\n\t\"11.3\": \"87\",\n\t\"11.4\": \"87\",\n\t\"11.5\": \"87\",\n\t\"12.0\": \"89\",\n\t\"12.1\": \"89\",\n\t\"12.2\": \"89\",\n\t\"13.0\": \"91\",\n\t\"13.1\": \"91\",\n\t\"13.2\": \"91\",\n\t\"13.3\": \"91\",\n\t\"13.4\": \"91\",\n\t\"13.5\": \"91\",\n\t\"13.6\": \"91\",\n\t\"14.0\": \"93\",\n\t\"14.1\": \"93\",\n\t\"14.2\": \"93\",\n\t\"15.0\": \"94\",\n\t\"15.1\": \"94\",\n\t\"15.2\": \"94\",\n\t\"15.3\": \"94\",\n\t\"15.4\": \"94\",\n\t\"15.5\": \"94\",\n\t\"16.0\": \"96\",\n\t\"16.1\": \"96\",\n\t\"16.2\": \"96\",\n\t\"17.0\": \"98\",\n\t\"17.1\": \"98\",\n\t\"17.2\": \"98\",\n\t\"17.3\": \"98\",\n\t\"17.4\": \"98\",\n\t\"18.0\": \"100\",\n\t\"18.1\": \"100\",\n\t\"18.2\": \"100\",\n\t\"18.3\": \"100\",\n\t\"19.0\": \"102\",\n\t\"19.1\": \"102\",\n\t\"20.0\": \"104\",\n\t\"20.1\": \"104\",\n\t\"20.2\": \"104\",\n\t\"20.3\": \"104\",\n\t\"21.0\": \"106\",\n\t\"21.1\": \"106\",\n\t\"22.0\": \"108\"\n};","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import { data, defaults } from \"browserslist\";\r\nimport regeneratorRuntime from \"regenerator-runtime\";\r\n// import axios from \"axios\";\r\n\r\nclass BPlayer {\r\n /**\r\n *\r\n * @param {string} selector\r\n * @param {object} options\r\n * @param {object} infos\r\n */\r\n constructor(wrapperr = false, optionss = false, infoss = false, editing = false) {\r\n this.isQuickPlayer = false;\r\n\r\n if (!wrapperr) {\r\n this.quickPlayer();\r\n this.isQuickPlayer = true;\r\n return false;\r\n }\r\n\r\n this.hlsVideo = false;\r\n this.dashVideo = false;\r\n this.videoId = null;\r\n this.player = null;\r\n this.poster = null;\r\n this.wrapper = null;\r\n this.canvas = null;\r\n this.canvasVideo = null;\r\n const $ = jQuery;\r\n this.ajaxUrl = (typeof h5vpData != \"undefined\" && h5vpData?.ajax_url) || (typeof h5vpAdmin != \"undefined\" && h5vpAdmin?.ajaxUrl);\r\n this.nonce = null;\r\n this.triedFroThumb = 0;\r\n this.touchClientX = 0;\r\n this.touchClientY = 0;\r\n this.options = null;\r\n this.local = typeof hpublic !== \"undefined\" ? hpublic : typeof h5vpBlock !== \"undefined\" ? h5vpBlock : {};\r\n\r\n const { wrapper, options, infos, mediaElement } = this.getDetectorData(wrapperr, optionss, infoss);\r\n if (!wrapper) return false;\r\n\r\n this.infos = infos;\r\n this.wrapper = wrapper;\r\n this.options = options;\r\n this.poster = mediaElement?.dataset?.poster;\r\n\r\n // mediaElement.dataset.poster = \"\";\r\n\r\n if (!this.poster) {\r\n this.poster = infos?.video?.poster;\r\n }\r\n\r\n let windowWidth = window.innerWidth;\r\n // const data = $(wrapper).attr(\"data-settings\");\r\n const videoId = wrapper.getAttribute(\"video-id\");\r\n this.videoId = videoId;\r\n\r\n options.seekTime = parseInt(options?.seekTime);\r\n if (typeof h5vpI18n != \"undefined\") {\r\n options.i18n = h5vpI18n;\r\n }\r\n\r\n //Set Controls Base On Device\r\n options.controls = !Array.isArray(options.controls) ? this.getControls(options.controls) : options.controls;\r\n // Set quality\r\n options.quality = {\r\n default: 576,\r\n options: [7680, 4320, 3840, 2880, 2560, 2160, 2048, 1920, 1440, 1280, 1080, 768, 720, 640, 576, 432, 480, 360, 240],\r\n };\r\n\r\n if (infos?.isCDURL) {\r\n options.urls = { download: infos?.CDURL };\r\n }\r\n\r\n const controls = options.controls;\r\n if (!controls.includes(\"fullscreen\")) {\r\n options.fullscreen = {\r\n enabled: false,\r\n };\r\n }\r\n\r\n if (typeof hpublic != \"undefined\" && hpublic?.speed && !options?.speed) {\r\n let temp = [];\r\n let speed = [];\r\n if (typeof hpublic?.speed === \"string\") {\r\n temp = hpublic?.speed?.split(\",\");\r\n }\r\n temp.map((item) => {\r\n speed.push(parseFloat(item));\r\n });\r\n options.speed = { selected: 1, options: speed };\r\n }\r\n\r\n // only for quick player\r\n if (mediaElement?.classList?.contains(\"h5vp_quick_player\")) {\r\n options.autoplay = infos?.autoplay || false;\r\n options.resetOnEnd = infos?.resetOnEnd || false;\r\n options.muted = infos?.muted || false;\r\n options.repeat = infos?.repeat || false;\r\n }\r\n\r\n if (typeof Plyr === \"undefined\") {\r\n console.error(\"Plyr not found\");\r\n return false;\r\n }\r\n\r\n options.clickToPlay = true;\r\n\r\n options.playsinline = true;\r\n options.fullscreen = {\r\n iosNative: true,\r\n };\r\n\r\n // initialize player\r\n const player = new Plyr(mediaElement, options);\r\n this.player = player;\r\n if (options.muted) {\r\n player.volume = 0;\r\n }\r\n\r\n this.hlsVideo = infos?.video?.source?.includes(\".m3u8\");\r\n this.dashVideo = infos?.video?.source?.includes(\".mpd\");\r\n if (infos?.streaming && infos?.streamingType === \"hls\") this.hlsVideo = true;\r\n if (infos?.streaming && infos?.streamingType === \"dash\") this.dashVideo = true;\r\n\r\n //set download url\r\n player.download = player.source;\r\n player.on(\"qualitychange\", function () {\r\n setTimeout(() => {\r\n player.download = player.source;\r\n }, 0);\r\n });\r\n\r\n //generate thumb/poster if not exists\r\n player.on(\"ready\", () => {\r\n setTimeout(() => {\r\n try {\r\n this.wrapper.querySelector(\"video\").dataset.poster = \"\";\r\n } catch (error) {}\r\n }, 2000);\r\n // !this.poster && this.getThumbnailFromSource(infos?.posterTime || 10);\r\n this.controlTouchAction();\r\n });\r\n\r\n //orientation\r\n if (window?.innerWidth < 992) {\r\n player.on(\"enterfullscreen\", (event) => {\r\n screen?.orientation?.lock(\"landscape\");\r\n });\r\n\r\n player.on(\"exitfullscreen\", (event) => {\r\n screen?.orientation?.lock(\"portrait\");\r\n });\r\n }\r\n\r\n //pause/play video when press spacebar\r\n wrapper.addEventListener(\"keydown\", (e) => {\r\n if (e.code === \"Space\") {\r\n e.preventDefault();\r\n player.togglePlay();\r\n }\r\n });\r\n\r\n //end temp data\r\n\r\n //set player exact height\r\n if (infos?.popup) {\r\n this.setHeight(wrapper, player);\r\n }\r\n\r\n // disable pause\r\n if (infos?.disablePause === true) {\r\n this.disablePause(player);\r\n }\r\n\r\n //Count Total Views by post id\r\n // console.log(infos.count);\r\n if (infos?.analyticsEnabled) {\r\n this.countViews(player, infos.id);\r\n }\r\n\r\n // count totla views by video url\r\n // this.countViewByURL(player);\r\n\r\n // Do Sticky if Sticky is enabled\r\n if (infos?.sticky && windowWidth > 768 && !infos?.popup) {\r\n this.doSticky(wrapper, player);\r\n }\r\n\r\n //Password Controller\r\n if (infos.protected) {\r\n this.passwordController(wrapper, player, infos);\r\n } else {\r\n this.setSource(wrapper, player, infos);\r\n }\r\n\r\n // Popup Controler\r\n if (infos?.popup) {\r\n this.popupController(wrapper, player);\r\n }\r\n\r\n //set start time\r\n // if (infos?.provider === \"library\" && infos.startTime) {\r\n // setTimeout(() => {\r\n // player.currentTime = infos.startTime;\r\n\r\n // }, 500);\r\n // }\r\n\r\n this.endScreen(wrapper, player, infos);\r\n\r\n //disable other player\r\n if (this.local?.pauseOther) {\r\n this.pauseOther(player, false);\r\n }\r\n\r\n //watermark\r\n this.watermark(wrapper, player, infos?.watermark || {});\r\n\r\n //autoplay=\r\n player.volume = videoId ? parseFloat(this.localStorageGetItem(`volume${videoId}`, (options?.autoplay || options?.muted) ? 0 : 0.5)) : this.localStorageGetItem('plyr')?.volume || 0.5;\r\n // player.on(\"ready\", () => {\r\n // });\r\n\r\n player.on(\"volumechange\", function () {\r\n localStorage.setItem(`volume${videoId}`, player.volume);\r\n });\r\n\r\n if (infos?.thumbInPause) {\r\n this.thumbInPause(wrapper, player, infos);\r\n }\r\n\r\n //hide icon\r\n if (infos?.provider !== \"library\") this.hideYoutubeVimeoIcon(wrapper, player);\r\n\r\n player.on(\"ready\", () => {\r\n // set duration if missing\r\n if (typeof player.elements.display.duration !== \"undefined\") {\r\n player.elements.display.duration.innerText = this.toHHMMSS(player.duration);\r\n }\r\n\r\n if (wrapper.getAttribute(\"data-settings\")) {\r\n wrapper.removeAttribute(\"data-settings\");\r\n }\r\n\r\n // if (!this.poster && typeof h5vpAdmin !== \"undefined\") this.getThumbnailFromSource({ player, time: infos?.posterTime || 20, wrapper });\r\n\r\n setTimeout(() => {\r\n if (infos?.startTime) {\r\n player.currentTime = infos.startTime;\r\n } else {\r\n // const currentTime = localStorage.getItem(`video-progress-${videoId}`);\r\n // const thumbTime = player?.duration > 1000 ? 5 : player.duration > 500 ? 2 : 0.45;\r\n const currentTime = parseFloat(this.localStorageGetItem(`video-progress-${videoId}`, 0));\r\n if (currentTime > 5) player.currentTime = currentTime;\r\n }\r\n player.on(\"timeupdate\", function () {\r\n localStorage.setItem(`video-progress-${videoId}`, player.currentTime);\r\n });\r\n }, 500);\r\n\r\n //create chapter\r\n setTimeout(() => {\r\n if (infos?.chapters?.length) {\r\n this.createChapter(wrapper, player, infos?.chapters);\r\n }\r\n }, 1000);\r\n });\r\n\r\n player.on(\"pause\", () => {\r\n !document.hidden && !editing && this.createView(player, videoId, infos?.provider);\r\n });\r\n\r\n setInterval(() => {\r\n !document.hidden && !editing && this.createView(player, videoId, infos?.provider, true);\r\n }, 10000);\r\n\r\n player.on(\"play\", function () {\r\n if (location?.href?.includes(\"wp-admin\")) {\r\n player.pause();\r\n }\r\n });\r\n\r\n if (infos?.captionEnabled && player.captions.currentTrack === -1 && player?.toggleCaptions) {\r\n setTimeout(() => {\r\n player.toggleCaptions();\r\n }, 1000);\r\n }\r\n\r\n this.setVideoId();\r\n\r\n if (infos?.autoplayWhenVisible) {\r\n let scrollPlayed = false;\r\n window.addEventListener(\"scroll\", function () {\r\n if (player.elements.container.offsetParent.offsetTop < window.scrollY && !scrollPlayed) {\r\n player.muted = true;\r\n player.play();\r\n scrollPlayed = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n quickPlayer() {\r\n if (typeof h5vpData == \"undefined\") return;\r\n if (typeof h5vpData.quickPlayer != \"undefined\") {\r\n const options = h5vpData.quickPlayer.options;\r\n if (typeof h5vpI18n != \"undefined\") {\r\n options.i18n = h5vpI18n;\r\n }\r\n options.controls = this.getControls(options.controls);\r\n if (typeof h5vpData.globalWorking != \"undefined\" && h5vpData.globalWorking == 1) {\r\n setTimeout(() => {\r\n const videos = document.querySelectorAll(\"video:not(.h5vp_player video):not(a video):not(.h5vp_video_playlist video):not(.plyr__video-wrapper video), .h5vp_quick_player\");\r\n Object.values(videos).map((item) => {\r\n const video = new BPlayer(item, options);\r\n video?.player.on(\"ready\", () => {\r\n if (video?.player.elements.display.duration) {\r\n video.player.elements.display.duration.innerText = this.toHHMMSS(player.duration);\r\n }\r\n });\r\n });\r\n }, 100);\r\n } else {\r\n const videos = document.querySelectorAll(\".h5vp_quick_player\");\r\n Object.values(videos).map((item) => {\r\n new BPlayer(item, options);\r\n });\r\n }\r\n }\r\n }\r\n\r\n getVideoId() {\r\n return this.videoId;\r\n }\r\n\r\n setVideoId() {\r\n if (!this.videoId && this.infos?.video?.source) {\r\n const data = new FormData();\r\n data.append(\"action\", \"createVideo\");\r\n data.append(\"source\", this.infos?.video?.source);\r\n data.append(\"title\", this.infos?.video?.source);\r\n fetch(this.ajaxUrl, {\r\n method: \"POST\",\r\n body: data,\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n this.videoId = data?.videoId;\r\n });\r\n }\r\n }\r\n\r\n disablePause(player) {\r\n player.on(\"pause\", function () {\r\n player.play();\r\n });\r\n player.on(\"ended\", function () {\r\n player.source = {\r\n type: \"video\",\r\n sources: [\r\n {\r\n src: player.source,\r\n type: \"video/mp4\",\r\n size: 720,\r\n },\r\n ],\r\n poster: player.poster,\r\n };\r\n });\r\n }\r\n\r\n createChapter(wrapper, player, chapters) {\r\n const exists = wrapper.querySelector(\".h5vp-chapter-wrapper\");\r\n if (!chapters || exists) {\r\n return false;\r\n }\r\n const progressContainer = wrapper.querySelector(\".plyr__progress__container\");\r\n const chapterWrapper = document.createElement(\"div\");\r\n const chapterListWrapper = document.createElement(\"div\");\r\n const chapterButton = document.createElement(\"button\");\r\n const chapterList = document.createElement(\"div\");\r\n\r\n chapterButton.classList = \"h5vp-chapter-button plyr__controls__item plyr__control\";\r\n chapterButton.innerHTML = `Chapter`;\r\n chapterWrapper.classList = \"h5vp-chapter-wrapper\";\r\n chapterListWrapper.classList = \"h5vp-chapter-list-wrapper\";\r\n chapterList.classList = \"h5vp-chapter-list\";\r\n\r\n const volumeElem = wrapper.querySelector(\".plyr__controls__item.plyr__volume\");\r\n const menu = wrapper.querySelector(\".plyr__controls__item.plyr__menu\");\r\n const fullscreen = wrapper.querySelector(\".plyr__controls__item[data-plyr='fullscreen']\");\r\n const duration = wrapper.querySelector(\".plyr__controls__item.plyr__time--current.plyr__time\");\r\n\r\n if (volumeElem) {\r\n volumeElem.before(chapterButton);\r\n } else if (menu) {\r\n menu.before(chapterButton);\r\n } else if (fullscreen) {\r\n fullscreen.before(chapterButton);\r\n } else if (duration) {\r\n duration.before(chapterButton);\r\n }\r\n\r\n chapters.map((chapter) => {\r\n if (chapter?.name != \"\" && chapter?.time != \"\") {\r\n const time = this.chapterTimeToSeconds(chapter?.time);\r\n const left = (time / player.duration) * 100;\r\n const chapterElement = document.createElement(\"div\");\r\n const chapterItem = document.createElement(\"button\");\r\n\r\n chapterElement.innerHTML = `${chapter?.name}`;\r\n chapterElement.classList = \"h5vp-chapter-marker plyr__controls__item plyr__control\";\r\n chapterElement.style.left = `calc(${left}% - ${this.getTTT(5, left)}px)`;\r\n\r\n //chapter item\r\n chapterItem.innerHTML = `${chapter?.name}`;\r\n\r\n chapterWrapper.appendChild(chapterElement);\r\n chapterList.appendChild(chapterItem);\r\n\r\n chapterElement.onclick = () => {\r\n player.currentTime = time;\r\n player.play();\r\n };\r\n\r\n chapterItem.onclick = () => {\r\n chapterList.classList.remove(\"showing\");\r\n player.currentTime = time;\r\n player.play();\r\n };\r\n\r\n chapterButton.onclick = () => {\r\n if (chapterList.classList.contains(\"showing\")) {\r\n chapterList.classList.remove(\"showing\");\r\n } else {\r\n chapterList.classList.add(\"showing\");\r\n }\r\n };\r\n\r\n wrapper.addEventListener(\"click\", function (event) {\r\n if (!chapterList.contains(event.target) && !chapterButton.contains(event.target)) {\r\n if (chapterList.classList.contains(\"showing\")) {\r\n chapterList.classList.remove(\"showing\");\r\n }\r\n }\r\n });\r\n\r\n this.onClick(wrapper.querySelector(\".plyr__controls__item.plyr__menu button\"), function () {\r\n if (chapterList.classList.contains(\"showing\")) {\r\n chapterList.classList.remove(\"showing\");\r\n }\r\n });\r\n }\r\n });\r\n\r\n progressContainer.appendChild(chapterWrapper);\r\n chapterListWrapper.appendChild(chapterList);\r\n wrapper.querySelector(\".plyr__controls\").after(chapterListWrapper);\r\n }\r\n\r\n getTTT(f = 10, s = 10) {\r\n return (f / 100) * s - (f / 100) * (100 - s);\r\n }\r\n\r\n onClick(element, callback) {\r\n if (element) {\r\n element.onclick = () => callback();\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {String} value\r\n */\r\n chapterTimeToSeconds(value = \"\") {\r\n const time = value.match(/(\\d+):(\\d+)/);\r\n if (time == null) {\r\n return parseInt(value);\r\n }\r\n return parseInt(time[1]) * 60 + parseInt(time[2]);\r\n }\r\n\r\n /**\r\n *\r\n * @param {media player} player\r\n * @param {int} videoId\r\n * @param {string} type\r\n * @param {boolean} interval\r\n */\r\n createView(player, videoId, type = \"library\", interval = false) {\r\n let pending = false;\r\n const currentTime = parseInt(localStorage.getItem(`video-progress-${videoId}`));\r\n let maxViewed = localStorage.getItem(`video-progress-max-${videoId}`);\r\n let created_at = new Date();\r\n\r\n if (!maxViewed) {\r\n localStorage.setItem(`video-progress-max-${videoId}`, JSON.stringify({ currentTime, created_at }));\r\n } else {\r\n maxViewed = JSON.parse(maxViewed);\r\n }\r\n\r\n const viewCreated = (created_at - new Date(maxViewed?.created_at)) / (1000 * 60);\r\n let condition = false;\r\n if (interval) {\r\n condition = player.playing && (currentTime >= maxViewed?.currentTime || viewCreated > 1440);\r\n } else {\r\n condition = currentTime >= maxViewed?.currentTime || viewCreated > 1440;\r\n }\r\n\r\n if (condition) {\r\n if (viewCreated > 1440) {\r\n maxViewed.created_at = created_at;\r\n }\r\n\r\n maxViewed.currentTime = player.currentTime;\r\n localStorage.setItem(`video-progress-max-${videoId}`, JSON.stringify(maxViewed));\r\n\r\n const restUrl = hpublic?.siteUrl + \"/wp-json/h5vp/v1/view\" || h5vpBlock?.siteUrl + \"/wp-json/h5vp/v1/view\";\r\n\r\n if (!pending) {\r\n pending = true;\r\n const body = new FormData();\r\n body.append(\"duration\", parseInt(player.currentTime));\r\n body.append(\"video_id\", videoId);\r\n body.append(\"user_id\", hpublic?.userId || h5vpBlock?.userId);\r\n body.append(\"type\", type);\r\n\r\n fetch(restUrl, {\r\n method: \"POST\",\r\n body,\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n pending = false;\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Count total views\r\n * @param {player object} player\r\n * @param {int} id\r\n */\r\n countViews(player, id) {\r\n let i = 0;\r\n player.on(\"play\", (event) => {\r\n if (i < 1) {\r\n jQuery.post(\r\n h5vpData.ajax_url,\r\n {\r\n action: \"video_played\",\r\n data: 1,\r\n id: id,\r\n },\r\n function (data) {}\r\n );\r\n }\r\n i++;\r\n });\r\n }\r\n\r\n /**\r\n * Do sticky if sticky is enabeld\r\n * @param {player object} player\r\n * @param {int} id\r\n */\r\n doSticky(wrapper, player) {\r\n let $ = jQuery;\r\n wrapper = $(wrapper);\r\n const videoWrapper = wrapper.find(\".h5vp_wrapper\");\r\n let sticky;\r\n let videoHeight = 450;\r\n const closeBtn = document.createElement(\"span\");\r\n closeBtn.classList.add(\"sticky_close\");\r\n closeBtn.innerHTML = \"×\";\r\n\r\n $(videoWrapper).append(closeBtn);\r\n setTimeout(() => {\r\n if (typeof wrapper.find(\"video\")[0] !== \"undefined\") {\r\n videoHeight = wrapper.height() ? wrapper.height() : 450;\r\n }\r\n }, 1000);\r\n $(window).on(\"scroll\", () => {\r\n if (player.playing == true) {\r\n sticky = parseInt($(videoWrapper).parent().offset().top);\r\n if (parseInt(window.pageYOffset - 100) > sticky) {\r\n $(videoWrapper).addClass(`video-sticky in ${this.infos?.stickyPosition}`);\r\n $(videoWrapper).parent().find(\".sticky_close\").show();\r\n setTimeout(() => {\r\n wrapper.height(videoHeight);\r\n }, 1100);\r\n wrapper.find(\"button[data-plyr=restart],button[data-plyr=fast-forward], button[data-plyr=pip],a[data-plyr=download],button[data-plyr=settings], button[data-plyr=rewind]\").hide();\r\n } else {\r\n wrapper.height(\"initial\");\r\n $(videoWrapper).removeClass(\"video-sticky in\");\r\n wrapper.find(\".sticky_close\").hide();\r\n wrapper.find(\"button[data-plyr=restart],button[data-plyr=fast-forward], button[data-plyr=pip],a[data-plyr=download],button[data-plyr=settings], button[data-plyr=rewind]\").show();\r\n }\r\n }\r\n if (parseInt(window.pageYOffset + 100) < sticky) {\r\n wrapper.height(\"initial\");\r\n $(videoWrapper).removeClass(\"video-sticky in\");\r\n wrapper.find(\".plyr--paused\").removeClass(\"video-sticky in\");\r\n wrapper.find(\".sticky_close\").hide();\r\n wrapper.find(\"button[data-plyr=restart],button[data-plyr=fast-forward], button[data-plyr=pip],a[data-plyr=download],button[data-plyr=settings], button[data-plyr=rewind]\").show();\r\n }\r\n });\r\n\r\n closeBtn.addEventListener(\"click\", function () {\r\n $(videoWrapper).removeClass(\"video-sticky in\");\r\n wrapper.find(\"button[data-plyr=restart],button[data-plyr=fast-forward], button[data-plyr=pip],a[data-plyr=download],button[data-plyr=settings], button[data-plyr=rewind]\").show();\r\n player.pause();\r\n $(this).hide();\r\n });\r\n\r\n wrapper.parents(\".et_pb_column\").css(\"z-index\", \"999999999\");\r\n }\r\n /**\r\n *\r\n * @param {object} player\r\n * @param {object} infos\r\n */\r\n passwordController(wrapper, player, infos) {\r\n let myClass = this;\r\n let $ = jQuery;\r\n wrapper = $(wrapper);\r\n\r\n wrapper.find(\".password_form form\").on(\"submit\", function (e) {\r\n e.preventDefault();\r\n let newThis = this;\r\n let form = $(newThis).parent();\r\n let overlay = $(newThis).parent().parent().find(\".video_overlay\");\r\n const password = myClass.scramble(\"decode\", infos?.propagans);\r\n const givenPassword = $(this).find(\"#password\").val();\r\n if (password === givenPassword) {\r\n $(newThis).find(\".notice\").addClass(\"success\").text(\"Success\");\r\n $(newThis).find(\".notice\").fadeIn();\r\n setTimeout(() => {\r\n form.hide();\r\n overlay.hide();\r\n }, 1000);\r\n infos.video.source = myClass.scramble(\"decode\", infos?.video?.source);\r\n myClass.setSource(wrapper, player, infos);\r\n return false;\r\n } else {\r\n $(newThis).find(\".notice\").addClass(\"error\").text(\"Wrong Password\");\r\n setTimeout(() => {\r\n $(newThis).find(\".notice\").fadeOut();\r\n }, 1000);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {array with object} VideoQuality\r\n */\r\n getQuality(VideoQuality) {\r\n if (typeof VideoQuality === \"object\" && VideoQuality !== null) {\r\n let V = [];\r\n let length = VideoQuality.length;\r\n for (let i = 0; i < length; i++) {\r\n V[i] = {\r\n src: VideoQuality[i].video_file,\r\n size: VideoQuality[i].size,\r\n type: \"video/mp4\",\r\n };\r\n }\r\n return V;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {string} subtitle\r\n */\r\n getSubtitle(subtitle) {\r\n if (typeof subtitle === \"object\" && subtitle !== null) {\r\n let videoSubtitle = [];\r\n let length = subtitle.length;\r\n for (let i = 0; i < length; i++) {\r\n if (subtitle[i].label == \"\") continue;\r\n videoSubtitle[i] = {\r\n kind: \"captions\",\r\n label: subtitle[i].label,\r\n src: subtitle[i].caption_file,\r\n srclang: subtitle[i].label,\r\n };\r\n if (i === 0) {\r\n videoSubtitle[i].default = \"\";\r\n }\r\n }\r\n return videoSubtitle;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {object} oldControls\r\n */\r\n getControls(oldControls) {\r\n let windowWidth = window.innerWidth;\r\n let controls = [];\r\n for (let [key, value] of Object.entries(oldControls)) {\r\n if ((value == \"show\" || value == \"mobile\") && windowWidth > 576) {\r\n controls.push(key);\r\n } else if (value != \"mobile\" && value != \"hide\" && windowWidth < 576) {\r\n controls.push(key);\r\n }\r\n }\r\n return controls;\r\n }\r\n\r\n /**\r\n *\r\n * @param {object} player\r\n * @param {object} infos\r\n */\r\n setSource(wrapper, media, infos, resolution = 720) {\r\n const $ = jQuery;\r\n const thisClass = this;\r\n if (!infos.streaming && !this.hlsVideo && !this.dashVideo) {\r\n if (infos?.provider == \"library\" && infos.protected) {\r\n let sources = this.getQuality(infos?.video?.quality) ? this.getQuality(infos?.video?.quality) : [];\r\n let tracks = this.getSubtitle(infos?.video?.subtitle) ? this.getSubtitle(infos?.video?.subtitle) : [];\r\n\r\n if (infos?.video?.source) {\r\n sources.push({ src: infos?.video?.source, type: \"video/mp4\", size: 720 });\r\n }\r\n\r\n const source = { type: \"video\", tracks, sources };\r\n if (this.poster) {\r\n source.poster = this.poster;\r\n }\r\n\r\n media.source = source;\r\n\r\n return false;\r\n } else if (infos.provider == \"youtube\") {\r\n if (this.poster) {\r\n this.player.on(\"ready\", () => {\r\n const posterElement = this.wrapper.querySelector(\".plyr__poster\");\r\n setTimeout(() => {\r\n posterElement.style.backgroundImage = `url(${this.poster})`;\r\n }, 0);\r\n });\r\n }\r\n } else if (infos.provider == \"vimeo\") {\r\n media.source = {\r\n type: \"video\",\r\n sources: [{ src: infos?.video?.source, provider: \"vimeo\" }],\r\n poster: this.poster,\r\n };\r\n }\r\n } else {\r\n if (infos?.streamingType === \"hls\" || this.hlsVideo) {\r\n this.videoHls(wrapper, media, infos);\r\n } else if (infos?.streamingType === \"dash\" || this.dashVideo) {\r\n this.videoDash(wrapper, media, infos);\r\n }\r\n }\r\n }\r\n\r\n videoHls(wrapper, player, infos) {\r\n let hlsScript = document.getElementById(\"h5vp-hls\");\r\n if (!hlsScript) {\r\n hlsScript = document.createElement(\"script\");\r\n hlsScript.setAttribute(\"id\", \"h5vp-hls\");\r\n hlsScript.src = this.local?.hls;\r\n document.getElementsByTagName(\"head\")[0]?.prepend(hlsScript);\r\n }\r\n hlsScript?.addEventListener(\"load\", () => {\r\n if (!Hls.isSupported()) {\r\n } else {\r\n const video = wrapper.querySelector(\"video\");\r\n // For more Hls.js options, see https://github.com/dailymotion/hls.js\r\n const hls = new Hls();\r\n hls.loadSource(infos?.video?.source || player?.source);\r\n hls.attachMedia(video);\r\n player.on(\"languagechange\", () => {\r\n setTimeout(() => (hls.subtitleTrack = player.currentTrack), 50);\r\n });\r\n }\r\n });\r\n }\r\n\r\n videoDash(wrapper, player, infos) {\r\n let dashScript = document.getElementById(\"h5vp-dash\");\r\n if (!dashScript) {\r\n dashScript = document.createElement(\"script\");\r\n dashScript.setAttribute(\"id\", \"h5vp-dash\");\r\n dashScript.src = this.local?.dash;\r\n document.getElementsByTagName(\"head\")[0]?.prepend(dashScript);\r\n }\r\n dashScript.addEventListener(\"load\", () => {\r\n const video = wrapper.querySelector(\"video\");\r\n const dash = dashjs.MediaPlayer().create();\r\n dash.initialize(video, infos.video.source, true);\r\n });\r\n // const videos = wrapper.querySelectorAll(\"video\");\r\n // let length = videos.length;\r\n // for (let i = 0; i < length; i++) {\r\n // const dash = dashjs.MediaPlayer().create();\r\n // dash.initialize(videos[i], infos.video.source, true);\r\n // }\r\n }\r\n\r\n detectDevTool() {\r\n if (window.attachEvent) {\r\n if (document.readyState === \"complete\" || document.readyState === \"interactive\") {\r\n this.devetoolDetecter();\r\n window.attachEvent(\"onresize\", this.devetoolDetecter);\r\n window.attachEvent(\"onmousemove\", this.devetoolDetecter);\r\n window.attachEvent(\"onfocus\", this.devetoolDetecter);\r\n window.attachEvent(\"onblur\", this.devetoolDetecter);\r\n } else {\r\n setTimeout(argument.callee, 0);\r\n }\r\n } else {\r\n window.addEventListener(\"load\", this.devetoolDetecter);\r\n window.addEventListener(\"resize\", this.devetoolDetecter);\r\n window.addEventListener(\"mousemove\", this.devetoolDetecter);\r\n window.addEventListener(\"focus\", this.devetoolDetecter);\r\n window.addEventListener(\"blur\", this.devetoolDetecter);\r\n }\r\n }\r\n\r\n devetoolDetecter(allow) {\r\n if (isNaN(+allow)) allow = 100;\r\n var start = +new Date();\r\n debugger;\r\n var end = +new Date();\r\n if (isNaN(start) || isNaN(end) || end - start > allow) {\r\n alert(\"DEVTOOLS detected. all operations will be terminated.\");\r\n document.write(\"DEVTOOLS detected.\");\r\n }\r\n }\r\n\r\n scramble(task = \"encode\", data = \"\") {\r\n const originalKey = \"abcdefghijklmnopqrstuvwxyz1234567890\";\r\n const key = \"z1ntg4ihmwj5cr09byx8spl7ak6vo2q3eduf\";\r\n let resultData = \"\";\r\n if (task == \"encode\") {\r\n if (data != \"\") {\r\n const length = data.length;\r\n for (let i = 0; i < length; i++) {\r\n const position = originalKey.indexOf(data[i]);\r\n if (position !== -1) {\r\n resultData += key[position];\r\n } else {\r\n resultData += data[i];\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (task == \"decode\") {\r\n if (data != \"\") {\r\n const length = data.length;\r\n for (let i = 0; i < length; i++) {\r\n const currentChar = data[i];\r\n const position = key.indexOf(currentChar);\r\n if (position !== -1) {\r\n resultData += originalKey[position];\r\n } else {\r\n resultData += currentChar;\r\n }\r\n }\r\n }\r\n }\r\n return resultData;\r\n }\r\n\r\n /**\r\n *\r\n * @param {Wrapper} wrapper\r\n * @param {Object} media\r\n */\r\n popupController(wrapper, media) {\r\n const $ = jQuery;\r\n const jWrapper = $(wrapper);\r\n let popupOpener = wrapper.querySelector(\".h5vp_popup svg\") || wrapper.querySelector(\".h5vp_popup_btn\");\r\n let popupCloser = wrapper.querySelector(\".popup_close_btn\");\r\n\r\n const style = popupOpener?.dataset?.style;\r\n if (style && popupOpener) {\r\n popupOpener.removeAttribute(\"data-style\");\r\n Object.assign(popupOpener.style, JSON.parse(style));\r\n }\r\n\r\n if (this.infos?.popupBtnExists) {\r\n popupOpener = document.querySelector(`.${this.infos?.popupBtnClass}`);\r\n }\r\n popupOpener.addEventListener(\"click\", function () {\r\n wrapper.classList.add(\"popup_open\");\r\n wrapper.classList.remove(\"popup_close\");\r\n popupCloser.style.display = \"block\";\r\n media.play();\r\n });\r\n popupCloser.addEventListener(\"click\", function () {\r\n popupCloser.style.display = \"none\";\r\n wrapper.classList.remove(\"popup_open\");\r\n wrapper.classList.add(\"popup_close\");\r\n media.pause();\r\n });\r\n }\r\n\r\n blobToNormal(blobUrl) {\r\n // var blob = new Blob([\"Hello, world!\"], { type: \"text/plain\" });\r\n // var blobUrl = URL.createObjectURL(blob);\r\n var xhr = new XMLHttpRequest();\r\n xhr.responseType = \"blob\";\r\n\r\n xhr.onload = function () {\r\n var recoveredBlob = xhr.response;\r\n\r\n var reader = new FileReader();\r\n\r\n reader.onload = function () {\r\n var blobAsDataUrl = reader.result;\r\n window.location = blobAsDataUrl;\r\n };\r\n\r\n reader.readAsDataURL(recoveredBlob);\r\n };\r\n\r\n xhr.open(\"GET\", blobUrl);\r\n xhr.send();\r\n }\r\n\r\n hideYoutubeVimeoIcon(wrapper, player) {\r\n player.on(\"ready\", function () {\r\n const icon = wrapper.querySelector(\".plyr__controls a[data-plyr='download']\");\r\n if (icon) icon.style.display = \"none\";\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {*} player\r\n */\r\n pauseOther(player, play = true) {\r\n if (location.pathname.includes(\"wp-admin\")) return false;\r\n player.on(\"play\", () => {\r\n const id = this.wrapper.dataset?.uniqueId;\r\n const players = document.querySelectorAll(`video:not([data-unique-id=\"${id}\"] video, a video)`);\r\n Object.values(players).map((item) => item.pause());\r\n });\r\n }\r\n\r\n setHeight(wrapper, media) {\r\n const wrapperWidth = jQuery(wrapper).width();\r\n media.on(\"loadeddata\", function () {\r\n const str = media.ratio;\r\n if (!str) return false;\r\n const [r1, r2] = str.split(\":\");\r\n const height = (wrapperWidth / r1) * r2;\r\n jQuery(wrapper)\r\n .find(\".h5vp_popup \")\r\n .css(\"height\", height + \"px\");\r\n });\r\n }\r\n\r\n thumbInPause(wrapper, player, infos) {\r\n const $ = jQuery;\r\n //only for one persion.\r\n // if(infos?.provider !== 'library' && infos?.thumbInPause){\r\n\r\n if (infos?.thumbStyle == \"custom\") {\r\n const img = document.createElement(\"img\");\r\n img.src = this.poster;\r\n player.on(\"ready\", function () {\r\n const poster = wrapper.querySelector(\".plyr__poster\");\r\n $(wrapper).find(\".plyr__control--overlaid\").addClass(\"thumbInPause\");\r\n // $(wrapper).find(\".plyr__controls\").hide();\r\n $(wrapper).find(\".plyr__control--overlaid\").append(img);\r\n });\r\n player.on(\"seeked\", () => {\r\n img.style.display = \"none\";\r\n setTimeout(() => {\r\n img.style.display = \"block\";\r\n }, 500);\r\n });\r\n } else {\r\n player.on(\"ready\", function () {\r\n setTimeout(() => {\r\n const poster = wrapper.querySelector(\".plyr__poster\");\r\n if (poster && !player.playing) poster.style.opacity = 1;\r\n player.on(\"pause\", function () {\r\n if (poster) poster.style.opacity = 1;\r\n });\r\n player.on(\"play\", function () {\r\n if (poster) poster.style.opacity = 0;\r\n });\r\n }, 50);\r\n });\r\n }\r\n }\r\n\r\n endScreen(wrapper, player, infos) {\r\n const $ = jQuery;\r\n const html = `