Plugin Directory

Changeset 3363337


Ignore:
Timestamp:
09/17/2025 03:33:02 PM (3 months ago)
Author:
FolioVision
Message:

8.0.26: New Elementor Widget

Location:
fv-player/trunk
Files:
3 added
22 edited

Legend:

Unmodified
Added
Removed
  • fv-player/trunk/blocks/build/index.asset.php

    r3314575 r3363337  
    1 <?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-server-side-render'), 'version' => '4ed45ac5cef5b3929df9');
     1<?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-server-side-render'), 'version' => 'a8d0229938d3937edb43');
  • fv-player/trunk/blocks/build/index.js

    r3314575 r3363337  
    1 !function(){"use strict";var e={};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,n,r){return(n=function(e){var n=function(e){if("object"!=t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l,i,o=[],c=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},e.d=function(t,n){for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var l=window.React,i=window.wp.i18n,o=window.wp.serverSideRender,c=e.n(o),s=window.wp.element,u=window.wp.blocks,p=window.wp.blockEditor,d=window.wp.components;function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}(0,u.registerBlockType)("fv-player-gutenberg/basic",{icon:{foreground:"#C20B33",src:(0,s.createElement)(d.SVG,{viewBox:"0 0 24 24"},(0,s.createElement)(d.Path,{d:"M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z"}))},title:(0,i.__)("FV Player","fv-player-gutenberg"),description:(0,i.__)("Embed a video from your Media Library or upload a new one.","fv-player-gutenberg"),category:"media",keywords:["fv player","player","fv","flowplayer","freedomplayer","video","embed","media","stream"],supports:{align:!0},attributes:{src:{type:"string",default:""},splash:{type:"string",default:""},timeline_previews:{type:"string",default:""},hls_hlskey:{type:"string",default:""},title:{type:"string",default:""},shortcodeContent:{type:"string",default:"",source:"text"},player_id:{type:"string",default:"0"},splash_attachment_id:{type:"string",default:"0"},forceUpdate:{type:"string",default:"0"}},edit:function(e){var t=e.isSelected,n=e.attributes,r=e.setAttributes,o=(e.context,e.clientId),u=n.src,f=n.splash,y=n.title,g=n.shortcodeContent,b=n.player_id,v=n.splash_attachment_id,h=n.timeline_previews,_=n.hls_hlskey,w=a((0,s.useState)(0),2),E=w[0],S=w[1],P=a((0,s.useState)(u),2),k=P[0],C=P[1],O=a((0,s.useState)(y),2),N=O[0],j=O[1],T=a((0,s.useState)(f),2),B=T[0],R=T[1],x=a((0,s.useState)(_),2),M=x[0],U=x[1],F=a((0,s.useState)(h),2),L=F[0],V=F[1],A=a((0,s.useState)(!1),2),I=A[0],D=A[1],z=!0,H=!1;(0,s.useEffect)((function(){var e=setTimeout((function(){k===u&&N===y&&B===f&&L===h&&M===_||(C(u),j(y),R(f),U(_),V(h),G(m({},n)))}),500);return function(){clearTimeout(e)}}),[u,y,f,h,_]),(0,s.useEffect)((function(){var e=setInterval((function(){fv_player_load(),fv_flowplayer_safety_resize(),S(E+1)}),1e3);return function(){clearInterval(e)}}),[E]),(0,s.useEffect)((function(){z&&b>0&&(z=!1,q())}),[]),(0,s.useEffect)((function(){t&&b>0&&"undefined"!=b&&G(m({},n))}),[g,b,v]);var q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;console.log("FV Player Block: attributes_load",e||b);var t=new FormData;t.append("action","fv_player_guttenberg_attributes_load"),t.append("player_id",e||b),t.append("security",fv_player_gutenberg.nonce),fetch(ajaxurl,{method:"POST",body:t,credentials:"same-origin"}).then((function(e){return e.json()})).then((function(e){"undefined"!=e.src&&"undefined"!=e.splash&&"undefined"!=e.title&&(r({splash:String(e.splash)}),r({title:String(e.title)}),r({src:String(e.src)}),r({splash_attachment_id:String(e.splash_attachment_id)}),r({hls_hlskey:String(e.hls_hlskey)}),r({timeline_previews:String(e.timeline_previews)}),r({forceUpdate:String(Math.random())}))})).catch((function(e){console.error("Error:",e)}))},G=function(e){console.log("FV Player Block: attributes_save",b),"undefined"!=b&&0!=b||(H=!0);var t=new FormData;t.append("action","fv_player_guttenberg_attributes_save"),t.append("player_id",e.player_id),t.append("src",e.src),t.append("splash",e.splash),t.append("title",e.title),t.append("splash_attachment_id",e.splash_attachment_id),t.append("hls_hlskey",e.hls_hlskey),t.append("timeline_previews",e.timeline_previews),t.append("security",fv_player_gutenberg.nonce),fetch(ajaxurl,{method:"POST",body:t,credentials:"same-origin"}).then((function(e){return e.json()})).then((function(e){"undefined"!=e.shortcodeContent&&"undefined"!=e.player_id&&(r({shortcodeContent:String(e.shortcodeContent)}),r({player_id:String(e.player_id)}),r({forceUpdate:String(Math.random())}),H&&(q(e.player_id),H=!1))})).catch((function(e){console.error("Error:",e)}))};return"undefined"==b||0==b?(0,s.createElement)("div",{className:"components-placeholder block-editor-media-placeholder is-large"},(0,s.createElement)("div",{className:"components-placeholder__label"},"FV Player"),(0,s.createElement)("fieldset",{className:"components-placeholder__fieldset"},(0,s.createElement)("div",{className:"fv-player-editor-wrapper fv-player-gutenberg"},(0,s.createElement)("legend",{className:"components-placeholder__instructions"},(0,i.__)("Select Media or Use FV Player Editor to see all the features.","fv-player-gutenberg")),(0,s.createElement)("input",{className:"fv-player-gutenberg-client-id",type:"hidden",value:o}),(0,s.createElement)("input",{className:"attachement-shortcode fv-player-editor-field",type:"hidden",value:""}),(0,s.createElement)(d.Button,{className:"is-primary fv-player-gutenberg-media",name:"fv-player-gutenberg-media",onClick:function(){D(!1)}},"Select Media"),(0,s.createElement)(d.Button,{className:"fv-wordpress-flowplayer-button is-secondary",onClick:function(){D(!1)}},"FV Player Editor"),(0,s.createElement)(d.Button,{className:"is-secondary",onClick:function(){return D(!I)}},"Video URL"),I&&(0,s.createElement)(p.URLPopover,null,(0,s.createElement)("form",{className:"block-editor-media-placeholder__url-input-form",onSubmit:function(e){e.preventDefault();var t=e.target.querySelector(".block-editor-media-placeholder__url-input-field, .fv-player-gutenberg-url-input-field");r({src:t.value}),D(!1)}},(0,s.createElement)("input",{"data-cy":"url-input",className:"block-editor-media-placeholder__url-input-field fv-player-gutenberg-url-input",type:"url","aria-label":(0,i.__)("URL","fv-player-gutenberg/basic"),placeholder:(0,i.__)("Add video URL","fv-player-gutenberg/basic")}),(0,s.createElement)(d.Button,{"data-cy":"url-submit",className:"block-editor-media-placeholder__url-input-submit-button",icon:"editor-break",label:(0,i.__)("Submit","fv-player-gutenberg/basic"),type:"submit"})))))):(0,s.createElement)(l.Fragment,null,(0,s.createElement)(p.InspectorControls,null,(0,s.createElement)(d.Panel,null,(0,s.createElement)(d.PanelBody,{title:"Player Settings",initialOpen:!0},(0,s.createElement)(d.PanelRow,null,(0,s.createElement)(d.TextControl,{label:"Source URL",className:"fv-player-gutenberg-src",name:"fv-player-gutenberg-media",value:u,onChange:function(e){r({src:e})}})),(0,s.createElement)(d.Button,{className:(u?"is-secondary":"is-primary")+" fv-player-gutenberg-media",style:{marginBottom:"10px"}},"Select Media"),(0,s.createElement)(d.PanelRow,null,(0,s.createElement)(d.TextControl,{label:"Splash URL",className:"fv-player-gutenberg-splash",value:f,onChange:function(e){r({splash:e})}})),(0,s.createElement)(p.MediaUploadCheck,null,(0,s.createElement)(p.MediaUpload,{onSelect:function(e){r({splash:e.url}),r({splash_attachment_id:String(e.id)});var t=m(m({},n),{},{splash:e.url});t.splash_attachment_id=e.id,G(t)},allowedTypes:["image"],render:function(e){var t=e.open;return(0,s.createElement)(d.Button,{onClick:t,className:f?"is-secondary":"is-primary",style:{marginBottom:"10px"}},"Select Image")}})),h&&(0,s.createElement)(d.PanelRow,null,(0,s.createElement)(d.TextControl,{label:"Timeline Previews",className:"fv-player-gutenberg-timeline-previews",value:h,onChange:function(e){r({timeline_previews:e})}})),_&&(0,s.createElement)(d.PanelRow,null,(0,s.createElement)(d.TextControl,{label:"HLS Key",className:"fv-player-gutenberg-hls-hlskey",value:_,onChange:function(e){r({hls_hlskey:e})}})),(0,s.createElement)(d.PanelRow,null,(0,s.createElement)(d.TextControl,{label:"Video Title",className:"fv-player-gutenberg-title",value:y,onChange:function(e){r({title:e})}})),(0,s.createElement)("div",{className:"fv-player-gutenberg"},(0,s.createElement)("p",null,(0,i.__)("Looking for advanced properties?","fv-player-gutenberg")),(0,s.createElement)(d.Button,{className:"fv-wordpress-flowplayer-button is-primary"},"Open in Editor"),(0,s.createElement)("input",{className:"fv-player-gutenberg-splash-attachement-id",type:"hidden",value:v}),(0,s.createElement)("input",{className:"fv-player-gutenberg-client-id",type:"hidden",value:o}),(0,s.createElement)("input",{className:"fv-player-gutenberg-player-id",type:"hidden",value:b}),(0,s.createElement)("input",{className:"attachement-shortcode fv-player-editor-field",type:"hidden",value:g,onChange:function(){r({shortcodeContent:g})}}))))),(0,s.createElement)(c(),{block:"fv-player-gutenberg/basic",attributes:n}))},save:function(e){return(0,s.createElement)(l.Fragment,null,(0,s.createElement)(s.RawHTML,null,e.attributes.shortcodeContent))}})}();
     1!function(){"use strict";var e={};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function r(e,r,n){return(r=function(e){var r=function(e){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=t(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(r)?r:r+""}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,l,o=[],s=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(o.push(n.value),o.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var i=window.wp.i18n,l=window.wp.serverSideRender,o=e.n(l),s=window.wp.element,c=window.wp.blocks,u=window.wp.blockEditor,d=window.wp.components,p=window.ReactJSXRuntime;function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}(0,c.registerBlockType)("fv-player-gutenberg/basic",{icon:{foreground:"#C20B33",src:(0,s.createElement)(d.SVG,{viewBox:"0 0 24 24"},(0,s.createElement)(d.Path,{d:"M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z"}))},title:(0,i.__)("FV Player","fv-player-gutenberg"),description:(0,i.__)("Embed a video from your Media Library or one of your video hosting services.","fv-player-gutenberg"),category:"media",keywords:["fv player","player","fv","flowplayer","freedomplayer","video","embed","media","stream"],supports:{align:!0},attributes:{src:{type:"string",default:""},splash:{type:"string",default:""},timeline_previews:{type:"string",default:""},hls_hlskey:{type:"string",default:""},title:{type:"string",default:""},shortcodeContent:{type:"string",default:"",source:"text"},player_id:{type:"string",default:"0"},splash_attachment_id:{type:"string",default:"0"},forceUpdate:{type:"string",default:"0"}},edit:function(e){var t=e.isSelected,r=e.attributes,n=e.setAttributes,l=(e.context,e.clientId),c=r.src,f=r.splash,h=r.title,m=r.shortcodeContent,g=r.player_id,v=r.splash_attachment_id,b=r.timeline_previews,_=r.hls_hlskey,j=a((0,s.useState)(0),2),w=j[0],x=j[1],S=a((0,s.useState)(c),2),C=S[0],k=S[1],O=a((0,s.useState)(h),2),P=O[0],N=O[1],E=a((0,s.useState)(f),2),B=E[0],M=E[1],T=a((0,s.useState)(_),2),U=T[0],F=T[1],I=a((0,s.useState)(b),2),L=I[0],R=I[1],V=a((0,s.useState)(!1),2),A=V[0],D=V[1],z=!0,H=!1;(0,s.useEffect)((function(){var e=setTimeout((function(){C===c&&P===h&&B===f&&L===b&&U===_||(k(c),N(h),M(f),F(_),R(b),G(y({},r)))}),500);return function(){clearTimeout(e)}}),[c,h,f,b,_]),(0,s.useEffect)((function(){var e=setInterval((function(){fv_player_load(),fv_flowplayer_safety_resize(),x(w+1)}),1e3);return function(){clearInterval(e)}}),[w]),(0,s.useEffect)((function(){z&&g>0&&(z=!1,q())}),[]),(0,s.useEffect)((function(){t&&g>0&&"undefined"!=g&&G(y({},r))}),[m,g,v]);var q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;console.log("FV Player Block: attributes_load",e||g);var t=new FormData;t.append("action","fv_player_guttenberg_attributes_load"),t.append("player_id",e||g),t.append("security",fv_player_gutenberg.nonce),fetch(ajaxurl,{method:"POST",body:t,credentials:"same-origin"}).then((function(e){return e.json()})).then((function(e){"undefined"!=e.src&&"undefined"!=e.splash&&"undefined"!=e.title&&(n({splash:String(e.splash)}),n({title:String(e.title)}),n({src:String(e.src)}),n({splash_attachment_id:String(e.splash_attachment_id)}),n({hls_hlskey:String(e.hls_hlskey)}),n({timeline_previews:String(e.timeline_previews)}),n({forceUpdate:String(Math.random())}))})).catch((function(e){console.error("Error:",e)}))},G=function(e){console.log("FV Player Block: attributes_save",g),"undefined"!=g&&0!=g||(H=!0);var t=new FormData;t.append("action","fv_player_guttenberg_attributes_save"),t.append("player_id",e.player_id),t.append("src",e.src),t.append("splash",e.splash),t.append("title",e.title),t.append("splash_attachment_id",e.splash_attachment_id),t.append("hls_hlskey",e.hls_hlskey),t.append("timeline_previews",e.timeline_previews),t.append("security",fv_player_gutenberg.nonce),fetch(ajaxurl,{method:"POST",body:t,credentials:"same-origin"}).then((function(e){return e.json()})).then((function(e){"undefined"!=e.shortcodeContent&&"undefined"!=e.player_id&&(n({shortcodeContent:String(e.shortcodeContent)}),n({player_id:String(e.player_id)}),n({forceUpdate:String(Math.random())}),H&&(q(e.player_id),H=!1))})).catch((function(e){console.error("Error:",e)}))};return"undefined"==g||0==g?(0,p.jsxs)("div",{className:"components-placeholder block-editor-media-placeholder is-large fv-player-editor-wrapper fv-player-gutenberg",children:[(0,p.jsxs)("div",{className:"components-placeholder__label",children:[(0,p.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":"true",focusable:"false",children:(0,p.jsx)("path",{d:"M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z"})}),"FV Player"]}),(0,p.jsx)("div",{className:"components-placeholder__instructions",children:(0,i.__)("Select Media or Use FV Player Editor to see all the features.","fv-player-gutenberg")}),(0,p.jsx)("input",{className:"fv-player-gutenberg-client-id",type:"hidden",value:l}),(0,p.jsx)("input",{className:"attachement-shortcode fv-player-editor-field",type:"hidden",value:""}),(0,p.jsxs)("div",{className:"components-placeholder__fieldset",children:[(0,p.jsx)(d.Button,{className:"is-primary fv-player-gutenberg-media",name:"fv-player-gutenberg-media",onClick:function(){D(!1)},children:"Select Media"}),(0,p.jsx)(d.Button,{className:"fv-wordpress-flowplayer-button is-secondary",onClick:function(){D(!1)},children:"FV Player Editor"}),(0,p.jsx)(d.Button,{className:"is-secondary",onClick:function(){return D(!A)},children:"Insert from URL"})]}),A&&(0,p.jsx)(u.URLPopover,{children:(0,p.jsxs)("form",{className:"block-editor-media-placeholder__url-input-form",onSubmit:function(e){e.preventDefault();var t=e.target.querySelector(".block-editor-media-placeholder__url-input-field, .fv-player-gutenberg-url-input-field");n({src:t.value}),D(!1)},children:[(0,p.jsx)("input",{"data-cy":"url-input",className:"block-editor-media-placeholder__url-input-field fv-player-gutenberg-url-input",type:"url","aria-label":(0,i.__)("URL","fv-player-gutenberg/basic"),placeholder:(0,i.__)("Add video URL","fv-player-gutenberg/basic")}),(0,p.jsx)(d.Button,{"data-cy":"url-submit",className:"block-editor-media-placeholder__url-input-submit-button",icon:"editor-break",label:(0,i.__)("Submit","fv-player-gutenberg/basic"),type:"submit"})]})})]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(u.InspectorControls,{children:(0,p.jsx)(d.Panel,{children:(0,p.jsxs)(d.PanelBody,{title:"Video Settings",initialOpen:!0,children:[(0,p.jsx)(d.TextControl,{label:"Source URL",className:"fv-player-gutenberg-src",name:"fv-player-gutenberg-media",value:c,onChange:function(e){n({src:e})}}),(0,p.jsx)(d.Button,{className:(c?"is-secondary":"is-primary")+" fv-player-gutenberg-media",style:{marginBottom:"10px"},children:c?"Change Media":"Select Media"}),(0,p.jsx)(d.TextControl,{label:"Splash URL",className:"fv-player-gutenberg-splash",value:f,onChange:function(e){n({splash:e})}}),(0,p.jsx)(u.MediaUploadCheck,{children:(0,p.jsx)(u.MediaUpload,{onSelect:function(e){n({splash:e.url}),n({splash_attachment_id:String(e.id)});var t=y(y({},r),{},{splash:e.url});t.splash_attachment_id=e.id,G(t)},allowedTypes:["image"],render:function(e){var t=e.open;return(0,p.jsx)(d.Button,{onClick:t,className:f?"is-secondary":"is-primary",style:{marginBottom:"10px"},children:f?"Change Image":"Select Image"})}})}),b&&(0,p.jsx)(d.TextControl,{label:"Timeline Previews",className:"fv-player-gutenberg-timeline-previews",value:b,onChange:function(e){n({timeline_previews:e})}}),_&&(0,p.jsx)(d.TextControl,{label:"HLS Key",className:"fv-player-gutenberg-hls-hlskey",value:_,onChange:function(e){n({hls_hlskey:e})}}),(0,p.jsx)(d.TextControl,{label:"Video Title",className:"fv-player-gutenberg-title",value:h,onChange:function(e){n({title:e})}}),(0,p.jsxs)("div",{className:"fv-player-gutenberg",children:[(0,p.jsx)("p",{children:(0,i.__)("Looking for subtitles or player settings?","fv-player-gutenberg")}),(0,p.jsx)(d.Button,{className:"fv-wordpress-flowplayer-button is-primary",children:"Open in Editor"}),(0,p.jsx)("input",{className:"fv-player-gutenberg-splash-attachement-id",type:"hidden",value:v}),(0,p.jsx)("input",{className:"fv-player-gutenberg-client-id",type:"hidden",value:l}),(0,p.jsx)("input",{className:"fv-player-gutenberg-player-id",type:"hidden",value:g}),(0,p.jsx)("input",{className:"attachement-shortcode fv-player-editor-field",type:"hidden",value:m,onChange:function(){n({shortcodeContent:m})}})]})]})})}),(0,p.jsx)(o(),{block:"fv-player-gutenberg/basic",attributes:r})]})},save:function(e){return(0,p.jsx)(p.Fragment,{children:(0,p.jsx)(s.RawHTML,{children:e.attributes.shortcodeContent})})}})}();
  • fv-player/trunk/blocks/index.js

    r3314575 r3363337  
    1818  },
    1919  title: __( 'FV Player', 'fv-player-gutenberg' ),
    20   description: __( 'Embed a video from your Media Library or upload a new one.', 'fv-player-gutenberg' ),
     20  description: __( 'Embed a video from your Media Library or one of your video hosting services.', 'fv-player-gutenberg' ),
    2121  category: 'media',
    2222  keywords: ['fv player', 'player', 'fv', 'flowplayer', 'freedomplayer', 'video', 'embed', 'media', 'stream'],
     
    210210    if( player_id == 'undefined' || player_id == 0 ) {
    211211      return(
    212         <div className="components-placeholder block-editor-media-placeholder is-large">
     212        <div className="components-placeholder block-editor-media-placeholder is-large fv-player-editor-wrapper fv-player-gutenberg">
    213213          <div className="components-placeholder__label">
     214            <svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false">
     215              <path d="M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z"></path>
     216            </svg>
    214217            FV Player
    215218          </div>
    216           <fieldset className="components-placeholder__fieldset">
    217             <div className='fv-player-editor-wrapper fv-player-gutenberg'>
    218               <legend className='components-placeholder__instructions'>{__('Select Media or Use FV Player Editor to see all the features.', 'fv-player-gutenberg')}</legend>
    219               <input className='fv-player-gutenberg-client-id' type="hidden" value={clientId} />
    220               <input
    221                 className="attachement-shortcode fv-player-editor-field"
    222                 type="hidden"
    223                 value=""
    224               />
    225               <Button
    226                 className='is-primary fv-player-gutenberg-media'
    227                 name="fv-player-gutenberg-media"
    228                 onClick={() => {
     219          <div className='components-placeholder__instructions'>{__('Select Media or Use FV Player Editor to see all the features.', 'fv-player-gutenberg')}</div>
     220          <input className='fv-player-gutenberg-client-id' type="hidden" value={clientId} />
     221          <input
     222            className="attachement-shortcode fv-player-editor-field"
     223            type="hidden"
     224            value=""
     225          />
     226          <div className="components-placeholder__fieldset">
     227            <Button
     228              className='is-primary fv-player-gutenberg-media'
     229              name="fv-player-gutenberg-media"
     230              onClick={() => {
     231                setURLPopoverIsOpen(false);
     232              }}
     233            >Select Media
     234            </Button>
     235            <Button
     236              className="fv-wordpress-flowplayer-button is-secondary"
     237              onClick={() => {
     238                setURLPopoverIsOpen(false);
     239              }}
     240            >FV Player Editor
     241            </Button>
     242            <Button
     243              className="is-secondary"
     244              onClick={() => setURLPopoverIsOpen(!URLPopoverIsOpen)}
     245            >Insert from URL
     246            </Button>
     247          </div>
     248          {URLPopoverIsOpen && (
     249            <URLPopover>
     250              <form
     251                className="block-editor-media-placeholder__url-input-form"
     252                onSubmit={(event) => {
     253                  event.preventDefault();
     254                  // get input value
     255                  const input = event.target.querySelector(
     256                    ".block-editor-media-placeholder__url-input-field, .fv-player-gutenberg-url-input-field"
     257                  );
     258                  setAttributes({ src: input.value });
    229259                  setURLPopoverIsOpen(false);
    230260                }}
    231               >Select Media
    232               </Button>
     261              >
     262              <input
     263                data-cy="url-input"
     264                className="block-editor-media-placeholder__url-input-field fv-player-gutenberg-url-input"
     265                type="url"
     266                aria-label={__("URL", "fv-player-gutenberg/basic")}
     267                placeholder={__(
     268                  "Add video URL",
     269                  "fv-player-gutenberg/basic"
     270                )}
     271              />
    233272              <Button
    234                 className="fv-wordpress-flowplayer-button is-secondary"
    235                 onClick={() => {
    236                   setURLPopoverIsOpen(false);
    237                 }}
    238               >FV Player Editor
    239               </Button>
    240               <Button
    241                 className="is-secondary"
    242                 onClick={() => setURLPopoverIsOpen(!URLPopoverIsOpen)}
    243               >Video URL
    244               </Button>
    245               {URLPopoverIsOpen && (
    246                 <URLPopover>
    247                   <form
    248                     className="block-editor-media-placeholder__url-input-form"
    249                     onSubmit={(event) => {
    250                       event.preventDefault();
    251                       // get input value
    252                       const input = event.target.querySelector(
    253                         ".block-editor-media-placeholder__url-input-field, .fv-player-gutenberg-url-input-field"
    254                       );
    255                       setAttributes({ src: input.value });
    256                       setURLPopoverIsOpen(false);
    257                     }}
    258                   >
    259                   <input
    260                     data-cy="url-input"
    261                     className="block-editor-media-placeholder__url-input-field fv-player-gutenberg-url-input"
    262                     type="url"
    263                     aria-label={__("URL", "fv-player-gutenberg/basic")}
    264                     placeholder={__(
    265                       "Add video URL",
    266                       "fv-player-gutenberg/basic"
    267                     )}
    268                   />
    269                   <Button
    270                     data-cy="url-submit"
    271                     className="block-editor-media-placeholder__url-input-submit-button"
    272                     icon={"editor-break"}
    273                     label={__("Submit", "fv-player-gutenberg/basic")}
    274                     type="submit"
    275                   />
    276                   </form>
    277                 </URLPopover>
    278               )}
    279             </div>
    280           </fieldset>
     273                data-cy="url-submit"
     274                className="block-editor-media-placeholder__url-input-submit-button"
     275                icon={"editor-break"}
     276                label={__("Submit", "fv-player-gutenberg/basic")}
     277                type="submit"
     278              />
     279              </form>
     280            </URLPopover>
     281          )}
    281282        </div>
    282283      )
     
    287288        <InspectorControls>
    288289          <Panel>
    289             <PanelBody title="Player Settings" initialOpen={true}>
    290               <PanelRow>
    291                 <TextControl
    292                   label="Source URL"
    293                   className='fv-player-gutenberg-src'
    294                   name="fv-player-gutenberg-media"
    295                   value={src}
    296                   onChange={(newSrc) => {
    297                     setAttributes({ src: newSrc });
    298                   }}
    299                 />
    300               </PanelRow>
     290            <PanelBody title="Video Settings" initialOpen={true}>
     291              <TextControl
     292                label="Source URL"
     293                className='fv-player-gutenberg-src'
     294                name="fv-player-gutenberg-media"
     295                value={src}
     296                onChange={(newSrc) => {
     297                  setAttributes({ src: newSrc });
     298                }}
     299              />
    301300              <Button
    302301                className={ ( src ? 'is-secondary' : 'is-primary' ) + ' fv-player-gutenberg-media' }
    303302                style={{ marginBottom: '10px' }}
    304               >Select Media
     303              >{ src ? 'Change Media' : 'Select Media' }
    305304              </Button>
    306               <PanelRow>
    307                 <TextControl
    308                   label="Splash URL"
    309                   className='fv-player-gutenberg-splash'
    310                   value={splash}
    311                   onChange={(newSplash) => {
    312                     setAttributes({ splash: newSplash });
    313                   }}
    314                 />
    315               </PanelRow>
     305              <TextControl
     306                label="Splash URL"
     307                className='fv-player-gutenberg-splash'
     308                value={splash}
     309                onChange={(newSplash) => {
     310                  setAttributes({ splash: newSplash });
     311                }}
     312              />
    316313              <MediaUploadCheck>
    317314                <MediaUpload
     
    332329                      className={ splash ? 'is-secondary' : 'is-primary' }
    333330                      style={{ marginBottom: '10px' }}
    334                     >Select Image
     331                    >{ splash ? 'Change Image' : 'Select Image' }
    335332                    </Button>
    336333                  )}
     
    338335              </MediaUploadCheck>
    339336              {timeline_previews && (
    340                 <PanelRow>
    341                   <TextControl
    342                       label="Timeline Previews"
    343                       className='fv-player-gutenberg-timeline-previews'
    344                       value={timeline_previews}
    345                       onChange={(newTimelinePreviews) => {
    346                         setAttributes({ timeline_previews: newTimelinePreviews });
    347                       }}
    348                     />
    349                 </PanelRow>
     337                <TextControl
     338                    label="Timeline Previews"
     339                    className='fv-player-gutenberg-timeline-previews'
     340                    value={timeline_previews}
     341                    onChange={(newTimelinePreviews) => {
     342                      setAttributes({ timeline_previews: newTimelinePreviews });
     343                    }}
     344                  />
    350345              )}
    351346              {hls_hlskey && (
    352                 <PanelRow>
    353                   <TextControl
    354                       label="HLS Key"
    355                       className='fv-player-gutenberg-hls-hlskey'
    356                       value={hls_hlskey}
    357                       onChange={(newHlsHlskey) => {
    358                         setAttributes({ hls_hlskey: newHlsHlskey });
    359                       }}
    360                     />
    361                 </PanelRow>
     347                <TextControl
     348                    label="HLS Key"
     349                    className='fv-player-gutenberg-hls-hlskey'
     350                    value={hls_hlskey}
     351                    onChange={(newHlsHlskey) => {
     352                      setAttributes({ hls_hlskey: newHlsHlskey });
     353                    }}
     354                  />
    362355              )}
    363               <PanelRow>
    364                 <TextControl
    365                   label="Video Title"
    366                   className='fv-player-gutenberg-title'
    367                   value={title}
    368                   onChange={(newTitle) => {
    369                     setAttributes({ title: newTitle });
    370                   }}
    371                 />
    372               </PanelRow>
     356              <TextControl
     357                label="Video Title"
     358                className='fv-player-gutenberg-title'
     359                value={title}
     360                onChange={(newTitle) => {
     361                  setAttributes({ title: newTitle });
     362                }}
     363              />
    373364              <div className="fv-player-gutenberg">
    374                 <p>{__('Looking for advanced properties?', 'fv-player-gutenberg')}</p>
     365                <p>{__('Looking for subtitles or player settings?', 'fv-player-gutenberg')}</p>
    375366                <Button className="fv-wordpress-flowplayer-button is-primary">Open in Editor</Button>
    376367                <input className='fv-player-gutenberg-splash-attachement-id' type="hidden" value={splash_attachment_id} />
  • fv-player/trunk/controller/editor.php

    r3326358 r3363337  
    619619
    620620      wp_send_json( array(
     621        'shortcodeContent' => '[fvplayer id="' . $player_id . '"]',
    621622        'src' => $video_src,
    622623        'splash' => $video_splash,
     
    718719
    719720    if( $player_id ) {
     721
     722      // Load video data again to get the updated values, used for Elementor Widget
     723      $player = new FV_Player_Db_Player( $player_id );
     724      if ( $player && $player->getIsValid() ) {
     725        $videos = $player->getVideos();
     726        if ( $videos ) {
     727          foreach ( $videos as $video ) {
     728            $splash               = $video->getSplash();
     729            $title                = $video->getTitle();
     730            $splash_attachment_id = $video->getSplashAttachmentId();
     731            $timeline_previews    = $video->getMetaValue('timeline_previews', true) ? $video->getMetaValue('timeline_previews', true) : '';
     732            $hls_hlskey           = $video->getMetaValue('hls_hlskey', true) ? $video->getMetaValue('hls_hlskey', true) : '';
     733            break; // only first video
     734          }
     735        }
     736      }
     737
    720738      wp_send_json( array(
    721739        'player_id' => $player_id,
    722         'shortcodeContent' => '[fvplayer id="' . $player_id . '"]'
     740        'shortcodeContent' => '[fvplayer id="' . $player_id . '"]',
     741        'src' => $src,
     742        'splash' => $splash,
     743        'title' => $title,
     744        'splash_attachment_id' => $splash_attachment_id,
     745        'timeline_previews' => $timeline_previews,
     746        'hls_hlskey' => $hls_hlskey
    723747      ) );
    724748    } else {
     
    9971021  }
    9981022}
    999 
    1000 
    1001 
    1002 
    1003 /**
    1004  * Elementor support
    1005  */
    1006 add_action( 'elementor/editor/wp_head', 'fv_player_shortcode_editor_scripts_enqueue' );
    1007 add_action( 'elementor/editor/wp_head', 'fv_wp_flowplayer_edit_form_after_editor' );
    1008 add_action( 'elementor/editor/wp_head', 'flowplayer_prepare_scripts' );
    1009 
    1010 // Bring back the FV Player into Elementor Elements search - it's their "Hide native WordPress widgets from search results" setting
    1011 add_filter( 'pre_option_elementor_experiment-e_hidden_wordpress_widgets', 'fv_player_editor_elementor_widget_search_enable' );
    1012 
    1013 function fv_player_editor_elementor_widget_search_enable( $val ) {
    1014   return 'inactive';
    1015 }
  • fv-player/trunk/controller/frontend.php

    r3348866 r3363337  
    799799function fv_player_js_loader_mark_scripts( $tag, $handle ) {
    800800  global $fv_fp;
    801   if( is_admin() || isset($_GET['fv_player_loader_skip']) || $fv_fp->_get_option('js-everywhere') || !$fv_fp->_get_option('js-optimize') || flowplayer::is_wp_rocket_setting( 'delay_js' ) ) {
     801  if( is_admin() || isset($_GET['fv_player_loader_skip']) || $fv_fp->_get_option('js-everywhere') || !$fv_fp->_get_option('js-optimize') || flowplayer::is_wp_rocket_setting( 'delay_js' ) || did_action( 'fv_player_skip_js_optimize' ) ) {
    802802    return $tag;
    803803  }
  • fv-player/trunk/css/playlists.css

    r3314575 r3363337  
    7070
    7171.flowplayer.is-tiny .fp-controls .fv-fp-prevbtn, .flowplayer.is-tiny .fp-controls .fv-fp-nextbtn {
     72    display: none;
     73}
     74
     75.freedomplayer.has-playlist-prevnext.is-mouseover.is-ready .fp-forward,
     76.freedomplayer.has-playlist-prevnext.is-mouseover.is-ready .fp-rewind {
    7277    display: none;
    7378}
  • fv-player/trunk/freedom-video-player/fv-player-youtube.dev.js

    r3348866 r3363337  
    8181
    8282  /**
    83    * Copy of https://www.youtube.com/s/player/baafab19/www-widgetapi.vflset/www-widgetapi.js with YT changed to FV_YT.
     83   * Copy of https://www.youtube.com/s/player/f6a4f3bc/www-widgetapi.vflset/www-widgetapi.js with YT changed to FV_YT.
    8484   *
    8585   * Commented out parts where it runs onYTReady(), onYouTubeIframeAPIReady(), onYouTubePlayerAPIReady()
     
    8888    'use strict';
    8989    var n;
    90     function aa(a) {
     90    function ca(a) {
    9191        var b = 0;
    9292        return function() {
     
    122122                a = a.split(".");
    123123                for (var d = 0; d < a.length - 1; d++) {
    124                     var f = a[d];
    125                     if (!(f in c))
     124                    var k = a[d];
     125                    if (!(k in c))
    126126                        break a;
    127                     c = c[f]
     127                    c = c[k]
    128128                }
    129129                a = a[a.length - 1];
     
    138138    }
    139139    r("Symbol", function(a) {
    140         function b(e) {
     140        function b(g) {
    141141            if (this instanceof b)
    142142                throw new TypeError("Symbol is not a constructor");
    143             return new c(d + (e || "") + "_" + f++,e)
    144         }
    145         function c(e, h) {
    146             this.g = e;
     143            return new c(d + (g || "") + "_" + k++,g)
     144        }
     145        function c(g, f) {
     146            this.g = g;
    147147            p(this, "description", {
    148148                configurable: !0,
    149149                writable: !0,
    150                 value: h
     150                value: f
    151151            })
    152152        }
     
    158158        ;
    159159        var d = "jscomp_symbol_" + (Math.random() * 1E9 >>> 0) + "_"
    160           , f = 0;
     160          , k = 0;
    161161        return b
    162162    });
     
    171171                writable: !0,
    172172                value: function() {
    173                     return ea(aa(this))
     173                    return ea(ca(this))
    174174                }
    175175            })
     
    224224        if (typeof a.length == "number")
    225225            return {
    226                 next: aa(a)
     226                next: ca(a)
    227227            };
    228228        throw Error(String(a) + " is not an iterable or ArrayLike");
     
    285285    function D(a, b, c, d) {
    286286        try {
    287             var f = b.call(a.g.h, c);
    288             if (!(f instanceof Object))
    289                 throw new TypeError("Iterator result " + f + " is not an object");
    290             if (!f.done)
     287            var k = b.call(a.g.h, c);
     288            if (!(k instanceof Object))
     289                throw new TypeError("Iterator result " + k + " is not an object");
     290            if (!k.done)
    291291                return a.g.j = !1,
    292                 f;
    293             var e = f.value
    294         } catch (h) {
     292                k;
     293            var g = k.value
     294        } catch (f) {
    295295            return a.g.h = null,
    296             B(a.g, h),
     296            B(a.g, f),
    297297            E(a)
    298298        }
    299299        a.g.h = null;
    300         d.call(a.g, e);
     300        d.call(a.g, g);
    301301        return E(a)
    302302    }
     
    361361            return a.throw(d)
    362362        }
    363         return new Promise(function(d, f) {
    364             function e(h) {
    365                 h.done ? d(h.value) : Promise.resolve(h.value).then(b, c).then(e, f)
    366             }
    367             e(a.next())
     363        return new Promise(function(d, k) {
     364            function g(f) {
     365                f.done ? d(f.value) : Promise.resolve(f.value).then(b, c).then(g, k)
     366            }
     367            g(a.next())
    368368        }
    369369        )
    370370    }
    371     function oa(a) {
     371    function F(a) {
    372372        return na(new ma(new ka(a)))
    373373    }
    374374    r("Promise", function(a) {
    375         function b(h) {
     375        function b(f) {
    376376            this.h = 0;
    377377            this.i = void 0;
    378378            this.g = [];
    379379            this.o = !1;
    380             var g = this.j();
     380            var e = this.j();
    381381            try {
    382                 h(g.resolve, g.reject)
    383             } catch (k) {
    384                 g.reject(k)
     382                f(e.resolve, e.reject)
     383            } catch (h) {
     384                e.reject(h)
    385385            }
    386386        }
     
    388388            this.g = null
    389389        }
    390         function d(h) {
    391             return h instanceof b ? h : new b(function(g) {
    392                 g(h)
     390        function d(f) {
     391            return f instanceof b ? f : new b(function(e) {
     392                e(f)
    393393            }
    394394            )
     
    396396        if (a)
    397397            return a;
    398         c.prototype.h = function(h) {
     398        c.prototype.h = function(f) {
    399399            if (this.g == null) {
    400400                this.g = [];
    401                 var g = this;
     401                var e = this;
    402402                this.i(function() {
    403                     g.l()
     403                    e.l()
    404404                })
    405405            }
    406             this.g.push(h)
    407         }
    408         ;
    409         var f = q.setTimeout;
    410         c.prototype.i = function(h) {
    411             f(h, 0)
     406            this.g.push(f)
     407        }
     408        ;
     409        var k = q.setTimeout;
     410        c.prototype.i = function(f) {
     411            k(f, 0)
    412412        }
    413413        ;
    414414        c.prototype.l = function() {
    415415            for (; this.g && this.g.length; ) {
    416                 var h = this.g;
     416                var f = this.g;
    417417                this.g = [];
    418                 for (var g = 0; g < h.length; ++g) {
    419                     var k = h[g];
    420                     h[g] = null;
     418                for (var e = 0; e < f.length; ++e) {
     419                    var h = f[e];
     420                    f[e] = null;
    421421                    try {
    422                         k()
     422                        h()
    423423                    } catch (l) {
    424424                        this.j(l)
     
    429429        }
    430430        ;
    431         c.prototype.j = function(h) {
     431        c.prototype.j = function(f) {
    432432            this.i(function() {
    433                 throw h;
     433                throw f;
    434434            })
    435435        }
    436436        ;
    437437        b.prototype.j = function() {
    438             function h(l) {
     438            function f(l) {
    439439                return function(m) {
    440                     k || (k = !0,
    441                     l.call(g, m))
    442                 }
    443             }
    444             var g = this
    445               , k = !1;
     440                    h || (h = !0,
     441                    l.call(e, m))
     442                }
     443            }
     444            var e = this
     445              , h = !1;
    446446            return {
    447                 resolve: h(this.K),
    448                 reject: h(this.l)
    449             }
    450         }
    451         ;
    452         b.prototype.K = function(h) {
    453             if (h === this)
     447                resolve: f(this.K),
     448                reject: f(this.l)
     449            }
     450        }
     451        ;
     452        b.prototype.K = function(f) {
     453            if (f === this)
    454454                this.l(new TypeError("A Promise cannot resolve to itself"));
    455             else if (h instanceof b)
    456                 this.M(h);
     455            else if (f instanceof b)
     456                this.M(f);
    457457            else {
    458                 a: switch (typeof h) {
     458                a: switch (typeof f) {
    459459                case "object":
    460                     var g = h != null;
     460                    var e = f != null;
    461461                    break a;
    462462                case "function":
    463                     g = !0;
     463                    e = !0;
    464464                    break a;
    465465                default:
    466                     g = !1
    467                 }
    468                 g ? this.J(h) : this.m(h)
    469             }
    470         }
    471         ;
    472         b.prototype.J = function(h) {
    473             var g = void 0;
     466                    e = !1
     467                }
     468                e ? this.J(f) : this.m(f)
     469            }
     470        }
     471        ;
     472        b.prototype.J = function(f) {
     473            var e = void 0;
    474474            try {
    475                 g = h.then
    476             } catch (k) {
    477                 this.l(k);
     475                e = f.then
     476            } catch (h) {
     477                this.l(h);
    478478                return
    479479            }
    480             typeof g == "function" ? this.N(g, h) : this.m(h)
    481         }
    482         ;
    483         b.prototype.l = function(h) {
    484             this.A(2, h)
    485         }
    486         ;
    487         b.prototype.m = function(h) {
    488             this.A(1, h)
    489         }
    490         ;
    491         b.prototype.A = function(h, g) {
     480            typeof e == "function" ? this.N(e, f) : this.m(f)
     481        }
     482        ;
     483        b.prototype.l = function(f) {
     484            this.A(2, f)
     485        }
     486        ;
     487        b.prototype.m = function(f) {
     488            this.A(1, f)
     489        }
     490        ;
     491        b.prototype.A = function(f, e) {
    492492            if (this.h != 0)
    493                 throw Error("Cannot settle(" + h + ", " + g + "): Promise already settled in state" + this.h);
    494             this.h = h;
    495             this.i = g;
     493                throw Error("Cannot settle(" + f + ", " + e + "): Promise already settled in state" + this.h);
     494            this.h = f;
     495            this.i = e;
    496496            this.h === 2 && this.L();
    497497            this.C()
     
    499499        ;
    500500        b.prototype.L = function() {
    501             var h = this;
    502             f(function() {
    503                 if (h.I()) {
    504                     var g = q.console;
    505                     typeof g !== "undefined" && g.error(h.i)
     501            var f = this;
     502            k(function() {
     503                if (f.I()) {
     504                    var e = q.console;
     505                    typeof e !== "undefined" && e.error(f.i)
    506506                }
    507507            }, 1)
     
    511511            if (this.o)
    512512                return !1;
    513             var h = q.CustomEvent
    514               , g = q.Event
    515               , k = q.dispatchEvent;
    516             if (typeof k === "undefined")
     513            var f = q.CustomEvent
     514              , e = q.Event
     515              , h = q.dispatchEvent;
     516            if (typeof h === "undefined")
    517517                return !0;
    518             typeof h === "function" ? h = new h("unhandledrejection",{
     518            typeof f === "function" ? f = new f("unhandledrejection",{
    519519                cancelable: !0
    520             }) : typeof g === "function" ? h = new g("unhandledrejection",{
     520            }) : typeof e === "function" ? f = new e("unhandledrejection",{
    521521                cancelable: !0
    522             }) : (h = q.document.createEvent("CustomEvent"),
    523             h.initCustomEvent("unhandledrejection", !1, !0, h));
    524             h.promise = this;
    525             h.reason = this.i;
    526             return k(h)
     522            }) : (f = q.document.createEvent("CustomEvent"),
     523            f.initCustomEvent("unhandledrejection", !1, !0, f));
     524            f.promise = this;
     525            f.reason = this.i;
     526            return h(f)
    527527        }
    528528        ;
    529529        b.prototype.C = function() {
    530530            if (this.g != null) {
    531                 for (var h = 0; h < this.g.length; ++h)
    532                     e.h(this.g[h]);
     531                for (var f = 0; f < this.g.length; ++f)
     532                    g.h(this.g[f]);
    533533                this.g = null
    534534            }
    535535        }
    536536        ;
    537         var e = new c;
    538         b.prototype.M = function(h) {
    539             var g = this.j();
    540             h.B(g.resolve, g.reject)
    541         }
    542         ;
    543         b.prototype.N = function(h, g) {
    544             var k = this.j();
     537        var g = new c;
     538        b.prototype.M = function(f) {
     539            var e = this.j();
     540            f.B(e.resolve, e.reject)
     541        }
     542        ;
     543        b.prototype.N = function(f, e) {
     544            var h = this.j();
    545545            try {
    546                 h.call(g, k.resolve, k.reject)
     546                f.call(e, h.resolve, h.reject)
    547547            } catch (l) {
    548                 k.reject(l)
    549             }
    550         }
    551         ;
    552         b.prototype.then = function(h, g) {
    553             function k(w, A) {
    554                 return typeof w == "function" ? function(ba) {
     548                h.reject(l)
     549            }
     550        }
     551        ;
     552        b.prototype.then = function(f, e) {
     553            function h(w, A) {
     554                return typeof w == "function" ? function(aa) {
    555555                    try {
    556                         l(w(ba))
    557                     } catch (ca) {
    558                         m(ca)
     556                        l(w(aa))
     557                    } catch (ba) {
     558                        m(ba)
    559559                    }
    560560                }
     
    566566            }
    567567            );
    568             this.B(k(h, l), k(g, m));
     568            this.B(h(f, l), h(e, m));
    569569            return u
    570570        }
    571571        ;
    572         b.prototype.catch = function(h) {
    573             return this.then(void 0, h)
    574         }
    575         ;
    576         b.prototype.B = function(h, g) {
    577             function k() {
     572        b.prototype.catch = function(f) {
     573            return this.then(void 0, f)
     574        }
     575        ;
     576        b.prototype.B = function(f, e) {
     577            function h() {
    578578                switch (l.h) {
    579579                case 1:
    580                     h(l.i);
     580                    f(l.i);
    581581                    break;
    582582                case 2:
    583                     g(l.i);
     583                    e(l.i);
    584584                    break;
    585585                default:
     
    588588            }
    589589            var l = this;
    590             this.g == null ? e.h(k) : this.g.push(k);
     590            this.g == null ? g.h(h) : this.g.push(h);
    591591            this.o = !0
    592592        }
    593593        ;
    594594        b.resolve = d;
    595         b.reject = function(h) {
    596             return new b(function(g, k) {
    597                 k(h)
     595        b.reject = function(f) {
     596            return new b(function(e, h) {
     597                h(f)
    598598            }
    599599            )
    600600        }
    601601        ;
    602         b.race = function(h) {
    603             return new b(function(g, k) {
    604                 for (var l = x(h), m = l.next(); !m.done; m = l.next())
    605                     d(m.value).B(g, k)
     602        b.race = function(f) {
     603            return new b(function(e, h) {
     604                for (var l = x(f), m = l.next(); !m.done; m = l.next())
     605                    d(m.value).B(e, h)
    606606            }
    607607            )
    608608        }
    609609        ;
    610         b.all = function(h) {
    611             var g = x(h)
    612               , k = g.next();
    613             return k.done ? d([]) : new b(function(l, m) {
    614                 function u(ba) {
    615                     return function(ca) {
    616                         w[ba] = ca;
     610        b.all = function(f) {
     611            var e = x(f)
     612              , h = e.next();
     613            return h.done ? d([]) : new b(function(l, m) {
     614                function u(aa) {
     615                    return function(ba) {
     616                        w[aa] = ba;
    617617                        A--;
    618618                        A == 0 && l(w)
     
    624624                    w.push(void 0),
    625625                    A++,
    626                     d(k.value).B(u(w.length - 1), m),
    627                     k = g.next();
    628                 while (!k.done)
     626                    d(h.value).B(u(w.length - 1), m),
     627                    h = e.next();
     628                while (!h.done)
    629629            }
    630630            )
     
    633633        return b
    634634    });
    635     function F(a, b) {
     635    function G(a, b) {
    636636        return Object.prototype.hasOwnProperty.call(a, b)
    637637    }
    638     var pa = typeof Object.assign == "function" ? Object.assign : function(a, b) {
     638    var oa = typeof Object.assign == "function" ? Object.assign : function(a, b) {
     639        if (a == null)
     640            throw new TypeError("No nullish arg");
     641        a = Object(a);
    639642        for (var c = 1; c < arguments.length; c++) {
    640643            var d = arguments[c];
    641644            if (d)
    642                 for (var f in d)
    643                     F(d, f) && (a[f] = d[f])
     645                for (var k in d)
     646                    G(d, k) && (a[k] = d[k])
    644647        }
    645648        return a
     
    647650    ;
    648651    r("Object.assign", function(a) {
    649         return a || pa
     652        return a || oa
    650653    });
    651654    r("Symbol.dispose", function(a) {
     
    653656    });
    654657    r("WeakMap", function(a) {
    655         function b(k) {
    656             this.g = (g += Math.random() + 1).toString();
    657             if (k) {
    658                 k = x(k);
    659                 for (var l; !(l = k.next()).done; )
     658        function b(h) {
     659            this.g = (e += Math.random() + 1).toString();
     660            if (h) {
     661                h = x(h);
     662                for (var l; !(l = h.next()).done; )
    660663                    l = l.value,
    661664                    this.set(l[0], l[1])
     
    663666        }
    664667        function c() {}
    665         function d(k) {
    666             var l = typeof k;
    667             return l === "object" && k !== null || l === "function"
    668         }
    669         function f(k) {
    670             if (!F(k, h)) {
     668        function d(h) {
     669            var l = typeof h;
     670            return l === "object" && h !== null || l === "function"
     671        }
     672        function k(h) {
     673            if (!G(h, f)) {
    671674                var l = new c;
    672                 p(k, h, {
     675                p(h, f, {
    673676                    value: l
    674677                })
    675678            }
    676679        }
    677         function e(k) {
    678             var l = Object[k];
    679             l && (Object[k] = function(m) {
     680        function g(h) {
     681            var l = Object[h];
     682            l && (Object[h] = function(m) {
    680683                if (m instanceof c)
    681684                    return m;
    682                 Object.isExtensible(m) && f(m);
     685                Object.isExtensible(m) && k(m);
    683686                return l(m)
    684687            }
     
    689692                return !1;
    690693            try {
    691                 var k = Object.seal({})
     694                var h = Object.seal({})
    692695                  , l = Object.seal({})
    693                   , m = new a([[k, 2], [l, 3]]);
    694                 if (m.get(k) != 2 || m.get(l) != 3)
     696                  , m = new a([[h, 2], [l, 3]]);
     697                if (m.get(h) != 2 || m.get(l) != 3)
    695698                    return !1;
    696                 m.delete(k);
     699                m.delete(h);
    697700                m.set(l, 4);
    698                 return !m.has(k) && m.get(l) == 4
     701                return !m.has(h) && m.get(l) == 4
    699702            } catch (u) {
    700703                return !1
     
    702705        }())
    703706            return a;
    704         var h = "$jscomp_hidden_" + Math.random();
    705         e("freeze");
    706         e("preventExtensions");
    707         e("seal");
    708         var g = 0;
    709         b.prototype.set = function(k, l) {
    710             if (!d(k))
     707        var f = "$jscomp_hidden_" + Math.random();
     708        g("freeze");
     709        g("preventExtensions");
     710        g("seal");
     711        var e = 0;
     712        b.prototype.set = function(h, l) {
     713            if (!d(h))
    711714                throw Error("Invalid WeakMap key");
    712             f(k);
    713             if (!F(k, h))
    714                 throw Error("WeakMap key fail: " + k);
    715             k[h][this.g] = l;
     715            k(h);
     716            if (!G(h, f))
     717                throw Error("WeakMap key fail: " + h);
     718            h[f][this.g] = l;
    716719            return this
    717720        }
    718721        ;
    719         b.prototype.get = function(k) {
    720             return d(k) && F(k, h) ? k[h][this.g] : void 0
    721         }
    722         ;
    723         b.prototype.has = function(k) {
    724             return d(k) && F(k, h) && F(k[h], this.g)
    725         }
    726         ;
    727         b.prototype.delete = function(k) {
    728             return d(k) && F(k, h) && F(k[h], this.g) ? delete k[h][this.g] : !1
     722        b.prototype.get = function(h) {
     723            return d(h) && G(h, f) ? h[f][this.g] : void 0
     724        }
     725        ;
     726        b.prototype.has = function(h) {
     727            return d(h) && G(h, f) && G(h[f], this.g)
     728        }
     729        ;
     730        b.prototype.delete = function(h) {
     731            return d(h) && G(h, f) && G(h[f], this.g) ? delete h[f][this.g] : !1
    729732        }
    730733        ;
     
    733736    r("Map", function(a) {
    734737        function b() {
    735             var g = {};
    736             return g.previous = g.next = g.head = g
    737         }
    738         function c(g, k) {
    739             var l = g[1];
     738            var e = {};
     739            return e.previous = e.next = e.head = e
     740        }
     741        function c(e, h) {
     742            var l = e[1];
    740743            return ea(function() {
    741744                if (l) {
    742                     for (; l.head != g[1]; )
     745                    for (; l.head != e[1]; )
    743746                        l = l.previous;
    744747                    for (; l.next != l.head; )
     
    746749                        {
    747750                            done: !1,
    748                             value: k(l)
     751                            value: h(l)
    749752                        };
    750753                    l = null
     
    756759            })
    757760        }
    758         function d(g, k) {
    759             var l = k && typeof k;
    760             l == "object" || l == "function" ? e.has(k) ? l = e.get(k) : (l = "" + ++h,
    761             e.set(k, l)) : l = "p_" + k;
    762             var m = g[0][l];
    763             if (m && F(g[0], l))
    764                 for (g = 0; g < m.length; g++) {
    765                     var u = m[g];
    766                     if (k !== k && u.key !== u.key || k === u.key)
     761        function d(e, h) {
     762            var l = h && typeof h;
     763            l == "object" || l == "function" ? g.has(h) ? l = g.get(h) : (l = "" + ++f,
     764            g.set(h, l)) : l = "p_" + h;
     765            var m = e[0][l];
     766            if (m && G(e[0], l))
     767                for (e = 0; e < m.length; e++) {
     768                    var u = m[e];
     769                    if (h !== h && u.key !== u.key || h === u.key)
    767770                        return {
    768771                            id: l,
    769772                            list: m,
    770                             index: g,
     773                            index: e,
    771774                            entry: u
    772775                        }
     
    779782            }
    780783        }
    781         function f(g) {
     784        function k(e) {
    782785            this[0] = {};
    783786            this[1] = b();
    784787            this.size = 0;
    785             if (g) {
    786                 g = x(g);
    787                 for (var k; !(k = g.next()).done; )
    788                     k = k.value,
    789                     this.set(k[0], k[1])
     788            if (e) {
     789                e = x(e);
     790                for (var h; !(h = e.next()).done; )
     791                    h = h.value,
     792                    this.set(h[0], h[1])
    790793            }
    791794        }
     
    794797                return !1;
    795798            try {
    796                 var g = Object.seal({
     799                var e = Object.seal({
    797800                    x: 4
    798801                })
    799                   , k = new a(x([[g, "s"]]));
    800                 if (k.get(g) != "s" || k.size != 1 || k.get({
     802                  , h = new a(x([[e, "s"]]));
     803                if (h.get(e) != "s" || h.size != 1 || h.get({
    801804                    x: 4
    802                 }) || k.set({
     805                }) || h.set({
    803806                    x: 4
    804                 }, "t") != k || k.size != 2)
     807                }, "t") != h || h.size != 2)
    805808                    return !1;
    806                 var l = k.entries()
     809                var l = h.entries()
    807810                  , m = l.next();
    808                 if (m.done || m.value[0] != g || m.value[1] != "s")
     811                if (m.done || m.value[0] != e || m.value[1] != "s")
    809812                    return !1;
    810813                m = l.next();
     
    815818        }())
    816819            return a;
    817         var e = new WeakMap;
    818         f.prototype.set = function(g, k) {
    819             g = g === 0 ? 0 : g;
    820             var l = d(this, g);
     820        var g = new WeakMap;
     821        k.prototype.set = function(e, h) {
     822            e = e === 0 ? 0 : e;
     823            var l = d(this, e);
    821824            l.list || (l.list = this[0][l.id] = []);
    822             l.entry ? l.entry.value = k : (l.entry = {
     825            l.entry ? l.entry.value = h : (l.entry = {
    823826                next: this[1],
    824827                previous: this[1].previous,
    825828                head: this[1],
    826                 key: g,
    827                 value: k
     829                key: e,
     830                value: h
    828831            },
    829832            l.list.push(l.entry),
     
    834837        }
    835838        ;
    836         f.prototype.delete = function(g) {
    837             g = d(this, g);
    838             return g.entry && g.list ? (g.list.splice(g.index, 1),
    839             g.list.length || delete this[0][g.id],
    840             g.entry.previous.next = g.entry.next,
    841             g.entry.next.previous = g.entry.previous,
    842             g.entry.head = null,
     839        k.prototype.delete = function(e) {
     840            e = d(this, e);
     841            return e.entry && e.list ? (e.list.splice(e.index, 1),
     842            e.list.length || delete this[0][e.id],
     843            e.entry.previous.next = e.entry.next,
     844            e.entry.next.previous = e.entry.previous,
     845            e.entry.head = null,
    843846            this.size--,
    844847            !0) : !1
    845848        }
    846849        ;
    847         f.prototype.clear = function() {
     850        k.prototype.clear = function() {
    848851            this[0] = {};
    849852            this[1] = this[1].previous = b();
     
    851854        }
    852855        ;
    853         f.prototype.has = function(g) {
    854             return !!d(this, g).entry
    855         }
    856         ;
    857         f.prototype.get = function(g) {
    858             return (g = d(this, g).entry) && g.value
    859         }
    860         ;
    861         f.prototype.entries = function() {
    862             return c(this, function(g) {
    863                 return [g.key, g.value]
     856        k.prototype.has = function(e) {
     857            return !!d(this, e).entry
     858        }
     859        ;
     860        k.prototype.get = function(e) {
     861            return (e = d(this, e).entry) && e.value
     862        }
     863        ;
     864        k.prototype.entries = function() {
     865            return c(this, function(e) {
     866                return [e.key, e.value]
    864867            })
    865868        }
    866869        ;
    867         f.prototype.keys = function() {
    868             return c(this, function(g) {
    869                 return g.key
     870        k.prototype.keys = function() {
     871            return c(this, function(e) {
     872                return e.key
    870873            })
    871874        }
    872875        ;
    873         f.prototype.values = function() {
    874             return c(this, function(g) {
    875                 return g.value
     876        k.prototype.values = function() {
     877            return c(this, function(e) {
     878                return e.value
    876879            })
    877880        }
    878881        ;
    879         f.prototype.forEach = function(g, k) {
     882        k.prototype.forEach = function(e, h) {
    880883            for (var l = this.entries(), m; !(m = l.next()).done; )
    881884                m = m.value,
    882                 g.call(k, m[1], m[0], this)
    883         }
    884         ;
    885         f.prototype[Symbol.iterator] = f.prototype.entries;
    886         var h = 0;
    887         return f
     885                e.call(h, m[1], m[0], this)
     886        }
     887        ;
     888        k.prototype[Symbol.iterator] = k.prototype.entries;
     889        var f = 0;
     890        return k
    888891    });
    889892    r("Set", function(a) {
     
    909912                }) != d || d.size != 2)
    910913                    return !1;
    911                 var f = d.entries()
    912                   , e = f.next();
    913                 if (e.done || e.value[0] != c || e.value[1] != c)
     914                var k = d.entries()
     915                  , g = k.next();
     916                if (g.done || g.value[0] != c || g.value[1] != c)
    914917                    return !1;
    915                 e = f.next();
    916                 return e.done || e.value[0] == c || e.value[0].x != 4 || e.value[1] != e.value[0] ? !1 : f.next().done
    917             } catch (h) {
     918                g = k.next();
     919                return g.done || g.value[0] == c || g.value[0].x != 4 || g.value[1] != g.value[0] ? !1 : k.next().done
     920            } catch (f) {
    918921                return !1
    919922            }
     
    953956        b.prototype[Symbol.iterator] = b.prototype.values;
    954957        b.prototype.forEach = function(c, d) {
    955             var f = this;
    956             this.g.forEach(function(e) {
    957                 return c.call(d, e, e, f)
     958            var k = this;
     959            this.g.forEach(function(g) {
     960                return c.call(d, g, g, k)
    958961            })
    959962        }
     
    966969                var d = this;
    967970                d instanceof String && (d = String(d));
    968                 for (var f = d.length, e = 0; e < f; e++) {
    969                     var h = d[e];
    970                     if (b.call(c, h, e, d)) {
    971                         b = h;
     971                for (var k = d.length, g = 0; g < k; g++) {
     972                    var f = d[g];
     973                    if (b.call(c, f, g, d)) {
     974                        b = f;
    972975                        break a
    973976                    }
     
    980983    r("Array.from", function(a) {
    981984        return a ? a : function(b, c, d) {
    982             c = c != null ? c : function(g) {
    983                 return g
     985            c = c != null ? c : function(e) {
     986                return e
    984987            }
    985988            ;
    986             var f = []
    987               , e = typeof Symbol != "undefined" && Symbol.iterator && b[Symbol.iterator];
    988             if (typeof e == "function") {
    989                 b = e.call(b);
    990                 for (var h = 0; !(e = b.next()).done; )
    991                     f.push(c.call(d, e.value, h++))
     989            var k = []
     990              , g = typeof Symbol != "undefined" && Symbol.iterator && b[Symbol.iterator];
     991            if (typeof g == "function") {
     992                b = g.call(b);
     993                for (var f = 0; !(g = b.next()).done; )
     994                    k.push(c.call(d, g.value, f++))
    992995            } else
    993                 for (e = b.length,
    994                 h = 0; h < e; h++)
    995                     f.push(c.call(d, b[h], h));
    996             return f
     996                for (g = b.length,
     997                f = 0; f < g; f++)
     998                    k.push(c.call(d, b[f], f));
     999            return k
    9971000        }
    9981001    });
     
    10021005 SPDX-License-Identifier: Apache-2.0
    10031006*/
    1004     var G = this || self;
    1005     function H(a) {
     1007    var H = this || self;
     1008    function I(a) {
    10061009        var b = typeof a;
    10071010        return b == "object" && a != null || b == "function"
    10081011    }
    1009     function qa(a) {
    1010         return Object.prototype.hasOwnProperty.call(a, ra) && a[ra] || (a[ra] = ++sa)
    1011     }
    1012     var ra = "closure_uid_" + (Math.random() * 1E9 >>> 0)
    1013       , sa = 0;
    1014     function I(a, b) {
     1012    function pa(a) {
     1013        return Object.prototype.hasOwnProperty.call(a, qa) && a[qa] || (a[qa] = ++ra)
     1014    }
     1015    var qa = "closure_uid_" + (Math.random() * 1E9 >>> 0)
     1016      , ra = 0;
     1017    function J(a, b) {
    10151018        a = a.split(".");
    1016         for (var c = G, d; a.length && (d = a.shift()); )
     1019        for (var c = H, d; a.length && (d = a.shift()); )
    10171020            a.length || b === void 0 ? c[d] && c[d] !== Object.prototype[d] ? c = c[d] : c = c[d] = {} : c[d] = b
    10181021    }
    1019     function ta(a, b) {
     1022    function sa(a, b) {
    10201023        function c() {}
    10211024        c.prototype = b.prototype;
     
    10231026        a.prototype = new c;
    10241027        a.prototype.constructor = a;
    1025         a.Y = function(d, f, e) {
    1026             for (var h = Array(arguments.length - 2), g = 2; g < arguments.length; g++)
    1027                 h[g - 2] = arguments[g];
    1028             return b.prototype[f].apply(d, h)
    1029         }
    1030     }
    1031     ;var ua = Array.prototype.indexOf ? function(a, b) {
     1028        a.Y = function(d, k, g) {
     1029            for (var f = Array(arguments.length - 2), e = 2; e < arguments.length; e++)
     1030                f[e - 2] = arguments[e];
     1031            return b.prototype[k].apply(d, f)
     1032        }
     1033    }
     1034    ;var ta = Array.prototype.indexOf ? function(a, b) {
    10321035        return Array.prototype.indexOf.call(a, b, void 0)
    10331036    }
     
    10401043        return -1
    10411044    }
    1042       , va = Array.prototype.forEach ? function(a, b, c) {
     1045      , ua = Array.prototype.forEach ? function(a, b, c) {
    10431046        Array.prototype.forEach.call(a, b, c)
    10441047    }
    10451048    : function(a, b, c) {
    1046         for (var d = a.length, f = typeof a === "string" ? a.split("") : a, e = 0; e < d; e++)
    1047             e in f && b.call(c, f[e], e, a)
     1049        for (var d = a.length, k = typeof a === "string" ? a.split("") : a, g = 0; g < d; g++)
     1050            g in k && b.call(c, k[g], g, a)
    10481051    }
    10491052    ;
    1050     function wa(a, b) {
    1051         b = ua(a, b);
     1053    function va(a, b) {
     1054        b = ta(a, b);
    10521055        b >= 0 && Array.prototype.splice.call(a, b, 1)
    10531056    }
     1057    function wa(a) {
     1058        return Array.prototype.concat.apply([], arguments)
     1059    }
    10541060    function xa(a) {
    1055         return Array.prototype.concat.apply([], arguments)
    1056     }
    1057     function ya(a) {
    10581061        var b = a.length;
    10591062        if (b > 0) {
     
    10641067        return []
    10651068    }
    1066     ;function za(a, b) {
     1069    ;function ya(a, b) {
    10671070        this.i = a;
    10681071        this.j = b;
     
    10701073        this.g = null
    10711074    }
    1072     za.prototype.get = function() {
     1075    ya.prototype.get = function() {
    10731076        if (this.h > 0) {
    10741077            this.h--;
     
    10811084    }
    10821085    ;
    1083     function Aa(a) {
    1084         G.setTimeout(function() {
     1086    function za(a) {
     1087        H.setTimeout(function() {
    10851088            throw a;
    10861089        }, 0)
    10871090    }
    1088     ;function Ba() {
     1091    ;function Aa() {
    10891092        this.h = this.g = null
    10901093    }
    1091     Ba.prototype.add = function(a, b) {
    1092         var c = Ca.get();
     1094    Aa.prototype.add = function(a, b) {
     1095        var c = Ba.get();
    10931096        c.set(a, b);
    10941097        this.h ? this.h.next = c : this.g = c;
     
    10961099    }
    10971100    ;
    1098     Ba.prototype.remove = function() {
     1101    Aa.prototype.remove = function() {
    10991102        var a = null;
    11001103        this.g && (a = this.g,
     
    11051108    }
    11061109    ;
    1107     var Ca = new za(function() {
    1108         return new Da
     1110    var Ba = new ya(function() {
     1111        return new Ca
    11091112    }
    11101113    ,function(a) {
     
    11121115    }
    11131116    );
    1114     function Da() {
     1117    function Ca() {
    11151118        this.next = this.scope = this.g = null
    11161119    }
    1117     Da.prototype.set = function(a, b) {
     1120    Ca.prototype.set = function(a, b) {
    11181121        this.g = a;
    11191122        this.scope = b;
     
    11211124    }
    11221125    ;
    1123     Da.prototype.reset = function() {
     1126    Ca.prototype.reset = function() {
    11241127        this.next = this.scope = this.g = null
    11251128    }
    11261129    ;
    1127     var Ea, Fa = !1, Ga = new Ba;
    1128     function Ha(a) {
    1129         Ea || Ia();
    1130         Fa || (Ea(),
    1131         Fa = !0);
    1132         Ga.add(a, void 0)
     1130    var Da, Ea = !1, Fa = new Aa;
     1131    function Ga(a) {
     1132        Da || Ha();
     1133        Ea || (Da(),
     1134        Ea = !0);
     1135        Fa.add(a, void 0)
     1136    }
     1137    function Ha() {
     1138        var a = Promise.resolve(void 0);
     1139        Da = function() {
     1140            a.then(Ia)
     1141        }
    11331142    }
    11341143    function Ia() {
    1135         var a = Promise.resolve(void 0);
    1136         Ea = function() {
    1137             a.then(Ja)
    1138         }
    1139     }
    1140     function Ja() {
    1141         for (var a; a = Ga.remove(); ) {
     1144        for (var a; a = Fa.remove(); ) {
    11421145            try {
    11431146                a.g.call(a.scope)
    11441147            } catch (c) {
    1145                 Aa(c)
    1146             }
    1147             var b = Ca;
     1148                za(c)
     1149            }
     1150            var b = Ba;
    11481151            b.j(a);
    11491152            b.h < 100 && (b.h++,
     
    11511154            b.g = a)
    11521155        }
    1153         Fa = !1
    1154     }
    1155     ;function J() {
     1156        Ea = !1
     1157    }
     1158    ;function K() {
    11561159        this.i = this.i;
    11571160        this.j = this.j
    11581161    }
    1159     J.prototype.i = !1;
    1160     J.prototype.dispose = function() {
     1162    K.prototype.i = !1;
     1163    K.prototype.dispose = function() {
    11611164        this.i || (this.i = !0,
    11621165        this.D())
    11631166    }
    11641167    ;
    1165     J.prototype[Symbol.dispose] = function() {
     1168    K.prototype[Symbol.dispose] = function() {
    11661169        this.dispose()
    11671170    }
    11681171    ;
    1169     J.prototype.addOnDisposeCallback = function(a, b) {
     1172    K.prototype.addOnDisposeCallback = function(a, b) {
    11701173        this.i ? b !== void 0 ? a.call(b) : a() : (this.j || (this.j = []),
    11711174        b && (a = a.bind(b)),
     
    11731176    }
    11741177    ;
    1175     J.prototype.D = function() {
     1178    K.prototype.D = function() {
    11761179        if (this.j)
    11771180            for (; this.j.length; )
     
    11791182    }
    11801183    ;
    1181     function Ka(a) {
     1184    function Ja(a) {
    11821185        var b = {}, c;
    11831186        for (c in a)
     
    11851188        return b
    11861189    }
    1187     ;var La = /&/g
    1188       , Ma = /</g
    1189       , Na = />/g
    1190       , Oa = /"/g
    1191       , Pa = /'/g
    1192       , Qa = /\x00/g
    1193       , Ra = /[\x00&<>"']/;
     1190    ;var Ka = /&/g
     1191      , La = /</g
     1192      , Ma = />/g
     1193      , Na = /"/g
     1194      , Oa = /'/g
     1195      , Pa = /\x00/g
     1196      , Qa = /[\x00&<>"']/;
    11941197    /*
    11951198
     
    11971200 SPDX-License-Identifier: Apache-2.0
    11981201*/
    1199     function K(a) {
     1202    function L(a) {
    12001203        this.g = a
    12011204    }
    1202     K.prototype.toString = function() {
     1205    L.prototype.toString = function() {
    12031206        return this.g
    12041207    }
    12051208    ;
    1206     var Sa = new K("about:invalid#zClosurez");
    1207     function Ta(a) {
     1209    var Ra = new L("about:invalid#zClosurez");
     1210    function Sa(a) {
    12081211        this.S = a
    12091212    }
    1210     function L(a) {
    1211         return new Ta(function(b) {
     1213    function M(a) {
     1214        return new Sa(function(b) {
    12121215            return b.substr(0, a.length + 1).toLowerCase() === a + ":"
    12131216        }
    12141217        )
    12151218    }
    1216     var Ua = [L("data"), L("http"), L("https"), L("mailto"), L("ftp"), new Ta(function(a) {
     1219    var Ta = [M("data"), M("http"), M("https"), M("mailto"), M("ftp"), new Sa(function(a) {
    12171220        return /^[^:]*([/?#]|$)/.test(a)
    12181221    }
    12191222    )]
    1220       , Va = /^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;
    1221     var Wa = {
     1223      , Ua = /^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;
     1224    var Va = {
    12221225        X: 0,
    12231226        V: 1,
     
    12271230        2: "EMBEDDED_TRUSTED_EXTERNAL_CONTENT"
    12281231    };
    1229     function M(a, b) {
    1230         b = Error.call(this, a + " cannot be used with intent " + Wa[b]);
     1232    function N(a, b) {
     1233        b = Error.call(this, a + " cannot be used with intent " + Va[b]);
    12311234        this.message = b.message;
    12321235        "stack"in b && (this.stack = b.stack);
     
    12341237        this.name = "TypeCannotBeUsedWithIframeIntentError"
    12351238    }
    1236     var N = Error;
    1237     M.prototype = fa(N.prototype);
    1238     M.prototype.constructor = M;
     1239    var O = Error;
     1240    N.prototype = fa(O.prototype);
     1241    N.prototype.constructor = N;
    12391242    if (ja)
    1240         ja(M, N);
     1243        ja(N, O);
    12411244    else
    1242         for (var O in N)
    1243             if (O != "prototype")
     1245        for (var P in O)
     1246            if (P != "prototype")
    12441247                if (Object.defineProperties) {
    1245                     var Xa = Object.getOwnPropertyDescriptor(N, O);
    1246                     Xa && Object.defineProperty(M, O, Xa)
     1248                    var Wa = Object.getOwnPropertyDescriptor(O, P);
     1249                    Wa && Object.defineProperty(N, P, Wa)
    12471250                } else
    1248                     M[O] = N[O];
    1249     M.H = N.prototype;
    1250     function Ya(a) {
    1251         Ra.test(a) && (a.indexOf("&") != -1 && (a = a.replace(La, "&amp;")),
    1252         a.indexOf("<") != -1 && (a = a.replace(Ma, "&lt;")),
    1253         a.indexOf(">") != -1 && (a = a.replace(Na, "&gt;")),
    1254         a.indexOf('"') != -1 && (a = a.replace(Oa, "&quot;")),
    1255         a.indexOf("'") != -1 && (a = a.replace(Pa, "&#39;")),
    1256         a.indexOf("\x00") != -1 && (a = a.replace(Qa, "&#0;")));
     1251                    N[P] = O[P];
     1252    N.H = O.prototype;
     1253    function Xa(a) {
     1254        Qa.test(a) && (a.indexOf("&") != -1 && (a = a.replace(Ka, "&amp;")),
     1255        a.indexOf("<") != -1 && (a = a.replace(La, "&lt;")),
     1256        a.indexOf(">") != -1 && (a = a.replace(Ma, "&gt;")),
     1257        a.indexOf('"') != -1 && (a = a.replace(Na, "&quot;")),
     1258        a.indexOf("'") != -1 && (a = a.replace(Oa, "&#39;")),
     1259        a.indexOf("\x00") != -1 && (a = a.replace(Pa, "&#0;")));
    12571260        return a
    12581261    }
    1259     ;var Za, P;
     1262    ;var Ya, Q;
    12601263    a: {
    1261         for (var $a = ["CLOSURE_FLAGS"], Q = G, ab = 0; ab < $a.length; ab++)
    1262             if (Q = Q[$a[ab]],
    1263             Q == null) {
    1264                 P = null;
     1264        for (var Za = ["CLOSURE_FLAGS"], R = H, $a = 0; $a < Za.length; $a++)
     1265            if (R = R[Za[$a]],
     1266            R == null) {
     1267                Q = null;
    12651268                break a
    12661269            }
    1267         P = Q
    1268     }
    1269     var bb = P && P[610401301];
    1270     Za = bb != null ? bb : !1;
    1271     function R() {
    1272         var a = G.navigator;
     1270        Q = R
     1271    }
     1272    var ab = Q && Q[610401301];
     1273    Ya = ab != null ? ab : !1;
     1274    function S() {
     1275        var a = H.navigator;
    12731276        return a && (a = a.userAgent) ? a : ""
    12741277    }
    1275     var S, cb = G.navigator;
    1276     S = cb ? cb.userAgentData || null : null;
    1277     function db() {
    1278         return Za ? !!S && S.brands.length > 0 : !1
    1279     }
    1280     function eb(a) {
     1278    var T, bb = H.navigator;
     1279    T = bb ? bb.userAgentData || null : null;
     1280    function cb() {
     1281        return Ya ? !!T && T.brands.length > 0 : !1
     1282    }
     1283    function db(a) {
    12811284        var b = {};
    12821285        a.forEach(function(c) {
     
    12891292        }
    12901293    }
    1291     function fb() {
    1292         for (var a = R(), b = RegExp("([A-Z][\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?", "g"), c = [], d; d = b.exec(a); )
     1294    function eb() {
     1295        for (var a = S(), b = RegExp("([A-Z][\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?", "g"), c = [], d; d = b.exec(a); )
    12931296            c.push([d[1], d[2], d[3] || void 0]);
    1294         a = eb(c);
    1295         if (db())
     1297        a = db(c);
     1298        if (cb())
    12961299            a: {
    1297                 if (Za && S)
    1298                     for (b = 0; b < S.brands.length; b++)
    1299                         if ((c = S.brands[b].brand) && c.indexOf("Chromium") != -1) {
     1300                if (Ya && T)
     1301                    for (b = 0; b < T.brands.length; b++)
     1302                        if ((c = T.brands[b].brand) && c.indexOf("Chromium") != -1) {
    13001303                            b = !0;
    13011304                            break a
     
    13041307            }
    13051308        else
    1306             b = (R().indexOf("Chrome") != -1 || R().indexOf("CriOS") != -1) && (db() || R().indexOf("Edge") == -1) || R().indexOf("Silk") != -1;
     1309            b = (S().indexOf("Chrome") != -1 || S().indexOf("CriOS") != -1) && (cb() || S().indexOf("Edge") == -1) || S().indexOf("Silk") != -1;
    13071310        return b ? a(["Chrome", "CriOS", "HeadlessChrome"]) : ""
    13081311    }
    1309     function gb() {
    1310         if (db()) {
    1311             var a = S.brands.find(function(b) {
     1312    function fb() {
     1313        if (cb()) {
     1314            var a = T.brands.find(function(b) {
    13121315                return b.brand === "Chromium"
    13131316            });
     
    13161319            a = a.version.split(".")
    13171320        } else {
    1318             a = fb();
     1321            a = eb();
    13191322            if (a === "")
    13201323                return NaN;
     
    13231326        return a.length === 0 ? NaN : Number(a[0])
    13241327    }
    1325     ;function hb(a, b) {
    1326         var c = b.parentNode;
    1327         c && c.replaceChild(a, b)
    1328     }
    1329     ;function T(a) {
    1330         J.call(this);
     1328    ;function U(a) {
     1329        K.call(this);
    13311330        this.o = 1;
    13321331        this.l = [];
     
    13361335        this.A = !!a
    13371336    }
    1338     ta(T, J);
    1339     n = T.prototype;
     1337    sa(U, K);
     1338    n = U.prototype;
    13401339    n.subscribe = function(a, b, c) {
    13411340        var d = this.h[a];
    13421341        d || (d = this.h[a] = []);
    1343         var f = this.o;
    1344         this.g[f] = a;
    1345         this.g[f + 1] = b;
    1346         this.g[f + 2] = c;
    1347         this.o = f + 3;
    1348         d.push(f);
    1349         return f
     1342        var k = this.o;
     1343        this.g[k] = a;
     1344        this.g[k + 1] = b;
     1345        this.g[k + 2] = c;
     1346        this.o = k + 3;
     1347        d.push(k);
     1348        return k
    13501349    }
    13511350    ;
    1352     function ib(a, b, c) {
    1353         var d = U;
     1351    function gb(a, b, c) {
     1352        var d = V;
    13541353        if (a = d.h[a]) {
    1355             var f = d.g;
    1356             (a = a.find(function(e) {
    1357                 return f[e + 1] == b && f[e + 2] == c
     1354            var k = d.g;
     1355            (a = a.find(function(g) {
     1356                return k[g + 1] == b && k[g + 2] == c
    13581357            })) && d.F(a)
    13591358        }
     
    13651364            this.m != 0 ? (this.l.push(a),
    13661365            this.g[a + 1] = function() {}
    1367             ) : (c && wa(c, a),
     1366            ) : (c && va(c, a),
    13681367            delete this.g[a],
    13691368            delete this.g[a + 1],
     
    13761375        var c = this.h[a];
    13771376        if (c) {
    1378             var d = Array(arguments.length - 1), f = arguments.length, e;
    1379             for (e = 1; e < f; e++)
    1380                 d[e - 1] = arguments[e];
     1377            var d = Array(arguments.length - 1), k = arguments.length, g;
     1378            for (g = 1; g < k; g++)
     1379                d[g - 1] = arguments[g];
    13811380            if (this.A)
    1382                 for (e = 0; e < c.length; e++)
    1383                     f = c[e],
    1384                     jb(this.g[f + 1], this.g[f + 2], d);
     1381                for (g = 0; g < c.length; g++)
     1382                    k = c[g],
     1383                    hb(this.g[k + 1], this.g[k + 2], d);
    13851384            else {
    13861385                this.m++;
    13871386                try {
    1388                     for (e = 0,
    1389                     f = c.length; e < f && !this.i; e++) {
    1390                         var h = c[e];
    1391                         this.g[h + 1].apply(this.g[h + 2], d)
     1387                    for (g = 0,
     1388                    k = c.length; g < k && !this.i; g++) {
     1389                        var f = c[g];
     1390                        this.g[f + 1].apply(this.g[f + 2], d)
    13921391                    }
    13931392                } finally {
     
    13981397                }
    13991398            }
    1400             return e != 0
     1399            return g != 0
    14011400        }
    14021401        return !1
    14031402    }
    14041403    ;
    1405     function jb(a, b, c) {
    1406         Ha(function() {
     1404    function hb(a, b, c) {
     1405        Ga(function() {
    14071406            a.apply(b, c)
    14081407        })
     
    14191418    ;
    14201419    n.D = function() {
    1421         T.H.D.call(this);
     1420        U.H.D.call(this);
    14221421        this.clear();
    14231422        this.l.length = 0
    14241423    }
    14251424    ;
    1426     var kb = RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");
    1427     function lb(a) {
    1428         var b = a.match(kb);
     1425    var ib = RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");
     1426    function jb(a) {
     1427        var b = a.match(ib);
    14291428        a = b[1];
    14301429        var c = b[2]
    14311430          , d = b[3];
    14321431        b = b[4];
    1433         var f = "";
    1434         a && (f += a + ":");
    1435         d && (f += "//",
    1436         c && (f += c + "@"),
    1437         f += d,
    1438         b && (f += ":" + b));
    1439         return f
    1440     }
    1441     function mb(a, b, c) {
     1432        var k = "";
     1433        a && (k += a + ":");
     1434        d && (k += "//",
     1435        c && (k += c + "@"),
     1436        k += d,
     1437        b && (k += ":" + b));
     1438        return k
     1439    }
     1440    function kb(a, b, c) {
    14421441        if (Array.isArray(b))
    14431442            for (var d = 0; d < b.length; d++)
    1444                 mb(a, String(b[d]), c);
     1443                kb(a, String(b[d]), c);
    14451444        else
    14461445            b != null && c.push(a + (b === "" ? "" : "=" + encodeURIComponent(String(b))))
    14471446    }
    1448     var nb = /#|$/;
    1449     var ob = ["https://www.google.com"];
    1450     function pb() {
     1447    var lb = /#|$/;
     1448    var mb = ["https://www.google.com"];
     1449    function nb() {
    14511450        var a = this;
    14521451        this.g = [];
     
    14591458        }
    14601459    }
    1461     function qb() {
    1462         return oa(function(a) {
     1460    function ob() {
     1461        return F(function(a) {
    14631462            var b = a.return;
    1464             var c = gb() >= 119;
     1463            var c = fb() >= 119;
    14651464            return b.call(a, c && !!navigator.permissions && !!navigator.permissions.query && "requestStorageAccessFor"in document)
    14661465        })
    14671466    }
    1468     function rb() {
    1469         var a = new pb
     1467    function pb() {
     1468        var a = new nb
    14701469          , b = ["https://www.youtube.com"];
    1471         b = b === void 0 ? ob : b;
    1472         oa(function(c) {
     1470        b = b === void 0 ? mb : b;
     1471        F(function(c) {
    14731472            switch (c.g) {
    14741473            case 1:
    1475                 return C(c, qb(), 2);
     1474                return C(c, ob(), 2);
    14761475            case 2:
    14771476                if (!c.m) {
     
    14801479                }
    14811480                return C(c, Promise.all(b.map(function(d) {
    1482                     var f;
    1483                     return oa(function(e) {
    1484                         if (e.g == 1)
    1485                             return e.l = 2,
    1486                             C(e, navigator.permissions.query({
     1481                    var k;
     1482                    return F(function(g) {
     1483                        if (g.g == 1)
     1484                            return g.l = 2,
     1485                            C(g, navigator.permissions.query({
    14871486                                name: "top-level-storage-access",
    14881487                                requestedOrigin: d
    14891488                            }), 4);
    1490                         e.g != 2 ? (f = e.m,
    1491                         f.state === "prompt" && a.g.push(d),
    1492                         e.g = 0,
    1493                         e.l = 0) : (e.l = 0,
    1494                         e.i = null,
    1495                         e.g = 0)
     1489                        g.g != 2 ? (k = g.m,
     1490                        k.state === "prompt" && a.g.push(d),
     1491                        g.g = 0,
     1492                        g.l = 0) : (g.l = 0,
     1493                        g.i = null,
     1494                        g.g = 0)
    14961495                    })
    14971496                })), 4);
     
    15031502        })
    15041503    }
    1505     ;var V = {}
    1506       , sb = []
    1507       , U = new T
    1508       , tb = {};
    1509     function ub() {
    1510         for (var a = x(sb), b = a.next(); !b.done; b = a.next())
     1504    ;var W = {}
     1505      , qb = []
     1506      , V = new U
     1507      , rb = {};
     1508    function sb() {
     1509        for (var a = x(qb), b = a.next(); !b.done; b = a.next())
    15111510            b = b.value,
    15121511            b()
    15131512    }
    1514     function vb(a, b) {
     1513    function tb(a, b) {
    15151514        return a.tagName.toLowerCase().substring(0, 3) === "yt:" ? a.getAttribute(b) : a.dataset ? a.dataset[b] : a.getAttribute("data-" + b)
    15161515    }
     1516    function ub(a) {
     1517        V.G.apply(V, arguments)
     1518    }
     1519    ;function vb(a) {
     1520        return (a.search("cue") === 0 || a.search("load") === 0) && a !== "loadModule"
     1521    }
    15171522    function wb(a) {
    1518         U.G.apply(U, arguments)
    1519     }
    1520     ;function xb(a) {
    1521         return (a.search("cue") === 0 || a.search("load") === 0) && a !== "loadModule"
    1522     }
    1523     function yb(a) {
    15241523        return a.search("get") === 0 || a.search("is") === 0
    15251524    }
    1526     ;var W = window;
     1525    ;var xb = window;
    15271526    function X(a, b) {
    15281527        this.v = {};
    15291528        this.playerInfo = {};
    15301529        this.videoTitle = "";
    1531         this.i = this.g = null;
     1530        this.j = this.g = null;
    15321531        this.h = 0;
    15331532        this.m = !1;
    15341533        this.l = [];
    1535         this.j = null;
     1534        this.i = null;
    15361535        this.C = {};
    15371536        this.options = null;
     
    15391538        if (!a)
    15401539            throw Error("YouTube player element ID required.");
    1541         this.id = qa(this);
     1540        this.id = pa(this);
    15421541        b = Object.assign({
    15431542            title: "video player",
     
    15481547        var c = document;
    15491548        if (a = typeof a === "string" ? c.getElementById(a) : a) {
    1550             W.yt_embedsEnableRsaforFromIframeApi && rb();
     1549            xb.yt_embedsEnableRsaforFromIframeApi && pb();
    15511550            c = a.tagName.toLowerCase() === "iframe";
    1552             b.host || (b.host = c ? lb(a.src) : "https://www.youtube.com");
     1551            b.host || (b.host = c ? jb(a.src) : "https://www.youtube.com");
    15531552            this.options = b || {};
    15541553            b = [this.options, window.YTConfig || {}];
    15551554            for (var d = 0; d < b.length; d++)
    15561555                b[d].host && (b[d].host = b[d].host.toString().replace("http://", "https://"));
    1557             c || (W.yt_embedsEnableAutoplayAndVisibilitySignals ? (b = document.createElement("iframe"),
    1558             zb(this, b, a),
    1559             this.i = a,
    1560             hb(b, a),
    1561             Ab(this, b, Bb(this, b)),
    1562             a = b) : (b = document.createElement("iframe"),
    1563             zb(this, b, a),
    1564             Ab(this, b, Bb(this)),
    1565             this.i = a,
    1566             hb(b, a),
    1567             a = b));
     1556            if (!c) {
     1557                b = document.createElement("iframe");
     1558                c = a.attributes;
     1559                d = 0;
     1560                for (var k = c.length; d < k; d++) {
     1561                    var g = c[d].value;
     1562                    g != null && g !== "" && g !== "null" && b.setAttribute(c[d].name, g)
     1563                }
     1564                b.setAttribute("frameBorder", "0");
     1565                b.setAttribute("allowfullscreen", "");
     1566                b.setAttribute("allow", "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share");
     1567                b.setAttribute("referrerPolicy", "strict-origin-when-cross-origin");
     1568                b.setAttribute("title", "YouTube " + Y(this, "title"));
     1569                (c = Y(this, "width")) && b.setAttribute("width", c.toString());
     1570                (c = Y(this, "height")) && b.setAttribute("height", c.toString());
     1571                this.j = a;
     1572                (c = a.parentNode) && c.replaceChild(b, a);
     1573                a = yb(this, b);
     1574                c = "" + Y(this, "host") + zb(this) + "?";
     1575                d = [];
     1576                for (var f in a)
     1577                    kb(f, a[f], d);
     1578                f = c + d.join("&");
     1579                if (xb.yt_embedsEnableIframeSrcWithIntent) {
     1580                    var e = e === void 0 ? Ta : e;
     1581                    a: if (e = e === void 0 ? Ta : e,
     1582                    f instanceof L)
     1583                        e = f;
     1584                    else {
     1585                        for (a = 0; a < e.length; ++a)
     1586                            if (c = e[a],
     1587                            c instanceof Sa && c.S(f)) {
     1588                                e = new L(f);
     1589                                break a
     1590                            }
     1591                        e = void 0
     1592                    }
     1593                    e = e || Ra;
     1594                    b.removeAttribute("srcdoc");
     1595                    f = "allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-storage-access-by-user-activation".split(" ");
     1596                    b.setAttribute("sandbox", "");
     1597                    for (a = 0; a < f.length; a++)
     1598                        b.sandbox.supports && !b.sandbox.supports(f[a]) || b.sandbox.add(f[a]);
     1599                    if (e instanceof L)
     1600                        if (e instanceof L)
     1601                            e = e.g;
     1602                        else
     1603                            throw Error("");
     1604                    else
     1605                        e = Ua.test(e) ? e : void 0;
     1606                    e !== void 0 && (b.src = e);
     1607                    b.sandbox.add("allow-presentation", "allow-top-navigation")
     1608                } else
     1609                    b.src = f;
     1610                a = b
     1611            }
    15681612            this.g = a;
    1569             this.g.id || (this.g.id = "widget" + qa(this.g));
    1570             V[this.g.id] = this;
     1613            this.g.id || (this.g.id = "widget" + pa(this.g));
     1614            W[this.g.id] = this;
    15711615            if (window.postMessage) {
    1572                 this.j = new T;
    1573                 Cb(this);
    1574                 a = Y(this, "events");
    1575                 for (var f in a)
    1576                     a.hasOwnProperty(f) && this.addEventListener(f, a[f]);
    1577                 for (var e in tb)
    1578                     tb.hasOwnProperty(e) && Db(this, e)
     1616                this.i = new U;
     1617                Ab(this);
     1618                b = Y(this, "events");
     1619                for (var h in b)
     1620                    b.hasOwnProperty(h) && this.addEventListener(h, b[h]);
     1621                for (var l in rb)
     1622                    rb.hasOwnProperty(l) && Bb(this, l)
    15791623            }
    15801624        }
     
    15991643        if (!c)
    16001644            return this;
    1601         this.j.subscribe(a, c);
    1602         Eb(this, a);
     1645        this.i.subscribe(a, c);
     1646        Cb(this, a);
    16031647        return this
    16041648    }
    16051649    ;
    1606     function Db(a, b) {
     1650    function Bb(a, b) {
    16071651        b = b.split(".");
    16081652        if (b.length === 2) {
    16091653            var c = b[1];
    1610             "player" === b[0] && Eb(a, c)
     1654            "player" === b[0] && Cb(a, c)
    16111655        }
    16121656    }
    16131657    n.destroy = function() {
    1614         this.g && this.g.id && (V[this.g.id] = null);
    1615         var a = this.j;
     1658        this.g && this.g.id && (W[this.g.id] = null);
     1659        var a = this.i;
    16161660        a && typeof a.dispose == "function" && a.dispose();
    1617         this.i ? hb(this.i, this.g) : (a = this.g) && a.parentNode && a.parentNode.removeChild(a);
     1661        if (this.j) {
     1662            a = this.j;
     1663            var b = this.g
     1664              , c = b.parentNode;
     1665            c && c.replaceChild(a, b)
     1666        } else
     1667            (a = this.g) && a.parentNode && a.parentNode.removeChild(a);
    16181668        Z && (Z[this.id] = null);
    16191669        this.options = null;
    16201670        this.g && this.o && this.g.removeEventListener("load", this.o);
    1621         this.i = this.g = null
     1671        this.j = this.g = null
    16221672    }
    16231673    ;
    1624     function Fb(a, b, c) {
     1674    function Db(a, b, c) {
    16251675        c = c || [];
    16261676        c = Array.prototype.slice.call(c);
     
    16321682        a.m ? a.sendMessage(b) : a.l.push(b)
    16331683    }
    1634     function zb(a, b, c) {
    1635         c = c.attributes;
    1636         for (var d = 0, f = c.length; d < f; d++) {
    1637             var e = c[d].value;
    1638             e != null && e !== "" && e !== "null" && b.setAttribute(c[d].name, e)
    1639         }
    1640         b.setAttribute("frameBorder", "0");
    1641         b.setAttribute("allowfullscreen", "");
    1642         b.setAttribute("allow", "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share");
    1643         b.setAttribute("referrerPolicy", "strict-origin-when-cross-origin");
    1644         b.setAttribute("title", "YouTube " + Y(a, "title"));
    1645         (c = Y(a, "width")) && b.setAttribute("width", c.toString());
    1646         (a = Y(a, "height")) && b.setAttribute("height", a.toString())
    1647     }
    1648     function Ab(a, b, c) {
    1649         a = "" + Y(a, "host") + Gb(a) + "?";
    1650         var d = [], f;
    1651         for (f in c)
    1652             mb(f, c[f], d);
    1653         c = a + d.join("&");
    1654         if (W.yt_embedsEnableIframeSrcWithIntent) {
    1655             var e = e === void 0 ? Ua : e;
    1656             a: if (e = e === void 0 ? Ua : e,
    1657             c instanceof K)
    1658                 e = c;
    1659             else {
    1660                 for (f = 0; f < e.length; ++f)
    1661                     if (a = e[f],
    1662                     a instanceof Ta && a.S(c)) {
    1663                         e = new K(c);
    1664                         break a
    1665                     }
    1666                 e = void 0
    1667             }
    1668             e = e || Sa;
    1669             b.removeAttribute("srcdoc");
    1670             c = "allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-storage-access-by-user-activation".split(" ");
    1671             b.setAttribute("sandbox", "");
    1672             for (f = 0; f < c.length; f++)
    1673                 b.sandbox.supports && !b.sandbox.supports(c[f]) || b.sandbox.add(c[f]);
    1674             if (e instanceof K)
    1675                 if (e instanceof K)
    1676                     e = e.g;
    1677                 else
    1678                     throw Error("");
    1679             else
    1680                 e = Va.test(e) ? e : void 0;
    1681             e !== void 0 && (b.src = e);
    1682             b.sandbox.add("allow-presentation", "allow-top-navigation")
    1683         } else
    1684             b.src = c
    1685     }
    16861684    n.T = function() {
    1687         Hb(this) || clearInterval(this.h)
     1685        Eb(this) || clearInterval(this.h)
    16881686    }
    16891687    ;
    1690     function Hb(a) {
     1688    function Eb(a) {
    16911689        if (!a.g || !a.g.contentWindow)
    16921690            return !1;
     
    16961694        return !0
    16971695    }
    1698     function Cb(a) {
    1699         Ib(a, a.id, String(Y(a, "host")));
    1700         a.h = setInterval(a.A, 250);
     1696    function Ab(a) {
     1697        Fb(a, a.id, String(Y(a, "host")));
     1698        var b = Number(xb.yt_embedsWidgetPollIntervalMs) || 250;
     1699        a.h = setInterval(a.A, b);
    17011700        a.g && (a.o = function() {
    17021701            clearInterval(a.h);
    1703             a.h = setInterval(a.A, 250)
     1702            a.h = setInterval(a.A, b)
    17041703        }
    17051704        ,
    17061705        a.g.addEventListener("load", a.o))
    17071706    }
    1708     function Jb(a) {
     1707    function Gb(a) {
    17091708        var b = a.getBoundingClientRect();
    17101709        a = Math.max(0, Math.min(b.bottom, window.innerHeight || document.documentElement.clientHeight) - Math.max(b.top, 0)) * Math.max(0, Math.min(b.right, window.innerWidth || document.documentElement.clientWidth) - Math.max(b.left, 0));
     
    17121711        return document.visibilityState === "hidden" || a < .5 ? 1 : a < .75 ? 2 : a < .85 ? 3 : a < .95 ? 4 : a < 1 ? 5 : 6
    17131712    }
    1714     function Eb(a, b) {
     1713    function Cb(a, b) {
    17151714        a.C[b] || (a.C[b] = !0,
    1716         Fb(a, "addEventListener", [b]))
     1715        Db(a, "addEventListener", [b]))
    17171716    }
    17181717    n.sendMessage = function(a) {
     
    17201719        a.channel = "widget";
    17211720        a = JSON.stringify(a);
    1722         var b = lb(this.g.src || "").replace("http:", "https:");
     1721        var b = jb(this.g.src || "").replace("http:", "https:");
    17231722        if (this.g.contentWindow)
    17241723            try {
     
    17341733    }
    17351734    ;
    1736     function Gb(a) {
    1737             if ((a = String(Y(a, "videoId"))) && (a.length !== 11 || !a.match(/^[a-zA-Z0-9\-_]+$/)))
    1738                 throw Error("Invalid video id");
    1739             return "/embed/" + a
    1740     }
    1741     function Bb(a, b) {
     1735    function zb(a) {
     1736        if ((a = String(Y(a, "videoId"))) && (a.length !== 11 || !a.match(/^[a-zA-Z0-9\-_]+$/)))
     1737            throw Error("Invalid video id");
     1738        return "/embed/" + a
     1739    }
     1740    function yb(a, b) {
    17421741        var c = Y(a, "playerVars");
    1743         c ? c = Ka(c) : c = {};
     1742        c ? c = Ja(c) : c = {};
    17441743        window !== window.top && document.referrer && (c.widget_referrer = document.referrer.substring(0, 256));
    17451744        var d = Y(a, "embedConfig");
    17461745        if (d) {
    1747             if (H(d))
     1746            if (I(d))
    17481747                try {
    17491748                    d = JSON.stringify(d)
    1750                 } catch (f) {
    1751                     console.error("Invalid embed config JSON", f)
     1749                } catch (k) {
     1750                    console.error("Invalid embed config JSON", k)
    17521751                }
    17531752            c.embed_config = d
     
    17561755        window.location.host && (c.origin = window.location.protocol + "//" + window.location.host);
    17571756        c.widgetid = a.id;
    1758         window.location.href && va(["debugjs", "debugcss"], function(f) {
    1759             var e = window.location.href;
    1760             var h = e.search(nb);
     1757        window.location.href && ua(["debugjs", "debugcss"], function(k) {
     1758            var g = window.location.href;
     1759            var f = g.search(lb);
    17611760            b: {
    1762                 var g = 0;
    1763                 for (var k = f.length; (g = e.indexOf(f, g)) >= 0 && g < h; ) {
    1764                     var l = e.charCodeAt(g - 1);
     1761                var e = 0;
     1762                for (var h = k.length; (e = g.indexOf(k, e)) >= 0 && e < f; ) {
     1763                    var l = g.charCodeAt(e - 1);
    17651764                    if (l == 38 || l == 63)
    1766                         if (l = e.charCodeAt(g + k),
     1765                        if (l = g.charCodeAt(e + h),
    17671766                        !l || l == 61 || l == 38 || l == 35)
    17681767                            break b;
    1769                     g += k + 1
    1770                 }
    1771                 g = -1
    1772             }
    1773             if (g < 0)
    1774                 e = null;
     1768                    e += h + 1
     1769                }
     1770                e = -1
     1771            }
     1772            if (e < 0)
     1773                g = null;
    17751774            else {
    1776                 k = e.indexOf("&", g);
    1777                 if (k < 0 || k > h)
    1778                     k = h;
    1779                 g += f.length + 1;
    1780                 e = decodeURIComponent(e.slice(g, k !== -1 ? k : 0).replace(/\+/g, " "))
    1781             }
    1782             e !== null && (c[f] = e)
     1775                h = g.indexOf("&", e);
     1776                if (h < 0 || h > f)
     1777                    h = f;
     1778                e += k.length + 1;
     1779                g = decodeURIComponent(g.slice(e, h !== -1 ? h : 0).replace(/\+/g, " "))
     1780            }
     1781            g !== null && (c[k] = g)
    17831782        });
    1784         W.yt_embedsEnableIframeApiSendFullEmbedUrl && (window.location.href && (c.forigin = window.location.href),
    1785         a = window.location.ancestorOrigins,
    1786         c.aoriginsup = a === void 0 ? 0 : 1,
    1787         a && a.length > 0 && (c.aorigins = Array.from(a).join(",")),
    1788         window.document.referrer && (c.gporigin = window.document.referrer));
    1789         W.yt_embedsEnableAutoplayAndVisibilitySignals && b && (c.vf = Jb(b));
     1783        window.location.href && (c.forigin = window.location.href);
     1784        a = window.location.ancestorOrigins;
     1785        c.aoriginsup = a === void 0 ? 0 : 1;
     1786        a && a.length > 0 && (c.aorigins = Array.from(a).join(","));
     1787        window.document.referrer && (c.gporigin = window.document.referrer);
     1788        b && (c.vf = Gb(b));
    17901789        return c
    17911790    }
    1792     function Kb(a, b) {
    1793         if (H(b)) {
     1791    function Hb(a, b) {
     1792        if (I(b)) {
    17941793            for (var c in b)
    17951794                b.hasOwnProperty(c) && (a.playerInfo[c] = b[c]);
     
    18011800        }
    18021801    }
    1803     function Lb(a, b) {
     1802    function Ib(a, b) {
    18041803        b = x(b);
    18051804        for (var c = b.next(), d = {}; !c.done; d = {
     
    18091808            d.u = c.value,
    18101809            a[d.u] || (d.u === "getCurrentTime" ? a[d.u] = function() {
    1811                 var f = this.playerInfo.currentTime;
     1810                var k = this.playerInfo.currentTime;
    18121811                if (this.playerInfo.playerState === 1) {
    1813                     var e = (Date.now() / 1E3 - this.playerInfo.currentTimeLastUpdated_) * this.playerInfo.playbackRate;
    1814                     e > 0 && (f += Math.min(e, 1))
    1815                 }
    1816                 return f
    1817             }
    1818             : xb(d.u) ? a[d.u] = function(f) {
     1812                    var g = (Date.now() / 1E3 - this.playerInfo.currentTimeLastUpdated_) * this.playerInfo.playbackRate;
     1813                    g > 0 && (k += Math.min(g, 1))
     1814                }
     1815                return k
     1816            }
     1817            : vb(d.u) ? a[d.u] = function(k) {
    18191818                return function() {
    18201819                    this.playerInfo = {};
    18211820                    this.v = {};
    1822                     Fb(this, f.u, arguments);
     1821                    Db(this, k.u, arguments);
    18231822                    return this
    18241823                }
    1825             }(d) : yb(d.u) ? a[d.u] = function(f) {
     1824            }(d) : wb(d.u) ? a[d.u] = function(k) {
    18261825                return function() {
    1827                     var e = f.u
    1828                       , h = 0;
    1829                     e.search("get") === 0 ? h = 3 : e.search("is") === 0 && (h = 2);
    1830                     return this.playerInfo[e.charAt(h).toLowerCase() + e.substring(h + 1)]
    1831                 }
    1832             }(d) : a[d.u] = function(f) {
     1826                    var g = k.u
     1827                      , f = 0;
     1828                    g.search("get") === 0 ? f = 3 : g.search("is") === 0 && (f = 2);
     1829                    return this.playerInfo[g.charAt(f).toLowerCase() + g.substring(f + 1)]
     1830                }
     1831            }(d) : a[d.u] = function(k) {
    18331832                return function() {
    1834                     Fb(this, f.u, arguments);
     1833                    Db(this, k.u, arguments);
    18351834                    return this
    18361835                }
     
    18381837    }
    18391838    n.getVideoEmbedCode = function() {
    1840         var a = "" + Y(this, "host") + Gb(this)
     1839        var a = "" + Y(this, "host") + zb(this)
    18411840          , b = Number(Y(this, "width"))
    18421841          , c = Number(Y(this, "height"));
     
    18461845        c = Math.floor(c);
    18471846        var d = this.videoTitle;
    1848         a = Ya(a);
    1849         d = Ya(d != null ? d : "YouTube video player");
     1847        a = Xa(a);
     1848        d = Xa(d != null ? d : "YouTube video player");
    18501849        return '<iframe width="' + b + '" height="' + c + '" src="' + a + '" title="' + (d + '" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>')
    18511850    }
     
    18701869    }
    18711870    var Z = null
    1872       , Mb = null;
    1873     function Nb(a) {
     1871      , Jb = null;
     1872    function Kb(a) {
    18741873        if (a.tagName.toLowerCase() !== "iframe") {
    1875             var b = vb(a, "videoid");
     1874            var b = tb(a, "videoid");
    18761875            b && (b = {
    18771876                videoId: b,
    1878                 width: vb(a, "width"),
    1879                 height: vb(a, "height")
     1877                width: tb(a, "width"),
     1878                height: tb(a, "height")
    18801879            },
    18811880            new X(a,b))
    18821881        }
    18831882    }
    1884     function Ib(a, b, c) {
     1883    function Fb(a, b, c) {
    18851884        Z || (Z = {},
    1886         Mb = new Set,
    1887         Ob.addEventListener("message", function(d) {
    1888             a: if (Mb.has(d.origin)) {
     1885        Jb = new Set,
     1886        Lb.addEventListener("message", function(d) {
     1887            a: if (Jb.has(d.origin)) {
    18891888                try {
    1890                     var f = JSON.parse(d.data)
    1891                 } catch (g) {
     1889                    var k = JSON.parse(d.data)
     1890                } catch (e) {
    18921891                    break a
    18931892                }
    1894                 var e = Z[f.id];
    1895                 if (e && d.origin === e.O)
    1896                     switch (d = e.U,
     1893                var g = Z[k.id];
     1894                if (g && d.origin === g.O)
     1895                    switch (d = g.U,
    18971896                    d.m = !0,
    1898                     d.m && (va(d.l, d.sendMessage, d),
     1897                    d.m && (ua(d.l, d.sendMessage, d),
    18991898                    d.l.length = 0),
    1900                     e = f.event,
    1901                     f = f.info,
    1902                     e) {
     1899                    g = k.event,
     1900                    k = k.info,
     1901                    g) {
    19031902                    case "apiInfoDelivery":
    1904                         if (H(f))
    1905                             for (var h in f)
    1906                                 f.hasOwnProperty(h) && (d.v[h] = f[h]);
     1903                        if (I(k))
     1904                            for (var f in k)
     1905                                k.hasOwnProperty(f) && (d.v[f] = k[f]);
    19071906                        break;
    19081907                    case "infoDelivery":
    1909                         Kb(d, f);
     1908                        Hb(d, k);
    19101909                        break;
    19111910                    case "initialDelivery":
    1912                         H(f) && (clearInterval(d.h),
     1911                        I(k) && (clearInterval(d.h),
    19131912                        d.playerInfo = {},
    19141913                        d.v = {},
    1915                         Lb(d, f.apiInterface),
    1916                         Kb(d, f));
     1914                        Ib(d, k.apiInterface),
     1915                        Hb(d, k));
    19171916                        break;
    19181917                    case "alreadyInitialized":
     
    19201919                        break;
    19211920                    case "readyToListen":
    1922                         Hb(d);
     1921                        Eb(d);
    19231922                        break;
    19241923                    default:
    1925                         d.j.i || (h = {
     1924                        d.i.i || (f = {
    19261925                            target: d,
    1927                             data: f
     1926                            data: k
    19281927                        },
    1929                         d.j.G(e, h),
    1930                         wb("player." + e, h))
     1928                        d.i.G(g, f),
     1929                        ub("player." + g, f))
    19311930                    }
    19321931            }
     
    19361935            O: c
    19371936        };
    1938         Mb.add(c)
    1939     }
    1940     var Ob = window;
    1941     I("FV_YT.PlayerState.UNSTARTED", -1);
    1942     I("FV_YT.PlayerState.ENDED", 0);
    1943     I("FV_YT.PlayerState.PLAYING", 1);
    1944     I("FV_YT.PlayerState.PAUSED", 2);
    1945     I("FV_YT.PlayerState.BUFFERING", 3);
    1946     I("FV_YT.PlayerState.CUED", 5);
    1947     I("FV_YT.get", function(a) {
    1948         return V[a]
     1937        Jb.add(c)
     1938    }
     1939    var Lb = window;
     1940    J("FV_YT.PlayerState.UNSTARTED", -1);
     1941    J("FV_YT.PlayerState.ENDED", 0);
     1942    J("FV_YT.PlayerState.PLAYING", 1);
     1943    J("FV_YT.PlayerState.PAUSED", 2);
     1944    J("FV_YT.PlayerState.BUFFERING", 3);
     1945    J("FV_YT.PlayerState.CUED", 5);
     1946    J("FV_YT.get", function(a) {
     1947        return W[a]
    19491948    });
    1950     I("FV_YT.scan", ub);
    1951     I("FV_YT.subscribe", function(a, b, c) {
    1952         U.subscribe(a, b, c);
    1953         tb[a] = !0;
    1954         for (var d in V)
    1955             V.hasOwnProperty(d) && Db(V[d], a)
     1949    J("FV_YT.scan", sb);
     1950    J("FV_YT.subscribe", function(a, b, c) {
     1951        V.subscribe(a, b, c);
     1952        rb[a] = !0;
     1953        for (var d in W)
     1954            W.hasOwnProperty(d) && Bb(W[d], a)
    19561955    });
    1957     I("FV_YT.unsubscribe", function(a, b, c) {
    1958         ib(a, b, c)
     1956    J("FV_YT.unsubscribe", function(a, b, c) {
     1957        gb(a, b, c)
    19591958    });
    1960     I("FV_YT.Player", X);
     1959    J("FV_YT.Player", X);
    19611960    X.prototype.destroy = X.prototype.destroy;
    19621961    X.prototype.setSize = X.prototype.setSize;
     
    19661965    X.prototype.getOptions = X.prototype.getOptions;
    19671966    X.prototype.getOption = X.prototype.getOption;
    1968     sb.push(function(a) {
     1967    qb.push(function(a) {
    19691968        var b = a;
    19701969        b || (b = document);
    1971         a = ya(b.getElementsByTagName("yt:player"));
    1972         b = ya((b || document).querySelectorAll(".yt-player"));
    1973         va(xa(a, b), Nb)
     1970        a = xa(b.getElementsByTagName("yt:player"));
     1971        b = xa((b || document).querySelectorAll(".yt-player"));
     1972        ua(wa(a, b), Kb)
    19741973    });
    1975     typeof YTConfig !== "undefined" && YTConfig.parsetags && YTConfig.parsetags !== "onload" || ub();
    1976     // var Pb = G.onYTReady;
    1977     // Pb && Pb();
    1978     // var Qb = G.onYouTubeIframeAPIReady;
    1979     // Qb && Qb();
    1980     // var Rb = G.onYouTubePlayerAPIReady;
    1981     // Rb && Rb();
     1974    typeof YTConfig !== "undefined" && YTConfig.parsetags && YTConfig.parsetags !== "onload" || sb();
     1975    // var Mb = H.onYTReady;
     1976    // Mb && Mb();
     1977    // var Nb = H.onYouTubeIframeAPIReady;
     1978    // Nb && Nb();
     1979    // var Ob = H.onYouTubePlayerAPIReady;
     1980    // Ob && Ob();
    19821981}
    19831982).call(this);
  • fv-player/trunk/freedom-video-player/fv-player-youtube.min.js

    r3348866 r3363337  
    1 function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var FV_YT,YTConfig,fv_player_youtube_error,fv_player_pro_youtube_get_video_id,fv_player_pro_youtube_addRemovableEventListener,fv_player_pro_youtube_onReady,fv_player_pro_youtube_onStateChange,fv_player_pro_youtube_onError,fv_player_pro_youtube_is_mobile,fv_player_pro_youtube_is_old_android,fv_player_pro_youtube_player_vars,fv_player_pro_youtube_preload;fv_flowplayer_conf.youtube&&(window.FV_YT||(FV_YT={loading:0,loaded:0}),window.YTConfig||(YTConfig={host:"https://www.youtube.com"}),FV_YT.loading||(FV_YT.loading=1,(()=>{var t=[];FV_YT.ready=function(e){FV_YT.loaded?e():t.push(e)},window.onYTReady=function(){FV_YT.loaded=1;for(var e=0;e<t.length;e++)try{t[e]()}catch(e){}},FV_YT.setConfig=function(e){for(var t in e)e.hasOwnProperty(t)&&(YTConfig[t]=e[t])}})()),function(){function Y(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var u="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,r){return e!=Array.prototype&&e!=Object.prototype&&(e[t]=r.value),e};var i=(e=>{e=["object"==("undefined"==typeof globalThis?"undefined":_typeof(globalThis))&&globalThis,e,"object"==("undefined"==typeof window?"undefined":_typeof(window))&&window,"object"==("undefined"==typeof self?"undefined":_typeof(self))&&self,"object"==("undefined"==typeof global?"undefined":_typeof(global))&&global];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")})(this);function e(e,t){if(t)e:{var r=i;e=e.split(".");for(var o=0;o<e.length-1;o++){var n=e[o];if(!(n in r))break e;r=r[n]}(t=t(o=r[e=e[e.length-1]]))!=o&&null!=t&&u(r,e,{configurable:!0,writable:!0,value:t})}}function N(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}e("Symbol",function(e){function r(e,t){this.g=e,u(this,"description",{configurable:!0,writable:!0,value:t})}if(e)return e;r.prototype.toString=function(){return this.g};var o="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",n=0;return function e(t){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new r(o+(t||"")+"_"+n++,t)}}),e("Symbol.iterator",function(e){if(!e){e=Symbol("Symbol.iterator");for(var t="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<t.length;r++){var o=i[t[r]];"function"==typeof o&&"function"!=typeof o.prototype[e]&&u(o.prototype,e,{configurable:!0,writable:!0,value:function(){return N(Y(this))}})}}return e});var t,r="function"==typeof Object.create?Object.create:function(e){function t(){}return t.prototype=e,new t};if("function"==typeof Object.setPrototypeOf)A=Object.setPrototypeOf;else{e:{var B={};try{B.__proto__={a:!0},t=B.a;break e}catch(e){}t=!1}A=t?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null}function l(e){var t="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];if(t)return t.call(e);if("number"==typeof e.length)return{next:Y(e)};throw Error(String(e)+" is not an iterable or ArrayLike")}function o(){this.j=!1,this.h=null,this.m=void 0,this.g=1,this.A=this.l=0,this.i=null}function n(e){if(e.j)throw new TypeError("Generator is already running");e.j=!0}function a(e,t){e.i={P:t,R:!0},e.g=e.l||e.A}function s(e,t,r){return e.g=r,{value:t}}function L(e){this.g=new o,this.h=e}function f(t,e,r,o){try{var n=e.call(t.g.h,r);if(!(n instanceof Object))throw new TypeError("Iterator result "+n+" is not an object");if(!n.done)return t.g.j=!1,n;var i=n.value}catch(e){return t.g.h=null,a(t.g,e),c(t)}return t.g.h=null,o.call(t.g,i),c(t)}function c(t){for(;t.g.g;)try{var e=t.h(t.g);if(e)return t.g.j=!1,{value:e.value,done:!1}}catch(e){t.g.m=void 0,a(t.g,e)}if(t.g.j=!1,t.g.i){if(e=t.g.i,t.g.i=null,e.R)throw e.P;return{value:e.return,done:!0}}return{value:void 0,done:!0}}function D(o){this.next=function(e){return n(o.g),e=o.g.h?f(o,o.g.h.next,e,o.g.o):(o.g.o(e),c(o))},this.throw=function(e){return n(o.g),e=o.g.h?f(o,o.g.h.throw,e,o.g.o):(a(o.g,e),c(o))},this.return=function(e){return e=e,n((t=o).g),(r=t.g.h)?f(t,"return"in r?r.return:function(e){return{value:e,done:!0}},e,t.g.return):(t.g.return(e),c(t));var t,r},this[Symbol.iterator]=function(){return this}}function M(t){function n(e){return t.next(e)}function i(e){return t.throw(e)}return new Promise(function(r,o){!function e(t){t.done?r(t.value):Promise.resolve(t.value).then(n,i).then(e,o)}(t.next())})}function d(e){return M(new D(new L(e)))}function p(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o.prototype.o=function(e){this.m=e},o.prototype.return=function(e){this.i={return:e},this.g=this.A},e("Promise",function(e){function a(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function t(){this.g=null}function s(t){return t instanceof a?t:new a(function(e){e(t)})}if(e)return e;t.prototype.h=function(e){var t;null==this.g&&(this.g=[],(t=this).i(function(){t.l()})),this.g.push(e)};var r=i.setTimeout,n=(t.prototype.i=function(e){r(e,0)},t.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var r=e[t];e[t]=null;try{r()}catch(e){this.j(e)}}}this.g=null},t.prototype.j=function(e){this.i(function(){throw e})},a.prototype.j=function(){function e(t){return function(e){o||(o=!0,t.call(r,e))}}var r=this,o=!1;return{resolve:e(this.K),reject:e(this.l)}},a.prototype.K=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof a)this.M(e);else{switch(_typeof(e)){case"object":var t=null!=e;break;case"function":t=!0;break;default:t=!1}t?this.J(e):this.m(e)}},a.prototype.J=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.N(t,e):this.m(e)},a.prototype.l=function(e){this.A(2,e)},a.prototype.m=function(e){this.A(1,e)},a.prototype.A=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.L(),this.C()},a.prototype.L=function(){var t=this;r(function(){var e;t.I()&&void 0!==(e=i.console)&&e.error(t.i)},1)},a.prototype.I=function(){var e,t,r;return!this.o&&(e=i.CustomEvent,t=i.Event,void 0===(r=i.dispatchEvent)||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=i.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,r(e)))},a.prototype.C=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)n.h(this.g[e]);this.g=null}},new t);return a.prototype.M=function(e){var t=this.j();e.B(t.resolve,t.reject)},a.prototype.N=function(e,t){var r=this.j();try{e.call(t,r.resolve,r.reject)}catch(e){r.reject(e)}},a.prototype.then=function(e,t){function r(t,e){return"function"==typeof t?function(e){try{o(t(e))}catch(e){n(e)}}:e}var o,n,i=new a(function(e,t){o=e,n=t});return this.B(r(e,o),r(t,n)),i},a.prototype.catch=function(e){return this.then(void 0,e)},a.prototype.B=function(e,t){function r(){switch(o.h){case 1:e(o.i);break;case 2:t(o.i);break;default:throw Error("Unexpected state: "+o.h)}}var o=this;null==this.g?n.h(r):this.g.push(r),this.o=!0},a.resolve=s,a.reject=function(r){return new a(function(e,t){t(r)})},a.race=function(n){return new a(function(e,t){for(var r=l(n),o=r.next();!o.done;o=r.next())s(o.value).B(e,t)})},a.all=function(e){var t=l(e),i=t.next();return i.done?s([]):new a(function(r,e){var o=[],n=0;do{o.push(void 0),n++,s(i.value).B((t=>function(e){o[t]=e,0==--n&&r(o)})(o.length-1),e),i=t.next()}while(!i.done)})},a});var R="function"==typeof Object.assign?Object.assign:function(e,t){for(var r=1;r<arguments.length;r++){var o=arguments[r];if(o)for(var n in o)p(o,n)&&(e[n]=o[n])}return e},h=(e("Object.assign",function(e){return e||R}),e("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),e("WeakMap",function(o){function e(e){if(this.g=(s+=Math.random()+1).toString(),e){e=l(e);for(var t;!(t=e.next()).done;)this.set((t=t.value)[0],t[1])}}function r(){}function n(e){var t=_typeof(e);return"object"===t&&null!==e||"function"===t}function i(e){var t;p(e,a)||(t=new r,u(e,a,{value:t}))}function t(e){var t=Object[e];t&&(Object[e]=function(e){return e instanceof r?e:(Object.isExtensible(e)&&i(e),t(e))})}var a,s;return(()=>{if(o&&Object.seal)try{var e=Object.seal({}),t=Object.seal({}),r=new o([[e,2],[t,3]]);return 2==r.get(e)&&3==r.get(t)?(r.delete(e),r.set(t,4),!r.has(e)&&4==r.get(t)):void 0}catch(e){}})()?o:(a="$jscomp_hidden_"+Math.random(),t("freeze"),t("preventExtensions"),t("seal"),s=0,e.prototype.set=function(e,t){if(!n(e))throw Error("Invalid WeakMap key");if(i(e),p(e,a))return e[a][this.g]=t,this;throw Error("WeakMap key fail: "+e)},e.prototype.get=function(e){return n(e)&&p(e,a)?e[a][this.g]:void 0},e.prototype.has=function(e){return n(e)&&p(e,a)&&p(e[a],this.g)},e.prototype.delete=function(e){return!!(n(e)&&p(e,a)&&p(e[a],this.g))&&delete e[a][this.g]},e)}),e("Map",function(n){function r(){var e={};return e.previous=e.next=e.head=e}function e(e,t){var r=e[1];return N(function(){if(r){for(;r.head!=e[1];)r=r.previous;for(;r.next!=r.head;)return r=r.next,{done:!1,value:t(r)};r=null}return{done:!0,value:void 0}})}function o(e,t){var r=t&&_typeof(t),o=("object"==r||"function"==r?i.has(t)?r=i.get(t):(r=""+ ++a,i.set(t,r)):r="p_"+t,e[0][r]);if(o&&p(e[0],r))for(e=0;e<o.length;e++){var n=o[e];if(t!=t&&n.key!=n.key||t===n.key)return{id:r,list:o,index:e,entry:n}}return{id:r,list:o,index:-1,entry:void 0}}function t(e){if(this[0]={},this[1]=r(),this.size=0,e){e=l(e);for(var t;!(t=e.next()).done;)this.set((t=t.value)[0],t[1])}}var i,a;return(()=>{if(n&&"function"==typeof n&&n.prototype.entries&&"function"==typeof Object.seal)try{var e,t,r=Object.seal({x:4}),o=new n(l([[r,"s"]]));return"s"!=o.get(r)||1!=o.size||o.get({x:4})||o.set({x:4},"t")!=o||2!=o.size?void 0:(t=(e=o.entries()).next()).done||t.value[0]!=r||"s"!=t.value[1]?void 0:!((t=e.next()).done||4!=t.value[0].x||"t"!=t.value[1]||!e.next().done)}catch(e){}})()?n:(i=new WeakMap,t.prototype.set=function(e,t){var r=o(this,e=0===e?0:e);return r.list||(r.list=this[0][r.id]=[]),r.entry?r.entry.value=t:(r.entry={next:this[1],previous:this[1].previous,head:this[1],key:e,value:t},r.list.push(r.entry),this[1].previous.next=r.entry,this[1].previous=r.entry,this.size++),this},t.prototype.delete=function(e){return!(!(e=o(this,e)).entry||!e.list||(e.list.splice(e.index,1),e.list.length||delete this[0][e.id],e.entry.previous.next=e.entry.next,e.entry.next.previous=e.entry.previous,e.entry.head=null,this.size--,0))},t.prototype.clear=function(){this[0]={},this[1]=this[1].previous=r(),this.size=0},t.prototype.has=function(e){return!!o(this,e).entry},t.prototype.get=function(e){return(e=o(this,e).entry)&&e.value},t.prototype.entries=function(){return e(this,function(e){return[e.key,e.value]})},t.prototype.keys=function(){return e(this,function(e){return e.key})},t.prototype.values=function(){return e(this,function(e){return e.value})},t.prototype.forEach=function(e,t){for(var r,o=this.entries();!(r=o.next()).done;)e.call(t,(r=r.value)[1],r[0],this)},t.prototype[Symbol.iterator]=t.prototype.entries,a=0,t)}),e("Set",function(n){function e(e){if(this.g=new Map,e){e=l(e);for(var t;!(t=e.next()).done;)this.add(t.value)}this.size=this.g.size}return(()=>{if(n&&"function"==typeof n&&n.prototype.entries&&"function"==typeof Object.seal)try{var e,t,r=Object.seal({x:4}),o=new n(l([r]));return o.has(r)&&1==o.size&&o.add(r)==o&&1==o.size&&o.add({x:4})==o&&2==o.size?(t=(e=o.entries()).next()).done||t.value[0]!=r||t.value[1]!=r?void 0:!(t=e.next()).done&&t.value[0]!=r&&4==t.value[0].x&&t.value[1]==t.value[0]&&e.next().done:void 0}catch(e){}})()?n:(e.prototype.add=function(e){return this.g.set(e=0===e?0:e,e),this.size=this.g.size,this},e.prototype.delete=function(e){return e=this.g.delete(e),this.size=this.g.size,e},e.prototype.clear=function(){this.g.clear(),this.size=0},e.prototype.has=function(e){return this.g.has(e)},e.prototype.entries=function(){return this.g.entries()},e.prototype.keys=e.prototype.values=function(){return this.g.values()},e.prototype[Symbol.iterator]=e.prototype.values,e.prototype.forEach=function(t,r){var o=this;this.g.forEach(function(e){return t.call(r,e,e,o)})},e)}),e("Array.prototype.find",function(e){return e||function(e,t){e:{for(var r=this,o=(r=r instanceof String?String(r):r).length,n=0;n<o;n++){var i=r[n];if(e.call(t,i,n,r)){e=i;break e}}e=void 0}return e}}),e("Array.from",function(e){return e||function(e,t,r){t=null!=t?t:function(e){return e};var o=[],n="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];if("function"==typeof n){e=n.call(e);for(var i=0;!(n=e.next()).done;)o.push(t.call(r,n.value,i++))}else for(n=e.length,i=0;i<n;i++)o.push(t.call(r,e[i],i));return o}}),this||self);function y(e){var t=_typeof(e);return"object"==t&&null!=e||"function"==t}function z(e){return Object.prototype.hasOwnProperty.call(e,v)&&e[v]||(e[v]=++U)}var v="closure_uid_"+(1e9*Math.random()>>>0),U=0;function g(e,t){e=e.split(".");for(var r,o=h;e.length&&(r=e.shift());)e.length||void 0===t?o=o[r]&&o[r]!==Object.prototype[r]?o[r]:o[r]={}:o[r]=t}var q=Array.prototype.indexOf?function(e,t){return Array.prototype.indexOf.call(e,t,void 0)}:function(e,t){if("string"==typeof e)return"string"!=typeof t||1!=t.length?-1:e.indexOf(t,0);for(var r=0;r<e.length;r++)if(r in e&&e[r]===t)return r;return-1},b=Array.prototype.forEach?function(e,t,r){Array.prototype.forEach.call(e,t,r)}:function(e,t,r){for(var o=e.length,n="string"==typeof e?e.split(""):e,i=0;i<o;i++)i in n&&t.call(r,n[i],i,e)};function W(e){var t=e.length;if(0<t){for(var r=Array(t),o=0;o<t;o++)r[o]=e[o];return r}return[]}function G(e,t){this.i=e,this.j=t,this.h=0,this.g=null}function $(){this.h=this.g=null}G.prototype.get=function(){var e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e},$.prototype.add=function(e,t){var r=H.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r},$.prototype.remove=function(){var e=null;return this.g&&(e=this.g,this.g=this.g.next,this.g||(this.h=null),e.next=null),e};var H=new G(function(){return new J},function(e){return e.reset()});function J(){this.next=this.scope=this.g=null}J.prototype.set=function(e,t){this.g=e,this.scope=t,this.next=null};var Z,K=!(J.prototype.reset=function(){this.next=this.scope=this.g=null}),X=new $;function ee(e){var t;Z||(t=Promise.resolve(void 0),Z=function(){t.then(te)}),K||(Z(),K=!0),X.add(e,void 0)}function te(){for(var e;e=X.remove();){try{e.g.call(e.scope)}catch(e){(e=>{h.setTimeout(function(){throw e},0)})(e)}var t=H;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}K=!1}function m(){this.i=this.i,this.j=this.j}m.prototype.i=!1,m.prototype.dispose=function(){this.i||(this.i=!0,this.D())},m.prototype[Symbol.dispose]=function(){this.dispose()},m.prototype.addOnDisposeCallback=function(e,t){this.i?void 0!==t?e.call(t):e():(this.j||(this.j=[]),t&&(e=e.bind(t)),this.j.push(e))},m.prototype.D=function(){if(this.j)for(;this.j.length;)this.j.shift()()};var re=/&/g,oe=/</g,ne=/>/g,ie=/"/g,ae=/'/g,se=/\x00/g,ue=/[\x00&<>"']/;function _(e){this.g=e}_.prototype.toString=function(){return this.g};var le=new _("about:invalid#zClosurez");function fe(e){this.S=e}function w(t){return new fe(function(e){return e.substr(0,t.length+1).toLowerCase()===t+":"})}var ce=[w("data"),w("http"),w("https"),w("mailto"),w("ftp"),new fe(function(e){return/^[^:]*([/?#]|$)/.test(e)})],de=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i,pe={X:0,V:1,W:2,0:"FORMATTED_HTML_CONTENT",1:"EMBEDDED_INTERNAL_CONTENT",2:"EMBEDDED_TRUSTED_EXTERNAL_CONTENT"};function j(e,t){t=Error.call(this,e+" cannot be used with intent "+pe[t]),this.message=t.message,"stack"in t&&(this.stack=t.stack),this.type=e,this.name="TypeCannotBeUsedWithIframeIntentError"}var he,C,E=Error;if((j.prototype=r(E.prototype)).constructor=j,A)A(j,E);else for(var T in E)"prototype"!=T&&(Object.defineProperties?(he=Object.getOwnPropertyDescriptor(E,T))&&Object.defineProperty(j,T,he):j[T]=E[T]);function ye(e){return e=ue.test(e)&&-1!=(e=-1!=(e=-1!=(e=-1!=(e=-1!=(e=-1!=e.indexOf("&")?e.replace(re,"&amp;"):e).indexOf("<")?e.replace(oe,"&lt;"):e).indexOf(">")?e.replace(ne,"&gt;"):e).indexOf('"')?e.replace(ie,"&quot;"):e).indexOf("'")?e.replace(ae,"&#39;"):e).indexOf("\0")?e.replace(se,"&#0;"):e}j.H=E.prototype;e:{for(var ve=["CLOSURE_FLAGS"],ge=h,be=0;be<ve.length;be++)if(null==(ge=ge[ve[be]])){C=null;break e}C=ge}r=C&&C[610401301];function S(){var e=h.navigator;return(e=e&&e.userAgent)||""}var x,F,me=null!=r&&r,A=h.navigator;function _e(){return!!me&&!!x&&0<x.brands.length}function we(){if(_e()){var e=x.brands.find(function(e){return"Chromium"===e.brand});if(!e||!e.version)return NaN;e=e.version.split(".")}else{if(""===(e=(()=>{for(var e,t,r=S(),o=RegExp("([A-Z][\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g"),n=[];e=o.exec(r);)n.push([e[1],e[2],e[3]||void 0]);if(t={},n.forEach(function(e){t[e[0]]=e[1]}),r=function(e){return t[e.find(function(e){return e in t})]||""},_e())e:{if(me&&x)for(o=0;o<x.brands.length;o++)if((n=x.brands[o].brand)&&-1!=n.indexOf("Chromium")){o=!0;break e}o=!1}else o=(-1!=S().indexOf("Chrome")||-1!=S().indexOf("CriOS"))&&(_e()||-1==S().indexOf("Edge"))||-1!=S().indexOf("Silk");return o?r(["Chrome","CriOS","HeadlessChrome"]):""})()))return NaN;e=e.split(".")}return 0===e.length?NaN:Number(e[0])}function je(e,t){var r=t.parentNode;r&&r.replaceChild(e,t)}function k(e){m.call(this),this.o=1,this.l=[],this.m=0,this.g=[],this.h={},this.A=!!e}function Ce(){}x=A&&A.userAgentData||null,r=k,F=m,Ce.prototype=F.prototype,r.H=F.prototype,r.prototype=new Ce,(r.prototype.constructor=r).Y=function(e,t,r){for(var o=Array(arguments.length-2),n=2;n<arguments.length;n++)o[n-2]=arguments[n];return F.prototype[t].apply(e,o)},(A=k.prototype).subscribe=function(e,t,r){var o=(o=this.h[e])||(this.h[e]=[]),n=this.o;return this.g[n]=e,this.g[n+1]=t,this.g[n+2]=r,this.o=n+3,o.push(n),n},A.F=function(e){var t,r,o=this.g[e];return o&&(t=this.h[o],0!=this.m?(this.l.push(e),this.g[e+1]=function(){}):(t&&0<=(r=q(t=t,r=e))&&Array.prototype.splice.call(t,r,1),delete this.g[e],delete this.g[e+1],delete this.g[e+2])),!!o},A.G=function(e,t){var r=this.h[e];if(r){for(var o=Array(arguments.length-1),n=arguments.length,i=1;i<n;i++)o[i-1]=arguments[i];if(this.A)for(i=0;i<r.length;i++)n=r[i],((e,t,r)=>{ee(function(){e.apply(t,r)})})(this.g[n+1],this.g[n+2],o);else{this.m++;try{for(i=0,n=r.length;i<n&&!this.i;i++){var a=r[i];this.g[a+1].apply(this.g[a+2],o)}}finally{if(this.m--,0<this.l.length&&0==this.m)for(;r=this.l.pop();)this.F(r)}}return 0!=i}return!1},A.clear=function(e){var t;e?(t=this.h[e])&&(t.forEach(this.F,this),delete this.h[e]):(this.g.length=0,this.h={})},A.D=function(){k.H.D.call(this),this.clear(),this.l.length=0};var Ee=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function Te(e){e=(o=e.match(Ee))[1];var t=o[2],r=o[3],o=o[4],n="";return e&&(n+=e+":"),r&&(n+="//",t&&(n+=t+"@"),n+=r,o)&&(n+=":"+o),n}var Se=/#|$/,xe=["https://www.google.com"];function Fe(){var e=this;this.g=[],this.h=function(){Promise.all(e.g.map(function(e){document.requestStorageAccessFor(e)})).then(function(){window.removeEventListener("click",e.h)})}}function Ae(){var r=new Fe,t=void 0===(t=["https://www.youtube.com"])?xe:t;d(function(e){switch(e.g){case 1:return s(e,d(function(e){var t=e.return,r=119<=we();return t.call(e,r&&!!navigator.permissions&&!!navigator.permissions.query&&"requestStorageAccessFor"in document)}),2);case 2:if(e.m)return s(e,Promise.all(t.map(function(t){return d(function(e){if(1==e.g)return e.l=2,s(e,navigator.permissions.query({name:"top-level-storage-access",requestedOrigin:t}),4);2!=e.g?("prompt"===e.m.state&&r.g.push(t),e.g=0,e.l=0):(e.l=0,e.i=null,e.g=0)})})),4);e.g=3;break;case 4:0<r.g.length&&window.addEventListener("click",r.h);case 3:return e.return()}})}var O={},ke=[],V=new k,Oe={};function Ve(){for(var e=l(ke),t=e.next();!t.done;t=e.next())(t=t.value)()}function Ie(e,t){return"yt:"===e.tagName.toLowerCase().substring(0,3)?e.getAttribute(t):e.dataset?e.dataset[t]:e.getAttribute("data-"+t)}var I=window;function Qe(e,t){if(this.v={},this.playerInfo={},this.videoTitle="",this.i=this.g=null,this.h=0,this.m=!1,this.l=[],this.j=null,this.C={},this.options=null,this.A=this.T.bind(this),!e)throw Error("YouTube player element ID required.");this.id=z(this),t=Object.assign({title:"video player",videoId:"",width:640,height:360},t||{});var r,o=document;if(e="string"==typeof e?o.getElementById(e):e){I.yt_embedsEnableRsaforFromIframeApi&&Ae(),o="iframe"===e.tagName.toLowerCase(),t.host||(t.host=o?Te(e.src):"https://www.youtube.com"),this.options=t||{},t=[this.options,window.YTConfig||{}];for(var n=0;n<t.length;n++)t[n].host&&(t[n].host=t[n].host.toString().replace("http://","https://"));if(o||(e=(I.yt_embedsEnableAutoplayAndVisibilitySignals?(Ne(this,t=document.createElement("iframe"),e),je(t,this.i=e),Be(this,t,Re(this,t))):(Ne(this,t=document.createElement("iframe"),e),Be(this,t,Re(this)),je(t,this.i=e)),t)),this.g=e,this.g.id||(this.g.id="widget"+z(this.g)),O[this.g.id]=this,window.postMessage){this.j=new k;var i,a,o=r=this,s=r.id,u=String(Q(r,"host"));for(i in P||(P={},Ue=new Set,We.addEventListener("message",function(e){e:if(Ue.has(e.origin)){try{var t=JSON.parse(e.data)}catch(e){break e}var r=P[t.id];if(r&&e.origin===r.O)switch(e=r.U,e.m=!0,e.m&&(b(e.l,e.sendMessage,e),e.l.length=0),r=t.event,t=t.info,r){case"apiInfoDelivery":if(y(t))for(var o in t)t.hasOwnProperty(o)&&(e.v[o]=t[o]);break;case"infoDelivery":ze(e,t);break;case"initialDelivery":if(y(t)){clearInterval(e.h),e.playerInfo={},e.v={};{var n=e;var i=t.apiInterface;for(var a=(i=l(i)).next(),s={};!a.done;s={u:void 0},a=i.next())s.u=a.value,n[s.u]||("getCurrentTime"===s.u?n[s.u]=function(){var e,t=this.playerInfo.currentTime;return 1===this.playerInfo.playerState&&0<(e=(Date.now()/1e3-this.playerInfo.currentTimeLastUpdated_)*this.playerInfo.playbackRate)&&(t+=Math.min(e,1)),t}:(e=>(0===e.search("cue")||0===e.search("load"))&&"loadModule"!==e)(s.u)?n[s.u]=(e=>function(){return this.playerInfo={},this.v={},Ye(this,e.u,arguments),this})(s):(e=>0===e.search("get")||0===e.search("is"))(s.u)?n[s.u]=(r=>function(){var e=r.u,t=0;return 0===e.search("get")?t=3:0===e.search("is")&&(t=2),this.playerInfo[e.charAt(t).toLowerCase()+e.substring(t+1)]})(s):n[s.u]=(e=>function(){return Ye(this,e.u,arguments),this})(s))}ze(e,t)}break;case"alreadyInitialized":clearInterval(e.h);break;case"readyToListen":Le(e);break;default:e.j.i||(e.j.G(r,o={target:e,data:t}),function(){V.G.apply(V,arguments)}("player."+r,o))}}})),P[s]={U:o,O:u},Ue.add(u),r.h=setInterval(r.A,250),r.g&&(r.o=function(){clearInterval(r.h),r.h=setInterval(r.A,250)},r.g.addEventListener("load",r.o)),e=Q(this,"events"))e.hasOwnProperty(i)&&this.addEventListener(i,e[i]);for(a in Oe)Oe.hasOwnProperty(a)&&Pe(this,a)}}}function Pe(e,t){var r;2===(t=t.split(".")).length&&(r=t[1],"player"===t[0])&&De(e,r)}function Ye(e,t,r){r=r||[],t={event:"command",func:t,args:r=Array.prototype.slice.call(r)},e.m?e.sendMessage(t):e.l.push(t)}function Ne(e,t,r){for(var o=0,n=(r=r.attributes).length;o<n;o++){var i=r[o].value;null!=i&&""!==i&&"null"!==i&&t.setAttribute(r[o].name,i)}t.setAttribute("frameBorder","0"),t.setAttribute("allowfullscreen",""),t.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"),t.setAttribute("referrerPolicy","strict-origin-when-cross-origin"),t.setAttribute("title","YouTube "+Q(e,"title")),(r=Q(e,"width"))&&t.setAttribute("width",r.toString()),(e=Q(e,"height"))&&t.setAttribute("height",e.toString())}function Be(e,t,r){e=""+Q(e,"host")+Me(e)+"?";var o,n=[];for(o in r)!function e(t,r,o){if(Array.isArray(r))for(var n=0;n<r.length;n++)e(t,String(r[n]),o);else null!=r&&o.push(t+(""===r?"":"="+encodeURIComponent(String(r))))}(o,r[o],n);if(r=e+n.join("&"),I.yt_embedsEnableIframeSrcWithIntent){var i=void 0===i?ce:i;e:if(i=void 0===i?ce:i,r instanceof _)i=r;else{for(o=0;o<i.length;++o)if((e=i[o])instanceof fe&&e.S(r)){i=new _(r);break e}i=void 0}for(i=i||le,t.removeAttribute("srcdoc"),r="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-storage-access-by-user-activation".split(" "),t.setAttribute("sandbox",""),o=0;o<r.length;o++)t.sandbox.supports&&!t.sandbox.supports(r[o])||t.sandbox.add(r[o]);void 0!==(i=i instanceof _?i.g:de.test(i)?i:void 0)&&(t.src=i),t.sandbox.add("allow-presentation","allow-top-navigation")}else t.src=r}function Le(e){return e.g&&e.g.contentWindow&&(e.sendMessage({event:"listening"}),1)}function De(e,t){e.C[t]||(e.C[t]=!0,Ye(e,"addEventListener",[t]))}function Me(e){if(!(e=String(Q(e,"videoId")))||11===e.length&&e.match(/^[a-zA-Z0-9\-_]+$/))return"/embed/"+e;throw Error("Invalid video id")}function Re(e,t){var a=(a=Q(e,"playerVars"))?(e=>{var t,r={};for(t in e)r[t]=e[t];return r})(a):{},r=(window!==window.top&&document.referrer&&(a.widget_referrer=document.referrer.substring(0,256)),Q(e,"embedConfig"));if(r){if(y(r))try{r=JSON.stringify(r)}catch(e){console.error("Invalid embed config JSON",e)}a.embed_config=r}return a.enablejsapi=window.postMessage?1:0,window.location.host&&(a.origin=window.location.protocol+"//"+window.location.host),a.widgetid=e.id,window.location.href&&b(["debugjs","debugcss"],function(e){var t=window.location.href,r=t.search(Se);e:{for(var o=0,n=e.length;0<=(o=t.indexOf(e,o))&&o<r;){var i=t.charCodeAt(o-1);if((38==i||63==i)&&(!(i=t.charCodeAt(o+n))||61==i||38==i||35==i))break e;o+=n+1}o=-1}null!==(t=o<0?null:(((n=t.indexOf("&",o))<0||r<n)&&(n=r),o+=e.length+1,decodeURIComponent(t.slice(o,-1!==n?n:0).replace(/\+/g," "))))&&(a[e]=t)}),I.yt_embedsEnableIframeApiSendFullEmbedUrl&&(window.location.href&&(a.forigin=window.location.href),e=window.location.ancestorOrigins,a.aoriginsup=void 0===e?0:1,e&&0<e.length&&(a.aorigins=Array.from(e).join(",")),window.document.referrer)&&(a.gporigin=window.document.referrer),I.yt_embedsEnableAutoplayAndVisibilitySignals&&t&&(a.vf=(e=(r=t).getBoundingClientRect(),r=Math.max(0,Math.min(e.bottom,window.innerHeight||document.documentElement.clientHeight)-Math.max(e.top,0))*Math.max(0,Math.min(e.right,window.innerWidth||document.documentElement.clientWidth)-Math.max(e.left,0)),r=(e=e.height*e.width)?r/e:0,"hidden"===document.visibilityState||r<.5?1:r<.75?2:r<.85?3:r<.95?4:r<1?5:6)),a}function ze(e,t){if(y(t)){for(var r in t)t.hasOwnProperty(r)&&(e.playerInfo[r]=t[r]);e.playerInfo.hasOwnProperty("videoData")&&((t=e.playerInfo.videoData).hasOwnProperty("title")&&t.title?(t=t.title)!==e.videoTitle&&(e.videoTitle=t,e.g.setAttribute("title",t)):(e.videoTitle="",e.g.setAttribute("title","YouTube "+Q(e,"title"))))}}function Q(e,t){e=[e.options,window.YTConfig||{}];for(var r=0;r<e.length;r++){var o=e[r][t];if(void 0!==o)return o}return null}(A=Qe.prototype).setSize=function(e,t){return this.g.width=e.toString(),this.g.height=t.toString(),this},A.getIframe=function(){return this.g},A.addEventListener=function(e,t){var r="string"==typeof t?function(){window[t].apply(window,arguments)}:t;return r&&(this.j.subscribe(e,r),De(this,e)),this},A.destroy=function(){this.g&&this.g.id&&(O[this.g.id]=null);var e=this.j;e&&"function"==typeof e.dispose&&e.dispose(),this.i?je(this.i,this.g):(e=this.g)&&e.parentNode&&e.parentNode.removeChild(e),P&&(P[this.id]=null),this.options=null,this.g&&this.o&&this.g.removeEventListener("load",this.o),this.i=this.g=null},A.T=function(){Le(this)||clearInterval(this.h)},A.sendMessage=function(e){e.id=this.id,e.channel="widget",e=JSON.stringify(e);var t=Te(this.g.src||"").replace("http:","https:");if(this.g.contentWindow)try{this.g.contentWindow.postMessage(e,t)}catch(e){if(!e.name||"SyntaxError"!==e.name)throw e;e.message&&0<e.message.indexOf("target origin ''")||console&&console.warn&&console.warn(e)}else console&&console.warn&&console.warn("The YouTube player is not attached to the DOM. API calls should be made after the onReady event. See more: https://developers.google.com/youtube/iframe_api_reference#Events")},A.getVideoEmbedCode=function(){var e=""+Q(this,"host")+Me(this),t=Number(Q(this,"width")),r=Number(Q(this,"height"));if(isNaN(t)||isNaN(r))throw Error("Invalid width or height property");var t=Math.floor(t),r=Math.floor(r),o=this.videoTitle;return'<iframe width="'+t+'" height="'+r+'" src="'+ye(e)+'" title="'+ye(null!=o?o:"YouTube video player")+'" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>'},A.getOptions=function(e){return this.v.namespaces?e?this.v[e]&&this.v[e].options||[]:this.v.namespaces||[]:[]},A.getOption=function(e,t){if(this.v.namespaces&&e&&t&&this.v[e])return this.v[e][t]};var P=null,Ue=null;function qe(e){var t;"iframe"!==e.tagName.toLowerCase()&&(t=Ie(e,"videoid"))&&new Qe(e,t={videoId:t,width:Ie(e,"width"),height:Ie(e,"height")})}var We=window;g("FV_YT.PlayerState.UNSTARTED",-1),g("FV_YT.PlayerState.ENDED",0),g("FV_YT.PlayerState.PLAYING",1),g("FV_YT.PlayerState.PAUSED",2),g("FV_YT.PlayerState.BUFFERING",3),g("FV_YT.PlayerState.CUED",5),g("FV_YT.get",function(e){return O[e]}),g("FV_YT.scan",Ve),g("FV_YT.subscribe",function(e,t,r){for(var o in V.subscribe(e,t,r),Oe[e]=!0,O)O.hasOwnProperty(o)&&Pe(O[o],e)}),g("FV_YT.unsubscribe",function(e,t,r){var o,n,i;e=e,o=t,n=r,(e=(t=V).h[e])&&(i=t.g,e=e.find(function(e){return i[e+1]==o&&i[e+2]==n}))&&t.F(e)}),g("FV_YT.Player",Qe),ke.push(function(e){var t=e;e=W((t=t||document).getElementsByTagName("yt:player")),t=W((t||document).querySelectorAll(".yt-player")),b(function(){return Array.prototype.concat.apply([],arguments)}(e,t),qe)}),void 0!==YTConfig&&YTConfig.parsetags&&"onload"!==YTConfig.parsetags||Ve()}.call(this)),"undefined"!=typeof flowplayer&&(fv_player_youtube_error=function(e){switch(e=parseInt(e)){case 2:return"Invalid parameter value.";case 5:return"HTML5 player error.";case 100:return"The video could not be found. It's either removed or private.";case 101:case 150:return"The video cannot be embedded.";default:return"Code: "+e}},fv_player_pro_youtube_get_video_id=function(e){var t;return((t=(t=e.match(/(?:\?|&)v=([a-zA-Z0-9_-]+)(?:\?|$|&)/))||e.match(/youtu.be\/([a-zA-Z0-9_-]+)(?:\?|$|&)/))||!!(t=e.match(/(?:embed|live|shorts)\/([a-zA-Z0-9_-]+)(?:\?|$|&)/)))&&t[1]},fv_player_pro_youtube_addRemovableEventListener=function(e,t,r){var o="youtubeCallbackFunction"+Math.random().toString(36).substr(2,7);return window[o]=r,e.addEventListener(t,o),function(){window[o]=function(){},void 0!==e.removeEventListener&&e.removeEventListener(t,o)}},fv_player_pro_youtube_onReady=function(e){var e=jQuery(e.target.getIframe()).closest(".flowplayer"),t=(e.removeClass("is-loading"),e.data("flowplayer"));t.loading=!1,t.trigger("yt-ready"),t.fv_yt_did_preload=!0,jQuery(document).trigger("fv-player-yt-api-loaded"),0==t.youtube.getDuration()&&(t.live=!0,jQuery(e).addClass("is-live"))},fv_player_pro_youtube_onStateChange=function(e){var t=jQuery(e.target.getIframe()).parents(".flowplayer");switch(e.data){case-1:jQuery(".fp-splash",t).css("pointer-events",""),t.addClass("is-loading");break;case FV_YT.PlayerState.PLAYING:t.data("flowplayer").load();break;case FV_YT.PlayerState.BUFFERING:t.addClass("is-loading")}},fv_player_pro_youtube_onError=function(e){var t=jQuery(e.target.getIframe()).parents(".flowplayer"),r=t.data("flowplayer"),o=(fv_player_log("FV Player Youtube onError for preloaded player",e),(0<r.video.index?r.conf.playlist[r.video.index]:r.conf.clip).sources[0].src);fv_player_track(r,!1,"Video "+(t.hasClass("is-cva")?"Ad ":"")+"error","YouTube video removed",o),setTimeout(function(){t.removeClass("is-splash"),r.loading=!1,t.removeClass("is-loading"),1<r.conf.clip.sources.length&&(r.youtube.destroy(),r.youtube=!1,jQuery(".fvyoutube-engine",t).remove(),jQuery(".fv-pf-yt-temp2",t).remove(),jQuery(t).removeClass("is-ytios11"),jQuery(".fp-ui",t).css("background-image",""),jQuery(".fp-ui",t).append('<div class="wpfp_custom_popup fp-notice-load" style="height: 100%"><div class="wpfp_custom_popup_content">'+fv_flowplayer_translations.video_loaded+"</div></div>"),jQuery(".fp-notice-load").one("click",function(){jQuery(".fp-notice-load",t).remove(),r.trigger("error",[r,{code:4,video:r.video,custom_error:fv_player_youtube_error(e.data)}])}))})},fv_player_pro_youtube_is_mobile=function(){return navigator.userAgent.match(/FBAN|FBAV|FB_IAB|FB4A|FBMD|FBBV|FBDV|FBSN|FBSV|FBSS|FBID|FBLC|FBOP|FBRV|FBSF|FBAN|FB4A|FBMD|FBAV|FBBV|FBDV|FBSN|FBSV|FBSS|FBID|FBLC|FBOP|FBRV|FBSF|FB_IAB/i)?(jQuery("body").addClass("is-fv-player-fb-app"),!0):!flowplayer.support.android&&(!flowplayer.support.firstframe||flowplayer.support.iOS||flowplayer.support.browser.safari)},fv_player_pro_youtube_is_old_android=function(){return flowplayer.support.android&&flowplayer.support.android.version<4.4},fv_player_pro_youtube_player_vars=function(e,t,r){e={videoId:e,width:t.width,height:t.height,playerVars:{autoplay:0,controls:!jQuery(t).hasClass("no-controlbar")&&fv_player_pro_youtube_is_old_android()?1:0,disablekb:1,enablejsapi:1,fs:0,html5:1,iv_load_policy:3,loop:0,modestbranding:1,origin:"https:"==document.location.protocol?"https://":"http://"+flowplayer.conf.hostname,playsinline:1,rel:0,showinfo:0,showsearch:0,start:0,t0:1,widget_referrer:window?window.location.href:null}};return fv_flowplayer_conf.youtube_cookies||(e.host="https://www.youtube-nocookie.com"),r&&(e.events=r),e},fv_player_pro_youtube_preload=function(e,r,t){var o,n,i=jQuery(e);!((r=r||i.data("flowplayer"))&&r.conf.item&&"video/youtube"==r.conf.item.sources[0].type||r&&r.conf.clip&&"video/youtube"==r.conf.clip.sources[0].type)||1==r.loading||r.youtube||r.video.index||(r.loading=!0,i.addClass("is-loading"),e=flowplayer.common,o=r.conf.item?fv_player_pro_youtube_get_video_id(r.conf.item.sources[0].src):fv_player_pro_youtube_get_video_id(r.conf.clip.sources[0].src),e.removeNode(e.findDirect("video",i)[0]||e.find(".fp-player > video",i)[0]),(n=e.createElement("div")).className="fp-engine fvyoutube-engine",n.id="fv-player-yt-wrapper-"+i.attr("id"),e.prepend(e.find(".fp-player",i)[0],n),jQuery(document).one("fv-player-yt-api-loaded",function(){var t;(void 0===FV_YT||void 0===FV_YT.Player)&&window.fv_player_pro_yt_loading||(window.fv_player_pro_yt_loading=!0,t=setInterval(function(){var e;r.loading=!0,i.addClass("is-loading"),void 0!==FV_YT&&void 0!==FV_YT.Player&&(clearInterval(t),r.youtube=new FV_YT.Player(n,fv_player_pro_youtube_player_vars(o,i)),jQuery(".fp-engine.fvyoutube-engine",i)[0].allowFullscreen=!1,e=jQuery(".fp-splash",i),jQuery(".fp-ui",i).before(e),e.css("pointer-events","none"),jQuery(".fp-ui",i).before('<div class="fv-pf-yt-temp2"></div>'),flowplayer.support.iOS&&11<flowplayer.support.iOS.version&&(jQuery(i).addClass("is-ytios11"),jQuery(i).find(".fv-pf-yt-temp2").on("click",function(){r.toggle()})),r.fv_yt_onReady=fv_player_pro_youtube_addRemovableEventListener(r.youtube,"onReady",fv_player_pro_youtube_onReady),r.fv_yt_onStateChange=fv_player_pro_youtube_addRemovableEventListener(r.youtube,"onStateChange",fv_player_pro_youtube_onStateChange),r.fv_yt_onError=fv_player_pro_youtube_addRemovableEventListener(r.youtube,"onError",fv_player_pro_youtube_onError))},50))}),window.fv_player_pro_yt_load&&!t)||(window.fv_player_pro_yt_load=!0,jQuery(document).trigger("fv-player-yt-api-loaded"))},(()=>{function t(u,l){function r(e){var t=e.getPlaybackQuality(),r={seekable:!0,src:e.getVideoUrl()};return r.duration=e.getDuration(),t&&void 0!==n[t]&&(r.width=n[t].width,r.height=n[t].height,r.quality=t,r.qualityLabel=i.qualityLabels[t],r.bitrate=n[t].bitrate),"function"==typeof e.getVideoData&&(t=e.getVideoData()).title&&(r.fv_title="YouTube: "+t.title+" ("+t.video_id+")",r.fv_title_clean=t.title),r}function f(e){fv_player_log("FV Player Youtube onError",e);var t=(0<u.video.index?u.conf.playlist[u.video.index]:u.conf.clip).sources[0].src;fv_player_track(u,!1,"Video "+(l.hasClass("is-cva")?"Ad ":"")+"error","YouTube video removed",t),l.addClass("is-splash"),u.trigger("error",[u,{code:4,video:u.video,custom_message:"Error: "+fv_player_youtube_error(e.data)}]),1<u.conf.playlist.length&&0==u.conf.clip.sources.length&&setTimeout(function(){u.loading=!1,l.removeClass("is-loading"),u.paused=!1,l.removeClass("is-paused"),u.ready=!0,u.bind("load",function(){u.ready=!1}),setTimeout(function(){u.next()},5e3)})}function c(){u.one("ready progress",function(){var r,t,o,e,n;"fvyoutube"===u.engine.engineName&&-1<y.getOptions().indexOf("captions")&&(u.video.subtitles?y.unloadModule("captions"):(r=y.getOption("captions","track"),0==(t=y.getOption("captions","tracklist"))?y.loadModule("captions"):(y.setOption("captions","fontSize",1),e=(o=flowplayer.common).find(".fp-captions",l)[0],e=(e=o.find(".fp-subtitle",l)[0])||o.appendTo(o.createElement("div",{class:"fp-captions"}),o.find(".fp-player",l)[0]),Array.prototype.forEach.call(e.children,o.removeNode),e=l.find(".fp-cc")[0]||o.createElement("strong",{className:"fp-cc"},"CC"),n=l.find(".fp-subtitle-menu")[0]||o.createElement("div",{className:"fp-menu fp-subtitle-menu"},"<strong>Closed Captions</strong>"),o.find("a",n).forEach(o.removeNode),n.appendChild(o.createElement("a",{"data-yt-subtitle-index":-1},"No subtitles")),(t||[]).forEach(function(e,t){t=o.createElement("a",{"data-yt-subtitle-index":t},e.displayName);r&&r.languageCode&&r.languageCode==e.languageCode&&jQuery(t).addClass("fp-selected"),n.appendChild(t)}),o.find(".fp-ui",l)[0].appendChild(n),o.find(".fp-controls",l)[0].appendChild(e),l.find(".fp-cc").removeClass("fp-hidden"),jQuery(document).on("click",".fp-subtitle-menu a",function(e){e.preventDefault(),jQuery("a[data-yt-subtitle-index]").removeClass("fp-selected"),jQuery(this).addClass("fp-selected"),t[jQuery(this).data("yt-subtitle-index")]?(null==l.data("fv-player-youtube-nl")&&l.data("fv-player-youtube-nl",l.hasClass("is-youtube-nl")),l.removeClass("is-youtube-nl"),y.setOption("captions","track",{languageCode:t[jQuery(this).data("yt-subtitle-index")].languageCode})):(l.data("fv-player-youtube-nl")&&l.addClass("is-youtube-nl"),y.unloadModule("captions"))}))))})}function d(){0==y.getDuration()&&(u.live=!0,jQuery(l).addClass("is-live"));var e=jQuery.extend(h,r(y));if(!u.ready){u.autoplayed&&u.mute(!0,!0),y.playVideo();try{u.one("ready",function(){u.trigger("resume",[u])}),u.trigger("ready",[u,e])}catch(e){}}u.ready=!0,s&&jQuery(".fp-ui",l).hide(),(flowplayer.support.iOS.version<11||flowplayer.support.android.version<5)&&(l.find(".fp-speed").hide(),u.YTErrorTimeout=setTimeout(function(){u.error||-1!=y.getPlayerState()||u.trigger("error",[u,{code:4,video:u.video,custom_message:"Error: YouTube video not started"}])},1e3))}function p(e){switch(0==l.find(".fv-fp-no-picture.is-active").length&&jQuery(".fvyoutube-engine",l).show(),e.data){case-1:jQuery(".fp-splash",l).css("pointer-events",""),u.playing=!1,u.paused=!0,setTimeout(function(){-1==y.getPlayerState()&&(fv_player_log("This video did not start yet!"),l.removeClass("is-youtube-nl"),u.fv_yt_did_preload)&&(l.find(".fp-splash").remove(),l.removeClass("is-loading").addClass("is-ready"))},1e3);break;case FV_YT.PlayerState.BUFFERING:"function"==typeof y.getCurrentTime&&u.trigger("seek",[u,y.getCurrentTime()]);break;case FV_YT.PlayerState.CUED:l.removeClass("is-loading"),l.addClass("is-paused"),u.loading=!1,flowplayer.support.firstframe||(t=jQuery("[rel="+l.attr("id")+"] span").eq(u.video.index),jQuery(".fv-pf-yt-temp",l).css("background-image",t.css("background-image")),flowplayer.support.dataload||jQuery(".fp-ui",l).hide(),jQuery(".fv-pf-yt-temp",l).show(),jQuery(".fv-pf-yt-temp-play",l).show());break;case FV_YT.PlayerState.ENDED:u.playing=!1,clearInterval(a),a=!1,u.trigger("pause",[u]),u.trigger("finish",[u]),jQuery(".fvyoutube-engine",l).hide(),jQuery(".fv-pf-yt-temp2",l).show(),jQuery(".fp-ui",l).show();break;case FV_YT.PlayerState.PAUSED:u.autoplayed&&1===u.youtube_unmute_attempted?(u.youtube_unmute_attempted=2,fv_player_log("FV FP YouTube: Volume restore failed."),u.mute(!0,!0),y.playVideo(),jQuery("body").one("click",function(){u&&u.ready&&(fv_player_log("FV FP YouTube: Volume restore on click."),u.volume(u.volumeLevel))})):u.seeking?y.playVideo():(clearInterval(a),a=!1,u.trigger("pause",[u]));break;case FV_YT.PlayerState.PLAYING:var t;jQuery.extend(u.video,r(y)),d(),o(),s&&((t=jQuery(".fp-ui",l)).show(),jQuery(".fp-splash",l).css("pointer-events",""),!jQuery(l).hasClass("no-controlbar")&&fv_player_pro_youtube_is_old_android()||flowplayer.support.iOS&&flowplayer.support.iOS.version<10)&&t.hide(),u.seeking&&(u.seeking=!1,"function"==typeof y.getCurrentTime)&&u.trigger("seek",[u,y.getCurrentTime()]),u.paused&&u.trigger("resume",[u]),u.one("progress",function(){u.autoplayed&&!u.youtube_unmute_attempted&&y.isMuted()&&(fv_player_log("FV FP YouTube: Trying to restore volume to "+u.volumeLevel),u.volume(u.volumeLevel),u.youtube_unmute_attempted=1,setTimeout(function(){u.youtube_unmute_attempted=!1},500))}),window.fv_player_pro&&fv_player_pro.youtube_nl&&l.addClass("is-youtube-nl")}}function o(){var t=!1;function e(){var e;void 0!==y&&void 0!==y.getCurrentTime&&(e=y.getCurrentTime(),s&&(void 0!==u.seeking&&u.seeking&&t&&t<e&&u.trigger("seek",[u]),t=e),e=u.video.time=0<e?e:0,u.live&&(e-=g=0==g?e:g),u.trigger("progress",[u,e]),(e=y.getVideoLoadedFraction()*u.video.duration+.5)<u.video.duration&&!u.video.buffered?(u.video.buffer=e,u.trigger("buffer",[u,u.video.buffer])):u.video.buffered||(u.video.buffered=!0,u.video.buffer&&u.trigger("buffer",[u,u.video.buffer]),u.trigger("buffered",[u])))}a||(a=setTimeout(e,100),a=setInterval(e,250))}var h,y,n={small:{width:320,height:240,bitrate:64},medium:{width:640,height:360,bitrate:512},large:{width:854,height:480,bitrate:640},hd720:{width:1280,height:720,bitrate:2e3},hd1080:{width:1920,height:1080,bitrate:4e3}},i={bitrates:!1,defaultQuality:"default",activeClass:"active",qualityLabels:{medium:"medium",large:"large",hd720:"hd"}},v=flowplayer.common,a=!1,s=fv_player_pro_youtube_is_mobile(),l=jQuery(l),g=0,e={engineName:t.engineName,load:function(e){g=0;var t,r,o,n,i,a,s=fv_player_pro_youtube_get_video_id((h=e).src);s?(y?flowplayer.support.dataload||flowplayer.support.inlineVideo?y.loadVideoById(s,0,"default"):y.cueVideoById(s,0,"default"):u.youtube&&u.youtube.getIframe()?(y=u.youtube,u.fv_yt_onReady(),u.fv_yt_onStateChange(),u.fv_yt_onError(),y.addEventListener("onReady",d),y.addEventListener("onStateChange",p),y.addEventListener("onError",f),y.addEventListener("onApiChange",c),flowplayer.support.dataload||flowplayer.support.inlineVideo?y.loadVideoById(s,0,"default"):(y.cueVideoById(s,0,"default"),setTimeout(function(){d()},100))):(v.removeNode(v.findDirect("video",l)[0]||v.find(".fp-player > video",l)[0]),(t=v.createElement("div")).className="fp-engine fvyoutube-engine",v.prepend(v.find(".fp-player",l)[0],t),r=setInterval(function(){var e;void 0!==FV_YT&&void 0!==FV_YT.Player&&(clearInterval(r),y=new FV_YT.Player(t,fv_player_pro_youtube_player_vars(s,l,{onReady:d,onStateChange:p,onError:f,onApiChange:c})),(e=jQuery(".fp-engine.fvyoutube-engine",l))[0].allowFullscreen=!1,e.on("webkitfullscreenchange",function(){return document.webkitCancelFullScreen&&document.webkitCancelFullScreen(),!1}))},5)),o=flowplayer.support.fullscreen,n=window,u.fullscreen=function(e){var t=jQuery(l).find(".fp-player")[0];if(!u.disabled)return(e=void 0===e?!u.isFullscreen:e)&&(a=n.scrollY,i=n.scrollX),o?e?["requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].forEach(function(e){if("function"==typeof t[e])return t[e](Element.ALLOW_KEYBOARD_INPUT),"webkitRequestFullScreen"!==e||document.webkitFullscreenElement||t[e](),!1}):["exitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].forEach(function(e){"function"==typeof document[e]&&document[e]()}):u.trigger(e?"fullscreen":"fullscreen-exit",[u]),u},u.on("fullscreen-exit",function(){n.scrollTo(i,a)})):(l.find(".fp-ui").append('<div class="fp-message"><h2>'+fv_flowplayer_translations.invalid_youtube+"</h2></div>"),l.addClass("is-error").removeClass("is-loading"))},mute:function(e){void 0!==y&&(u.muted=!!e,e?y.mute():y.unMute(),u.trigger("mute",[u,e]))},pause:function(){clearInterval(u.YTErrorTimeout),y.pauseVideo()},pick:function(e){for(var t,r=0;r<e.length;r+=1)if((t=e[r]).src.match(/(youtube\.com|youtube-nocookie\.com|youtu\.be)/))return t.src.match(/\/shorts\//)&&(t.src=t.src.replace("/shorts/","/watch?v=")),t},resume:function(){u.finished,void 0!==y.playVideo&&y.playVideo()},seek:function(e){y.seekTo(e,!0),u.seeking=!0,h.currentTime=e,o()},speed:function(e){y.setPlaybackRate(parseFloat(e)),u.trigger("speed",[u,e])},stop:function(){y.stopVideo()},unload:function(){clearInterval(a),fv_player_pro_youtube_is_mobile()?(y.stopVideo(),u.one("load",function(e,t){"fvyoutube"!=t.engine.engineName&&(clearInterval(a),y.destroy(),u.youtube=!1,jQuery(".fvyoutube-engine",l).remove(),jQuery(".fv-pf-yt-temp2",l).remove(),jQuery(l).removeClass("is-ytios11"))})):(y.destroy(),jQuery(".fvyoutube-engine",l).remove(),clearInterval(a)),u.youtube_unmute_attempted=!1,flowplayer.support.firstframe||u.one("ready",function(e,t){t.stop()})},volume:function(e){"function"==typeof y.setVolume&&(0<e&&u.mute(!1),u.volumeLevel=e,y.setVolume(100*e),u.trigger("volume",[u,e]))}};return jQuery(document).on("afterClose.fb beforeLoad.fb",function(){y&&u.lightbox_visible&&!u.lightbox_visible()&&u.is_in_lightbox&&u.is_in_lightbox()&&(u.trigger("unload",[u]),y.destroy(),y=!1,u.youtube)&&(u.youtube=!1)}),e}t.engineName="fvyoutube",t.canPlay=function(e){return/video\/youtube/i.test(e)},flowplayer.engines.push(t),flowplayer(function(e,t){jQuery(t).hasClass("lightboxed")||fv_player_pro_youtube_is_mobile()&&setTimeout(function(){fv_player_pro_youtube_preload(t,e)})}),jQuery(document).ready(function(){fv_player_pro_youtube_is_mobile()&&(jQuery(document).on("afterShow.fb",function(){jQuery(".fancybox-slide--current .flowplayer").each(function(){fv_player_pro_youtube_preload(this,!1,!0)})}),jQuery(document).on("beforeClose.fb beforeLoad.fb",function(e,t,r){jQuery(".freedomplayer",r.$slide).each(function(){var e=jQuery(this).data("freedomplayer");e&&(e.trigger("unload",[e]),e.youtube)&&(e.youtube.destroy(),e.youtube=!1)})}))})})()),"undefined"!=typeof flowplayer&&flowplayer(function(e,t){e.on("ready beforeseek",function(){"fvyoutube"==e.engine.engineName?void 0!==e.youtube&&"function"==typeof e.youtube.getAvailablePlaybackRates&&(e.conf.backupSpeeds=e.conf.speeds,e.conf.speeds=e.youtube.getAvailablePlaybackRates()):(e.youtube&&(e.youtube.destroy(),e.youtube=!1,jQuery(".fp-ui",t).css("background-image",""),jQuery(".fvyoutube-engine",t).remove(),jQuery(".fv-pf-yt-temp2",t).remove(),jQuery(t).removeClass("is-ytios11")),void 0!==e.conf.backupSpeeds&&(e.conf.speeds=e.conf.backupSpeeds))}),void 0!==jQuery.fn.fitVids&&jQuery(t).addClass("fitvidsignore")});
     1function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var FV_YT,YTConfig,fv_player_youtube_error,fv_player_pro_youtube_get_video_id,fv_player_pro_youtube_addRemovableEventListener,fv_player_pro_youtube_onReady,fv_player_pro_youtube_onStateChange,fv_player_pro_youtube_onError,fv_player_pro_youtube_is_mobile,fv_player_pro_youtube_is_old_android,fv_player_pro_youtube_player_vars,fv_player_pro_youtube_preload;fv_flowplayer_conf.youtube&&(window.FV_YT||(FV_YT={loading:0,loaded:0}),window.YTConfig||(YTConfig={host:"https://www.youtube.com"}),FV_YT.loading||(FV_YT.loading=1,(()=>{var t=[];FV_YT.ready=function(e){FV_YT.loaded?e():t.push(e)},window.onYTReady=function(){FV_YT.loaded=1;for(var e=0;e<t.length;e++)try{t[e]()}catch(e){}},FV_YT.setConfig=function(e){for(var t in e)e.hasOwnProperty(t)&&(YTConfig[t]=e[t])}})()),function(){function N(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var u="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,r){return e!=Array.prototype&&e!=Object.prototype&&(e[t]=r.value),e};var i=(e=>{e=["object"==("undefined"==typeof globalThis?"undefined":_typeof(globalThis))&&globalThis,e,"object"==("undefined"==typeof window?"undefined":_typeof(window))&&window,"object"==("undefined"==typeof self?"undefined":_typeof(self))&&self,"object"==("undefined"==typeof global?"undefined":_typeof(global))&&global];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")})(this);function e(e,t){if(t)e:{var r=i;e=e.split(".");for(var o=0;o<e.length-1;o++){var n=e[o];if(!(n in r))break e;r=r[n]}(t=t(o=r[e=e[e.length-1]]))!=o&&null!=t&&u(r,e,{configurable:!0,writable:!0,value:t})}}function Y(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}e("Symbol",function(e){function r(e,t){this.g=e,u(this,"description",{configurable:!0,writable:!0,value:t})}if(e)return e;r.prototype.toString=function(){return this.g};var o="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",n=0;return function e(t){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new r(o+(t||"")+"_"+n++,t)}}),e("Symbol.iterator",function(e){if(!e){e=Symbol("Symbol.iterator");for(var t="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<t.length;r++){var o=i[t[r]];"function"==typeof o&&"function"!=typeof o.prototype[e]&&u(o.prototype,e,{configurable:!0,writable:!0,value:function(){return Y(N(this))}})}}return e});var t,r="function"==typeof Object.create?Object.create:function(e){function t(){}return t.prototype=e,new t};if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{e:{var B={};try{B.__proto__={a:!0},t=B.a;break e}catch(e){}t=!1}k=t?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null}function y(e){var t="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];if(t)return t.call(e);if("number"==typeof e.length)return{next:N(e)};throw Error(String(e)+" is not an iterable or ArrayLike")}function o(){this.j=!1,this.h=null,this.m=void 0,this.g=1,this.A=this.l=0,this.i=null}function n(e){if(e.j)throw new TypeError("Generator is already running");e.j=!0}function a(e,t){e.i={P:t,R:!0},e.g=e.l||e.A}function s(e,t,r){return e.g=r,{value:t}}function L(e){this.g=new o,this.h=e}function l(t,e,r,o){try{var n=e.call(t.g.h,r);if(!(n instanceof Object))throw new TypeError("Iterator result "+n+" is not an object");if(!n.done)return t.g.j=!1,n;var i=n.value}catch(e){return t.g.h=null,a(t.g,e),f(t)}return t.g.h=null,o.call(t.g,i),f(t)}function f(t){for(;t.g.g;)try{var e=t.h(t.g);if(e)return t.g.j=!1,{value:e.value,done:!1}}catch(e){t.g.m=void 0,a(t.g,e)}if(t.g.j=!1,t.g.i){if(e=t.g.i,t.g.i=null,e.R)throw e.P;return{value:e.return,done:!0}}return{value:void 0,done:!0}}function D(o){this.next=function(e){return n(o.g),e=o.g.h?l(o,o.g.h.next,e,o.g.o):(o.g.o(e),f(o))},this.throw=function(e){return n(o.g),e=o.g.h?l(o,o.g.h.throw,e,o.g.o):(a(o.g,e),f(o))},this.return=function(e){return e=e,n((t=o).g),(r=t.g.h)?l(t,"return"in r?r.return:function(e){return{value:e,done:!0}},e,t.g.return):(t.g.return(e),f(t));var t,r},this[Symbol.iterator]=function(){return this}}function M(t){function n(e){return t.next(e)}function i(e){return t.throw(e)}return new Promise(function(r,o){!function e(t){t.done?r(t.value):Promise.resolve(t.value).then(n,i).then(e,o)}(t.next())})}function c(e){return M(new D(new L(e)))}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o.prototype.o=function(e){this.m=e},o.prototype.return=function(e){this.i={return:e},this.g=this.A},e("Promise",function(e){function a(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function t(){this.g=null}function s(t){return t instanceof a?t:new a(function(e){e(t)})}if(e)return e;t.prototype.h=function(e){var t;null==this.g&&(this.g=[],(t=this).i(function(){t.l()})),this.g.push(e)};var r=i.setTimeout,n=(t.prototype.i=function(e){r(e,0)},t.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var r=e[t];e[t]=null;try{r()}catch(e){this.j(e)}}}this.g=null},t.prototype.j=function(e){this.i(function(){throw e})},a.prototype.j=function(){function e(t){return function(e){o||(o=!0,t.call(r,e))}}var r=this,o=!1;return{resolve:e(this.K),reject:e(this.l)}},a.prototype.K=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof a)this.M(e);else{switch(_typeof(e)){case"object":var t=null!=e;break;case"function":t=!0;break;default:t=!1}t?this.J(e):this.m(e)}},a.prototype.J=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.N(t,e):this.m(e)},a.prototype.l=function(e){this.A(2,e)},a.prototype.m=function(e){this.A(1,e)},a.prototype.A=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.L(),this.C()},a.prototype.L=function(){var t=this;r(function(){var e;t.I()&&void 0!==(e=i.console)&&e.error(t.i)},1)},a.prototype.I=function(){var e,t,r;return!this.o&&(e=i.CustomEvent,t=i.Event,void 0===(r=i.dispatchEvent)||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=i.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,r(e)))},a.prototype.C=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)n.h(this.g[e]);this.g=null}},new t);return a.prototype.M=function(e){var t=this.j();e.B(t.resolve,t.reject)},a.prototype.N=function(e,t){var r=this.j();try{e.call(t,r.resolve,r.reject)}catch(e){r.reject(e)}},a.prototype.then=function(e,t){function r(t,e){return"function"==typeof t?function(e){try{o(t(e))}catch(e){n(e)}}:e}var o,n,i=new a(function(e,t){o=e,n=t});return this.B(r(e,o),r(t,n)),i},a.prototype.catch=function(e){return this.then(void 0,e)},a.prototype.B=function(e,t){function r(){switch(o.h){case 1:e(o.i);break;case 2:t(o.i);break;default:throw Error("Unexpected state: "+o.h)}}var o=this;null==this.g?n.h(r):this.g.push(r),this.o=!0},a.resolve=s,a.reject=function(r){return new a(function(e,t){t(r)})},a.race=function(n){return new a(function(e,t){for(var r=y(n),o=r.next();!o.done;o=r.next())s(o.value).B(e,t)})},a.all=function(e){var t=y(e),i=t.next();return i.done?s([]):new a(function(r,e){var o=[],n=0;do{o.push(void 0),n++,s(i.value).B((t=>function(e){o[t]=e,0==--n&&r(o)})(o.length-1),e),i=t.next()}while(!i.done)})},a});var R="function"==typeof Object.assign?Object.assign:function(e,t){if(null==e)throw new TypeError("No nullish arg");e=Object(e);for(var r=1;r<arguments.length;r++){var o=arguments[r];if(o)for(var n in o)d(o,n)&&(e[n]=o[n])}return e},p=(e("Object.assign",function(e){return e||R}),e("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),e("WeakMap",function(o){function e(e){if(this.g=(s+=Math.random()+1).toString(),e){e=y(e);for(var t;!(t=e.next()).done;)this.set((t=t.value)[0],t[1])}}function r(){}function n(e){var t=_typeof(e);return"object"===t&&null!==e||"function"===t}function i(e){var t;d(e,a)||(t=new r,u(e,a,{value:t}))}function t(e){var t=Object[e];t&&(Object[e]=function(e){return e instanceof r?e:(Object.isExtensible(e)&&i(e),t(e))})}var a,s;return(()=>{if(o&&Object.seal)try{var e=Object.seal({}),t=Object.seal({}),r=new o([[e,2],[t,3]]);return 2==r.get(e)&&3==r.get(t)?(r.delete(e),r.set(t,4),!r.has(e)&&4==r.get(t)):void 0}catch(e){}})()?o:(a="$jscomp_hidden_"+Math.random(),t("freeze"),t("preventExtensions"),t("seal"),s=0,e.prototype.set=function(e,t){if(!n(e))throw Error("Invalid WeakMap key");if(i(e),d(e,a))return e[a][this.g]=t,this;throw Error("WeakMap key fail: "+e)},e.prototype.get=function(e){return n(e)&&d(e,a)?e[a][this.g]:void 0},e.prototype.has=function(e){return n(e)&&d(e,a)&&d(e[a],this.g)},e.prototype.delete=function(e){return!!(n(e)&&d(e,a)&&d(e[a],this.g))&&delete e[a][this.g]},e)}),e("Map",function(n){function r(){var e={};return e.previous=e.next=e.head=e}function e(e,t){var r=e[1];return Y(function(){if(r){for(;r.head!=e[1];)r=r.previous;for(;r.next!=r.head;)return r=r.next,{done:!1,value:t(r)};r=null}return{done:!0,value:void 0}})}function o(e,t){var r=t&&_typeof(t),o=("object"==r||"function"==r?i.has(t)?r=i.get(t):(r=""+ ++a,i.set(t,r)):r="p_"+t,e[0][r]);if(o&&d(e[0],r))for(e=0;e<o.length;e++){var n=o[e];if(t!=t&&n.key!=n.key||t===n.key)return{id:r,list:o,index:e,entry:n}}return{id:r,list:o,index:-1,entry:void 0}}function t(e){if(this[0]={},this[1]=r(),this.size=0,e){e=y(e);for(var t;!(t=e.next()).done;)this.set((t=t.value)[0],t[1])}}var i,a;return(()=>{if(n&&"function"==typeof n&&n.prototype.entries&&"function"==typeof Object.seal)try{var e,t,r=Object.seal({x:4}),o=new n(y([[r,"s"]]));return"s"!=o.get(r)||1!=o.size||o.get({x:4})||o.set({x:4},"t")!=o||2!=o.size?void 0:(t=(e=o.entries()).next()).done||t.value[0]!=r||"s"!=t.value[1]?void 0:!((t=e.next()).done||4!=t.value[0].x||"t"!=t.value[1]||!e.next().done)}catch(e){}})()?n:(i=new WeakMap,t.prototype.set=function(e,t){var r=o(this,e=0===e?0:e);return r.list||(r.list=this[0][r.id]=[]),r.entry?r.entry.value=t:(r.entry={next:this[1],previous:this[1].previous,head:this[1],key:e,value:t},r.list.push(r.entry),this[1].previous.next=r.entry,this[1].previous=r.entry,this.size++),this},t.prototype.delete=function(e){return!(!(e=o(this,e)).entry||!e.list||(e.list.splice(e.index,1),e.list.length||delete this[0][e.id],e.entry.previous.next=e.entry.next,e.entry.next.previous=e.entry.previous,e.entry.head=null,this.size--,0))},t.prototype.clear=function(){this[0]={},this[1]=this[1].previous=r(),this.size=0},t.prototype.has=function(e){return!!o(this,e).entry},t.prototype.get=function(e){return(e=o(this,e).entry)&&e.value},t.prototype.entries=function(){return e(this,function(e){return[e.key,e.value]})},t.prototype.keys=function(){return e(this,function(e){return e.key})},t.prototype.values=function(){return e(this,function(e){return e.value})},t.prototype.forEach=function(e,t){for(var r,o=this.entries();!(r=o.next()).done;)e.call(t,(r=r.value)[1],r[0],this)},t.prototype[Symbol.iterator]=t.prototype.entries,a=0,t)}),e("Set",function(n){function e(e){if(this.g=new Map,e){e=y(e);for(var t;!(t=e.next()).done;)this.add(t.value)}this.size=this.g.size}return(()=>{if(n&&"function"==typeof n&&n.prototype.entries&&"function"==typeof Object.seal)try{var e,t,r=Object.seal({x:4}),o=new n(y([r]));return o.has(r)&&1==o.size&&o.add(r)==o&&1==o.size&&o.add({x:4})==o&&2==o.size?(t=(e=o.entries()).next()).done||t.value[0]!=r||t.value[1]!=r?void 0:!(t=e.next()).done&&t.value[0]!=r&&4==t.value[0].x&&t.value[1]==t.value[0]&&e.next().done:void 0}catch(e){}})()?n:(e.prototype.add=function(e){return this.g.set(e=0===e?0:e,e),this.size=this.g.size,this},e.prototype.delete=function(e){return e=this.g.delete(e),this.size=this.g.size,e},e.prototype.clear=function(){this.g.clear(),this.size=0},e.prototype.has=function(e){return this.g.has(e)},e.prototype.entries=function(){return this.g.entries()},e.prototype.keys=e.prototype.values=function(){return this.g.values()},e.prototype[Symbol.iterator]=e.prototype.values,e.prototype.forEach=function(t,r){var o=this;this.g.forEach(function(e){return t.call(r,e,e,o)})},e)}),e("Array.prototype.find",function(e){return e||function(e,t){e:{for(var r=this,o=(r=r instanceof String?String(r):r).length,n=0;n<o;n++){var i=r[n];if(e.call(t,i,n,r)){e=i;break e}}e=void 0}return e}}),e("Array.from",function(e){return e||function(e,t,r){t=null!=t?t:function(e){return e};var o=[],n="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];if("function"==typeof n){e=n.call(e);for(var i=0;!(n=e.next()).done;)o.push(t.call(r,n.value,i++))}else for(n=e.length,i=0;i<n;i++)o.push(t.call(r,e[i],i));return o}}),this||self);function v(e){var t=_typeof(e);return"object"==t&&null!=e||"function"==t}function z(e){return Object.prototype.hasOwnProperty.call(e,h)&&e[h]||(e[h]=++U)}var h="closure_uid_"+(1e9*Math.random()>>>0),U=0;function g(e,t){e=e.split(".");for(var r,o=p;e.length&&(r=e.shift());)e.length||void 0===t?o=o[r]&&o[r]!==Object.prototype[r]?o[r]:o[r]={}:o[r]=t}var q=Array.prototype.indexOf?function(e,t){return Array.prototype.indexOf.call(e,t,void 0)}:function(e,t){if("string"==typeof e)return"string"!=typeof t||1!=t.length?-1:e.indexOf(t,0);for(var r=0;r<e.length;r++)if(r in e&&e[r]===t)return r;return-1},b=Array.prototype.forEach?function(e,t,r){Array.prototype.forEach.call(e,t,r)}:function(e,t,r){for(var o=e.length,n="string"==typeof e?e.split(""):e,i=0;i<o;i++)i in n&&t.call(r,n[i],i,e)};function W(e){var t=e.length;if(0<t){for(var r=Array(t),o=0;o<t;o++)r[o]=e[o];return r}return[]}function G(e,t){this.i=e,this.j=t,this.h=0,this.g=null}function m(){this.h=this.g=null}G.prototype.get=function(){var e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e},m.prototype.add=function(e,t){var r=$.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r},m.prototype.remove=function(){var e=null;return this.g&&(e=this.g,this.g=this.g.next,this.g||(this.h=null),e.next=null),e};var $=new G(function(){return new H},function(e){return e.reset()});function H(){this.next=this.scope=this.g=null}H.prototype.set=function(e,t){this.g=e,this.scope=t,this.next=null};var J,Z=!(H.prototype.reset=function(){this.next=this.scope=this.g=null}),K=new m;function X(e){var t;J||(t=Promise.resolve(void 0),J=function(){t.then(ee)}),Z||(J(),Z=!0),K.add(e,void 0)}function ee(){for(var e;e=K.remove();){try{e.g.call(e.scope)}catch(e){(e=>{p.setTimeout(function(){throw e},0)})(e)}var t=$;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}Z=!1}function _(){this.i=this.i,this.j=this.j}_.prototype.i=!1,_.prototype.dispose=function(){this.i||(this.i=!0,this.D())},_.prototype[Symbol.dispose]=function(){this.dispose()},_.prototype.addOnDisposeCallback=function(e,t){this.i?void 0!==t?e.call(t):e():(this.j||(this.j=[]),t&&(e=e.bind(t)),this.j.push(e))},_.prototype.D=function(){if(this.j)for(;this.j.length;)this.j.shift()()};var te=/&/g,re=/</g,oe=/>/g,ne=/"/g,ie=/'/g,ae=/\x00/g,se=/[\x00&<>"']/;function w(e){this.g=e}w.prototype.toString=function(){return this.g};var ue=new w("about:invalid#zClosurez");function le(e){this.S=e}function j(t){return new le(function(e){return e.substr(0,t.length+1).toLowerCase()===t+":"})}var fe=[j("data"),j("http"),j("https"),j("mailto"),j("ftp"),new le(function(e){return/^[^:]*([/?#]|$)/.test(e)})],ce=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i,de={X:0,V:1,W:2,0:"FORMATTED_HTML_CONTENT",1:"EMBEDDED_INTERNAL_CONTENT",2:"EMBEDDED_TRUSTED_EXTERNAL_CONTENT"};function C(e,t){t=Error.call(this,e+" cannot be used with intent "+de[t]),this.message=t.message,"stack"in t&&(this.stack=t.stack),this.type=e,this.name="TypeCannotBeUsedWithIframeIntentError"}var pe,T,E=Error;if((C.prototype=r(E.prototype)).constructor=C,k)k(C,E);else for(var S in E)"prototype"!=S&&(Object.defineProperties?(pe=Object.getOwnPropertyDescriptor(E,S))&&Object.defineProperty(C,S,pe):C[S]=E[S]);function he(e){return e=se.test(e)&&-1!=(e=-1!=(e=-1!=(e=-1!=(e=-1!=(e=-1!=e.indexOf("&")?e.replace(te,"&amp;"):e).indexOf("<")?e.replace(re,"&lt;"):e).indexOf(">")?e.replace(oe,"&gt;"):e).indexOf('"')?e.replace(ne,"&quot;"):e).indexOf("'")?e.replace(ie,"&#39;"):e).indexOf("\0")?e.replace(ae,"&#0;"):e}C.H=E.prototype;e:{for(var ye=["CLOSURE_FLAGS"],ve=p,ge=0;ge<ye.length;ge++)if(null==(ve=ve[ye[ge]])){T=null;break e}T=ve}r=T&&T[610401301];function x(){var e=p.navigator;return(e=e&&e.userAgent)||""}var F,A,be=null!=r&&r,k=p.navigator;function me(){return!!be&&!!F&&0<F.brands.length}function _e(){if(me()){var e=F.brands.find(function(e){return"Chromium"===e.brand});if(!e||!e.version)return NaN;e=e.version.split(".")}else{if(""===(e=(()=>{for(var e,t,r=x(),o=RegExp("([A-Z][\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g"),n=[];e=o.exec(r);)n.push([e[1],e[2],e[3]||void 0]);if(t={},n.forEach(function(e){t[e[0]]=e[1]}),r=function(e){return t[e.find(function(e){return e in t})]||""},me())e:{if(be&&F)for(o=0;o<F.brands.length;o++)if((n=F.brands[o].brand)&&-1!=n.indexOf("Chromium")){o=!0;break e}o=!1}else o=(-1!=x().indexOf("Chrome")||-1!=x().indexOf("CriOS"))&&(me()||-1==x().indexOf("Edge"))||-1!=x().indexOf("Silk");return o?r(["Chrome","CriOS","HeadlessChrome"]):""})()))return NaN;e=e.split(".")}return 0===e.length?NaN:Number(e[0])}function O(e){_.call(this),this.o=1,this.l=[],this.m=0,this.g=[],this.h={},this.A=!!e}function we(){}F=k&&k.userAgentData||null,r=O,A=_,we.prototype=A.prototype,r.H=A.prototype,r.prototype=new we,(r.prototype.constructor=r).Y=function(e,t,r){for(var o=Array(arguments.length-2),n=2;n<arguments.length;n++)o[n-2]=arguments[n];return A.prototype[t].apply(e,o)},(k=O.prototype).subscribe=function(e,t,r){var o=(o=this.h[e])||(this.h[e]=[]),n=this.o;return this.g[n]=e,this.g[n+1]=t,this.g[n+2]=r,this.o=n+3,o.push(n),n},k.F=function(e){var t,r,o=this.g[e];return o&&(t=this.h[o],0!=this.m?(this.l.push(e),this.g[e+1]=function(){}):(t&&0<=(r=q(t=t,r=e))&&Array.prototype.splice.call(t,r,1),delete this.g[e],delete this.g[e+1],delete this.g[e+2])),!!o},k.G=function(e,t){var r=this.h[e];if(r){for(var o=Array(arguments.length-1),n=arguments.length,i=1;i<n;i++)o[i-1]=arguments[i];if(this.A)for(i=0;i<r.length;i++)n=r[i],((e,t,r)=>{X(function(){e.apply(t,r)})})(this.g[n+1],this.g[n+2],o);else{this.m++;try{for(i=0,n=r.length;i<n&&!this.i;i++){var a=r[i];this.g[a+1].apply(this.g[a+2],o)}}finally{if(this.m--,0<this.l.length&&0==this.m)for(;r=this.l.pop();)this.F(r)}}return 0!=i}return!1},k.clear=function(e){var t;e?(t=this.h[e])&&(t.forEach(this.F,this),delete this.h[e]):(this.g.length=0,this.h={})},k.D=function(){O.H.D.call(this),this.clear(),this.l.length=0};var je=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function Ce(e){e=(o=e.match(je))[1];var t=o[2],r=o[3],o=o[4],n="";return e&&(n+=e+":"),r&&(n+="//",t&&(n+=t+"@"),n+=r,o)&&(n+=":"+o),n}var Te=/#|$/,Ee=["https://www.google.com"];function Se(){var e=this;this.g=[],this.h=function(){Promise.all(e.g.map(function(e){document.requestStorageAccessFor(e)})).then(function(){window.removeEventListener("click",e.h)})}}function xe(){var r=new Se,t=void 0===(t=["https://www.youtube.com"])?Ee:t;c(function(e){switch(e.g){case 1:return s(e,c(function(e){var t=e.return,r=119<=_e();return t.call(e,r&&!!navigator.permissions&&!!navigator.permissions.query&&"requestStorageAccessFor"in document)}),2);case 2:if(e.m)return s(e,Promise.all(t.map(function(t){return c(function(e){if(1==e.g)return e.l=2,s(e,navigator.permissions.query({name:"top-level-storage-access",requestedOrigin:t}),4);2!=e.g?("prompt"===e.m.state&&r.g.push(t),e.g=0,e.l=0):(e.l=0,e.i=null,e.g=0)})})),4);e.g=3;break;case 4:0<r.g.length&&window.addEventListener("click",r.h);case 3:return e.return()}})}var I={},Fe=[],V=new O,Ae={};function ke(){for(var e=y(Fe),t=e.next();!t.done;t=e.next())(t=t.value)()}function Oe(e,t){return"yt:"===e.tagName.toLowerCase().substring(0,3)?e.getAttribute(t):e.dataset?e.dataset[t]:e.getAttribute("data-"+t)}var Ie=window;function Ve(e,t){if(this.v={},this.playerInfo={},this.videoTitle="",this.j=this.g=null,this.h=0,this.m=!1,this.l=[],this.i=null,this.C={},this.options=null,this.A=this.T.bind(this),!e)throw Error("YouTube player element ID required.");this.id=z(this),t=Object.assign({title:"video player",videoId:"",width:640,height:360},t||{});var r,o,n=document;if(e="string"==typeof e?n.getElementById(e):e){Ie.yt_embedsEnableRsaforFromIframeApi&&xe(),n="iframe"===e.tagName.toLowerCase(),t.host||(t.host=n?Ce(e.src):"https://www.youtube.com"),this.options=t||{},t=[this.options,window.YTConfig||{}];for(var i=0;i<t.length;i++)t[i].host&&(t[i].host=t[i].host.toString().replace("http://","https://"));if(!n){t=document.createElement("iframe");for(var a,i=0,s=(n=e.attributes).length;i<s;i++){var u=n[i].value;null!=u&&""!==u&&"null"!==u&&t.setAttribute(n[i].name,u)}for(a in t.setAttribute("frameBorder","0"),t.setAttribute("allowfullscreen",""),t.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"),t.setAttribute("referrerPolicy","strict-origin-when-cross-origin"),t.setAttribute("title","YouTube "+Q(this,"title")),(n=Q(this,"width"))&&t.setAttribute("width",n.toString()),(n=Q(this,"height"))&&t.setAttribute("height",n.toString()),(n=(this.j=e).parentNode)&&n.replaceChild(t,e),e=((e,t)=>{var a=Q(e,"playerVars"),r=(a=a?(e=>{var t,r={};for(t in e)r[t]=e[t];return r})(a):{},window!==window.top&&document.referrer&&(a.widget_referrer=document.referrer.substring(0,256)),Q(e,"embedConfig"));if(r){if(v(r))try{r=JSON.stringify(r)}catch(e){console.error("Invalid embed config JSON",e)}a.embed_config=r}return a.enablejsapi=window.postMessage?1:0,window.location.host&&(a.origin=window.location.protocol+"//"+window.location.host),a.widgetid=e.id,window.location.href&&b(["debugjs","debugcss"],function(e){var t=window.location.href,r=t.search(Te);e:{for(var o=0,n=e.length;0<=(o=t.indexOf(e,o))&&o<r;){var i=t.charCodeAt(o-1);if((38==i||63==i)&&(!(i=t.charCodeAt(o+n))||61==i||38==i||35==i))break e;o+=n+1}o=-1}null!==(t=o<0?null:(((n=t.indexOf("&",o))<0||r<n)&&(n=r),o+=e.length+1,decodeURIComponent(t.slice(o,-1!==n?n:0).replace(/\+/g," "))))&&(a[e]=t)}),window.location.href&&(a.forigin=window.location.href),e=window.location.ancestorOrigins,a.aoriginsup=void 0===e?0:1,e&&0<e.length&&(a.aorigins=Array.from(e).join(",")),window.document.referrer&&(a.gporigin=window.document.referrer),t&&(a.vf=(e=>{var t=e.getBoundingClientRect();return e=Math.max(0,Math.min(t.bottom,window.innerHeight||document.documentElement.clientHeight)-Math.max(t.top,0))*Math.max(0,Math.min(t.right,window.innerWidth||document.documentElement.clientWidth)-Math.max(t.left,0)),e=(t=t.height*t.width)?e/t:0,"hidden"===document.visibilityState||e<.5?1:e<.75?2:e<.85?3:e<.95?4:e<1?5:6})(t)),a})(this,t),n=""+Q(this,"host")+Be(this)+"?",i=[],e)!function e(t,r,o){if(Array.isArray(r))for(var n=0;n<r.length;n++)e(t,String(r[n]),o);else null!=r&&o.push(t+(""===r?"":"="+encodeURIComponent(String(r))))}(a,e[a],i);if(a=n+i.join("&"),Ie.yt_embedsEnableIframeSrcWithIntent){var l=void 0===l?fe:l;e:if(l=void 0===l?fe:l,a instanceof w)l=a;else{for(e=0;e<l.length;++e)if((n=l[e])instanceof le&&n.S(a)){l=new w(a);break e}l=void 0}for(l=l||ue,t.removeAttribute("srcdoc"),a="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-storage-access-by-user-activation".split(" "),t.setAttribute("sandbox",""),e=0;e<a.length;e++)t.sandbox.supports&&!t.sandbox.supports(a[e])||t.sandbox.add(a[e]);void 0!==(l=l instanceof w?l.g:ce.test(l)?l:void 0)&&(t.src=l),t.sandbox.add("allow-presentation","allow-top-navigation")}else t.src=a;e=t}if(this.g=e,this.g.id||(this.g.id="widget"+z(this.g)),I[this.g.id]=this,window.postMessage){this.i=new O;var f,c,d=r=this,p=r.id,h=String(Q(r,"host"));for(f in P||(P={},De=new Set,Re.addEventListener("message",function(e){e:if(De.has(e.origin)){try{var t=JSON.parse(e.data)}catch(e){break e}var r=P[t.id];if(r&&e.origin===r.O)switch(e=r.U,e.m=!0,e.m&&(b(e.l,e.sendMessage,e),e.l.length=0),r=t.event,t=t.info,r){case"apiInfoDelivery":if(v(t))for(var o in t)t.hasOwnProperty(o)&&(e.v[o]=t[o]);break;case"infoDelivery":Le(e,t);break;case"initialDelivery":if(v(t)){clearInterval(e.h),e.playerInfo={},e.v={};{var n=e;var i=t.apiInterface;for(var a=(i=y(i)).next(),s={};!a.done;s={u:void 0},a=i.next())s.u=a.value,n[s.u]||("getCurrentTime"===s.u?n[s.u]=function(){var e,t=this.playerInfo.currentTime;return 1===this.playerInfo.playerState&&0<(e=(Date.now()/1e3-this.playerInfo.currentTimeLastUpdated_)*this.playerInfo.playbackRate)&&(t+=Math.min(e,1)),t}:(e=>(0===e.search("cue")||0===e.search("load"))&&"loadModule"!==e)(s.u)?n[s.u]=(e=>function(){return this.playerInfo={},this.v={},Pe(this,e.u,arguments),this})(s):(e=>0===e.search("get")||0===e.search("is"))(s.u)?n[s.u]=(r=>function(){var e=r.u,t=0;return 0===e.search("get")?t=3:0===e.search("is")&&(t=2),this.playerInfo[e.charAt(t).toLowerCase()+e.substring(t+1)]})(s):n[s.u]=(e=>function(){return Pe(this,e.u,arguments),this})(s))}Le(e,t)}break;case"alreadyInitialized":clearInterval(e.h);break;case"readyToListen":Ne(e);break;default:e.i.i||(e.i.G(r,o={target:e,data:t}),function(){V.G.apply(V,arguments)}("player."+r,o))}}})),P[p]={U:d,O:h},De.add(h),o=Number(Ie.yt_embedsWidgetPollIntervalMs)||250,r.h=setInterval(r.A,o),r.g&&(r.o=function(){clearInterval(r.h),r.h=setInterval(r.A,o)},r.g.addEventListener("load",r.o)),t=Q(this,"events"))t.hasOwnProperty(f)&&this.addEventListener(f,t[f]);for(c in Ae)Ae.hasOwnProperty(c)&&Qe(this,c)}}}function Qe(e,t){var r;2===(t=t.split(".")).length&&(r=t[1],"player"===t[0])&&Ye(e,r)}function Pe(e,t,r){r=r||[],t={event:"command",func:t,args:r=Array.prototype.slice.call(r)},e.m?e.sendMessage(t):e.l.push(t)}function Ne(e){return e.g&&e.g.contentWindow&&(e.sendMessage({event:"listening"}),1)}function Ye(e,t){e.C[t]||(e.C[t]=!0,Pe(e,"addEventListener",[t]))}function Be(e){if(!(e=String(Q(e,"videoId")))||11===e.length&&e.match(/^[a-zA-Z0-9\-_]+$/))return"/embed/"+e;throw Error("Invalid video id")}function Le(e,t){if(v(t)){for(var r in t)t.hasOwnProperty(r)&&(e.playerInfo[r]=t[r]);e.playerInfo.hasOwnProperty("videoData")&&((t=e.playerInfo.videoData).hasOwnProperty("title")&&t.title?(t=t.title)!==e.videoTitle&&(e.videoTitle=t,e.g.setAttribute("title",t)):(e.videoTitle="",e.g.setAttribute("title","YouTube "+Q(e,"title"))))}}function Q(e,t){e=[e.options,window.YTConfig||{}];for(var r=0;r<e.length;r++){var o=e[r][t];if(void 0!==o)return o}return null}(k=Ve.prototype).setSize=function(e,t){return this.g.width=e.toString(),this.g.height=t.toString(),this},k.getIframe=function(){return this.g},k.addEventListener=function(e,t){var r="string"==typeof t?function(){window[t].apply(window,arguments)}:t;return r&&(this.i.subscribe(e,r),Ye(this,e)),this},k.destroy=function(){this.g&&this.g.id&&(I[this.g.id]=null);var e,t,r=this.i;r&&"function"==typeof r.dispose&&r.dispose(),this.j?(r=this.j,(t=(e=this.g).parentNode)&&t.replaceChild(r,e)):(r=this.g)&&r.parentNode&&r.parentNode.removeChild(r),P&&(P[this.id]=null),this.options=null,this.g&&this.o&&this.g.removeEventListener("load",this.o),this.j=this.g=null},k.T=function(){Ne(this)||clearInterval(this.h)},k.sendMessage=function(e){e.id=this.id,e.channel="widget",e=JSON.stringify(e);var t=Ce(this.g.src||"").replace("http:","https:");if(this.g.contentWindow)try{this.g.contentWindow.postMessage(e,t)}catch(e){if(!e.name||"SyntaxError"!==e.name)throw e;e.message&&0<e.message.indexOf("target origin ''")||console&&console.warn&&console.warn(e)}else console&&console.warn&&console.warn("The YouTube player is not attached to the DOM. API calls should be made after the onReady event. See more: https://developers.google.com/youtube/iframe_api_reference#Events")},k.getVideoEmbedCode=function(){var e=""+Q(this,"host")+Be(this),t=Number(Q(this,"width")),r=Number(Q(this,"height"));if(isNaN(t)||isNaN(r))throw Error("Invalid width or height property");var t=Math.floor(t),r=Math.floor(r),o=this.videoTitle;return'<iframe width="'+t+'" height="'+r+'" src="'+he(e)+'" title="'+he(null!=o?o:"YouTube video player")+'" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>'},k.getOptions=function(e){return this.v.namespaces?e?this.v[e]&&this.v[e].options||[]:this.v.namespaces||[]:[]},k.getOption=function(e,t){if(this.v.namespaces&&e&&t&&this.v[e])return this.v[e][t]};var P=null,De=null;function Me(e){var t;"iframe"!==e.tagName.toLowerCase()&&(t=Oe(e,"videoid"))&&new Ve(e,t={videoId:t,width:Oe(e,"width"),height:Oe(e,"height")})}var Re=window;g("FV_YT.PlayerState.UNSTARTED",-1),g("FV_YT.PlayerState.ENDED",0),g("FV_YT.PlayerState.PLAYING",1),g("FV_YT.PlayerState.PAUSED",2),g("FV_YT.PlayerState.BUFFERING",3),g("FV_YT.PlayerState.CUED",5),g("FV_YT.get",function(e){return I[e]}),g("FV_YT.scan",ke),g("FV_YT.subscribe",function(e,t,r){for(var o in V.subscribe(e,t,r),Ae[e]=!0,I)I.hasOwnProperty(o)&&Qe(I[o],e)}),g("FV_YT.unsubscribe",function(e,t,r){var o,n,i;e=e,o=t,n=r,(e=(t=V).h[e])&&(i=t.g,e=e.find(function(e){return i[e+1]==o&&i[e+2]==n}))&&t.F(e)}),g("FV_YT.Player",Ve),Fe.push(function(e){var t=e;e=W((t=t||document).getElementsByTagName("yt:player")),t=W((t||document).querySelectorAll(".yt-player")),b(function(){return Array.prototype.concat.apply([],arguments)}(e,t),Me)}),void 0!==YTConfig&&YTConfig.parsetags&&"onload"!==YTConfig.parsetags||ke()}.call(this)),"undefined"!=typeof flowplayer&&(fv_player_youtube_error=function(e){switch(e=parseInt(e)){case 2:return"Invalid parameter value.";case 5:return"HTML5 player error.";case 100:return"The video could not be found. It's either removed or private.";case 101:case 150:return"The video cannot be embedded.";default:return"Code: "+e}},fv_player_pro_youtube_get_video_id=function(e){var t;return((t=(t=e.match(/(?:\?|&)v=([a-zA-Z0-9_-]+)(?:\?|$|&)/))||e.match(/youtu.be\/([a-zA-Z0-9_-]+)(?:\?|$|&)/))||!!(t=e.match(/(?:embed|live|shorts)\/([a-zA-Z0-9_-]+)(?:\?|$|&)/)))&&t[1]},fv_player_pro_youtube_addRemovableEventListener=function(e,t,r){var o="youtubeCallbackFunction"+Math.random().toString(36).substr(2,7);return window[o]=r,e.addEventListener(t,o),function(){window[o]=function(){},void 0!==e.removeEventListener&&e.removeEventListener(t,o)}},fv_player_pro_youtube_onReady=function(e){var e=jQuery(e.target.getIframe()).closest(".flowplayer"),t=(e.removeClass("is-loading"),e.data("flowplayer"));t.loading=!1,t.trigger("yt-ready"),t.fv_yt_did_preload=!0,jQuery(document).trigger("fv-player-yt-api-loaded"),0==t.youtube.getDuration()&&(t.live=!0,jQuery(e).addClass("is-live"))},fv_player_pro_youtube_onStateChange=function(e){var t=jQuery(e.target.getIframe()).parents(".flowplayer");switch(e.data){case-1:jQuery(".fp-splash",t).css("pointer-events",""),t.addClass("is-loading");break;case FV_YT.PlayerState.PLAYING:t.data("flowplayer").load();break;case FV_YT.PlayerState.BUFFERING:t.addClass("is-loading")}},fv_player_pro_youtube_onError=function(e){var t=jQuery(e.target.getIframe()).parents(".flowplayer"),r=t.data("flowplayer"),o=(fv_player_log("FV Player Youtube onError for preloaded player",e),(0<r.video.index?r.conf.playlist[r.video.index]:r.conf.clip).sources[0].src);fv_player_track(r,!1,"Video "+(t.hasClass("is-cva")?"Ad ":"")+"error","YouTube video removed",o),setTimeout(function(){t.removeClass("is-splash"),r.loading=!1,t.removeClass("is-loading"),1<r.conf.clip.sources.length&&(r.youtube.destroy(),r.youtube=!1,jQuery(".fvyoutube-engine",t).remove(),jQuery(".fv-pf-yt-temp2",t).remove(),jQuery(t).removeClass("is-ytios11"),jQuery(".fp-ui",t).css("background-image",""),jQuery(".fp-ui",t).append('<div class="wpfp_custom_popup fp-notice-load" style="height: 100%"><div class="wpfp_custom_popup_content">'+fv_flowplayer_translations.video_loaded+"</div></div>"),jQuery(".fp-notice-load").one("click",function(){jQuery(".fp-notice-load",t).remove(),r.trigger("error",[r,{code:4,video:r.video,custom_error:fv_player_youtube_error(e.data)}])}))})},fv_player_pro_youtube_is_mobile=function(){return navigator.userAgent.match(/FBAN|FBAV|FB_IAB|FB4A|FBMD|FBBV|FBDV|FBSN|FBSV|FBSS|FBID|FBLC|FBOP|FBRV|FBSF|FBAN|FB4A|FBMD|FBAV|FBBV|FBDV|FBSN|FBSV|FBSS|FBID|FBLC|FBOP|FBRV|FBSF|FB_IAB/i)?(jQuery("body").addClass("is-fv-player-fb-app"),!0):!flowplayer.support.android&&(!flowplayer.support.firstframe||flowplayer.support.iOS||flowplayer.support.browser.safari)},fv_player_pro_youtube_is_old_android=function(){return flowplayer.support.android&&flowplayer.support.android.version<4.4},fv_player_pro_youtube_player_vars=function(e,t,r){e={videoId:e,width:t.width,height:t.height,playerVars:{autoplay:0,controls:!jQuery(t).hasClass("no-controlbar")&&fv_player_pro_youtube_is_old_android()?1:0,disablekb:1,enablejsapi:1,fs:0,html5:1,iv_load_policy:3,loop:0,modestbranding:1,origin:"https:"==document.location.protocol?"https://":"http://"+flowplayer.conf.hostname,playsinline:1,rel:0,showinfo:0,showsearch:0,start:0,t0:1,widget_referrer:window?window.location.href:null}};return fv_flowplayer_conf.youtube_cookies||(e.host="https://www.youtube-nocookie.com"),r&&(e.events=r),e},fv_player_pro_youtube_preload=function(e,r,t){var o,n,i=jQuery(e);!((r=r||i.data("flowplayer"))&&r.conf.item&&"video/youtube"==r.conf.item.sources[0].type||r&&r.conf.clip&&"video/youtube"==r.conf.clip.sources[0].type)||1==r.loading||r.youtube||r.video.index||(r.loading=!0,i.addClass("is-loading"),e=flowplayer.common,o=r.conf.item?fv_player_pro_youtube_get_video_id(r.conf.item.sources[0].src):fv_player_pro_youtube_get_video_id(r.conf.clip.sources[0].src),e.removeNode(e.findDirect("video",i)[0]||e.find(".fp-player > video",i)[0]),(n=e.createElement("div")).className="fp-engine fvyoutube-engine",n.id="fv-player-yt-wrapper-"+i.attr("id"),e.prepend(e.find(".fp-player",i)[0],n),jQuery(document).one("fv-player-yt-api-loaded",function(){var t;(void 0===FV_YT||void 0===FV_YT.Player)&&window.fv_player_pro_yt_loading||(window.fv_player_pro_yt_loading=!0,t=setInterval(function(){var e;r.loading=!0,i.addClass("is-loading"),void 0!==FV_YT&&void 0!==FV_YT.Player&&(clearInterval(t),r.youtube=new FV_YT.Player(n,fv_player_pro_youtube_player_vars(o,i)),jQuery(".fp-engine.fvyoutube-engine",i)[0].allowFullscreen=!1,e=jQuery(".fp-splash",i),jQuery(".fp-ui",i).before(e),e.css("pointer-events","none"),jQuery(".fp-ui",i).before('<div class="fv-pf-yt-temp2"></div>'),flowplayer.support.iOS&&11<flowplayer.support.iOS.version&&(jQuery(i).addClass("is-ytios11"),jQuery(i).find(".fv-pf-yt-temp2").on("click",function(){r.toggle()})),r.fv_yt_onReady=fv_player_pro_youtube_addRemovableEventListener(r.youtube,"onReady",fv_player_pro_youtube_onReady),r.fv_yt_onStateChange=fv_player_pro_youtube_addRemovableEventListener(r.youtube,"onStateChange",fv_player_pro_youtube_onStateChange),r.fv_yt_onError=fv_player_pro_youtube_addRemovableEventListener(r.youtube,"onError",fv_player_pro_youtube_onError))},50))}),window.fv_player_pro_yt_load&&!t)||(window.fv_player_pro_yt_load=!0,jQuery(document).trigger("fv-player-yt-api-loaded"))},(()=>{function t(u,l){function r(e){var t=e.getPlaybackQuality(),r={seekable:!0,src:e.getVideoUrl()};return r.duration=e.getDuration(),t&&void 0!==n[t]&&(r.width=n[t].width,r.height=n[t].height,r.quality=t,r.qualityLabel=i.qualityLabels[t],r.bitrate=n[t].bitrate),"function"==typeof e.getVideoData&&(t=e.getVideoData()).title&&(r.fv_title="YouTube: "+t.title+" ("+t.video_id+")",r.fv_title_clean=t.title),r}function f(e){fv_player_log("FV Player Youtube onError",e);var t=(0<u.video.index?u.conf.playlist[u.video.index]:u.conf.clip).sources[0].src;fv_player_track(u,!1,"Video "+(l.hasClass("is-cva")?"Ad ":"")+"error","YouTube video removed",t),l.addClass("is-splash"),u.trigger("error",[u,{code:4,video:u.video,custom_message:"Error: "+fv_player_youtube_error(e.data)}]),1<u.conf.playlist.length&&0==u.conf.clip.sources.length&&setTimeout(function(){u.loading=!1,l.removeClass("is-loading"),u.paused=!1,l.removeClass("is-paused"),u.ready=!0,u.bind("load",function(){u.ready=!1}),setTimeout(function(){u.next()},5e3)})}function c(){u.one("ready progress",function(){var r,t,o,e,n;"fvyoutube"===u.engine.engineName&&-1<y.getOptions().indexOf("captions")&&(u.video.subtitles?y.unloadModule("captions"):(r=y.getOption("captions","track"),0==(t=y.getOption("captions","tracklist"))?y.loadModule("captions"):(y.setOption("captions","fontSize",1),e=(o=flowplayer.common).find(".fp-captions",l)[0],e=(e=o.find(".fp-subtitle",l)[0])||o.appendTo(o.createElement("div",{class:"fp-captions"}),o.find(".fp-player",l)[0]),Array.prototype.forEach.call(e.children,o.removeNode),e=l.find(".fp-cc")[0]||o.createElement("strong",{className:"fp-cc"},"CC"),n=l.find(".fp-subtitle-menu")[0]||o.createElement("div",{className:"fp-menu fp-subtitle-menu"},"<strong>Closed Captions</strong>"),o.find("a",n).forEach(o.removeNode),n.appendChild(o.createElement("a",{"data-yt-subtitle-index":-1},"No subtitles")),(t||[]).forEach(function(e,t){t=o.createElement("a",{"data-yt-subtitle-index":t},e.displayName);r&&r.languageCode&&r.languageCode==e.languageCode&&jQuery(t).addClass("fp-selected"),n.appendChild(t)}),o.find(".fp-ui",l)[0].appendChild(n),o.find(".fp-controls",l)[0].appendChild(e),l.find(".fp-cc").removeClass("fp-hidden"),jQuery(document).on("click",".fp-subtitle-menu a",function(e){e.preventDefault(),jQuery("a[data-yt-subtitle-index]").removeClass("fp-selected"),jQuery(this).addClass("fp-selected"),t[jQuery(this).data("yt-subtitle-index")]?(null==l.data("fv-player-youtube-nl")&&l.data("fv-player-youtube-nl",l.hasClass("is-youtube-nl")),l.removeClass("is-youtube-nl"),y.setOption("captions","track",{languageCode:t[jQuery(this).data("yt-subtitle-index")].languageCode})):(l.data("fv-player-youtube-nl")&&l.addClass("is-youtube-nl"),y.unloadModule("captions"))}))))})}function d(){0==y.getDuration()&&(u.live=!0,jQuery(l).addClass("is-live"));var e=jQuery.extend(h,r(y));if(!u.ready){u.autoplayed&&u.mute(!0,!0),y.playVideo();try{u.one("ready",function(){u.trigger("resume",[u])}),u.trigger("ready",[u,e])}catch(e){}}u.ready=!0,s&&jQuery(".fp-ui",l).hide(),(flowplayer.support.iOS.version<11||flowplayer.support.android.version<5)&&(l.find(".fp-speed").hide(),u.YTErrorTimeout=setTimeout(function(){u.error||-1!=y.getPlayerState()||u.trigger("error",[u,{code:4,video:u.video,custom_message:"Error: YouTube video not started"}])},1e3))}function p(e){switch(0==l.find(".fv-fp-no-picture.is-active").length&&jQuery(".fvyoutube-engine",l).show(),e.data){case-1:jQuery(".fp-splash",l).css("pointer-events",""),u.playing=!1,u.paused=!0,setTimeout(function(){-1==y.getPlayerState()&&(fv_player_log("This video did not start yet!"),l.removeClass("is-youtube-nl"),u.fv_yt_did_preload)&&(l.find(".fp-splash").remove(),l.removeClass("is-loading").addClass("is-ready"))},1e3);break;case FV_YT.PlayerState.BUFFERING:"function"==typeof y.getCurrentTime&&u.trigger("seek",[u,y.getCurrentTime()]);break;case FV_YT.PlayerState.CUED:l.removeClass("is-loading"),l.addClass("is-paused"),u.loading=!1,flowplayer.support.firstframe||(t=jQuery("[rel="+l.attr("id")+"] span").eq(u.video.index),jQuery(".fv-pf-yt-temp",l).css("background-image",t.css("background-image")),flowplayer.support.dataload||jQuery(".fp-ui",l).hide(),jQuery(".fv-pf-yt-temp",l).show(),jQuery(".fv-pf-yt-temp-play",l).show());break;case FV_YT.PlayerState.ENDED:u.playing=!1,clearInterval(a),a=!1,u.trigger("pause",[u]),u.trigger("finish",[u]),jQuery(".fvyoutube-engine",l).hide(),jQuery(".fv-pf-yt-temp2",l).show(),jQuery(".fp-ui",l).show();break;case FV_YT.PlayerState.PAUSED:u.autoplayed&&1===u.youtube_unmute_attempted?(u.youtube_unmute_attempted=2,fv_player_log("FV FP YouTube: Volume restore failed."),u.mute(!0,!0),y.playVideo(),jQuery("body").one("click",function(){u&&u.ready&&(fv_player_log("FV FP YouTube: Volume restore on click."),u.volume(u.volumeLevel))})):u.seeking?y.playVideo():(clearInterval(a),a=!1,u.trigger("pause",[u]));break;case FV_YT.PlayerState.PLAYING:var t;jQuery.extend(u.video,r(y)),d(),o(),s&&((t=jQuery(".fp-ui",l)).show(),jQuery(".fp-splash",l).css("pointer-events",""),!jQuery(l).hasClass("no-controlbar")&&fv_player_pro_youtube_is_old_android()||flowplayer.support.iOS&&flowplayer.support.iOS.version<10)&&t.hide(),u.seeking&&(u.seeking=!1,"function"==typeof y.getCurrentTime)&&u.trigger("seek",[u,y.getCurrentTime()]),u.paused&&u.trigger("resume",[u]),u.one("progress",function(){u.autoplayed&&!u.youtube_unmute_attempted&&y.isMuted()&&(fv_player_log("FV FP YouTube: Trying to restore volume to "+u.volumeLevel),u.volume(u.volumeLevel),u.youtube_unmute_attempted=1,setTimeout(function(){u.youtube_unmute_attempted=!1},500))}),window.fv_player_pro&&fv_player_pro.youtube_nl&&l.addClass("is-youtube-nl")}}function o(){var t=!1;function e(){var e;void 0!==y&&void 0!==y.getCurrentTime&&(e=y.getCurrentTime(),s&&(void 0!==u.seeking&&u.seeking&&t&&t<e&&u.trigger("seek",[u]),t=e),e=u.video.time=0<e?e:0,u.live&&(e-=g=0==g?e:g),u.trigger("progress",[u,e]),(e=y.getVideoLoadedFraction()*u.video.duration+.5)<u.video.duration&&!u.video.buffered?(u.video.buffer=e,u.trigger("buffer",[u,u.video.buffer])):u.video.buffered||(u.video.buffered=!0,u.video.buffer&&u.trigger("buffer",[u,u.video.buffer]),u.trigger("buffered",[u])))}a||(a=setTimeout(e,100),a=setInterval(e,250))}var h,y,n={small:{width:320,height:240,bitrate:64},medium:{width:640,height:360,bitrate:512},large:{width:854,height:480,bitrate:640},hd720:{width:1280,height:720,bitrate:2e3},hd1080:{width:1920,height:1080,bitrate:4e3}},i={bitrates:!1,defaultQuality:"default",activeClass:"active",qualityLabels:{medium:"medium",large:"large",hd720:"hd"}},v=flowplayer.common,a=!1,s=fv_player_pro_youtube_is_mobile(),l=jQuery(l),g=0,e={engineName:t.engineName,load:function(e){g=0;var t,r,o,n,i,a,s=fv_player_pro_youtube_get_video_id((h=e).src);s?(y?flowplayer.support.dataload||flowplayer.support.inlineVideo?y.loadVideoById(s,0,"default"):y.cueVideoById(s,0,"default"):u.youtube&&u.youtube.getIframe()?(y=u.youtube,u.fv_yt_onReady(),u.fv_yt_onStateChange(),u.fv_yt_onError(),y.addEventListener("onReady",d),y.addEventListener("onStateChange",p),y.addEventListener("onError",f),y.addEventListener("onApiChange",c),flowplayer.support.dataload||flowplayer.support.inlineVideo?y.loadVideoById(s,0,"default"):(y.cueVideoById(s,0,"default"),setTimeout(function(){d()},100))):(v.removeNode(v.findDirect("video",l)[0]||v.find(".fp-player > video",l)[0]),(t=v.createElement("div")).className="fp-engine fvyoutube-engine",v.prepend(v.find(".fp-player",l)[0],t),r=setInterval(function(){var e;void 0!==FV_YT&&void 0!==FV_YT.Player&&(clearInterval(r),y=new FV_YT.Player(t,fv_player_pro_youtube_player_vars(s,l,{onReady:d,onStateChange:p,onError:f,onApiChange:c})),(e=jQuery(".fp-engine.fvyoutube-engine",l))[0].allowFullscreen=!1,e.on("webkitfullscreenchange",function(){return document.webkitCancelFullScreen&&document.webkitCancelFullScreen(),!1}))},5)),o=flowplayer.support.fullscreen,n=window,u.fullscreen=function(e){var t=jQuery(l).find(".fp-player")[0];if(!u.disabled)return(e=void 0===e?!u.isFullscreen:e)&&(a=n.scrollY,i=n.scrollX),o?e?["requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].forEach(function(e){if("function"==typeof t[e])return t[e](Element.ALLOW_KEYBOARD_INPUT),"webkitRequestFullScreen"!==e||document.webkitFullscreenElement||t[e](),!1}):["exitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].forEach(function(e){"function"==typeof document[e]&&document[e]()}):u.trigger(e?"fullscreen":"fullscreen-exit",[u]),u},u.on("fullscreen-exit",function(){n.scrollTo(i,a)})):(l.find(".fp-ui").append('<div class="fp-message"><h2>'+fv_flowplayer_translations.invalid_youtube+"</h2></div>"),l.addClass("is-error").removeClass("is-loading"))},mute:function(e){void 0!==y&&(u.muted=!!e,e?y.mute():y.unMute(),u.trigger("mute",[u,e]))},pause:function(){clearInterval(u.YTErrorTimeout),y.pauseVideo()},pick:function(e){for(var t,r=0;r<e.length;r+=1)if((t=e[r]).src.match(/(youtube\.com|youtube-nocookie\.com|youtu\.be)/))return t.src.match(/\/shorts\//)&&(t.src=t.src.replace("/shorts/","/watch?v=")),t},resume:function(){u.finished,void 0!==y.playVideo&&y.playVideo()},seek:function(e){y.seekTo(e,!0),u.seeking=!0,h.currentTime=e,o()},speed:function(e){y.setPlaybackRate(parseFloat(e)),u.trigger("speed",[u,e])},stop:function(){y.stopVideo()},unload:function(){clearInterval(a),fv_player_pro_youtube_is_mobile()?(y.stopVideo(),u.one("load",function(e,t){"fvyoutube"!=t.engine.engineName&&(clearInterval(a),y.destroy(),u.youtube=!1,jQuery(".fvyoutube-engine",l).remove(),jQuery(".fv-pf-yt-temp2",l).remove(),jQuery(l).removeClass("is-ytios11"))})):(y.destroy(),jQuery(".fvyoutube-engine",l).remove(),clearInterval(a)),u.youtube_unmute_attempted=!1,flowplayer.support.firstframe||u.one("ready",function(e,t){t.stop()})},volume:function(e){"function"==typeof y.setVolume&&(0<e&&u.mute(!1),u.volumeLevel=e,y.setVolume(100*e),u.trigger("volume",[u,e]))}};return jQuery(document).on("afterClose.fb beforeLoad.fb",function(){y&&u.lightbox_visible&&!u.lightbox_visible()&&u.is_in_lightbox&&u.is_in_lightbox()&&(u.trigger("unload",[u]),y.destroy(),y=!1,u.youtube)&&(u.youtube=!1)}),e}t.engineName="fvyoutube",t.canPlay=function(e){return/video\/youtube/i.test(e)},flowplayer.engines.push(t),flowplayer(function(e,t){jQuery(t).hasClass("lightboxed")||fv_player_pro_youtube_is_mobile()&&setTimeout(function(){fv_player_pro_youtube_preload(t,e)})}),jQuery(document).ready(function(){fv_player_pro_youtube_is_mobile()&&(jQuery(document).on("afterShow.fb",function(){jQuery(".fancybox-slide--current .flowplayer").each(function(){fv_player_pro_youtube_preload(this,!1,!0)})}),jQuery(document).on("beforeClose.fb beforeLoad.fb",function(e,t,r){jQuery(".freedomplayer",r.$slide).each(function(){var e=jQuery(this).data("freedomplayer");e&&(e.trigger("unload",[e]),e.youtube)&&(e.youtube.destroy(),e.youtube=!1)})}))})})()),"undefined"!=typeof flowplayer&&flowplayer(function(e,t){e.on("ready beforeseek",function(){"fvyoutube"==e.engine.engineName?void 0!==e.youtube&&"function"==typeof e.youtube.getAvailablePlaybackRates&&(e.conf.backupSpeeds=e.conf.speeds,e.conf.speeds=e.youtube.getAvailablePlaybackRates()):(e.youtube&&(e.youtube.destroy(),e.youtube=!1,jQuery(".fp-ui",t).css("background-image",""),jQuery(".fvyoutube-engine",t).remove(),jQuery(".fv-pf-yt-temp2",t).remove(),jQuery(t).removeClass("is-ytios11")),void 0!==e.conf.backupSpeeds&&(e.conf.speeds=e.conf.backupSpeeds))}),void 0!==jQuery.fn.fitVids&&jQuery(t).addClass("fitvidsignore")});
  • fv-player/trunk/freedom-video-player/fv-player.min.js

    r3348866 r3363337  
    1 function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}if("undefined"!=typeof fv_flowplayer_conf){var FVAbrController,parseIOSVersion=function(e){e=/iP(ad|hone)(; CPU)? OS (\d+_\d)/.exec(e);return e&&1<e.length?parseFloat(e[e.length-1].replace("_","."),10):0};try{"object"==_typeof(window.localStorage)&&void 0!==window.localStorage.volume&&delete fv_flowplayer_conf.volume}catch(e){}flowplayer.conf=fv_flowplayer_conf,flowplayer.conf.embed=!1,flowplayer.conf.share=!1,flowplayer.conf.analytics=!1,void 0!==fv_flowplayer_conf.disable_localstorage&&(flowplayer.conf.storage={});try{flowplayer.conf.key=atob(flowplayer.conf.key)}catch(e){}!flowplayer.support.android&&flowplayer.conf.dacast_hlsjs&&((FVAbrController=function(e){this.hls=e,this.nextAutoLevel=3}).prototype.nextAutoLevel=function(e){this.nextAutoLevel=e},FVAbrController.prototype.destroy=function(){},flowplayer.conf.hlsjs={startLevel:-1,abrController:FVAbrController}),flowplayer.support.iOS&&flowplayer.support.iOS.chrome&&0==flowplayer.support.iOS.version&&(flowplayer.support.iOS.version=parseIOSVersion(navigator.userAgent)),flowplayer.conf.hlsjs.use_for_safari&&(flowplayer.support.iOS&&13<=parseInt(flowplayer.support.iOS.version)||!flowplayer.support.iOS&&flowplayer.support.browser.safari&&8<=parseInt(flowplayer.support.browser.version))&&(flowplayer.conf.hlsjs.safari=!0),flowplayer.support.fvmobile=!(flowplayer.support.firstframe&&!flowplayer.support.iOS&&!flowplayer.support.android);var fls=flowplayer.support;flowplayer.conf.mobile_native_fullscreen&&"ontouchstart"in window&&fls.fvmobile&&(flowplayer.conf.native_fullscreen=!0),"ontouchstart"in window&&(fls.android&&fls.android.version<4.4&&!(fls.browser.chrome&&54<fls.browser.version)&&(flowplayer.conf.native_fullscreen=!0),fls.iOS)&&(fv_player_in_iframe()||fls.iOS.version<7)&&(flowplayer.conf.native_fullscreen=!0)}"undefined"!=typeof fv_flowplayer_translations&&(flowplayer.defaults.errors=fv_flowplayer_translations);var fv_player_did_autoplay=!1;function fv_player_videos_parse(e,t){try{var a=JSON.parse(e)}catch(e){return!1}var n;jQuery(a.sources).each(function(e,o){a.sources[e].src=o.src.replace(/(\?[a-z]+=){random}/,"$1"+Math.random())}),flowplayer.support.browser.safari&&(n=[],jQuery(a.sources).each(function(e,o){"video/webm"!=o.type&&n.push(o)}),0<n.length)&&(a.sources=n);var r,e=new RegExp("[\\?&]fv_flowplayer_mobile=([^&#]*)").exec(location.search);return!(null!=e&&"yes"==e[1]||jQuery(window).width()<=480||jQuery(window).height()<=480)||null!=e&&"no"==e[1]||(r=!1,jQuery(a.sources).each(function(e,o){if(!o)return!1;o.mobile&&(a.sources[e]=a.sources[0],a.sources[0]=o,r=!0),r&&jQuery(t).after('<p class="fv-flowplayer-mobile-switch">'+fv_flowplayer_translations.mobile_browser_detected_1+' <a href="'+document.URL+'?fv_flowplayer_mobile=no">'+fv_flowplayer_translations.mobile_browser_detected_2+"</a>.</p>")})),t.trigger("fv_player_videos_parse",a),a}function fv_player_in_iframe(){try{return window.self!==window.top}catch(e){return!0}}function fv_escape_attr(e){var o={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};return e.replace(/[&<>"']/g,function(e){return o[e]})}function fv_player_preload(){function e(){jQuery(".flowplayer.fp-is-embed").each(function(){var e=jQuery(this);e.hasClass("has-chapters")||e.hasClass("has-transcript")||0!=jQuery(".fp-playlist-external[rel="+e.attr("id")+"]").length||e.height(jQuery(window).height())})}if(flowplayer.support.touch&&(jQuery(".fp-playlist-external.fp-playlist-horizontal.fv-playlist-design-2017").addClass("visible-captions"),jQuery(".fp-playlist-external.fp-playlist-vertical.fv-playlist-design-2017").addClass("visible-captions")),flowplayer(function(n,r){localStorage.flowplayerTestStorage&&delete localStorage.flowplayerTestStorage;var e,o,t,i=(r=jQuery(r)).find(".fp-player"),l=!1,a=n.conf.splash,s=(r.hasClass("fixed-controls")&&r.find(".fp-controls").on("click",function(e){n.loading||n.ready||(e.preventDefault(),e.stopPropagation(),n.load())}),0==r.data("volume")&&r.hasClass("no-controlbar")&&r.find(".fp-volume").remove(),jQuery(".fp-playlist-external[rel="+r.attr("id")+"]")),f=((!n.conf.playlist||0==n.conf.playlist.length)&&s.length&&0<s.find("a[data-item]").length?(o=[],s.find("a[data-item]").each(function(){(e=fv_player_videos_parse(jQuery(this).attr("data-item"),r))?o.push(e):jQuery(this).remove()}),n.conf.playlist=o,n.conf.clip=o[0]):n.conf.clip||(n.conf.clip=fv_player_videos_parse(jQuery(r).attr("data-item"),r)),jQuery("a",s).on("click",function(e){e.preventDefault(),l=!0;var e=jQuery(this),o=jQuery(".fp-playlist-external[rel="+r.attr("id")+"]"),o=jQuery("a",o).index(this),t=e.prev("a"),a=e.data("item");if(e.closest(".fv-playlist-draggable.is-dragging").length)return!1;if(location.href.match(/wp-admin/)&&0<e.parents(".fv-player-editor-preview").length)return fv_flowplayer_conf.current_video_to_edit=o,e.parents(".fv-player-custom-video").find(".edit-video .fv-player-editor-button").trigger("click"),!1;if(t.length&&e.is(":visible")&&!t.is(":visible"))return t.trigger("click"),!1;if(!jQuery("#"+e.parent().attr("rel")).hasClass("dynamic-playlist")){if(fv_player_playlist_active(jQuery(".fp-playlist-external[rel="+r.attr("id")+"]"),this),n){if(n.error&&(n.pause(),n.error=n.loading=!1,r.removeClass("is-error"),r.find(".fp-message.fp-shown").remove()),!n.video||n.video.index==o)return;n.play(o)}t=(t=a.splash)||e.find("img").attr("src");u(r,i,a,t),r[0].getBoundingClientRect().bottom-100<0&&jQuery("html, body").animate({scrollTop:jQuery(r).offset().top-100},300)}}),jQuery("[rel="+r.attr("id")+"]")),p=!1,c=r.find(".fp-splash"),d=r.find(".fv-fp-splash-text");function u(e,o,t,a){e=e.find("img.fp-splash");a?(0==e.length&&(e=jQuery('<img class="fp-splash" />'),o.prepend(e)),e.attr("alt",t.fv_title?fv_escape_attr(t.fv_title):"video"),e.removeAttr("srcset"),e.attr("src",a)):e.length&&e.remove()}n.bind("load",function(e,o,t){var a;o.conf.playlist.length&&(t.type.match(/^audio/)&&!l&&(a=(a=(t=(o=f.find("a").eq(t.index)).data("item")).splash)||o.find("img").attr("src"),u(r,i,t,a)),l=!1)}),n.bind("ready",function(e,o,t){setTimeout(function(){var e;-1<t.index&&0<f.length&&(e=jQuery("a",f).eq(t.index),fv_player_playlist_active(f,e),p=e.find(".fvp-progress"))},100),c=r.find(".fp-splash"),t.is_audio_stream||t.type.match(/^audio/)||(window.fv_player_pro&&window.fv_player_pro.autoplay_scroll||r.data("fvautoplay")||!a||"application/x-mpegurl"==o.video.type?o.one("progress",function(){c.remove(),d.remove()}):(c.remove(),d.remove()))}),n.bind("unload",function(){jQuery(".fp-playlist-external .now-playing").remove(),jQuery(".fp-playlist-external a").removeClass("is-active");var e=i.find("iframe.fp-engine");e.length?(e.after(d),e.after(c)):(i.prepend(d),i.prepend(c)),p=!1}),n.bind("progress",function(e,o,t){p.length&&o.playlist_thumbnail_progress&&o.playlist_thumbnail_progress(p,o.video,t)}),n.bind("error-subtitles",function(){console.log("error-subtitles"),fv_player_notice(r,fv_flowplayer_translations[8],2e3)}),(s=jQuery(r).parent().find("div.fp-playlist-vertical[rel="+jQuery(r).attr("id")+"]")).length&&((t=function(){var e=s.hasClass("fp-playlist-only-captions")?"height":"max-height";s.parents(".fp-playlist-text-wrapper").hasClass("is-fv-narrow")&&(e="max-height"),s.css(e,(()=>{var e=r.height();return e=0==e?r.css("max-height"):e})()),"max-height"==e&&s.css("height","auto")})(),jQuery(window).on("resize tabsactivate",function(){setTimeout(t,0)})),n.show_status=function(e){var t="";["loading","ready","playing","paused","seeking"].every(function(e,o){return n[e]&&(t+=" "+e),!0}),console.log("FV Player Status ("+e+")",t)},window.fv_player_loaded||(window.fv_player_loaded=!0,setTimeout(function(){jQuery(document).trigger("fv_player_loaded");var e=new CustomEvent("fv_player_loaded",[]);document.dispatchEvent(e)},100)),setTimeout(function(){r.trigger("fv_player_loaded")},10),r.data("error")&&(n.message(r.data("error")),r.find(".fp-controls").remove(),r.find(".fp-header").css("opacity",1).show(),n.conf.clip={sources:[{src:!1,type:"video/mp4"}]},n.on("load",function(e){e.preventDefault(),e.stopPropagation()}))}),window.self==window.top||location.href.match(/fv_player_preview/)||(e(),jQuery(window.self).on("resize",e)),"undefined"!=typeof fv_flowplayer_playlists)for(var o in fv_flowplayer_playlists)fv_flowplayer_playlists.hasOwnProperty(o)&&jQuery("#"+o).flowplayer({playlist:fv_flowplayer_playlists[o]});fv_player_load(),fv_video_link_autoplay(),jQuery(document).ajaxComplete(function(){fv_player_load()}),jQuery(window).on("hashchange",fv_video_link_autoplay)}function fv_player_load(i){i&&1<i.lenght&&console.log("FV Player: Can't use fv_player_load with more than a single forced element!");var l=!1;if((i||jQuery(".flowplayer")).each(function(e,o){var t=jQuery(o),o=t.data("flowplayer");if(o)i&&(l=o);else{i&&(t.find(".fp-preload, .fvfp_admin_error").remove(),t.attr("data-item-lazy")?(t.attr("data-item",t.attr("data-item-lazy")),t.removeAttr("item-lazy")):(a=jQuery("[rel="+t.attr("id")+"]"))&&a.find("a[data-item-lazy]").each(function(e,o){(o=jQuery(o)).attr("data-item",o.attr("data-item-lazy")),o.removeAttr("data-item-lazy")}));var a,n,o=!1;if(t.attr("data-item"))o={clip:fv_player_videos_parse(t.attr("data-item"),t)};else if(a=jQuery("[rel="+t.attr("id")+"]")){if(0==a.find("a[data-item]").length)return;var r=[];a.find("a[data-item]").each(function(){(n=fv_player_videos_parse(jQuery(this).attr("data-item"),t))?r.push(n):jQuery(this).remove()}),o={playlist:r}}o&&(o=flowplayer.extend(o,t.data()),l=flowplayer(t[0],o),t.data("freedomplayer",l),t.data("flowplayer",l))}}),jQuery(".fv-playlist-slider-wrapper").each(function(){var e=jQuery(this).find("a:visible");(e=0===e.length?jQuery(this).find("a"):e).length&&(e=e.outerWidth()*e.length,jQuery(this).find(".fp-playlist-external").attr("style","width: "+e+"px; max-width: "+e+"px !important"))}),void 0!==jQuery().tabs&&(jQuery("body").removeClass("fv_flowplayer_tabs_hide"),jQuery(".fv_flowplayer_tabs_content").tabs()),i&&l)return l}function fv_player_playlist_active(e,o){e&&(jQuery("a",e).removeClass("is-active"),jQuery(".now-playing").remove());var t,e=jQuery(e),o=jQuery(o),a=!1,n=(o.addClass("is-active"),e.hasClass("fv-playlist-design-2014"));(n&&0==o.find("h4").length||!n)&&0==o.find(".now-playing").length&&o.prepend('<strong class="now-playing"><span>'+fv_flowplayer_translations.playlist_current+"</span></strong>"),e.parent().find(".flowplayer").length||(a=!0),(e.hasClass("fp-playlist-vertical")||e.hasClass("fp-playlist-horizontal")&&e.hasClass("is-audio"))&&!(e=>{var o=e.getBoundingClientRect(),t=o.top,a=t+o.height,e=e.parentNode;do{if(o=e.getBoundingClientRect(),a<=o.bottom==!1)return;if(t<=o.top)return;e=e.parentNode}while(e!=document.body);return a<=document.documentElement.clientHeight})(o.get(0))?(t=a?e.parent():e).animate({scrollTop:t.scrollTop()+(o.position().top-t.position().top)},750):e.hasClass("fp-playlist-horizontal")&&!(e=>{var o=e.getBoundingClientRect(),t=o.left,a=t+o.width,e=e.parentNode;do{if(o=e.getBoundingClientRect(),a<=o.right==!1)return;if(t<=o.left)return;e=e.parentNode}while(e!=document.body);return a<=document.documentElement.clientWidth})(o.get(0))&&(t=a?e.parent():e).animate({scrollLeft:t.scrollLeft()+(o.position().left-t.position().left)},750)}function fv_parse_sharelink(e){var o,t="fvp_";return(e=e.replace("https?://[^./].","")).match(/(youtube.com)/)?t+e.match(/(?:v=)([A-Za-z0-9_-]*)/)[1]:e.match(/(vimeo.com)|(youtu.be)/)?t+e.match(/(?:\/)([^/]*$)/)[1]:(o=e.match(/(?:\/)([^/]*$)/))?t+o[1].match(/^[^.]*/)[0]:t+e}function fv_player_get_video_link_hash(e){var o=fv_parse_sharelink((void 0!==e.video.sources_original&&void 0!==e.video.sources_original[0]?e.video.sources_original:e.video.sources)[0].src);return o=void 0!==e.video.id?fv_parse_sharelink(e.video.id.toString()):o}function fv_player_time_hms(e){var o,t,a;return isNaN(e)?NaN:(o=parseInt(e,10),t=Math.floor(o/3600),a=Math.floor(o/60)%60,e=o%60,t?t+="h":t="",t&&a<10?a="0"+a+"m":a?a+="m":a="",(t||a)&&e<10&&(e="0"+e),t+a+(e+="s"))}function fv_player_time_hms_ms(e){var o;return isNaN(e)?NaN:(o=void 0!==(o=((e=parseFloat(e).toFixed(3))+"").split("."))[1]&&0<o[1]?o[1]+"ms":"",fv_player_time_hms(e)+o)}function fv_player_time_seconds(e,o){var t;return e?(t=0,e.match(/(\d+[a-z]{1,2})/g).forEach(function(e){e.endsWith("h")?t+=3600*parseInt(e):e.endsWith("m")?t+=60*parseInt(e):e.endsWith("s")&&!e.endsWith("ms")?t+=parseInt(e):e.endsWith("ms")&&parseInt(e)&&(t+=parseInt(e)/1e3)}),o?Math.min(t,o):t):-1}function fv_autoplay_init(e,t,o,a,n){var r,i,l;!fv_autoplay_exec_in_progress&&(fv_autoplay_exec_in_progress=!0,r=e.data("flowplayer"))&&(i=fv_player_time_seconds(o),n=fv_player_time_seconds(n),a=fv_player_time_seconds(a),e.parent().hasClass("ui-tabs-panel")&&(o=e.parent().attr("id"),jQuery("[aria-controls="+o+"] a").trigger("click")),e.find(".fp-player").attr("class").match(/\bis-sticky/)||(l=jQuery(e).offset().top-(jQuery(window).height()-jQuery(e).height())/2,window.scrollTo(0,l),r.one("ready",function(){window.scrollTo(0,l)})),e.hasClass("lightboxed")&&setTimeout(function(){jQuery("[href=\\#"+e.attr("id")+"]").trigger("click")},0),t?fv_player_video_link_autoplay_can(r,parseInt(t))?r.ready?fv_player_video_link_seek(r,i,n,a):(r.play(parseInt(t)),r.one("ready",function(){fv_player_video_link_seek(r,i,n,a)})):flowplayer.support.inlineVideo&&(r.one(r.playing?"progress":"ready",function(e,o){o.play(parseInt(t)),o.one("ready",function(){fv_player_video_link_seek(o,i,n,a)})}),e.find(".fp-splash").attr("src",jQuery("[rel="+e.attr("id")+"] div").eq(t).find("img").attr("src")).removeAttr("srcset"),fv_player_in_iframe()||fv_player_notice(e,fv_flowplayer_translations[11],"progress")):r.ready?fv_player_video_link_seek(r,i,n,a):(fv_player_video_link_autoplay_can(r)?r.load():fv_player_in_iframe()||fv_player_notice(e,fv_flowplayer_translations[11],"progress"),r.one("ready",function(){fv_player_video_link_seek(r,i,n,a)})))}function fv_player_video_link_seek(e,o,t,a){fv_autoplay_exec_in_progress=!1;var n=setInterval(function(){e.loading||((0<o||0<e.video.time)&&(e.custom_seek?e.custom_seek(o):e.seek(o)),t&&a&&e.trigger("link-ab",[e,a,t]),clearInterval(n))},10)}jQuery(document).ready(function(){var e=0,o=setInterval(function(){++e<1e3&&(window.fv_vast_conf&&!window.FV_Player_IMA||window.fv_player_pro&&!window.FV_Flowplayer_Pro&&!window.FV_Player_Pro&&document.getElementById("fv_player_pro")!=fv_player_pro||window.fv_player_user_playlists&&!window.fv_player_user_playlists.is_loaded||window.FV_Player_JS_Loader_scripts_total&&window.FV_Player_JS_Loader_scripts_loaded<window.FV_Player_JS_Loader_scripts_total)||(clearInterval(o),fv_player_preload())},10)});var fv_autoplay_exec_in_progress=!1;function fv_video_link_autoplay(){var e,i,l,s,f,p=!0;"undefined"!=typeof flowplayer&&"undefined"!=typeof fv_flowplayer_conf&&fv_flowplayer_conf.video_hash_links&&window.location.hash.substring(1).length&&(e=window.location.hash.match(/\?t=/)?window.location.hash.substring(1).split("?t="):window.location.hash.substring(1).split(","),i=e[0],l=void 0!==e[1]&&e[1],s=void 0!==e[2]&&e[2],f=void 0!==e[3]&&e[3],jQuery(".flowplayer").each(function(){var e=jQuery(this),o=(e=e.hasClass("lightbox-starter")?jQuery(e.attr("href")):e).data("flowplayer");if(o){var t,a=void 0!==o.conf.playlist&&1<o.conf.playlist.length?o.conf.playlist:[o.conf.clip];for(t in a)if(a.hasOwnProperty(t)){var n=void 0!==a[t].id&&fv_parse_sharelink(a[t].id.toString());if(i===n&&p)return 0<o.conf.playlist.length?o.conf.playlist[t].prevent_position_restore=!0:o.conf.clip.prevent_position_restore=!0,console.log("fv_autoplay_exec for "+n,t),fv_autoplay_init(e,parseInt(t),l,s,f),p=!1}for(t in a)if(a.hasOwnProperty(t)){var r=fv_parse_sharelink(a[t].sources[0].src);if(i===r&&p)return 0<o.conf.playlist.length?o.conf.playlist[t].prevent_position_restore=!0:o.conf.clip.prevent_position_restore=!0,console.log("fv_autoplay_exec for "+r,t),fv_autoplay_init(e,parseInt(t),l,s,f),p=!1}}}))}function fv_player_video_link_autoplay_can(e,o){return!("video/youtube"==(o?e.conf.playlist[o]:e.conf.clip).sources[0].type&&(flowplayer.support.iOS||flowplayer.support.android)||fv_player_in_iframe())&&flowplayer.support.firstframe}function fv_player_notice(e,o,t){var a=jQuery(".fvfp-notices",e),n=(a.length||(a=jQuery('<div class="fvfp-notices">'),jQuery(".fp-player",e).append(a)),jQuery('<div class="fvfp-notice-content">'+o+"</div></div>"));return a.append(n),"string"==typeof t&&jQuery(e).data("flowplayer").on(t,function(){n.fadeOut(100,function(){jQuery(this).remove()})}),0<t&&setTimeout(function(){n.fadeOut(2e3,function(){jQuery(this).remove()})},t),n}var fv_player_clipboard=function(e,o,t){if(navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(function(){o()},function(){void 0!==t&&t()});else try{fv_player_doCopy(e)?o():void 0!==t&&t()}catch(e){void 0!==t&&t(e)}};function fv_player_doCopy(e){var o,t,a,n=document.createElement("textarea"),e=(n.value=e,n.style.opacity=0,n.style.position="absolute",n.setAttribute("readonly",!0),document.body.appendChild(n),0<document.getSelection().rangeCount&&document.getSelection().getRangeAt(0));navigator.userAgent.match(/ipad|ipod|iphone/i)?(o=n.contentEditable,n.contentEditable=!0,(t=document.createRange()).selectNodeContents(n),(a=window.getSelection()).removeAllRanges(),a.addRange(t),n.setSelectionRange(0,999999),n.contentEditable=o):n.select();try{var r=document.execCommand("copy");return e&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(e)),document.body.removeChild(n),r}catch(e){throw new Error("Unsuccessfull")}}function fv_player_log(e,o){fv_flowplayer_conf.debug&&"undefined"!=typeof console&&"function"==typeof console.log&&(o?console.log(e,o):console.log(e)),fv_flowplayer_conf.debug&&void 0!==window.location.search&&window.location.search.match(/fvfp/)&&jQuery("body").prepend(e+"<br />")}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function is_ga_4(e){return!(void 0===e.conf.fvanalytics||!e.conf.fvanalytics||!e.conf.fvanalytics.startsWith("G-"))}function fv_player_track(e,o,t,a,n,r){if("object"!=_typeof(e)&&(r=n,n=a,a=t,t=o,o=e,e=!1),o=o||flowplayer.conf.fvanalytics,void 0===a&&(a="Unknown engine"),/fv_player_track_debug/.test(window.location.href)&&console.log("FV Player Track: "+t+" - "+a+" '"+n+"'",r),"undefined"!=typeof gtag)is_ga_4(e)&&"Video Subtitles"!==t?gtag("event",t,{video_title:n,video_current_time:e.video.time,video_provider:a,video_duration:e.video.duration,value:r||1}):gtag("event",t,{event_category:a,event_label:n,value:r||1});else if(o&&"undefined"!=typeof ga)ga("create",o,"auto",n,{allowLinker:!0}),ga("require","linker"),r?ga("send","event",t,a,n,r):ga("send","event",t,a,n);else if(o&&"undefined"!=typeof _gat){e=_gat._getTracker(o);if(void 0===e._setAllowLinker)return;e._setAllowLinker(!0),r?e._trackEvent(t,a,n,r):e._trackEvent(t,a,n)}flowplayer.conf.matomo_domain&&flowplayer.conf.matomo_site_id&&"undefined"!=typeof _paq&&(r?_paq.push(["trackEvent",t,a,n,r]):_paq.push(["trackEvent",t,a,n]))}function fv_player_track_name(e,o){e=e.attr("title");return(e=(e=e||void 0===o.fv_title?e:o.fv_title)||void 0===o.title?e:o.title)||void 0===o.src||(e=o.src.split("/").slice(-1)[0].replace(/\.(\w{3,4})(\?.*)?$/i,""),o.type.match(/mpegurl/)&&(e=o.src.split("/").slice(-2)[0].replace(/\.(\w{3,4})(\?.*)?$/i,"")+"/"+e)),e}function freedomplayer_playlist_size_check(){jQuery(".fp-playlist-external").each(function(){var e=jQuery(this),o=e.parent().width(),t=e.css("max-width").match(/%/)?e.width():parseInt(e.css("max-width")),t=0<t&&t<o?t:o;900<=e.parent().width()?e.addClass("is-wide"):e.removeClass("is-wide"),(e.hasClass("fp-playlist-polaroid")||e.hasClass("fp-playlist-version-one")||e.hasClass("fp-playlist-version-two"))&&(o=e.hasClass("fp-playlist-version-one")||e.hasClass("fp-playlist-version-two")?200:150,8<(t=Math.floor(t/o))?t=8:t<2&&(t=2),e.css("--fp-playlist-items-per-row",String(t)))})}flowplayer(function(t,r){var n,i,o,l,a,s;function e(){var e;"dash"==t.engine.engineName?((e=l[t.engine.dash.getQualityFor("video")]).qualityIndex!=a&&(a=e.qualityIndex,f(e.qualityIndex,l)),o.match(/dash_debug/)&&p(e.width,e.height,e.bitrate)):"hlsjs-lite"==t.engine.engineName&&(n.currentLevel!=a&&(a=n.currentLevel,f(n.currentLevel,n.levels)),o.match(/hls_debug/))&&(e=n.levels[n.currentLevel])&&p(e.width,e.height,e.bitrate)}function f(e,o){var t,a,n;o[e]&&(t=o[e].height,a=541,n=1e5,jQuery(o).each(function(e,o){720<=o.height&&o.height<1400&&(a=720),o.height<n&&(n=o.height),localStorage.FVPlayerHLSQuality==o.height&&(r.find("a[data-quality]").removeClass("fp-selected fp-color"),r.find("a[data-quality="+e+"]").addClass("fp-selected fp-color"))}),r.find("a[data-quality]").removeClass("is-current"),r.find("a[data-quality="+e+"]").addClass("is-current"),o=1400<=t?"4K":a<=t?"HD":360<=t&&n<t?"SD":"SD",r.find(".fp-qsel").html(o))}function p(e,o,t){s.html("Using "+e+"x"+o+" at "+Math.round(t/1024)+" kbps")}function c(){var t=r.find(".fp-qsel-menu");t.children().each(function(e,o){t.prepend(o)}),t.children().each(function(e,o){var t;/^NaNp/.test(jQuery(o).html())?(t=jQuery(o).html().match(/\((.*?)\)/))&&void 0!==t[1]&&jQuery(o).html(t[1]):jQuery(o).html(jQuery(o).html().replace(/\(.*?\)/,""))}),t.prepend(t.find("a[data-quality=-1]")),t.prepend(t.find("strong"))}r=jQuery(r),void 0===t.conf.disable_localstorage&&(i=t.conf.splash,flowplayer.engine("hlsjs-lite").plugin(function(e){(n=e.hls).on(Hls.Events.ERROR,function(e,o){"mediaError"==o.type&&"fragParsingError"==o.details&&1==o.fatal&&(n.destroy(),t.trigger("error",[t,{code:3}]),setTimeout(function(){r.removeClass("is-seeking"),r.addClass("is-paused")},0))}),flowplayer.support.browser.safari&&n.on(Hls.Events.KEY_LOADED,function(e){"hlsKeyLoaded"==e&&setTimeout(function(){t.loading&&(console.log("FV Player: Safari stuck loading HLS, resuming playback..."),t.resume())},0)});var a=!(!flowplayer.conf.hd_streaming||flowplayer.support.fvmobile)&&720;localStorage.FVPlayerHLSQuality&&(a=localStorage.FVPlayerHLSQuality),(a=0==jQuery(e.root).data("hd_streaming")?!1:a)&&n.on(Hls.Events.MANIFEST_PARSED,function(e,o){var t=!1;jQuery.each(o.levels,function(e,o){o.height==a&&(t=e)}),localStorage.FVPlayerHLSQuality||t||jQuery.each(o.levels,function(e,o){o.height>t&&(t=e)}),t&&(console.log("FV Player: Picked "+o.levels[t].height+"p quality"),n.startLevel=t,n.currentLevel=t)})}),r=jQuery(r),o=document.location.search,localStorage.FVPlayerDashQuality&&(t.conf.dash||(t.conf.dash={}),t.conf.dash.initialVideoQuality="restore"),r.on("click",".fp-qsel-menu a",function(){var e;"hlsjs-lite"==t.engine.engineName&&(-1==(e=jQuery(this).data("quality"))?localStorage.removeItem("FVPlayerHLSQuality"):(e=n.levels[e],localStorage.FVPlayerHLSQuality=e.height))}),0!=r.data("hd_streaming")&&(localStorage.FVPlayerHLSQuality?(t.conf.hlsjs.startLevel=parseInt(localStorage.FVPlayerHLSQuality),t.conf.hlsjs.testBandwidth=!1,t.conf.hlsjs.autoLevelEnabled=!1):flowplayer.conf.hd_streaming&&!flowplayer.support.fvmobile&&(t.conf.hlsjs.startLevel=3,t.conf.hlsjs.testBandwidth=!1,t.conf.hlsjs.autoLevelEnabled=!1)),t.bind("quality",function(e,o,t){"dash"==o.engine.engineName&&(-1==t?localStorage.removeItem("FVPlayerDashQuality"):l[t]&&(localStorage.FVPlayerDashQuality=l[t].height))}),l=[],a=-1,t.bind("ready",function(e,o){var a;r.find(".fp-qsel-menu strong").text(fv_flowplayer_translations.quality),"dash"==o.engine.engineName?(l=o.engine.dash.getBitrateInfoListFor("video"),localStorage.FVPlayerDashQuality&&o.conf.dash.initialVideoQuality&&o.quality(o.conf.dash.initialVideoQuality),c()):"hlsjs-lite"==o.engine.engineName?(i&&(r.addClass("is-loading"),o.loading=!0,o.one("progress",function(){o.loading&&(r.removeClass("is-loading"),o.loading=!1)})),o.video.qualities&&2<o.video.qualities.length&&(a=-1,0!=r.data("hd_streaming")&&(localStorage.FVPlayerHLSQuality?jQuery(o.video.qualities).each(function(e,o){if(o.value==localStorage.FVPlayerHLSQuality)return a=localStorage.FVPlayerHLSQuality,!1}):flowplayer.conf.hd_streaming&&!flowplayer.support.fvmobile&&jQuery(o.video.qualities).each(function(e,o){var t=parseInt(o.label);0<t&&-1==a&&720<=t&&t<=720&&(a=o.value)}),-1<(a=parseInt(a)))&&r.one("progress",function(){setTimeout(function(){o.quality(a)})}),c())):o.video.sources_fvqs&&0<o.video.sources_fvqs.length&&o.video.src.match(/vimeo.*?\.mp4/)&&setTimeout(c,0),r.find("a[data-quality]").removeClass("is-current")}),(o.match(/dash_debug/)||o.match(/hls_debug/))&&(s=jQuery('<div class="fv-debug" style="background: gray; color: white; top: 10%; position: absolute; z-index: 1000">').appendTo(r.find(".fp-player"))),t.bind("ready progress",e),t.bind("quality",function(){setTimeout(e,0)}))}),flowplayer(function(a,s){var n,r,e,o,t,s=jQuery(s),i=flowplayer.bean,l=0,f=0,p=[],c=0,d=("undefined"==typeof ga&&a.conf.fvanalytics&&"undefined"==typeof _gat&&"undefined"==typeof gtag&&(is_ga_4(a)?jQuery.getScript({url:"https://www.googletagmanager.com/gtag/js?id="+a.conf.fvanalytics,cache:!0},function(){window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)},window.gtag("js",new Date),window.gtag("config",a.conf.fvanalytics)}):jQuery.getScript({url:"https://www.google-analytics.com/analytics.js",cache:!0},function(){ga("create",a.conf.fvanalytics,"auto")})),!window._paq&&a.conf.matomo_domain&&a.conf.matomo_site_id&&(e="//"+a.conf.matomo_domain+"/",(t=window._paq=window._paq||[]).push(["setTrackerUrl",e+"matomo.php"]),t.push(["setSiteId",a.conf.matomo_site_id]),o=(t=document).createElement("script"),t=t.getElementsByTagName("script")[0],o.type="text/javascript",o.async=!0,o.src=e+"matomo.js",t.parentNode.insertBefore(o,t)),a.bind("progress",function(e,o,t){if(1<t){var a=o.video,n=a.duration,r=0,i=fv_player_track_name(s,a);if(4<n&&(19*n/20<t?r=4:3*n/4<t?r=3:n/2<t?r=2:n/4<t&&(r=1)),o.live&&(r=0),!s.data("fv_track_"+d[r])){for(var l in d)if(d.hasOwnProperty(l)){if(l==r)break;if(!s.data("fv_track_"+d[l]))return}s.trigger("fv_track_"+d[r].replace(/ /,"_"),[o,i]),s.data("fv_track_"+d[r],!0),fv_player_track(o,!1,"Video "+(s.hasClass("is-cva")?"Ad ":"")+d[r],o.engine.engineName+"/"+a.type,i)}}}).bind("finish ready ",function(e,o){for(var t in d)d.hasOwnProperty(t)&&s.removeData("fv_track_"+d[t]);o=o.video.index||0;c!==o&&(p=[],c=o)}).bind("error",function(e,o,t){setTimeout(function(){var e;o.error&&((e=void 0!==o.video&&void 0!==o.video.src&&o.video)||void 0===o.conf.clip||void 0===o.conf.clip.sources||void 0===o.conf.clip.sources[0]||void 0===o.conf.clip.sources[0].src||(e=o.conf.clip.sources[0]),!(e=fv_player_track_name(s,e))||e.match(/\/\/vimeo.com\/\d/)||is_ga_4(o)||fv_player_track(o,!1,"Video "+(s.hasClass("is-cva")?"Ad ":"")+"error",t.message,e))},100)}),a.bind("load unload",u).bind("progress",function(e,o){o.seeking||(l+=f?+new Date-f:0,f=+new Date),n=n||setTimeout(function(){n=null,u({type:"heartbeat"})},6e5)}).bind("pause",function(){f=0}),a.bind("shutdown",function(){i.off(window,"visibilitychange pagehide",u)}),i.on(window,"visibilitychange pagehide",u),is_ga_4(a)?["Play","25 Percent Played","50  Percent Played","75 Percent Played","100 Percent Played"]:["start","first quartile","second quartile","third quartile","complete"]);function u(e,o,t){"visible"===document.visibilityState&&"load"!==e.type&&"heartbeat"!==e.type||(t=t||a.video,"load"===e.type&&(r=fv_player_track_name(s,t)),l&&(fv_player_track(a,!1,"Video / Seconds played",a.engine.engineName+"/"+a.video.type,r,Math.round(l/1e3)),l=0,n)&&(clearTimeout(n),n=null))}a.get_time_played=function(){return l/1e3};var y=a.loadSubtitles;a.loadSubtitles=function(e){var o;y(e),a.video.subtitles[e]&&(o=fv_player_track_name(s,a.video),e=a.video.subtitles[e].srclang,-1===p.indexOf(e))&&(fv_player_track(a,!1,"Video Subtitles",e,o),p.push(e))}}),flowplayer(function(n,r){var i=(r=jQuery(r)).find(".fp-player"),l=r.hasClass("fp-full"),s=0;function o(){var e=i.width()||r.width(),o=n.video.index||0,t=(900<e?jQuery(".fp-subtitle",r).addClass("is-wide"):jQuery(".fp-subtitle",r).removeClass("is-wide"),e<480+35*s),o=(void 0!==n.fv_timeline_chapters_data&&void 0!==n.fv_timeline_chapters_data[o]&&(t=!0),l||r.toggleClass("fp-full",r.hasClass("has-abloop")||t),""),t=(e<400?o="is-tiny":e<600&&400<=e&&(o="is-small"),r.trigger("fv-player-size",[o]),i),e=((t=r.parent().hasClass("fp-playlist-vertical-wrapper")||r.parent().hasClass("fp-playlist-text-wrapper")?r.parent():t).width()<=560?t.addClass("is-fv-narrow"):t.removeClass("is-fv-narrow"),r.find(".fp-controls")),o=e.parent().width(),t=e.find(".fp-duration, .fp-playbtn"),a=0;t.removeClass("wont-fit"),r.find(".fp-controls").children(":visible:not(.fp-timeline)").each(function(){a+=jQuery(this).outerWidth(!0)}),o<a&&t.addClass("wont-fit")}o();function e(){clearTimeout(f),f=setTimeout(t,a)}var t,a,f;t=o,a=250;window.addEventListener("resize",e),"fonts"in document&&n.one("load",function(){document.fonts.load("1em flowplayer")}),n.on("ready fullscreen fullscreen-exit sticky sticky-exit",function(e){setTimeout(function(){s=r.find(".fp-controls > strong:visible").length+r.find(".fp-controls > .fp-icon:visible").length,o()},0)}),n.on("unload pause finish error",function(){"undefined"!=typeof checker&&clearInterval(checker)})}),jQuery(window).on("resize tabsactivate",freedomplayer_playlist_size_check),jQuery(document).ready(freedomplayer_playlist_size_check),flowplayer(function(o,a){a=jQuery(a),o.setLogoPosition=function(){var e=freedomplayer.support.browser.safari&&parseFloat(freedomplayer.support.browser.version)<14.1||freedomplayer.support.iOS&&parseFloat(freedomplayer.support.iOS.version)<15;o.conf.logo_over_video&&o.video&&o.video.width&&o.video.height&&!e?a.find(".fp-logo").css("--fp-aspect-ratio",(o.video.width/o.video.height).toFixed(2)):a.find(".fp-logo").css("width","100%").css("height","100%")},o.bind("ready",function(e,o,t){o.setLogoPosition(),t.remove_black_bars?a.addClass("remove-black-bars"):a.removeClass("remove-black-bars"),/Chrome/.test(navigator.userAgent)&&54<parseFloat(/Chrome\/(\d\d)/.exec(navigator.userAgent)[1],10)&&(o.video.subtitles?jQuery(a).addClass("chrome55fix-subtitles"):jQuery(a).addClass("chrome55fix"))});var e=a.css("background-image");if(e){if(!(e=e.replace(/url\((['"])?(.*?)\1\)/gi,"$2").split(","))||!e[0].match(/^(https?:)?\/\//))return;var t=new Image,e=(t.src=e[0],t.height/t.width),t=a.height()/a.width();Math.abs(t-e)<.05&&a.css("background-size","cover")}var n=!1;jQuery(o.conf.playlist).each(function(e,o){o.sources[0].type.match(/youtube/)&&(n=!0)}),n&&a.addClass("is-youtube"),o.bind("ready",function(e,o,t){"video/youtube"==t.type?a.addClass("is-youtube"):a.removeClass("is-youtube")})}),(e=>{e(window).on("resize",function(){e("iframe[id][src][height][width]").each(function(){e(this).attr("id").match(/fv_vimeo_/)&&e(this).width()<=e(this).attr("width")&&e(this).height(e(this).width()*e(this).attr("height")/e(this).attr("width"))}),jQuery(".wistia_embed").each(function(){e(this).height(e(this).width()*e(this).data("ratio"))})}).trigger("resize")})(jQuery),jQuery(document).on("tabsactivate",".fv_flowplayer_tabs_content",function(e,o){var t=jQuery(o.oldPanel).find(".flowplayer").data("flowplayer");void 0!==t&&t.pause(),jQuery(".flowplayer",o.newPanel).data("flowplayer").load()}),flowplayer(function(o,a){a=jQuery(a);var e=flowplayer.bean;a.hasClass("is-audio")&&(e.off(a[0],"mouseenter"),e.off(a[0],"mouseleave"),a.removeClass("is-mouseout"),a.addClass("fixed-controls").addClass("is-mouseover"),o.on("error",function(e,o,t){jQuery(".fp-message",a).html(jQuery(".fp-message",a).html().replace(/video/,"audio"))}),a.on("click",function(e){o.ready||(e.preventDefault(),e.stopPropagation(),o.load())}))}),jQuery(document).on("mfpClose",function(){void 0!==jQuery(".flowplayer").data("flowplayer")&&jQuery(".flowplayer").data("flowplayer").unload()}),jQuery(document).on("click",".vc_tta-tab a",function(){var e=jQuery(".flowplayer.is-playing").data("flowplayer");e&&e.pause()}),flowplayer(function(e,o){o=jQuery(o),e.bind("ready",function(){setTimeout(function(){var e=jQuery("video",o);0<e.length&&e.prop("autoplay",!1)},100),o.find("video.fp-engine").addClass("intrinsic-ignore")})}),jQuery(".flowplayer").on("ready",function(e,o){/BB10/.test(navigator.userAgent)&&o.fullscreen()});var fv_flowplayer_safety_resize_arr=Array();function fv_flowplayer_safety_resize(){var o=!1;jQuery(".flowplayer").each(function(){if(jQuery(this).is(":visible")&&!jQuery(this).hasClass("lightboxed")&&!jQuery(this).hasClass("lightbox-starter")&&!jQuery(this).hasClass("is-audio")&&(jQuery(this).width()<30||jQuery(this).height()<20)){o=!0;var e=jQuery(this);while(jQuery(e).width()<30||jQuery(e).width()==jQuery(this).width()){if(0==jQuery(e).parent().length)break;(e=jQuery(e).parent()).hasClass("ld-video")&&(""==e[0].style.height&&e.css("height","auto"),0<parseInt(e.css("padding-bottom")))&&e.css("padding-bottom","0")}jQuery(this).width(jQuery(e).width()),jQuery(this).height(parseInt(jQuery(this).width()*jQuery(this).attr("data-ratio"))),fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")]=e}}),o&&jQuery(window).resize(function(){jQuery(".flowplayer").each(function(){jQuery(this).hasClass("lightboxed")||jQuery(this).hasClass("lightbox-starter")||fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")]&&(jQuery(this).width(fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")].width()),jQuery(this).height(parseInt(jQuery(this).width()*jQuery(this).attr("data-ratio"))))})})}void 0!==flowplayer.conf.safety_resize&&flowplayer.conf.safety_resize&&jQuery(document).ready(function(){setTimeout(function(){fv_flowplayer_safety_resize()},10)});var fv_autoplay_type,fv_player_scroll_autoplay,fv_player_scroll_autoplay_last_winner,fv_player_scroll_int,fv_player_warning,isIE11=!!navigator.userAgent.match(/Trident.*rv[ :]*11\./);function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fv_player_lightbox_bind(){jQuery(".freedomplayer.lightbox-starter").each(function(){var e,o=jQuery(this);(parseInt(o.css("width"))<10||parseInt(o.css("height"))<10)&&((e=o.find(".fp-ratio")).length<1&&(o.append('<div class="fp-ratio"></div>'),e=o.find(".fp-ratio")),e.css("paddingTop",100*o.data("ratio")+"%")),o.find(".fp-preload").remove()})}function fv_flowplayer_mobile_switch(e){var o,t=new RegExp("[\\?&]fv_flowplayer_mobile=([^&#]*)").exec(location.search);!(null!=t&&"yes"==t[1]||jQuery(window).width()<=480||jQuery(window).height()<=480)||null!=t&&"no"==t[1]||(o=!1,jQuery("#wpfp_"+e+" video source").each(function(){jQuery(this).attr("id")!="wpfp_"+e+"_mobile"&&(o=!0,jQuery(this).remove())}),o&&jQuery("#wpfp_"+e).after('<p class="fv-flowplayer-mobile-switch">'+fv_flowplayer_translations.mobile_browser_detected_1+' <a href="'+document.URL+'?fv_flowplayer_mobile=no">'+fv_flowplayer_translations.mobile_browser_detected_2+"</a>.</p>"))}if(isIE11&&(jQuery(document).ready(function(){jQuery(".fp-waiting").hide()}),flowplayer(function(e,o){e.bind("load",function(e){jQuery(e.currentTarget).find(".fp-waiting").show()}).bind("beforeseek",function(e){jQuery(e.currentTarget).find(".fp-waiting").show()}).bind("progress",function(e){jQuery(e.currentTarget).find(".fp-waiting").hide()}).bind("seek",function(e){jQuery(e.currentTarget).find(".fp-waiting").hide()}).bind("fullscreen",function(e){jQuery("#wpadminbar").hide()}).bind("fullscreen-exit",function(e){jQuery("#wpadminbar").show()})})),flowplayer.support.browser&&flowplayer.support.browser.msie&&parseInt(flowplayer.support.browser.version,10)<9&&jQuery(".flowplayer").each(function(){jQuery(this).css("width",jQuery(this).css("max-width")),jQuery(this).css("height",jQuery(this).css("max-height"))}),location.href.match(/elementor-preview=/)?(console.log("FV Player: Elementor editor is active"),setInterval(fv_player_load,1e3)):location.href.match(/brizy-edit-iframe/)?(console.log("FV Player: Brizy editor is active"),setInterval(fv_player_load,1e3)):"blob:"===location.protocol&&setTimeout(function(){jQuery("body.block-editor-iframe__body").length&&(console.log("FV Player: Site Editor is active"),setInterval(fv_player_load,1e3))},0),window.DELEGATE_NAMES&&flowplayer(function(e,o){fv_player_notice(o,fv_flowplayer_translations.chrome_extension_disable_html5_autoplay)}),flowplayer(function(e,o){flowplayer.bean.off(o,"contextmenu")}),location.href.match(/elementor-preview=/)&&(console.log("FV Player: Elementor editor is active"),setInterval(fv_player_load,1e3)),flowplayer(function(t,a){void 0!==(a=jQuery(a)).data("fv-embed")&&a.data("fv-embed")&&"false"!=a.data("fv-embed")&&(t.embedCode=function(){t.video;var e=a.width(),o=a.height();return o+=2,(a.hasClass("has-chapters")||a.hasClass("has-transcript"))&&(o+=300),0<jQuery(".fp-playlist-external[rel="+a.attr("id")+"]").length&&(o+=170),'<iframe src="'+(a.data("fv-embed")+"#"+fv_player_get_video_link_hash(t))+'" allowfullscreen allow="autoplay" width="'+parseInt(e)+'" height="'+parseInt(o)+'" frameborder="0" style="max-width:100%"></iframe>'})}),jQuery(document).on("click",".flowplayer .embed-code-toggle",function(){var e,o,t=jQuery(this).closest(".flowplayer");return"undefined"!=typeof fv_player_editor_conf?fv_player_notice(t,fv_player_editor_translations.embed_notice,2e3):(e=jQuery(this),"function"==typeof(t=(o=e.parents(".flowplayer")).data("flowplayer")).embedCode&&o.find(".embed-code textarea").val(t.embedCode()),fv_player_clipboard(o.find(".embed-code textarea").val(),function(){fv_player_notice(o,fv_flowplayer_translations.embed_copied,2e3)},function(){e.parents(".fvp-share-bar").find(".embed-code").toggle(),e.parents(".fvp-share-bar").toggleClass("visible")})),!1}),flowplayer(function(a,n){var r,i,l="fullscreen",s="fullscreen-exit",f=flowplayer.support.fullscreen,p=window,c=flowplayer.bean;a.fullscreen=function(e){if(!a.disabled&&0!=jQuery(n).data("fullscreen")){(e=void 0===e?!a.isFullscreen:e)&&(i=p.scrollY,r=p.scrollX,console.log("scrollY",i));var o,t=d.find("video.fp-engine",n)[0];if(!(flowplayer.conf.native_fullscreen&&t&&flowplayer.support.iOS))return o=jQuery(n).find(".fp-player")[0],flowplayer.support.browser.safari&&flowplayer.support.fullscreen&&e&&document.fullscreenElement&&(f=!1,document.addEventListener("fullscreenchange",function(e){flowplayer(".is-fullscreen").trigger(s)})),f?e?["requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].forEach(function(e){"function"==typeof o[e]&&(o[e]({navigationUI:"hide"}),"webkitRequestFullScreen"!==e||document.webkitFullscreenElement||o[e]())}):["exitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].forEach(function(e){"function"==typeof document[e]&&document[e]()}):a.trigger(e?l:s,[a]),a;a.trigger(l,[a]),c.on(document,"webkitfullscreenchange.nativefullscreen",function(){document.webkitFullscreenElement===t&&(c.off(document,".nativefullscreen"),c.on(document,"webkitfullscreenchange.nativefullscreen",function(){document.webkitFullscreenElement||(c.off(document,".nativefullscreen"),a.trigger(s,[a]))}))});try{t.webkitEnterFullScreen()}catch(e){a.pause(),d.find(".fp-play",n)[0].style.opacity=1,jQuery(n).on("touchstart",function(e){return d.find(".fp-play",n)[0].style.opacity="",a.resume(),t.webkitEnterFullScreen(),!1})}c.one(t,"webkitendfullscreen",function(){c.off(document,"fullscreenchange.nativefullscreen"),a.trigger(s,[a]),d.prop(t,"controls",!0),d.prop(t,"controls",!1)})}};var e,d=flowplayer.common;function t(e){var o=n;while(o){try{var t=getComputedStyle(o);t.transform&&(o.style.transform=e?"none":""),t.zIndex&&(o.style.zIndex=e?"auto":"")}catch(e){}o=o.parentNode}}a.on("mousedown.fs",function(){+new Date-e<150&&a.ready&&a.fullscreen(),e=+new Date}),a.on(l,function(){d.addClass(n,"is-fullscreen"),d.toggleClass(n,"fp-minimal-fullscreen",d.hasClass(n,"fp-minimal")),d.removeClass(n,"fp-minimal"),d.addClass(document.body,"has-fv-player-fullscreen"),f&&!document.fullscreenElement||(d.css(n,"position","fixed"),t(!0)),a.isFullscreen=!0}).on(s,function(){d.toggleClass(n,"fp-minimal",d.hasClass(n,"fp-minimal-fullscreen")),d.removeClass(n,"fp-minimal-fullscreen");var e,o=f&&jQuery(n).find(".fp-player")[0]==document.fullscreenElement;o||"html5"!==a.engine||(e=n.css("opacity")||"",d.css(n,"opacity",0)),o||(d.css(n,"position",""),t(!1)),d.removeClass(n,"is-fullscreen"),d.removeClass(document.body,"has-fv-player-fullscreen"),o||"html5"!==a.engine||setTimeout(function(){n.css("opacity",e)}),a.isFullscreen=!1,"fvyoutube"!=a.engine.engineName&&p.scrollTo(r,i)}).on("unload",function(){a.isFullscreen&&a.fullscreen()}),a.on("shutdown",function(){FULL_PLAYER=null,d.removeNode(wrapper)}),flowplayer.support.iOS&&n.querySelector(".fp-player").addEventListener("touchstart",function(e){a.isFullscreen&&e.pageX&&(16<e.pageX&&e.pageX<window.innerWidth-16||e.preventDefault())})}),flowplayer(function(o,t){t=jQuery(t);var e,a=jQuery(".fp-playlist-external[rel="+t.attr("id")+"]"),a=a.hasClass("fp-playlist-season")||a.hasClass("fp-playlist-polaroid"),n=1==t.data("fsforce");function r(){return!!(window.innerWidth>window.innerHeight&&window.screen&&window.screen.width&&26<window.screen.width-window.innerHeight)}function i(){o.isFullscreen&&window.innerWidth>window.innerHeight&&r()&&!e&&(fv_player_notice(t,fv_flowplayer_translations.iphone_swipe_up_location_bar,"resize-good"),e=setTimeout(function(){e=!1,o.trigger("resize-good")},5e3))}flowplayer.conf.wpadmin&&!a||jQuery(t).hasClass("is-audio")||0==t.data("fullscreen")||0==t.data("fsforce")||((flowplayer.conf.mobile_force_fullscreen&&flowplayer.support.fvmobile||n||a)&&(flowplayer.support.fullscreen?t.on("click",function(){o.ready&&!o.paused||o.fullscreen(!0)}):o.bind("ready",function(){o.video.vr||o.one("progress",function(){o.fullscreen(!0)})}),jQuery("[rel="+t.attr("id")+"] a").on("click",function(e){o.isFullscreen||(o.fullscreen(),o.resume())}),o.on("resume",function(){o.video.vr||o.isFullscreen||(flowplayer.support.fullscreen?o.fullscreen():o.one("progress",function(){o.fullscreen(!0)}))}),o.on("finish",function(){0!=o.conf.playlist.length&&o.conf.playlist.length-1!=o.video.index||o.fullscreen(!1)}).on("fullscreen",function(e,o){t.addClass("forced-fullscreen")}).on("fullscreen-exit",function(e,o){o.pause(),t.removeClass("forced-fullscreen")})),flowplayer.support.android&&flowplayer.conf.mobile_landscape_fullscreen&&window.screen&&window.screen.orientation&&o.on("fullscreen",function(e,o){void 0!==(o=o).video.width&&void 0!==o.video.height&&0!=o.video.width&&0!=o.video.height&&o.video.width<o.video.height?screen.orientation.lock("portrait-primary"):screen.orientation.lock("landscape-primary")}),e=!1,!flowplayer.support.iOS)||flowplayer.support.fullscreen||flowplayer.conf.native_fullscreen||(o.on("fullscreen",i),window.addEventListener("resize",i),window.addEventListener("resize",function(){r()||(clearTimeout(e),e=!1,o.trigger("resize-good"))}))}),flowplayer(function(e,o){o=jQuery(o);(document.body.classList.contains("block-editor-page")&&!o.closest("#fv-player-shortcode-editor-preview-target").length||jQuery("body.block-editor-iframe__body").length)&&jQuery('<div title="Click to edit" style="width: 40%; height: calc( 100% - 3em ); z-index: 19; position: absolute; top: 0; left: 0; cursor: context-menu" onclick="return false" title="Click to edit"></div><div style="width: 40%; height: calc( 100% - 3em ); z-index: 19; position: absolute; top: 0; right: 0; cursor: context-menu" onclick="return false" title="Click to edit"></div><div style="width: 20%; height: 40%; z-index: 19; position: absolute; top: 0; right: 40%; cursor: context-menu" onclick="return false" title="Click to edit"></div><div style="width: 20%; height: calc( 40% - 3em ); z-index: 19; position: absolute; top: 60%; right: 40%; cursor: context-menu" onclick="return false"></div>').insertAfter(o.find(".fp-ratio"))}),flowplayer(function(t,a){a=jQuery(a);var r,n,i,l,s;window.MediaSource||window.WebKitMediaSource;function f(){var e=a.find("video");return e.length&&e[0].audioTracks?e[0].audioTracks:[]}function p(t){t.name||(t.name=t.label),a.find(".fv-fp-hls-menu a").each(function(e,o){jQuery(o).toggleClass("fp-selected",jQuery(o).attr("data-audio")===t.name)})}function c(){if(n&&!(n.length<2))if(l=jQuery('<strong class="fv-fp-hls">'+fv_flowplayer_translations.audio_button+"</strong>"),(s=jQuery('<div class="fp-menu fv-fp-hls-menu"></div>').insertAfter(a.find(".fp-controls"))).append("<strong>"+fv_flowplayer_translations.audio_menu+"</strong>"),n.forEach(function(e){s.append('<a data-audio="'+e.name+'" data-lang="'+e.lang+'">'+e.name+"</a>")}),l.insertAfter(a.find(".fp-controls .fp-volume")).on("click",function(e){e.preventDefault(),e.stopPropagation(),s.hasClass("fp-active")?t.hideMenu(s[0]):(a.click(),t.showMenu(s[0]))}),jQuery("a",s).on("click",function(e){var o=e.target.getAttribute("data-audio");if(r){var t=r.audioTracks[r.audioTrack].groupId,e=r.audioTracks.filter(function(e){return e.groupId===t&&(e.name===o||e.lang===o)})[0];r.audioTrack=e.id,p(e)}else{var a,n=f();for(a in n)n.hasOwnProperty(a)&&n[a].label==o&&(n[a].enabled=!0,p(n[a]))}}),r)p(r.audioTracks[r.audioTrack]);else{var e,o=f();for(e in o)o.hasOwnProperty(e)&&o[e].enabled&&p(o[e])}}flowplayer.engine("hlsjs-lite").plugin(function(e){r=e.hls}),t.bind("ready",function(e,o){var t;jQuery(s).remove(),jQuery(l).remove(),r&&"application/x-mpegurl"==o.video.type&&(i=[],n=[],(t=r).levels.forEach(function(e){e=e.attrs.AUDIO;e&&i.indexOf(e)<0&&i.push(e),i.length&&(n=t.audioTracks.filter(function(e){return e.groupId===i[0]}))}),c())}),t.one("progress",function(){if("html5"==t.engine.engineName&&"application/x-mpegurl"==t.video.type){i=[],n=[];var e,o=f();for(e in o)o.hasOwnProperty(e)&&n.push({id:o[e].id,name:o[e].label});c()}})}),flowplayer(function(e,n){var r=-1,i=!1;e.on("error",function(e,o,t){var a;4==t.code&&"hlsjs"==o.engine.engineName&&(console.log("FV Player: HLSJS failed to play the video, switching to Flash HLS"),o.error=o.loading=!1,jQuery(n).removeClass("is-error"),jQuery(flowplayer.engines).each(function(e,o){"hlsjs"==flowplayer.engines[e].engineName&&(r=e,i=flowplayer.engines[e],delete flowplayer.engines[e])}),(a=(0<(t=void 0!==o.video.index?o.video.index:0)?o.conf.playlist[t]:o.conf.clip).sources).index=t,o.load({sources:a}),o.bind("unload error",function(){flowplayer.engines[r]=i}))})}),flowplayer(function(e,l){var s,o=e.conf.live_stream_reload||30,f=o,p=fv_flowplayer_translations.live_stream_retry;function c(e){e=Number(e);var o=Math.floor(e/86400),t=Math.floor(e%86400/3600),a=Math.floor(e%3600/60),e=Math.floor(e%60),n=fv_flowplayer_translations,o=0<o?(1==o?n.duration_1_day:n.duration_n_days).replace(/%s/,o):"";return o&&0<t&&(o+=", "),(o+=0<t?(1==t?n.duration_1_hour:n.duration_n_hours).replace(/%s/,t):"")&&0<a&&(o+=", "),(o+=0<a?(1==a?n.duration_1_minute:n.duration_n_minutes).replace(/%s/,a):"")&&0<e&&(o+=n.and),o+=0<e?(1==e?n.duration_1_second:n.duration_n_seconds).replace(/%s/,e):""}e.clearLiveStreamCountdown=function(){s&&(clearInterval(s),e.error=e.loading=!1,jQuery(l).removeClass("is-error"),jQuery(l).find(".fp-message.fp-shown").remove(),e.unload())},e.conf.flashls={manifestloadmaxretry:2},e.on("ready",function(){f=o,p=fv_flowplayer_translations.live_stream_retry}).on("progress",function(){f=10,p=fv_flowplayer_translations.live_stream_continue,clearInterval(s)}),e.on("error",function(e,r,i){setTimeout(function(){var e,o,t,a,n;(r.conf.clip.live||r.conf.live||i.video&&i.video.src&&i.video.src.match(/\/\/vimeo.com\/event\//))&&(e=f,r.conf.clip.streaming_time?e=r.conf.clip.streaming_time-Math.floor(Date.now()/1e3):r.conf.clip.live_starts_in&&(e=r.conf.clip.live_starts_in),o=fv_flowplayer_translations.live_stream_starting.replace(/%d/,c(e)),p=p.replace(/%d/,c(e)),t=r.conf.clip.live_starts_in?o:p,clearInterval(s),1!==i.code&&2!==i.code&&4!==i.code||(l.className+=" is-offline",flowplayer.support.flashVideo&&r.one("flashdisabled",function(){l.querySelector(".fp-flash-disabled").style.display="none"}),(a=l.querySelector(".fp-ui .fp-message")).innerHTML=t,n=300<e?300:e,s=setInterval(function(){--n,--e,a.innerHTML=t,0<n&&a?a.querySelector("span").innerHTML=c(e):(clearInterval(s),r.error&&(r.error=r.loading=!1,(a=l.querySelector(".fp-ui .fp-message"))&&l.querySelector(".fp-ui").removeChild(a),l.className=l.className.replace(/\bis-(error|offline)\b/g,""),r.load()))},1e3)))},1)})}),flowplayer(function(e,o){var t;o=jQuery(o),flowplayer.engine("hlsjs-lite").plugin(function(e){t=e.hls}),e.on("ready",function(e,o){t&&o.conf.playlist.length&&"hlsjs-lite"!=o.engine.engineName&&t.destroy()})}),flowplayer(function(t,a){var n,r,i,l,s;function f(){r&&n&&"html5"==t.engine.engineName&&(1<++l?3<l&&(console.log("FV Player: iOS video element needs a push, triggering 'stalled'"),n.trigger("stalled")):(console.log("FV Player: iOS video element will trigger error after 'stalled' arrives"),n.one("stalled",function(){var e,o=t.video.time;t.video.type.match(/video\//)?(console.log("FV Player: Running check of video file..."),(e=document.createElement("video")).src=t.video.src,e.onloadedmetadata=function(){l=0,console.log("FV Player: Video link works")},e.onerror=function(){console.log("FV Player: Video link issue!"),0<l&&t.trigger("error",[t,{code:4,video:t.video}])}):setTimeout(function(){console.log(t.video.time,o),t.video.time!=o?(l=0,console.log("FV Player: iOS video element continues playing, no need for error")):t.paused?(l=0,console.log("FV Player: iOS video element paused, no need for error")):t.trigger("error",[t,{code:4,video:t.video}])},5e3)})))}(flowplayer.support.browser.safari||flowplayer.support.iOS)&&(a=jQuery(a),i=r=n=!1,l=0,t.on("ready",function(e,o,t){l=0,r=!1,"html5"==o.engine.engineName&&t.src.match(/\?/)&&((n=a.find("video")).data("fv-ios-recovery")||(n.on("waiting",f),n.data("fv-ios-recovery",!0)),o.live&&t.src.match(/m3u8|stream_loader/)&&(console.log("FV Player: iOS video element is a live stream..."),clearInterval(i),i=setTimeout(function(){jQuery.get(t.src,function(e){e.match(/#EXT/)||(console.log("FV Player: iOS video element live stream does not look like a HLS file, triggering error..."),o.trigger("error",[o,{code:1,video:o.video}]))})},5e3)),o.one("progress",function(){r=!0,clearInterval(i)}))}),t.bind("beforeseek",f),s=0,t.on("ready",function(e,o){o.one("progress",function(e,o){s=o.video.duration,console.log("recorded_duration",s)})}),t.on("pause",function(e,o){var t=a.find("video");t.length&&parseInt(o.video.time)===parseInt(t[0].duration)&&s>o.video.time&&(console.log("suddenly the video is much shorter, why?",s,t[0].duration),o.video.duration=s,o.trigger("error",[o,{code:4,video:o.video}]))}))}),(e=>{var o,t,a=!1;"function"==typeof define&&define.amd&&(define(e),a=!0),"object"==("undefined"==typeof exports?"undefined":_typeof(exports))&&(module.exports=e(),a=!0),a||(o=window.Cookies,(t=window.Cookies=e()).noConflict=function(){return window.Cookies=o,t})})(function(){function v(){for(var e=0,o={};e<arguments.length;e++){var t,a=arguments[e];for(t in a)o[t]=a[t]}return o}return function e(u){function y(e,o,t){var a,n;if("undefined"!=typeof document){if(1<arguments.length){"number"==typeof(t=v({path:"/"},y.defaults,t)).expires&&((n=new Date).setMilliseconds(n.getMilliseconds()+864e5*t.expires),t.expires=n),t.expires=t.expires?t.expires.toUTCString():"";try{a=JSON.stringify(o),/^[\{\[]/.test(a)&&(o=a)}catch(e){}o=u.write?u.write(o,e):encodeURIComponent(o+"").replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),e=(e=(e=encodeURIComponent(e+"")).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var r,i="";for(r in t)t[r]&&(i+="; "+r,!0!==t[r])&&(i+="="+t[r]);return document.cookie=e+"="+o+i}e||(a={});for(var l=document.cookie?document.cookie.split("; "):[],s=/(%[0-9A-Z]{2})+/g,f=0;f<l.length;f++){var p=l[f].split("="),c=p.slice(1).join("=");this.json||'"'!==c.charAt(0)||(c=c.slice(1,-1));try{var d=p[0].replace(s,decodeURIComponent),c=u.read?u.read(c,d):u(c,d)||c.replace(s,decodeURIComponent);if(this.json)try{c=JSON.parse(c)}catch(e){}if(e===d){a=c;break}e||(a[d]=c)}catch(e){}}return a}}return(y.set=y).get=function(e){return y.call(y,e)},y.getJSON=function(){return y.apply({json:!0},[].slice.call(arguments))},y.defaults={},y.remove=function(e,o){y(e,"",v(o,{expires:-1}))},y.withConverter=e,y}(function(){})}),flowplayer(function(e,o){o=jQuery(o),window.learndash_video_data&&"local"==learndash_video_data.videos_found_provider&&o.closest("[data-video-progression=true]").length&&(LearnDash_disable_assets(!0),LearnDash_watchPlayers(),e.on("finish",function(e,o,t){"string"!=typeof o.video.click&&((o=jQuery(".ld-video").data("video-cookie-key"))&&jQuery.cookie(o,JSON.stringify({video_state:"complete"})),window.LearnDash_disable_assets(!1))}))}),jQuery(fv_player_lightbox_bind),jQuery(document).ajaxComplete(fv_player_lightbox_bind),jQuery(function(){"undefined"!=typeof freedomplayer&&freedomplayer(function(e,o){var t,a,n=(o=jQuery(o)).closest(".fv_player_lightbox_hidden");e.is_in_lightbox=function(){return n.length},e.lightbox_visible=function(){return o.closest(".fancybox-slide--current").length},e.is_in_lightbox()&&(n.on("click",function(e){e.target==e.currentTarget&&jQuery.fancybox.close()}),freedomplayer.support.fullscreen?e.fullscreen=function(){jQuery.fancybox.getInstance().FullScreen.toggle()}:(a=!(t=".fancybox-caption, .fancybox-toolbar, .fancybox-infobar, .fancybox-navigation"),e.on("fullscreen",function(){jQuery(t).hide(),a=jQuery(".fancybox-container").hasClass("fancybox-show-thumbs"),jQuery(".fancybox-container").removeClass("fancybox-show-thumbs")}).on("fullscreen-exit",function(){jQuery(t).show(),a&&jQuery(".fancybox-container").addClass("fancybox-show-thumbs")})))})}),flowplayer(function(e,o){e.bind("load",function(e,o,t){var a,n=jQuery(e.currentTarget);n.data("live")&&(a=setTimeout(function(){n.find(".fp-ui").append('<div class="fp-message">'+fv_flowplayer_translations.live_stream_failed+"</div>"),n.addClass("is-error")},1e4),jQuery(e.currentTarget).data("live_check",a))}).bind("ready",function(e,o,t){clearInterval(jQuery(e.currentTarget).data("live_check"))}).bind("error",function(e,o,t){e=jQuery(e.currentTarget);e.data("live")&&e.find(".fp-message").html(fv_flowplayer_translations.live_stream_failed_2)})}),"undefined"!=typeof flowplayer&&flowplayer(function(e,a){var n,r,i,l,s,o=(a=jQuery(a)).closest(".ld-video");o.length&&"boolean"==typeof o.data("video-progression")&&0==o.data("video-progression")||a.data("lms_teaching")&&(s=[],e.on("ready",function(e,o,t){n=void 0===o.video.saw,l=o.video.index||0,r=o.video.position||0,i=o.video.top_position||0,void 0===s[l]&&(i?s[l]=i:r?s[l]=r:o.video.fv_start?s[l]=o.video.fv_start:s[l]=0)}),e.on("progress",function(e,o,t){s[l]<t&&(s[l]=t)}),e.on("beforeseek",function(e,o,t){n&&(t<=r||t<=s[l]?console.log("FV Player lms: allow seek to",t):(o.trigger("fv-lms-teaching-be-gone"),e.preventDefault(),e.stopPropagation(),fv_player_notice(a,"<p>"+fv_flowplayer_translations.msg_no_skipping+"<br />"+fv_flowplayer_translations.msg_watch_video+"</p>","fv-lms-teaching-be-gone").addClass("fv-player-lms-teaching"),setTimeout(function(){o.trigger("fv-lms-teaching-be-gone")},2e3),o.seek(s[l])))}))}),(a=>{flowplayer(function(e,t){jQuery(t).hasClass("is-cva")||a(document).on("submit","#"+jQuery(t).attr("id")+" .mailchimp-form",function(e){e.preventDefault(),a(".mailchimp-response",t).remove(),a("input[type=submit]",t).attr("disabled","disabled").addClass("fv-form-loading");var o={action:"fv_wp_flowplayer_email_signup",nonce:fv_player.email_signup_nonce};a("[name]",this).each(function(){o[this.name]=a(this).val()}),a.post(fv_player.ajaxurl,o,function(e){e=JSON.parse(e),a('<div class="mailchimp-response"></div>').insertAfter(".mailchimp-form",t),e.text.match(/already subscribed/)&&(e.status="ERROR"),"OK"===e.status?(a(".mailchimp-form input[type=text],.mailchimp-form input[type=email]",t).val(""),a(".mailchimp-response",t).removeClass("is-fv-error").html(e.text),setTimeout(function(){a(".wpfp_custom_popup",t).fadeOut()},2e3)):a(".mailchimp-response",t).addClass("is-fv-error").html(e.text),a("input[type=submit]",t).removeAttr("disabled").removeClass("fv-form-loading")})})})})(jQuery),"undefined"!=typeof fv_flowplayer_mobile_switch_array)for(var fv_flowplayer_mobile_switch_i in fv_flowplayer_mobile_switch_array)fv_flowplayer_mobile_switch_array.hasOwnProperty(fv_flowplayer_mobile_switch_i)&&fv_flowplayer_mobile_switch(fv_flowplayer_mobile_switch_i);function fv_flowplayer_browser_chrome_fail(a,n,r,i){jQuery("#wpfp_"+a).bind("error",function(e,o,t){!/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())||null==t||3!=t.code&&4!=t.code&&5!=t.code||(o.unload(),jQuery("#wpfp_"+a).attr("id","bad_wpfp_"+a),jQuery("#bad_wpfp_"+a).after('<div id="wpfp_'+a+'" '+n+' data-engine="flash"></div>'),jQuery("#wpfp_"+a).flowplayer({playlist:[[{mp4:r}]]}),i?jQuery("#wpfp_"+a).bind("ready",function(e,o){o.play()}):jQuery("#wpfp_"+a).flowplayer().play(0),jQuery("#bad_wpfp_"+a).remove())})}if(freedomplayer(function(a,e){var n=(e=jQuery(e)).data("freedomplayer-instance-id");flowplayer.audible_instance=-1,a.one("load",function(){setTimeout(function(){a.conf.splash=!1},0)}),a.on("ready",function(){var t=0==e.data("volume");t||(flowplayer.audible_instance=n),jQuery(".freedomplayer[data-freedomplayer-instance-id]").each(function(){var e=jQuery(this).data("flowplayer"),o=jQuery(this).data("freedomplayer-instance-id");-1!=flowplayer.audible_instance&&o!=flowplayer.audible_instance&&o!=n&&e&&(e.ready?a.conf.multiple_playback?t||e.mute(!0,!0):e.playing&&(e.pause(),e.sticky(!1)):(e.clearLiveStreamCountdown(),e.unload()))})}).on("mute",function(e,o,t){t||flowplayer.audible_instance==n||(flowplayer(flowplayer.audible_instance).mute(!0,!0),flowplayer.audible_instance=n)}).on("resume",function(){a.muted||(flowplayer.audible_instance=n),a.conf.multiple_playback||jQuery(".flowplayer[data-freedomplayer-instance-id]").each(function(){var e;n!=jQuery(this).data("freedomplayer-instance-id")&&(e=jQuery(this).data("flowplayer"))&&e.playing&&(e.pause(),e.sticky(!1))})})}),"undefined"!=typeof fv_flowplayer_browser_chrome_fail_array)for(var fv_flowplayer_browser_chrome_fail_i in fv_flowplayer_browser_chrome_fail_array)fv_flowplayer_browser_chrome_fail_array.hasOwnProperty(fv_flowplayer_browser_chrome_fail_i)&&fv_flowplayer_browser_chrome_fail(fv_flowplayer_browser_chrome_fail_i,fv_flowplayer_browser_chrome_fail_array[fv_flowplayer_browser_chrome_fail_i].attrs,fv_flowplayer_browser_chrome_fail_array[fv_flowplayer_browser_chrome_fail_i].mp4,fv_flowplayer_browser_chrome_fail_array[fv_flowplayer_browser_chrome_fail_i].auto_buffer);function fv_flowplayer_browser_ie(e){(flowplayer.support.browser&&flowplayer.support.browser.msie&&9<=parseInt(flowplayer.support.browser.version,10)||navigator.userAgent.match(/Trident.*rv[ :]*11\./))&&jQuery("#wpfp_"+e).attr("data-engine","flash")}if("undefined"!=typeof fv_flowplayer_browser_ie_array)for(var fv_flowplayer_browser_ie_i in fv_flowplayer_browser_ie_array)fv_flowplayer_browser_ie_array.hasOwnProperty(fv_flowplayer_browser_ie_i)&&fv_flowplayer_browser_ie(fv_flowplayer_browser_ie_i);function fv_flowplayer_browser_chrome_mp4(e){var o=window.navigator.appVersion.match(/Chrome\/(\d+)\./);null!=o&&(o=parseInt(o[1],10),/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&o<28&&-1!=navigator.appVersion.indexOf("Win")||/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&o<27&&-1!=navigator.appVersion.indexOf("Linux")&&-1==navigator.userAgent.toLowerCase().indexOf("android"))&&jQuery("#wpfp_"+e).attr("data-engine","flash")}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}-1==navigator.platform.indexOf("iPhone")&&-1==navigator.platform.indexOf("iPod")&&-1==navigator.platform.indexOf("iPad")&&-1==navigator.userAgent.toLowerCase().indexOf("android")||flowplayer(function(e,o){e.bind("error",function(e,o,t){10==t.code&&jQuery(e.target).find(".fp-message").html(fv_flowplayer_translations.unsupported_format)})}),jQuery(document).ready(function(){-1==navigator.platform.indexOf("iPhone")&&-1==navigator.platform.indexOf("iPod")&&-1==navigator.platform.indexOf("iPad")||jQuery(window).trigger("load"),jQuery(".flowplayer").on("mouseleave",function(){jQuery(this).find(".fvp-share-bar").removeClass("visible"),jQuery(this).find(".embed-code").hide()})}),flowplayer(function(a,n){var r=(n=jQuery(n)).attr("id"),i=!1;function l(){var o,t,e=n.attr("data-overlay");if(void 0!==e&&e.length){try{e=JSON.parse(e)}catch(e){return}!i&&!n.hasClass("is-cva")&&n.width()>=parseInt(e.width)&&(e=(e=e.html).replace("%random%",Math.random()),i=jQuery('<div id="'+r+'_ad" class="wpfp_custom_ad">'+e+"</div>"),n.find(".fp-player").append(i),i.find(".fv_fp_close").on("click touchend",function(){i.fadeOut();var e=i.find("video");return e.length&&e[0].pause(),!1}),o=0,t=setInterval(function(){var e=i&&i.find(".adsbygoogle").height();(200<++o||0<e)&&clearInterval(t),e>n.height()&&i.addClass("tall-overlay")},50),setTimeout(function(){n.find(".wpfp_custom_ad video").length&&a.pause()},500))}}function t(e){var o=a.get_popup();o&&("finish"==e||o.pause&&a.ready&&a.paused||o.html.match(/fv-player-ppv-purchase-btn-wrapper/))&&0==n.find(".wpfp_custom_popup").length&&(n.addClass("is-popup-showing"),n.addClass("is-mouseover"),n.find(".fp-player").append('<div id="'+r+'_custom_popup" class="wpfp_custom_popup">'+o.html+"</div>"))}n.data("end_popup_preview")&&jQuery(document).ready(function(){a.trigger("finish",[a])}),a.get_popup=function(){var e=n.attr("data-popup");if(void 0!==e&&e.length){try{e=JSON.parse(e)}catch(e){return!1}return e}},a.bind("ready",function(){1==i.length&&(i.remove(),i=!1),n.data("overlay_show_after")||l()}).bind("progress",function(e,o,t){t>n.data("overlay_show_after")&&l()}).bind("finish",function(e,o){void 0!==o.video.index&&o.video.index+1!=o.conf.playlist.length||t(e.type)}).bind("pause",function(e){if(void 0!==a.video.click)return!1;setTimeout(function(){t(e.type)},5)}).bind("resume unload seek",function(){n.hasClass("is-popup-showing")&&(n.find(".wpfp_custom_popup").remove(),n.removeClass("is-popup-showing"))})}),jQuery(document).on("focus",".fv_player_popup input[type=text], .fv_player_popup input[type=email], .fv_player_popup textarea",function(){var e=jQuery(this).parents(".flowplayer").data("flowplayer");e&&e.disable(!0)}),jQuery(document).on("blur",".fv_player_popup input[type=text], .fv_player_popup input[type=email], .fv_player_popup textarea",function(){var e=jQuery(this).parents(".flowplayer").data("flowplayer");e&&e.disable(!1)}),"undefined"!=typeof flowplayer&&flowplayer(function(e,a){a=jQuery(a);var n,r=!1,o=(flowplayer.engine("hlsjs-lite").plugin(function(e){n=e.hls}),e.conf.playlist.length?e.conf.playlist:[e.conf.clip]);function i(e){l();var o="Video is being processed",t="Please return later to see the actual video in this player.";e.pending_encoding_error?(o="Video unavailable",t="There was an error in the video encoding."):e.pending_encoding_progress&&(t+="<br /><br />("+e.pending_encoding_progress+" done)"),r=jQuery('<div class="fv-player-encoder-video-processing-modal"><div><h2>'+o+"</h2><p>"+t+"</p></div></div"),a.append(r)}function l(){r&&r.remove()}o[0]&&o[0].pending_encoding&&i(o[0]),e.on("load",function(e,o,t){if(t.pending_encoding)return i(t),n&&n.destroy(),!1;l()})}),Date.now||(Date.now=function(){return(new Date).getTime()}),(()=>{if("undefined"!=typeof fv_player_editor_conf)fv_player_log('FV Player: Editor detected, disabling "Remember video position"');else{var j=null,b=2500,t=null,Q="video_positions",k="player_playlist_item",x="video_positions_tmp",C="video_top_positions_tmp",S="player_playlist_item_tmp",P="video_saw_tmp",I="video_ab_loop_tmp",O=[],F=[],T=[],L=[],A=[],E=function(e){var o=JSON.stringify(e),t=N(o);if(b<t)while(b<t)for(var a in e)if(e.hasOwnProperty(a)){delete e[a],o=JSON.stringify(e),t=N(o);break}return o},V=function(e){var o;return e.id||(o=(void 0!==e.sources_original&&void 0!==e.sources_original[0]?e.sources_original:e.sources)[0].src,void 0!==e.sources_original&&void 0!==e.sources_original[0]?o:a(o))},N=function(e){return encodeURIComponent(e).length},z=function(e){return t?localStorage.getItem(e):Cookies.get(e)},q=function(e,o){return t?localStorage.setItem(e,o):Cookies.set(e,o)},B=function(e){t?localStorage.removeItem(e):Cookies.remove(e)},D=function(e,o){o.video.sources&&(o=V(o.video),F[o]=0,T[o]=0,A[o]=1)},a=function(e){return e.replace(/(X-Amz-Algorithm=[^&]+&?)/gm,"").replace(/(X-Amz-Credential=[^&]+&?)/gm,"").replace(/(X-Amz-Date=[^&]+&?)/gm,"").replace(/(X-Amz-Expires=[^&]+&?)/gm,"").replace(/(X-Amz-SignedHeaders=[^&]+&?)/gm,"").replace(/(X-Amz-Signature=[^&]+&?)/gm,"")},R=function(e,o){var t,a,n,r="sendBeacon"in navigator,i=(!0!==e&&(e=!1),o&&void 0!==o||(o=function(){}),[]),l=[];for(t in F)F.hasOwnProperty(t)&&(a={name:t,position:F[t],top_position:T[t],saw:void 0!==A[t]&&A[t]},O.hasOwnProperty(t)&&(a.ab_start=O[t][0],a.ab_end=O[t][1]),i.push(a));for(n in L)L.hasOwnProperty(n)&&l.push({player:n,item:L[n]});if(l.length||B(S),i.length){if("1"==flowplayer.conf.is_logged_in){if(r){try{var s,f={},p={},c={},d={},u={};for(w in i)i.hasOwnProperty(w)&&(f[s=i[w].name]=i[w].position,p[s]=i[w].top_position,c[s]=i[w].saw,void 0!==i[w].ab_start)&&void 0!==i[w].ab_end&&(u[s]=[i[w].ab_start,i[w].ab_end]);for(w in l)l.hasOwnProperty(w)&&(d[l[w].player]=l[w].item);q(x,E(f)),q(C,E(p)),q(P,E(c)),q(S,E(d)),q(I,E(u))}catch(e){return}r=new FormData;return r.append("action","fv_wp_flowplayer_video_position_save"),r.append("nonce",fv_player.video_position_save_nonce),r.append("videoTimes",encodeURIComponent(JSON.stringify(i))),r.append("playlistItems",encodeURIComponent(JSON.stringify(l))),navigator.sendBeacon(fv_player.ajaxurl,r),!1}return jQuery.ajax({type:"POST",async:e,url:fv_player.ajaxurl,complete:o,data:{action:"fv_wp_flowplayer_video_position_save",nonce:fv_player.video_position_save_nonce,videoTimes:i,playlistItems:l}})}try{var y=z(Q),v=z(k),y=y&&void 0!==y?JSON.parse(y):{},v=v&&void 0!==v?JSON.parse(v):{};for(w in i)i.hasOwnProperty(w)&&(y[i[w].name]=i[w].position);for(w in l)l.hasOwnProperty(w)&&(v[l[w].player]=l[w].item);var _=JSON.stringify(y),h=JSON.stringify(v),g=N(_),m=N(h);if(b<g)while(b<g)for(var w in y)if(y.hasOwnProperty(w)){delete y[w],_=JSON.stringify(y),g=N(_);break}if(b<m)while(b<m)for(var w in y)if(v.hasOwnProperty(w)){delete v[w],h=JSON.stringify(v),m=N(_);break}q(Q,_),q(k,h)}catch(e){return}return!1}B(I),B(x),B(C),B(P)};if(flowplayer(function(a,e){if(void 0===a.conf.disable_localstorage||"1"==flowplayer.conf.is_logged_in){var r=jQuery(e),o=flowplayer.conf.video_position_save_enable&&0!=r.data("save-position")||r.data("save-position")||r.data("lms_teaching"),i=0,l=!!r.data("player-id")&&r.data("player-id"),n=!1,s=function(){return!(a.live||a.video&&"string"==typeof a.video.click)},t=function(e,o){s()&&!o.video.prevent_position_restore&&(o=(e=>{var o=V(e.video),t=e.video.position;if("1"!=flowplayer.conf.is_logged_in){var a=z(Q);if(a&&void 0!==a)try{(a=JSON.parse(a))[o]&&(t=a[o])}catch(e){return}}return e.get_custom_end&&e.get_custom_end()<t&&(t=!1),t=e.get_custom_start&&0<e.get_custom_start()&&t<e.get_custom_start()?!1:t})(o))&&p(o)},f=function(e,o){var t,a,n;s()&&o.video.sources&&(t=V(o.video),a=Math.round(o.video.time),F[t]=a,void 0!==o.fv_noUiSlider&&r.find(".fv-player-ab.is-active").length&&(O[t]=o.fv_noUiSlider.get()),void 0===T[t]?(n=0,n=o.conf.playlist?o.conf.playlist[o.video.index]&&o.conf.playlist[o.video.index].sources[0]&&o.conf.playlist[o.video.index].sources[0].top_position?o.conf.playlist[o.video.index].sources[0].top_position:0:o.conf.clip.sources[0]&&o.conf.clip.sources[0].top_position?o.conf.clip.sources[0].top_position:0,T[t]=n):T[t]<a&&(T[t]=a),0<o.conf.playlist.length&&l&&(L[l]=o.video.index),60<=i++)&&flowplayer.conf.closingPage&&(j&&j.abort(),j=R(!0,function(){j=null}),i=0)},p=function(e){var o,t;a.custom_seek?a.custom_seek(e):(o=0,t=setInterval(function(){20<++o&&clearInterval(t),a.loading||(a.seek(parseInt(e)),clearInterval(t))},10))},c=function(e,o){var t=z(e),a=!1;if(t&&void 0!==t)try{if(void 0!==(t=JSON.parse(t))[o]){a=t[o],delete t[o];var n,r=!1;for(n in t)if(t.hasOwnProperty(n)){r=!0;break}r?q(e,JSON.stringify(t)):B(e)}return a}catch(e){}},d=function(e,o){if(void 0!==o&&0!=o.conf.playlist.length&&!o.conf.prevent_position_restore){var t=-1;if(l)if("1"!=flowplayer.conf.is_logged_in){var a=z(k);if(a&&void 0!==a)try{(a=JSON.parse(a))[l]&&(t=a[l])}catch(e){return}}else"1"==flowplayer.conf.is_logged_in&&(t=0<o.conf.playlist.length&&c(S,l));0<=t&&!n&&(o.video&&"video/youtube"!=o.video.type&&o.play(t),n=!0,r.data("position_changed",1))}};if(o){if(z(S)&&r.removeData("playlist_start"),a.bind("finish",D),a.on("ready",function(){a.conf.poster?a.one("resume",function(){a.one("progress",t)}):a.one("progress",t)}),a.bind("progress",f),a.bind("unload",function(){n=!1,a.one(a.conf.poster?"resume":"ready",d)}),a.one(a.conf.poster?"resume":"ready",d),jQuery(".fp-ui",e).on("click",function(){d()}),a.playlist_thumbnail_progress=function(e,o,t){a.get_custom_start&&0<a.get_custom_start(o)&&(t-=a.get_custom_start(o))<0&&(t=0);o=o.duration;(o=(o=a.get_custom_duration&&0<a.get_custom_duration()?a.get_custom_duration():o)||e.data("duration"))&&e.css("width",100*t/o+"%")},"1"==flowplayer.conf.is_logged_in){var u,y,v,_,h,g,m=0<a.conf.playlist.length,w=m?a.conf.playlist:[a.conf.clip],b=jQuery("[rel="+jQuery(e).attr("id")+"]");for(u in w)w.hasOwnProperty(u)&&(h=V(w[u]),y=c(x,h),v=c(C,h),_=c(P,h),h=c(I,h),y&&(m?(a.conf.playlist[u].sources[0].position=y,(g=jQuery("a",b).eq(u).find(".fvp-progress")).length&&a.playlist_thumbnail_progress(g,a.conf.playlist[u],y)):a.conf.clip.sources[0].position=y),v&&(!w[u].sources[0].top_position||w[u].sources[0].top_position<v)&&(m?a.conf.playlist[u].sources[0].top_position=v:a.conf.clip.sources[0].top_position=v),_&&(m?a.conf.playlist[u].sources[0].saw=!0:a.conf.clip.sources[0].saw=!0),h)&&(m?(a.conf.playlist[u].sources[0].ab_start=h[0],a.conf.playlist[u].sources[0].ab_end=h[1]):(a.conf.clip.sources[0].ab_start=h[0],a.conf.clip.sources[0].ab_end=h[1]))}a.bind("finish",function(e,o){o.conf.playlist.length?o.conf.playlist[o.video.index].sources[0].saw=!0:o.conf.clip.sources[0].saw=!0})}}}),jQuery(window).on("beforeunload pagehide",function(){flowplayer.conf.closingPage||(flowplayer.conf.closingPage=!0,R())}),null===(t=void 0!==fv_flowplayer_conf.disable_localstorage?!1:t)){t=!0;try{localStorage.setItem("t","t"),"t"!==localStorage.getItem("t")&&(t=!1),localStorage.removeItem("t")}catch(e){t=!1}}}})(jQuery),flowplayer(function(t,o){var a,r,i,l,n,s,f;function e(e){e.preventDefault(),e.stopPropagation(),l.hasClass("fp-active")?t.hideMenu(l[0]):(o.trigger("click"),t.showMenu(l[0]))}function p(e){e=e.clone();return e.find("i.dur").remove(),e.text()}o=jQuery(o),(t.have_visible_playlist||0!=t.conf.playlist.length)&&t.have_visible_playlist()&&(a=jQuery(".fp-playlist-external[rel="+o.attr("id")+"]"),r=jQuery('<strong class="fv-fp-list">Item 1.</strong>'),i=jQuery('<strong class="fv-fp-list-name">Item 1.</strong>'),l=jQuery('<div class="fp-menu fv-fp-list-menu"></div>').insertAfter(o.find(".fp-controls")),n=0,s=[],f=[],jQuery(t.conf.playlist).each(function(e,o){void 0===o.click&&(o=p(a.find("h4").eq(n)),l.append('<a data-index="'+e+'">'+(n+1)+". "+o+"</a>"),f[e]=o,s.push(e),n++)}),r.insertAfter(o.find(".fp-controls .fp-volume")).on("click",e),i.insertAfter(r).on("click",e),jQuery("a",l).on("click",function(){var e=jQuery(this).data("index"),o=e-1;void 0!==t.conf.playlist[o]&&void 0!==t.conf.playlist[o].click?t.play(o):t.play(e)}),t.on("ready",function(e,o,t){l.find("a").removeClass("fp-selected");var a=l.find("a[data-index="+t.index+"]"),n=(a.addClass("fp-selected"),fv_flowplayer_translations.playlist_item_no);n=(n=n.replace(/%d/,s.indexOf(t.index)+1)).replace(/%s/,p(a.find("h4"))),r.html(n),i.html(s.indexOf(t.index)+1+". "+f[t.index])}))}),flowplayer(function(e,a){a=jQuery(a);var n,r=e.conf.playlist,i=[];e.bind("load",function(e,o,t){n=t.index}),e.bind("error",function(e,o,t){setTimeout(function(){if(0<r.length&&1==o.error)return-1<i.indexOf(n)?(console.log("FV Player: Playlist item failure, already tried to play this item, not auto-advancing"),!1):(n=o.video.index,i.push(n),"1"==o.conf.video_checker&&r[n].video_checker&&0<r[n].video_checker.length?(console.log("FV Player: Video checker message present, stopping auto-advance to next playlist item"),!1):(o.error=o.loading=!1,a.removeClass("is-error"),a.find(".fp-message.fp-shown").remove(),++n>r.length-1&&(n=0),console.log("FV Player: Playlist item failure, auto-advancing to "+(n+1)+". item"),void o.play(n)))},1e3)})}),flowplayer(function(o,a){a=jQuery(a);var n,r,t,i,l,s=!1,f=!1,p=!1;function c(t){return t=[],jQuery(o.conf.playlist).each(function(e,o){t.push(e)}),t=(e=>{for(var o,t,a=e.length;a;a--)o=Math.floor(Math.random()*a),t=e[a-1],e[a-1]=e[o],e[o]=t;return e})(t),console.log("FV Player Randomizer random seed:",t),t}(a.data("button-no_picture")||a.data("button-repeat")||a.data("button-rewind")||o.conf.skin_preview)&&(l=!o.have_visible_playlist&&0<o.conf.playlist.length||o.have_visible_playlist(),o.bind("ready",function(e,o){var t;void 0===r&&void 0===n&&(r=o.next,n=o.prev),o.video&&o.video.type&&!o.video.type.match(/^audio/)&&a.data("button-no_picture")&&!f&&(f=!0,o.createNoPictureButton()),a.data("button-repeat")&&(l&&!p?(p=!0,o.createRepeatButton(),o.conf.playlist_shuffle=o.conf.track_repeat=!1,s=c(),o.conf.loop&&jQuery("a[data-action=repeat_playlist]",i).trigger("click")):0!=a.find(".fv-fp-track-repeat").length||l||((t=jQuery('<strong class="fv-fp-track-repeat"><svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-replay-track"><use xlink:href="#fvp-replay-track"></use></svg></strong>')).insertAfter(a.find(".fp-controls .fp-volume")).on("click",function(e){e.preventDefault(),e.stopPropagation(),o.video.loop?o.video.loop=!1:o.video.loop=!0,jQuery(this).toggleClass("is-active fp-color-fill",o.video.loop)}),o.conf.loop&&t.addClass("is-active fp-color-fill"),o.on("finish",function(e,o){o.video.loop&&(console.log("playlist-repeat.module",o.video.loop),o.resume())}))),a.data("button-rewind")&&!freedomplayer.support.touch&&o.createRewindForwardButtons()}).bind("progress",function(){a.data("button-repeat")&&(o.video.loop=o.conf.track_repeat)}).bind("finish.pl",function(e,o){a.data("button-repeat")&&l&&(console.log("playlist_repeat",o.conf.loop,"advance",o.conf.advance,"video.loop",o.video.loop),o.conf.playlist_shuffle)&&(o.play(s.pop()),0==s.length)&&(s=c())}).bind("unload",function(){a.find(".fv-fp-no-picture").remove(),a.find(".fv-fp-playlist").remove(),a.find(".fv-fp-track-repeat").remove()}),o.createNoPictureButton=function(){0<a.find(".fv-fp-no-picture").length||jQuery('<span class="fv-fp-no-picture"><svg viewBox="0 0 90 80" width="18px" height="18px" class="fvp-icon fvp-nopicture"><use xlink:href="#fvp-nopicture"></use></svg></span>').insertAfter(a.find(".fp-controls .fp-volume")).on("click",function(e){e.preventDefault(),e.stopPropagation(),jQuery(".fp-engine",a).slideToggle(20),jQuery(this).toggleClass("is-active fp-color-fill"),a.toggleClass("is-no-picture")})},o.createRepeatButton=function(){var e;0<a.find(".fv-fp-playlist").length||(e=fv_flowplayer_translations,(t=jQuery('<strong class="fv-fp-playlist mode-normal">      <svg viewBox="0 0 80.333 80" width="18px" height="18px" class="fvp-icon fvp-replay-list"><title>'+e.playlist_replay_all+'</title><use xlink:href="#fvp-replay-list"></use></svg>      <svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-shuffle"><title>'+e.playlist_shuffle+'</title><use xlink:href="#fvp-shuffle"></use></svg>      <svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-replay-track"><title>'+e.playlist_replay_video+'</title><use xlink:href="#fvp-replay-track"></use></svg>      <span id="fvp-playlist-play" title="'+e.playlist_play_all+'">'+e.playlist_play_all_button+"</span>      </strong>")).insertAfter(a.find(".fp-controls .fp-volume")).on("click",function(e){e.preventDefault(),e.stopPropagation(),"auto"!==i.css("right")&&i.css({right:"auto",left:t.position().left+"px"}),i.hasClass("fp-active")?o.hideMenu(i[0]):(a.trigger("click"),o.showMenu(i[0]))}),i=jQuery('<div class="fp-menu fv-fp-playlist-menu">        <a data-action="repeat_playlist"><svg viewBox="0 0 80.333 80" width="18px" height="18px" class="fvp-icon fvp-replay-list"><title>'+e.playlist_replay_all+'</title><use xlink:href="#fvp-replay-list"></use></svg> <span class="screen-reader-text">'+e.playlist_replay_all+'</span></a>        <a data-action="shuffle_playlist"><svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-shuffle"><title>'+e.playlist_shuffle+'</title><use xlink:href="#fvp-shuffle"></use></svg> <span class="screen-reader-text">'+e.playlist_shuffle+'</span></a>        <a data-action="repeat_track"><svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-replay-track"><title>'+e.playlist_replay_video+'</title><use xlink:href="#fvp-replay-track"></use></svg> <span class="screen-reader-text">'+e.playlist_replay_video+'</span></a>        <a class="fp-selected" data-action="normal"><span id="fvp-playlist-play" title="'+e.playlist_play_all+'">'+e.playlist_play_all_button+"</span></a>        </div>").insertAfter(a.find(".fp-controls")),jQuery("a",i).on("click",function(){jQuery(this).siblings("a").removeClass("fp-selected"),jQuery(this).addClass("fp-selected"),t.removeClass("mode-normal mode-repeat-track mode-repeat-playlist mode-shuffle-playlist");var e=jQuery(this).data("action");"repeat_playlist"==e?(t.addClass("mode-repeat-playlist"),o.conf.loop=!0,o.conf.advance=!0,o.video.loop=o.conf.track_repeat=!1,o.conf.playlist_shuffle=!1):"shuffle_playlist"==e?(s=s||c(),t.addClass("mode-shuffle-playlist"),o.conf.loop=!0,o.conf.advance=!0,o.conf.playlist_shuffle=!0):"repeat_track"==e?(t.addClass("mode-repeat-track"),o.conf.track_repeat=o.video.loop=!0,o.conf.loop=o.conf.playlist_shuffle=!1):"normal"==e&&(t.addClass("mode-normal"),o.conf.track_repeat=o.video.loop=!1,o.conf.loop=o.conf.playlist_shuffle=!1),o.conf.playlist_shuffle?(o.next=function(){o.play(s.pop()),0==s.length&&(s=c())},o.prev=function(){o.play(s.shift()),0==s.length&&(s=c())}):(o.next=r,o.prev=n)}))},o.createRewindForwardButtons=function(){var e;0==a.find(".fv-fp-rewind").length&&((e=jQuery('<span class="fv-fp-rewind"><svg viewBox="0 0 24 24" width="21px" height="21px" class="fvp-icon fvp-rewind"><use xlink:href="#fvp-rewind"></use></svg></span>')).insertBefore(a.find(".fp-controls .fp-playbtn")).on("click",function(e){e.preventDefault(),e.stopPropagation(),o.seek(o.video.time-10)}),e.toggle(!o.video.live||o.video.dvr)),0==a.find(".fv-fp-forward").length&&((e=jQuery('<span class="fv-fp-forward"><svg viewBox="0 0 24 24" width="21px" height="21px" class="fvp-icon fvp-forward"><use xlink:href="#fvp-forward"></use></svg></span>')).insertAfter(a.find(".fp-controls .fp-playbtn")).on("click",function(e){e.preventDefault(),e.stopPropagation(),o.seek(o.video.time+10)}),e.toggle(!o.video.live||o.video.dvr))},o.conf.skin_preview)&&(a.data("button-no_picture")&&setTimeout(function(){o.createNoPictureButton()},0),a.data("button-repeat")&&setTimeout(function(){o.createRepeatButton()},0),a.data("button-rewind"))&&setTimeout(function(){o.createRewindForwardButtons()},0)}),freedomplayer(function(e,o){var t,a,n,r,i=freedomplayer.bean,l=freedomplayer.common,o=o.getAttribute("id"),o=l.find('[rel="'+o+'"]'),s=!1,f=!1;function p(){s=!1,r.classList.remove("active"),setTimeout(function(){r.classList.remove("is-dragging")}),d()}function c(t){var e=Math.floor(r.clientWidth/r.children[0].clientWidth),o=r.children[0].clientWidth+20;n=t?r.scrollLeft+e*o:r.scrollLeft-e*o,t&&n>r.scrollWidth-r.clientWidth?n=r.scrollWidth-r.clientWidth:!t&&n<0&&(n=0),window.requestAnimationFrame(function e(){var o=t?30:-30;Math.abs(n-r.scrollLeft)<20&&(o=n-r.scrollLeft);r.scrollTo({top:0,left:r.scrollLeft+o});n==r.scrollLeft?d():window.requestAnimationFrame(e)})}function d(){r.classList.remove("leftmost","rightmost"),0===r.scrollLeft?r.classList.add("leftmost"):r.scrollLeft===r.scrollWidth-r.clientWidth&&r.classList.add("rightmost")}o[0]&&(r=l.find(".fv-playlist-draggable",o),l=l.find(".fv-playlist-left-arrow, .fv-playlist-right-arrow",o),r[0])&&l[0]&&l[1]&&(r=r[0],d(),i.on(r,"scroll",d),i.on(r,"mousedown",function(e){e.preventDefault(),s=!0,r.classList.add("active"),a=r.scrollLeft,t=e.pageX-r.offsetLeft}),i.on(r,"mouseup",p),r.onmouseleave=function(){f=!1,p()},i.on(r,"mousemove",function(e){f=!0,s&&(e.preventDefault(),e=e.pageX-r.offsetLeft-t,5<Math.abs(e)&&r.classList.add("is-dragging"),r.scrollLeft=a-e)}),l[0].onclick=function(){c(!1)},l[1].onclick=function(){c(!0)},i.on(document,"keydown",function(e){f&&(39===(e=e.keyCode)&&c(!0),37===e)&&c(!1)}))}),flowplayer(function(e,o){var t=jQuery(o),a=t.data("playlist_start");function n(){1!==t.data("position_changed")&&e.conf.playlist.length&&(a--,void 0===e.conf.playlist[a].click&&(e.engine&&"hlsjs-lite"==e.engine.engineName&&(e.loading=!1),e.play(a)),t.data("position_changed",1))}void 0!==a&&(e.bind("unload",function(){a=t.data("playlist_start"),t.removeData("position_changed"),e.one(e.conf.poster?"resume":"ready",n)}),e.one(e.conf.poster?"resume":"ready",n),jQuery(".fp-ui",o).on("click",function(){n(),t.data("position_changed",1)}))}),document.addEventListener("custombox:overlay:close",function(e){console.log("FV Player: Custombox/Popup anything ligtbox closed");var o=jQuery(this).find(".flowplayer");0!=o.length&&(console.log("FV Player: Custombox/Popup anything ligtbox contains a player"),o.each(function(e,o){var t=jQuery(o).data("flowplayer");void 0!==t&&(t.playing?(console.log("FV Player: Custombox/Popup anything ligtbox video pause"),t.pause()):t.loading&&t.one("ready",function(){console.log("FV Player: Custombox/Popup anything ligtbox video unload"),t.unload()}))}))}),"undefined"!=typeof flowplayer&&(freedomplayer.preload_count=0,freedomplayer.preload_limit=3,freedomplayer(function(e,o){o=jQuery(o);var t,a=!1,n=jQuery(o).data("playlist_start"),n=n?n-1:0;for(t in e.conf.clip&&(a=e.conf.clip.sources),a=e.conf.playlist[n]&&e.conf.playlist[n].sources?e.conf.playlist[n].sources:a){if("video/youtube"==a[t].type||a[t].src.match(/\/\/vimeo.com/))return r(),void e.debug("Preload not allowed beause of the video type");"application/x-mpegurl"==a[t].type&&(freedomplayer.preload_limit=1)}function r(){e.conf.splash=!0,e.preload=!1,o.removeClass("is-poster").addClass("is-splash")}e.conf.splash||freedomplayer.preload_count++,freedomplayer.preload_count>freedomplayer.preload_limit&&r()})),flowplayer(function(o,e){o.bind("finish",function(){var e=o.video.time;o.video.loop&&o.one("pause",function(){e<=o.video.time&&o.resume()})})}),"undefined"!=typeof flowplayer&&(fv_autoplay_type=fv_flowplayer_conf.autoplay_preload,fv_player_scroll_autoplay=!1,fv_player_scroll_autoplay_last_winner=-1,freedomplayer(function(e,t){fv_player_scroll_autoplay=!0,e.on("pause",function(e,o){o.manual_pause&&(console.log("Scroll autoplay: Manual pause for "+jQuery(t).attr("id")),o.non_viewport_pause=!0)})}),jQuery(window).on("scroll",function(){fv_player_scroll_autoplay=!0}),fv_player_scroll_int=setInterval(function(){var r,e,i,o,t;fv_player_scroll_autoplay&&(r=window.innerHeight||document.documentElement.clientHeight,e=jQuery(".flowplayer:not(.is-disabled)"),i=-1,e.each(function(e,o){var t,a,n=jQuery(this);void 0!==n.data("fvautoplay")&&-1==n.data("fvautoplay")||jQuery("body").hasClass("wp-admin")||(t=n.data("flowplayer"),a=n.find(".fp-player"),n=void 0!==n.data("fvautoplay"),a.length&&!t.non_viewport_pause&&("viewport"==fv_autoplay_type||"sticky"==fv_autoplay_type||n)&&(n=a[0].getBoundingClientRect(),r-n.top>a.height()/4)&&n.bottom>a.height()/4&&(flowplayer.support.iOS&&"video/youtube"==t.conf.clip.sources[0].type||(i=e)))}),fv_player_scroll_autoplay_last_winner!=i&&(t=(o=e.eq(fv_player_scroll_autoplay_last_winner)).data("flowplayer"))&&t.playing&&(console.log("Scroll autoplay: Player not in viewport, pausing "+o.attr("id")),t.pause()),-1<i&&fv_player_scroll_autoplay_last_winner!=i&&((t=(o=e.eq(i)).data("flowplayer"))?t.ready?(console.log("Scroll autoplay: Resume "+o.attr("id")),t.resume()):t.loading||t.playing||t.error||(console.log("Scroll autoplay: Load "+o.attr("id")),t.load(),t.autoplayed=!0):(console.log("Scroll autoplay: Play "+o.attr("id")),fv_player_load(o),t.autoplayed=!0),fv_player_scroll_autoplay_last_winner=i),fv_player_scroll_autoplay=!1)},200)),flowplayer(function(t,a){(a=jQuery(a)).find(".fp-logo").removeAttr("href"),a.hasClass("no-controlbar")&&((e=t.sliders.timeline).disable(!0),t.bind("ready",function(){e.disable(!0)})),jQuery(".fvfp_admin_error",a).remove(),a.find(".fp-logo, .fp-header").on("click",function(e){e.target===this&&a.find(".fp-ui").trigger("click")}),jQuery(".fvp-share-bar .sharing-facebook",a).append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="#fff"><title>Facebook</title><path d="M11.9 5.2l-2.6 0 0-1.6c0-0.7 0.3-0.7 0.7-0.7 0.3 0 1.6 0 1.6 0l0-2.9 -2.3 0c-2.6 0-3.3 2-3.3 3.3l0 2 -1.6 0 0 2.9 1.6 0c0 3.6 0 7.8 0 7.8l3.3 0c0 0 0-4.2 0-7.8l2.3 0 0.3-2.9Z"/></svg>'),jQuery(".fvp-share-bar .sharing-twitter",a).append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="#fff"><title>Twitter</title><path d="M16 3.1c-0.6 0.3-1.2 0.4-1.9 0.5 0.7-0.4 1.2-1 1.4-1.8 -0.6 0.4-1.3 0.6-2.1 0.8 -0.6-0.6-1.4-1-2.4-1 -2 0.1-3.2 1.6-3.2 4 -2.7-0.1-5.1-1.4-6.7-3.4 -0.9 1.4 0.2 3.8 1 4.4 -0.5 0-1-0.1-1.5-0.4l0 0.1c0 1.6 1.1 2.9 2.6 3.2 -0.7 0.2-1.3 0.1-1.5 0.1 0.4 1.3 1.6 2.2 3 2.3 -1.6 1.7-4.6 1.4-4.8 1.3 1.4 0.9 3.2 1.4 5 1.4 6 0 9.3-5 9.3-9.3 0-0.1 0-0.3 0-0.4 0.6-0.4 1.2-1 1.6-1.7Z"/></svg>'),jQuery(".fvp-share-bar .sharing-email",a).append('<svg xmlns="http://www.w3.org/2000/svg" height="16" viewBox="0 0 16 16" width="16" fill="#fff"><title>Email</title><path d="M8 10c0 0 0 0-1 0L0 6v7c0 1 0 1 1 1h14c1 0 1 0 1-1V6L9 10C9 10 8 10 8 10zM15 2H1C0 2 0 2 0 3v1l8 4 8-4V3C16 2 16 2 15 2z"/></svg>'),jQuery(".fp-header",a).prepend(jQuery(".fvp-share-bar",a)),(!t.have_visible_playlist&&0<t.conf.playlist.length||t.have_visible_playlist())&&!freedomplayer.support.touch&&(o=jQuery('<a class="fp-icon fv-fp-prevbtn"></a>'),n=jQuery('<a class="fp-icon fv-fp-nextbtn"></a>'),a.find(".fp-controls .fp-playbtn").before(o).after(n),o.on("click",function(){t.trigger("prev",[t]),t.prev()}),n.on("click",function(){t.trigger("next",[t]),t.next()})),"undefined"!=typeof fv_player_editor_conf&&a.on("click",".fvp-sharing > li",function(e){return e.preventDefault(),fv_player_notice(a,fv_player_editor_translations.link_notice,2e3),!1}),t.bind("pause resume finish unload ready",function(e,o){a.addClass("no-brand")}),t.on("ready",function(e,o,t){setTimeout(function(){a.hasClass("is-youtube-standard")||a.hasClass("is-youtube-reduced")||jQuery(".fvp-share-bar",a).show(),jQuery(".fv-player-buttons-wrap",a).appendTo(jQuery(".fv-player-buttons-wrap",a).parent().find(".fp-ui"))},100)}),t.bind("finish",function(){var e,o=a.data("fv_redirect");!o||void 0!==t.video.is_last&&!t.video.is_last||(freedomplayer.conf.wpadmin||flowplayer.conf.is_logged_in_editor)&&(e=(e=fv_flowplayer_translations.redirection).replace(/%url%/,o),!confirm(e))||(location.href=o)}),flowplayer.support.iOS&&11==flowplayer.support.iOS.version&&t.bind("error",function(e,o,t){4==t.code&&a.find(".fp-engine").hide()}),jQuery(document).on("contextmenu",".flowplayer",function(e){e.preventDefault()}),t.one("ready",function(e,o,t){a.find(".fp-chromecast").insertAfter(a.find(".fp-header .fp-fullscreen"))});var e,o,n,r=a.attr("id"),i=!flowplayer.support.fullscreen&&!flowplayer.conf.native_fullscreen&&flowplayer.conf.mobile_alternative_fullscreen;t.bind("fullscreen",function(e,o){jQuery("#wpadminbar, .nc_wrapper").hide(),i&&"video/youtube"!=o.video.type&&(a.before('<span data-fv-placeholder="'+r+'"></span>'),a.appendTo("body"))}),t.bind("fullscreen-exit",function(e,o,t){jQuery("#wpadminbar, .nc_wrapper").show(),i&&jQuery("span[data-fv-placeholder="+r+"]").replaceWith(a)})}),(()=>{function e(p){p(function(t,a){var n,e,r,i,l;function s(e){return Math.round(100*e)/100}function f(o){n.find(".fp-speed",a)[0].innerHTML=o+"x",n.find(".fp-speed-menu a",a).forEach(function(e){n.toggleClass(e,"fp-selected",e.getAttribute("data-speed")==o),n.toggleClass(e,"fp-color",e.getAttribute("data-speed")==o)})}(jQuery(a).data("speedb")||t.conf.skin_preview)&&(e=p.support).video&&e.inlineVideo&&(n=p.common,e=p.bean,r=n.find(".fp-ui",a)[0],i=n.find(".fp-controls",r)[0],l=t.conf.speeds,e.on(a,"click",".fp-speed",function(){var e=n.find(".fp-speed-menu",a)[0];n.hasClass(e,"fp-active")?t.hideMenu():t.showMenu(e)}),e.on(a,"click",".fp-speed-menu a",function(e){e=e.target.getAttribute("data-speed");t.speed(e)}),t.on("speed",function(e,o,t){1<l.length&&f(t)}).on("ready",function(e,o){o.removeSpeedButton(),p.support.android&&"html5"==o.engine.engineName&&"application/x-mpegurl"==o.video.type||1<(l=o.conf.speeds).length&&o.createSpeedButton()}),t.removeSpeedButton=function(){n.find(".fp-speed-menu",a).forEach(n.removeNode),n.find(".fp-speed",a).forEach(n.removeNode)},t.createSpeedButton=function(){var o;jQuery(a).data("speedb")&&(t.removeSpeedButton(),i.appendChild(n.createElement("strong",{className:"fp-speed"},t.currentSpeed+"x")),o=n.createElement("div",{className:"fp-menu fp-speed-menu",css:{width:"auto"}},"<strong>Speed</strong>"),l.forEach(function(e){e=n.createElement("a",{"data-speed":s(e)},s(e)+"x");o.appendChild(e)}),r.appendChild(o),f(t.currentSpeed),jQuery(a).find(".fp-speed-menu strong").text(fv_flowplayer_translations.speed))},t.conf.skin_preview)&&t.createSpeedButton()})}"object"===("undefined"==typeof module?"undefined":_typeof(module))&&module.exports?module.exports=e:"function"==typeof window.flowplayer&&e(window.flowplayer)})(),flowplayer(function(e,o){void 0===fv_flowplayer_conf.disable_localstorage&&(e.on("speed",function(e,o,t){try{window.localStorage.fv_player_speed=t}catch(e){}}),e.on("ready",function(){window.localStorage.fv_player_speed&&jQuery(o).find("strong.fp-speed").is(":visible")&&e.speed(parseFloat(window.localStorage.fv_player_speed)),0==jQuery(o).data("volume")&&e.mute(!0,!0)}))}),(s=>{var f={},p=!1;function o(){for(var e in f)for(var o in f[e])for(var t in f[e][o])f[e][o][t]=Math.round(f[e][o][t]);var a=(window.freedomplayer?freedomplayer:flowplayer).conf,n=(a.debug&&fv_player_stats_watched(),new FormData);n.append("tag","seconds"),n.append("blog_id",a.fv_stats.blog_id),n.append("user_id",a.fv_stats.user_id),n.append("_wpnonce",a.fv_stats.nonce),n.append("watched",encodeURIComponent(JSON.stringify(f))),navigator.sendBeacon(a.fv_stats.url,n)}flowplayer(function(e,o){o=s(o);var a,n=-1,r=0;if(e.conf.fv_stats&&(e.conf.fv_stats.enabled||o.data("fv_stats")&&"no"!=o.data("fv_stats"))){try{var i=o.data("fv_stats_data");if(!i)return}catch(e){return!1}e.on("ready finish",function(e,o){o.on("progress",function(e,o,t){t<1||n==l()||(n=l(),s.post(o.conf.fv_stats.url,{blog_id:o.conf.fv_stats.blog_id,video_id:o.video.id||0,player_id:i.player_id,post_id:i.post_id,user_id:o.conf.fv_stats.user_id,tag:"play",_wpnonce:o.conf.fv_stats.nonce}))}),a=!(r=0)}).on("finish",function(){n=-1}).on("progress",function(e,o,t){0!=t&&(o.seeking?r=t:a?a=!1:r=(0==r||t<=r||(f[i.player_id]||(f[i.player_id]={}),f[i.player_id][i.post_id]||(f[i.player_id][i.post_id]={}),f[i.player_id][i.post_id][o.video.id]||(f[i.player_id][i.post_id][o.video.id]=0),f[i.player_id][i.post_id][o.video.id]+=t-r,p=!0),t))}),e.on("cva",function(e,o){s.post(o.conf.fv_stats.url,{blog_id:o.conf.fv_stats.blog_id,video_id:o.video.id||0,player_id:i.player_id,post_id:i.post_id,user_id:o.conf.fv_stats.user_id,tag:"click",_wpnonce:o.conf.fv_stats.nonce})})}function l(){return e.video.index||0}}),s(window).on("beforeunload pagehide",function(){var e="sendBeacon"in navigator;!flowplayer.conf.stats_sent&&e&&(flowplayer.conf.stats_sent=!0,p)&&o()}),setInterval(function(){p&&(o(),p=!(f={}))},3e5),window.fv_player_stats_watched=function(){s.each(f,function(e,o){console.log("player id: "+e),s.each(o,function(e,o){console.log("post id: "+e),s.each(o,function(e,o){console.log("video id: "+e+" seconds: "+o)})})})}})(jQuery),flowplayer(function(t,a){var n,r=jQuery(a),e=r.find(".fp-player"),o=r.data("fvsticky"),i=!1,l=r.find(".fp-ratio");if(t.is_sticky=!1,(i=flowplayer.conf.sticky_video&&"off"!=flowplayer.conf.sticky_video&&void 0===o?!0:i)||o){if(!flowplayer.support.firstframe)return;var s=flowplayer.conf.sticky_place;i=jQuery(window),n=r,t.on("unload",function(){p(),r.removeClass("is-unSticky")}),i.on("resize",function(){c()||"all"==flowplayer.conf.sticky_video||t.is_sticky&&p()}).on("scroll",function(){var e,o;if(c()||"all"==flowplayer.conf.sticky_video)if(e=n[0],(o=e.getBoundingClientRect()).top>=0-jQuery(e).outerHeight()/2&&0<=o.left&&o.bottom<=(window.innerHeight||document.documentElement.clientHeight)+jQuery(e).outerHeight()/2&&o.right<=(window.innerWidth||document.documentElement.clientWidth)||!(t.playing||t.loading||flowplayer.audible_instance==r.data("freedomplayer-instance-id")||"object"==_typeof(a.fv_player_vast)&&"object"==_typeof(a.fv_player_vast.adsManager_)&&"function"==typeof a.fv_player_vast.adsManager_.getRemainingTime&&0<a.fv_player_vast.adsManager_.getRemainingTime()))p();else{if(0<jQuery("div.flowplayer.is-unSticky").length)return!1;f()}else t.is_sticky&&p()})}function f(){e.hasClass("is-sticky-"+s)||(e.addClass("is-sticky"),e.addClass("is-sticky-"+s),0==r.find("a.fp-sticky").length&&r.find("div.fp-header").prepend('<a class="fp-sticky fp-icon"></a>'),e.prepend(l.clone()),d(!0),t.is_sticky=!0,t.trigger("sticky",[t]),e.parent(".flowplayer").addClass("is-stickable"))}function p(){e.removeClass("is-sticky"),e.removeClass("is-sticky-"+s),e.css("max-width",""),e.find(".fp-ratio").remove(),e.parent(".flowplayer").removeClass("is-stickable"),t.is_sticky&&(d(),t.is_sticky=!1,t.trigger("sticky-exit",[t]))}function c(){return t.autoplayed||jQuery(window).innerWidth()>=fv_flowplayer_conf.sticky_min_width}function d(e){var o=a;while(o){try{var t=getComputedStyle(o);t.transform&&(o.style.transform=e?"none":""),t.zIndex&&(o.style.zIndex=e?"auto":"")}catch(e){}o=o.parentNode}}t.sticky=function(e,o){void 0===e&&(e=!t.is_sticky),o&&r.toggleClass("is-unSticky",!e),(e?f:p)()}}),jQuery(function(t){t(document).on("click","a.fp-sticky",function(){var e=t("div.flowplayer.is-stickable"),o=e.data("flowplayer");e.addClass("is-unSticky"),e.find(".fp-player").removeClass(["is-sticky","is-sticky-right-bottom","is-sticky-left-bottom","is-sticky-right-top","is-sticky-left-top"]).css({width:"",height:"",maxHeight:""}),o.is_sticky&&(o.is_sticky=!1,o.trigger("sticky-exit",[o])),o.autoplayed&&o.pause()}),t(document).on("click","div.flowplayer.is-unSticky",function(){t("div.flowplayer").removeClass("is-unSticky")})}),flowplayer(function(e,n){n=jQuery(n);var r=window.localStorage;e.on("ready",function(e,t,o){var a;o.subtitles&&o.subtitles.length&&(r.fv_player_subtitle&&t.video.subtitles&&t.video.subtitles.length?"none"===r.fv_player_subtitle?t.disableSubtitles():t.video.subtitles.forEach(function(e,o){e.srclang===r.fv_player_subtitle&&t.loadSubtitles(o)}):(a=o.subtitles.filter(function(e){return e.fv_default})[0])&&t.loadSubtitles(o.subtitles.indexOf(a))),void 0===fv_flowplayer_conf.disable_localstorage&&n.find(".fp-subtitle-menu").on("click",function(e){var o=e.target.getAttribute("data-subtitle-index");if("string"==typeof o)try{r.fv_player_subtitle=-1<o?t.video.subtitles[o].srclang:"none"}catch(e){}})})}),flowplayer(function(e,t){t=jQuery(t),e.on("ready",function(e,o){t.find(".fp-subtitle-menu strong").text(fv_flowplayer_translations.closed_captions),t.find('.fp-subtitle-menu a[data-subtitle-index="-1"]').text(fv_flowplayer_translations.no_subtitles)})}),"undefined"!=typeof flowplayer&&"undefined"!=typeof fv_flowplayer_conf&&fv_flowplayer_conf.video_hash_links&&(flowplayer(function(t,a){var n,r,i,l,s,f,p="";0<jQuery(a).find(".sharing-link").length&&(n=function(e,o){l=fv_player_get_video_link_hash(t),s=","+fv_player_time_hms(t.video.time),e&&o?(i=","+fv_player_time_hms_ms(e+t.get_custom_start()),r=","+fv_player_time_hms_ms(o+t.get_custom_start())):(r=f&&void 0!==t.get_ab_end()&&t.get_ab_end()?","+fv_player_time_hms_ms(t.get_ab_end()):"",i=f&&void 0!==t.get_ab_start()&&t.get_ab_start()?","+fv_player_time_hms_ms(t.get_ab_start()):""),p=jQuery(".sharing-link",a).attr("href").replace(/#.*/,"")+"#"+l+s+i+r,jQuery(".sharing-link",a).attr("href",p)},t.on("ready",function(e,o,t){o.fv_noUiSlider&&o.fv_noUiSlider.on("set",function(e){n(e[0],e[1])})}),t.on("progress",function(e,o){o.video.sources&&o.video.sources[0]&&n()}),t.on("abloop",function(e,o,t){f=t,o.playing||n()}),jQuery(".sharing-link",a).on("click",function(e){e.preventDefault(),fv_player_clipboard(jQuery(this).attr("href"),function(){fv_player_notice(a,fv_flowplayer_translations.link_copied,2e3)},function(){fv_player_notice(a,fv_flowplayer_translations.error_copy_clipboard,2e3)})})),t.get_video_link=function(){return p}}),jQuery(document).on("click",'a[href*="fvp_"]',function(){var e=jQuery(this);setTimeout(function(){0==e.parents(".fvp-share-bar").length&&fv_video_link_autoplay()})})),flowplayer(function(e,a){a=jQuery(a);var n=!1;function r(){a.removeClass("has-fp-message-muted"),a.find(".fp-message-muted").remove()}e.one("ready",function(e,o){a.hasClass("is-audio")||(n=!0)}),e.on("progress",function(e,o,t){n&&1<t&&(n=!1,(t=jQuery("root").find("video")).length&&!(t=t[0]).mozHasAudio&&!Boolean(t.webkitAudioDecodedByteCount)&&!Boolean(t.audioTracks&&t.audioTracks.length)||!o.muted&&0!=o.volumeLevel||"true"==localStorage.muted||"0"==localStorage.volume||(t=jQuery('<div class="fp-message fp-message-muted"><span class="fp-icon fp-volumebtn-notice"></span> '+fv_flowplayer_translations.click_to_unmute+"</div>"),freedomplayer.bean.on(t[0],"click touchstart",function(){o.mute(!1),o.volume(1)}),a.find(".fp-ui").append(t),a.addClass("has-fp-message-muted"),setTimeout(r,1e4)))}),e.on("mute volume",function(){(!e.muted||0<e.volumeLevel)&&r()})}),"undefined"!=typeof flowplayer&&(fv_player_warning=function(e,o,t){var a=jQuery(e).prev(".fv-player-warning-wrapper");0==a.length&&(jQuery(e).before('<div class="fv-player-warning-wrapper">'),a=jQuery(e).prev(".fv-player-warning-wrapper")),0==a.find(".fv-player-warning-"+t).length&&(e=jQuery("<p style='display: none' "+(t?" class='fv-player-warning-"+t+"'":"")+">"+o+"</p>"),a.append(e),e.slideDown())},flowplayer(function(o,a){a=jQuery(a),navigator.userAgent.match(/iPhone.* OS [0-6]_/i)&&o.one("progress",function(e){void 0!==o.video.subtitles&&o.video.subtitles.length&&fv_player_warning(a,fv_flowplayer_translations.warning_iphone_subs)}),flowplayer.support.android&&flowplayer.support.android.version<5&&(flowplayer.support.android.samsung||flowplayer.support.browser.safari)&&fv_player_warning(a,fv_flowplayer_translations.warning_unstable_android,"firefox"),/Android 4/.test(navigator.userAgent)&&!/Firefox/.test(navigator.userAgent)&&(o.on("ready",function(e,o,t){setTimeout(function(){t.src&&t.src.match(/fpdl.vimeocdn.com/)&&(0==t.time||1==t.time)&&(fv_player_warning(a,fv_flowplayer_translations.warning_unstable_android,"firefox"),o.on("progress",function(e,o){a.prev().find(".fv-player-warning-firefox").remove()}))},1500)}),o.on("error",function(e,o,t){2==t.MEDIA_ERR_NETWORK&&t.video.src.match(/fpdl.vimeocdn.com/)&&fv_player_warning(a,fv_flowplayer_translations.warning_unstable_android,"firefox")})),/Safari/.test(navigator.userAgent)&&/Version\/5/.test(navigator.userAgent)&&o.on("error",function(e,o,t){t.video.src.match(/fpdl.vimeocdn.com/)&&fv_player_warning(a,fv_flowplayer_translations.warning_old_safari)});var e=flowplayer.support;e.android&&(e.android.samsung&&parseInt(e.browser.version)<66||e.browser.safari)&&o.on("error",function(e,o,t){fv_player_warning(a,fv_flowplayer_translations.warning_samsungbrowser,"warning_samsungbrowser")})})),flowplayer(function(t,a){a=jQuery(a);var n=!1;jQuery(t.conf.playlist).each(function(e,o){o.sources[0].type.match(/youtube/)&&(n=!0)}),n&&(a.addClass("is-youtube"),void 0!==fv_flowplayer_conf.youtube_browser_chrome)&&"none"==fv_flowplayer_conf.youtube_browser_chrome&&a.addClass("is-youtube-nl"),t.on("ready",function(e,o,t){a.find(".fp-youtube-wrap").remove(),a.find(".fp-youtube-logo").remove(),"video/youtube"==t.type?(a.addClass("is-youtube"),void 0!==fv_flowplayer_conf.youtube_browser_chrome&&("none"==fv_flowplayer_conf.youtube_browser_chrome&&a.addClass("is-youtube-nl"),"standard"==fv_flowplayer_conf.youtube_browser_chrome&&a.addClass("is-youtube-standard"),"reduced"==fv_flowplayer_conf.youtube_browser_chrome)&&(a.addClass("is-youtube-reduced"),a.addClass("is-youtube-nl"),a.find(".fp-ui").append('<div class="fp-youtube-wrap"><a class="fp-youtube-title" target="_blank" href="'+o.video.src+'">'+t.fv_title_clean+"</a></div>"),a.find(".fp-ui").append('<a class="fp-youtube-logo" target="_blank" href="'+o.video.src+'"><svg height="100%" version="1.1" viewBox="0 0 110 26" width="100%"><path class="ytp-svg-fill" d="M 16.68,.99 C 13.55,1.03 7.02,1.16 4.99,1.68 c -1.49,.4 -2.59,1.6 -2.99,3 -0.69,2.7 -0.68,8.31 -0.68,8.31 0,0 -0.01,5.61 .68,8.31 .39,1.5 1.59,2.6 2.99,3 2.69,.7 13.40,.68 13.40,.68 0,0 10.70,.01 13.40,-0.68 1.5,-0.4 2.59,-1.6 2.99,-3 .69,-2.7 .68,-8.31 .68,-8.31 0,0 .11,-5.61 -0.68,-8.31 -0.4,-1.5 -1.59,-2.6 -2.99,-3 C 29.11,.98 18.40,.99 18.40,.99 c 0,0 -0.67,-0.01 -1.71,0 z m 72.21,.90 0,21.28 2.78,0 .31,-1.37 .09,0 c .3,.5 .71,.88 1.21,1.18 .5,.3 1.08,.40 1.68,.40 1.1,0 1.99,-0.49 2.49,-1.59 .5,-1.1 .81,-2.70 .81,-4.90 l 0,-2.40 c 0,-1.6 -0.11,-2.90 -0.31,-3.90 -0.2,-0.89 -0.5,-1.59 -1,-2.09 -0.5,-0.4 -1.10,-0.59 -1.90,-0.59 -0.59,0 -1.18,.19 -1.68,.49 -0.49,.3 -1.01,.80 -1.21,1.40 l 0,-7.90 -3.28,0 z m -49.99,.78 3.90,13.90 .18,6.71 3.31,0 0,-6.71 3.87,-13.90 -3.37,0 -1.40,6.31 c -0.4,1.89 -0.71,3.19 -0.81,3.99 l -0.09,0 c -0.2,-1.1 -0.51,-2.4 -0.81,-3.99 l -1.37,-6.31 -3.40,0 z m 29.59,0 0,2.71 3.40,0 0,17.90 3.28,0 0,-17.90 3.40,0 c 0,0 .00,-2.71 -0.09,-2.71 l -9.99,0 z m -53.49,5.12 8.90,5.18 -8.90,5.09 0,-10.28 z m 89.40,.09 c -1.7,0 -2.89,.59 -3.59,1.59 -0.69,.99 -0.99,2.60 -0.99,4.90 l 0,2.59 c 0,2.2 .30,3.90 .99,4.90 .7,1.1 1.8,1.59 3.5,1.59 1.4,0 2.38,-0.3 3.18,-1 .7,-0.7 1.09,-1.69 1.09,-3.09 l 0,-0.5 -2.90,-0.21 c 0,1 -0.08,1.6 -0.28,2 -0.1,.4 -0.5,.62 -1,.62 -0.3,0 -0.61,-0.11 -0.81,-0.31 -0.2,-0.3 -0.30,-0.59 -0.40,-1.09 -0.1,-0.5 -0.09,-1.21 -0.09,-2.21 l 0,-0.78 5.71,-0.09 0,-2.62 c 0,-1.6 -0.10,-2.78 -0.40,-3.68 -0.2,-0.89 -0.71,-1.59 -1.31,-1.99 -0.7,-0.4 -1.48,-0.59 -2.68,-0.59 z m -50.49,.09 c -1.09,0 -2.01,.18 -2.71,.68 -0.7,.4 -1.2,1.12 -1.49,2.12 -0.3,1 -0.5,2.27 -0.5,3.87 l 0,2.21 c 0,1.5 .10,2.78 .40,3.78 .2,.9 .70,1.62 1.40,2.12 .69,.5 1.71,.68 2.81,.78 1.19,0 2.08,-0.28 2.78,-0.68 .69,-0.4 1.09,-1.09 1.49,-2.09 .39,-1 .49,-2.30 .49,-3.90 l 0,-2.21 c 0,-1.6 -0.2,-2.87 -0.49,-3.87 -0.3,-0.89 -0.8,-1.62 -1.49,-2.12 -0.7,-0.5 -1.58,-0.68 -2.68,-0.68 z m 12.18,.09 0,11.90 c -0.1,.3 -0.29,.48 -0.59,.68 -0.2,.2 -0.51,.31 -0.81,.31 -0.3,0 -0.58,-0.10 -0.68,-0.40 -0.1,-0.3 -0.18,-0.70 -0.18,-1.40 l 0,-10.99 -3.40,0 0,11.21 c 0,1.4 .18,2.39 .68,3.09 .49,.7 1.21,1 2.21,1 1.4,0 2.48,-0.69 3.18,-2.09 l .09,0 .31,1.78 2.59,0 0,-14.99 c 0,0 -3.40,.00 -3.40,-0.09 z m 17.31,0 0,11.90 c -0.1,.3 -0.29,.48 -0.59,.68 -0.2,.2 -0.51,.31 -0.81,.31 -0.3,0 -0.58,-0.10 -0.68,-0.40 -0.1,-0.3 -0.21,-0.70 -0.21,-1.40 l 0,-10.99 -3.40,0 0,11.21 c 0,1.4 .21,2.39 .71,3.09 .5,.7 1.18,1 2.18,1 1.39,0 2.51,-0.69 3.21,-2.09 l .09,0 .28,1.78 2.62,0 0,-14.99 c 0,0 -3.40,.00 -3.40,-0.09 z m 20.90,2.09 c .4,0 .58,.11 .78,.31 .2,.3 .30,.59 .40,1.09 .1,.5 .09,1.21 .09,2.21 l 0,1.09 -2.5,0 0,-1.09 c 0,-1 -0.00,-1.71 .09,-2.21 0,-0.4 .11,-0.8 .31,-1 .2,-0.3 .51,-0.40 .81,-0.40 z m -50.49,.12 c .5,0 .8,.18 1,.68 .19,.5 .28,1.30 .28,2.40 l 0,4.68 c 0,1.1 -0.08,1.90 -0.28,2.40 -0.2,.5 -0.5,.68 -1,.68 -0.5,0 -0.79,-0.18 -0.99,-0.68 -0.2,-0.5 -0.31,-1.30 -0.31,-2.40 l 0,-4.68 c 0,-1.1 .11,-1.90 .31,-2.40 .2,-0.5 .49,-0.68 .99,-0.68 z m 39.68,.09 c .3,0 .61,.10 .81,.40 .2,.3 .27,.67 .37,1.37 .1,.6 .12,1.51 .12,2.71 l .09,1.90 c 0,1.1 .00,1.99 -0.09,2.59 -0.1,.6 -0.19,1.08 -0.49,1.28 -0.2,.3 -0.50,.40 -0.90,.40 -0.3,0 -0.51,-0.08 -0.81,-0.18 -0.2,-0.1 -0.39,-0.29 -0.59,-0.59 l 0,-8.5 c .1,-0.4 .29,-0.7 .59,-1 .3,-0.3 .60,-0.40 .90,-0.40 z" id="ytp-id-14"></path></svg></a>'),void 0!==t.author_thumbnail)&&void 0!==t.author_url&&a.find(".fp-youtube-wrap").prepend('<a class="fp-youtube-channel-thumbnail" target="_blank" href="'+t.author_url+'" title="'+t.author_name+'"><img src="'+t.author_thumbnail+'" /></a>')):(a.removeClass("is-youtube"),a.removeClass("is-youtube-nl"),a.removeClass("is-youtube-standard"),a.removeClass("is-youtube-reduced"),a.find(".fp-youtube-wrap").remove(),a.find(".fp-youtube-logo").remove())}),a.on("click",".fp-youtube-title, .fp-youtube-logo",function(e){var o=t.video.time;0<o&&(o=flowplayer(0).video.sources[0].src+"&t="+parseInt(o)+"s",jQuery(this).attr("href",o))})});
     1function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}if("undefined"!=typeof fv_flowplayer_conf){var FVAbrController,parseIOSVersion=function(e){e=/iP(ad|hone)(; CPU)? OS (\d+_\d)/.exec(e);return e&&1<e.length?parseFloat(e[e.length-1].replace("_","."),10):0};try{"object"==_typeof(window.localStorage)&&void 0!==window.localStorage.volume&&delete fv_flowplayer_conf.volume}catch(e){}flowplayer.conf=fv_flowplayer_conf,flowplayer.conf.embed=!1,flowplayer.conf.share=!1,flowplayer.conf.analytics=!1,void 0!==fv_flowplayer_conf.disable_localstorage&&(flowplayer.conf.storage={});try{flowplayer.conf.key=atob(flowplayer.conf.key)}catch(e){}!flowplayer.support.android&&flowplayer.conf.dacast_hlsjs&&((FVAbrController=function(e){this.hls=e,this.nextAutoLevel=3}).prototype.nextAutoLevel=function(e){this.nextAutoLevel=e},FVAbrController.prototype.destroy=function(){},flowplayer.conf.hlsjs={startLevel:-1,abrController:FVAbrController}),flowplayer.support.iOS&&flowplayer.support.iOS.chrome&&0==flowplayer.support.iOS.version&&(flowplayer.support.iOS.version=parseIOSVersion(navigator.userAgent)),flowplayer.conf.hlsjs.use_for_safari&&(flowplayer.support.iOS&&13<=parseInt(flowplayer.support.iOS.version)||!flowplayer.support.iOS&&flowplayer.support.browser.safari&&8<=parseInt(flowplayer.support.browser.version))&&(flowplayer.conf.hlsjs.safari=!0),flowplayer.support.fvmobile=!(flowplayer.support.firstframe&&!flowplayer.support.iOS&&!flowplayer.support.android);var fls=flowplayer.support;flowplayer.conf.mobile_native_fullscreen&&"ontouchstart"in window&&fls.fvmobile&&(flowplayer.conf.native_fullscreen=!0),"ontouchstart"in window&&(fls.android&&fls.android.version<4.4&&!(fls.browser.chrome&&54<fls.browser.version)&&(flowplayer.conf.native_fullscreen=!0),fls.iOS)&&(fv_player_in_iframe()||fls.iOS.version<7)&&(flowplayer.conf.native_fullscreen=!0)}"undefined"!=typeof fv_flowplayer_translations&&(flowplayer.defaults.errors=fv_flowplayer_translations);var fv_player_did_autoplay=!1;function fv_player_videos_parse(e,o){try{var a=JSON.parse(e)}catch(e){return!1}var n;jQuery(a.sources).each(function(e,t){a.sources[e].src=t.src.replace(/(\?[a-z]+=){random}/,"$1"+Math.random())}),flowplayer.support.browser.safari&&(n=[],jQuery(a.sources).each(function(e,t){"video/webm"!=t.type&&n.push(t)}),0<n.length)&&(a.sources=n);var r,e=new RegExp("[\\?&]fv_flowplayer_mobile=([^&#]*)").exec(location.search);return!(null!=e&&"yes"==e[1]||jQuery(window).width()<=480||jQuery(window).height()<=480)||null!=e&&"no"==e[1]||(r=!1,jQuery(a.sources).each(function(e,t){if(!t)return!1;t.mobile&&(a.sources[e]=a.sources[0],a.sources[0]=t,r=!0),r&&jQuery(o).after('<p class="fv-flowplayer-mobile-switch">'+fv_flowplayer_translations.mobile_browser_detected_1+' <a href="'+document.URL+'?fv_flowplayer_mobile=no">'+fv_flowplayer_translations.mobile_browser_detected_2+"</a>.</p>")})),o.trigger("fv_player_videos_parse",a),a}function fv_player_in_iframe(){try{return window.self!==window.top}catch(e){return!0}}function fv_escape_attr(e){var t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};return e.replace(/[&<>"']/g,function(e){return t[e]})}function fv_player_preload(){function e(){jQuery(".flowplayer.fp-is-embed").each(function(){var e=jQuery(this);e.hasClass("has-chapters")||e.hasClass("has-transcript")||0!=jQuery(".fp-playlist-external[rel="+e.attr("id")+"]").length||e.height(jQuery(window).height())})}if(flowplayer.support.touch&&(jQuery(".fp-playlist-external.fp-playlist-horizontal.fv-playlist-design-2017").addClass("visible-captions"),jQuery(".fp-playlist-external.fp-playlist-vertical.fv-playlist-design-2017").addClass("visible-captions")),flowplayer(function(n,r){localStorage.flowplayerTestStorage&&delete localStorage.flowplayerTestStorage;var e,t,o,i=(r=jQuery(r)).find(".fp-player"),l=!1,a=n.conf.splash,s=(r.hasClass("fixed-controls")&&r.find(".fp-controls").on("click",function(e){n.loading||n.ready||(e.preventDefault(),e.stopPropagation(),n.load())}),0==r.data("volume")&&r.hasClass("no-controlbar")&&r.find(".fp-volume").remove(),jQuery(".fp-playlist-external[rel="+r.attr("id")+"]")),f=((!n.conf.playlist||0==n.conf.playlist.length)&&s.length&&0<s.find("a[data-item]").length?(t=[],s.find("a[data-item]").each(function(){(e=fv_player_videos_parse(jQuery(this).attr("data-item"),r))?t.push(e):jQuery(this).remove()}),n.conf.playlist=t,n.conf.clip=t[0]):n.conf.clip||(n.conf.clip=fv_player_videos_parse(jQuery(r).attr("data-item"),r)),jQuery("a",s).on("click",function(e){e.preventDefault(),l=!0;var e=jQuery(this),t=jQuery(".fp-playlist-external[rel="+r.attr("id")+"]"),t=jQuery("a",t).index(this),o=e.prev("a"),a=e.data("item");if(e.closest(".fv-playlist-draggable.is-dragging").length)return!1;if(location.href.match(/wp-admin/)&&0<e.parents(".fv-player-editor-preview").length)return fv_flowplayer_conf.current_video_to_edit=t,e.parents(".fv-player-custom-video").find(".edit-video .fv-player-editor-button").trigger("click"),!1;if(o.length&&e.is(":visible")&&!o.is(":visible"))return o.trigger("click"),!1;if(!jQuery("#"+e.parent().attr("rel")).hasClass("dynamic-playlist")){if(fv_player_playlist_active(jQuery(".fp-playlist-external[rel="+r.attr("id")+"]"),this),n){if(n.error&&(n.pause(),n.error=n.loading=!1,r.removeClass("is-error"),r.find(".fp-message.fp-shown").remove()),!n.video||n.video.index==t)return;n.play(t)}o=(o=a.splash)||e.find("img").attr("src");u(r,i,a,o),r[0].getBoundingClientRect().bottom-100<0&&jQuery("html, body").animate({scrollTop:jQuery(r).offset().top-100},300)}}),jQuery("[rel="+r.attr("id")+"]")),p=!1,c=r.find(".fp-splash"),d=r.find(".fv-fp-splash-text");function u(e,t,o,a){e=e.find("img.fp-splash");a?(0==e.length&&(e=jQuery('<img class="fp-splash" />'),t.prepend(e)),e.attr("alt",o.fv_title?fv_escape_attr(o.fv_title):"video"),e.removeAttr("srcset"),e.attr("src",a)):e.length&&e.remove()}n.bind("load",function(e,t,o){var a;t.conf.playlist.length&&(o.type.match(/^audio/)&&!l&&(a=(a=(o=(t=f.find("a").eq(o.index)).data("item")).splash)||t.find("img").attr("src"),u(r,i,o,a)),l=!1)}),n.bind("ready",function(e,t,o){setTimeout(function(){var e;-1<o.index&&0<f.length&&(e=jQuery("a",f).eq(o.index),fv_player_playlist_active(f,e),p=e.find(".fvp-progress"))},100),c=r.find(".fp-splash"),o.is_audio_stream||o.type.match(/^audio/)||(window.fv_player_pro&&window.fv_player_pro.autoplay_scroll||r.data("fvautoplay")||!a||"application/x-mpegurl"==t.video.type?t.one("progress",function(){c.remove(),d.remove()}):(c.remove(),d.remove()))}),n.bind("unload",function(){jQuery(".fp-playlist-external .now-playing").remove(),jQuery(".fp-playlist-external a").removeClass("is-active");var e=i.find("iframe.fp-engine");e.length?(e.after(d),e.after(c)):(i.prepend(d),i.prepend(c)),p=!1}),n.bind("progress",function(e,t,o){p.length&&t.playlist_thumbnail_progress&&t.playlist_thumbnail_progress(p,t.video,o)}),n.bind("error-subtitles",function(){console.log("error-subtitles"),fv_player_notice(r,fv_flowplayer_translations[8],2e3)}),(s=jQuery(r).parent().find("div.fp-playlist-vertical[rel="+jQuery(r).attr("id")+"]")).length&&((o=function(){var e=s.hasClass("fp-playlist-only-captions")?"height":"max-height";s.parents(".fp-playlist-text-wrapper").hasClass("is-fv-narrow")&&(e="max-height"),s.css(e,(()=>{var e=r.height();return e=0==e?r.css("max-height"):e})()),"max-height"==e&&s.css("height","auto")})(),jQuery(window).on("resize tabsactivate",function(){setTimeout(o,0)})),n.show_status=function(e){var o="";["loading","ready","playing","paused","seeking"].every(function(e,t){return n[e]&&(o+=" "+e),!0}),console.log("FV Player Status ("+e+")",o)},window.fv_player_loaded||(window.fv_player_loaded=!0,setTimeout(function(){jQuery(document).trigger("fv_player_loaded");var e=new CustomEvent("fv_player_loaded",[]);document.dispatchEvent(e)},100)),setTimeout(function(){r.trigger("fv_player_loaded")},10),r.data("error")&&(n.message(r.data("error")),r.find(".fp-controls").remove(),r.find(".fp-header").css("opacity",1).show(),n.conf.clip={sources:[{src:!1,type:"video/mp4"}]},n.on("load",function(e){e.preventDefault(),e.stopPropagation()}))}),window.self==window.top||location.href.match(/fv_player_preview/)||(e(),jQuery(window.self).on("resize",e)),"undefined"!=typeof fv_flowplayer_playlists)for(var t in fv_flowplayer_playlists)fv_flowplayer_playlists.hasOwnProperty(t)&&jQuery("#"+t).flowplayer({playlist:fv_flowplayer_playlists[t]});fv_player_load(),fv_video_link_autoplay(),jQuery(document).ajaxComplete(function(){fv_player_load()}),jQuery(window).on("hashchange",fv_video_link_autoplay)}function fv_player_load(i){i&&1<i.lenght&&console.log("FV Player: Can't use fv_player_load with more than a single forced element!");var l=!1;if((i||jQuery(".flowplayer")).each(function(e,t){var o=jQuery(t),t=o.data("flowplayer");if(t)i&&(l=t);else{i&&(o.find(".fp-preload, .fvfp_admin_error").remove(),o.attr("data-item-lazy")?(o.attr("data-item",o.attr("data-item-lazy")),o.removeAttr("item-lazy")):(a=jQuery("[rel="+o.attr("id")+"]"))&&a.find("a[data-item-lazy]").each(function(e,t){(t=jQuery(t)).attr("data-item",t.attr("data-item-lazy")),t.removeAttr("data-item-lazy")}));var a,n,t=!1;if(o.attr("data-item"))t={clip:fv_player_videos_parse(o.attr("data-item"),o)};else if(a=jQuery("[rel="+o.attr("id")+"]")){if(0==a.find("a[data-item]").length)return;var r=[];a.find("a[data-item]").each(function(){(n=fv_player_videos_parse(jQuery(this).attr("data-item"),o))?r.push(n):jQuery(this).remove()}),t={playlist:r}}t&&(t=flowplayer.extend(t,o.data()),l=flowplayer(o[0],t),o.data("freedomplayer",l),o.data("flowplayer",l))}}),jQuery(".fv-playlist-slider-wrapper").each(function(){var e=jQuery(this).find("a:visible");(e=0===e.length?jQuery(this).find("a"):e).length&&(e=e.outerWidth()*e.length,jQuery(this).find(".fp-playlist-external").attr("style","width: "+e+"px; max-width: "+e+"px !important"))}),void 0!==jQuery().tabs&&(jQuery("body").removeClass("fv_flowplayer_tabs_hide"),jQuery(".fv_flowplayer_tabs_content").tabs()),i&&l)return l}function fv_player_playlist_active(e,t){e&&(jQuery("a",e).removeClass("is-active"),jQuery(".now-playing").remove());var o,e=jQuery(e),t=jQuery(t),a=!1,n=(t.addClass("is-active"),e.hasClass("fv-playlist-design-2014"));(n&&0==t.find("h4").length||!n)&&0==t.find(".now-playing").length&&t.prepend('<strong class="now-playing"><span>'+fv_flowplayer_translations.playlist_current+"</span></strong>"),e.parent().find(".flowplayer").length||(a=!0),(e.hasClass("fp-playlist-vertical")||e.hasClass("fp-playlist-horizontal")&&e.hasClass("is-audio"))&&!(e=>{var t=e.getBoundingClientRect(),o=t.top,a=o+t.height,e=e.parentNode;do{if(t=e.getBoundingClientRect(),a<=t.bottom==!1)return;if(o<=t.top)return;e=e.parentNode}while(e!=document.body);return a<=document.documentElement.clientHeight})(t.get(0))?(o=a?e.parent():e).animate({scrollTop:o.scrollTop()+(t.position().top-o.position().top)},750):e.hasClass("fp-playlist-horizontal")&&!(e=>{var t=e.getBoundingClientRect(),o=t.left,a=o+t.width,e=e.parentNode;do{if(t=e.getBoundingClientRect(),a<=t.right==!1)return;if(o<=t.left)return;e=e.parentNode}while(e!=document.body);return a<=document.documentElement.clientWidth})(t.get(0))&&(o=a?e.parent():e).animate({scrollLeft:o.scrollLeft()+(t.position().left-o.position().left)},750)}function fv_parse_sharelink(e){var t,o="fvp_";return(e=e.replace("https?://[^./].","")).match(/(youtube.com)/)?o+e.match(/(?:v=)([A-Za-z0-9_-]*)/)[1]:e.match(/(vimeo.com)|(youtu.be)/)?o+e.match(/(?:\/)([^/]*$)/)[1]:(t=e.match(/(?:\/)([^/]*$)/))?o+t[1].match(/^[^.]*/)[0]:o+e}function fv_player_get_video_link_hash(e){var t=fv_parse_sharelink((void 0!==e.video.sources_original&&void 0!==e.video.sources_original[0]?e.video.sources_original:e.video.sources)[0].src);return t=void 0!==e.video.id?fv_parse_sharelink(e.video.id.toString()):t}function fv_player_time_hms(e){var t,o,a;return isNaN(e)?NaN:(t=parseInt(e,10),o=Math.floor(t/3600),a=Math.floor(t/60)%60,e=t%60,o?o+="h":o="",o&&a<10?a="0"+a+"m":a?a+="m":a="",(o||a)&&e<10&&(e="0"+e),o+a+(e+="s"))}function fv_player_time_hms_ms(e){var t;return isNaN(e)?NaN:(t=void 0!==(t=((e=parseFloat(e).toFixed(3))+"").split("."))[1]&&0<t[1]?t[1]+"ms":"",fv_player_time_hms(e)+t)}function fv_player_time_seconds(e,t){var o;return e?(o=0,e.match(/(\d+[a-z]{1,2})/g).forEach(function(e){e.endsWith("h")?o+=3600*parseInt(e):e.endsWith("m")?o+=60*parseInt(e):e.endsWith("s")&&!e.endsWith("ms")?o+=parseInt(e):e.endsWith("ms")&&parseInt(e)&&(o+=parseInt(e)/1e3)}),t?Math.min(o,t):o):-1}function fv_autoplay_init(e,o,t,a,n){var r,i,l;!fv_autoplay_exec_in_progress&&(fv_autoplay_exec_in_progress=!0,r=e.data("flowplayer"))&&(i=fv_player_time_seconds(t),n=fv_player_time_seconds(n),a=fv_player_time_seconds(a),e.parent().hasClass("ui-tabs-panel")&&(t=e.parent().attr("id"),jQuery("[aria-controls="+t+"] a").trigger("click")),e.find(".fp-player").attr("class").match(/\bis-sticky/)||(l=jQuery(e).offset().top-(jQuery(window).height()-jQuery(e).height())/2,window.scrollTo(0,l),r.one("ready",function(){window.scrollTo(0,l)})),e.hasClass("lightboxed")&&setTimeout(function(){jQuery("[href=\\#"+e.attr("id")+"]").trigger("click")},0),o?fv_player_video_link_autoplay_can(r,parseInt(o))?r.ready?fv_player_video_link_seek(r,i,n,a):(r.play(parseInt(o)),r.one("ready",function(){fv_player_video_link_seek(r,i,n,a)})):flowplayer.support.inlineVideo&&(r.one(r.playing?"progress":"ready",function(e,t){t.play(parseInt(o)),t.one("ready",function(){fv_player_video_link_seek(t,i,n,a)})}),e.find(".fp-splash").attr("src",jQuery("[rel="+e.attr("id")+"] div").eq(o).find("img").attr("src")).removeAttr("srcset"),fv_player_in_iframe()||fv_player_notice(e,fv_flowplayer_translations[11],"progress")):r.ready?fv_player_video_link_seek(r,i,n,a):(fv_player_video_link_autoplay_can(r)?r.load():fv_player_in_iframe()||fv_player_notice(e,fv_flowplayer_translations[11],"progress"),r.one("ready",function(){fv_player_video_link_seek(r,i,n,a)})))}function fv_player_video_link_seek(e,t,o,a){fv_autoplay_exec_in_progress=!1;var n=setInterval(function(){e.loading||((0<t||0<e.video.time)&&(e.custom_seek?e.custom_seek(t):e.seek(t)),o&&a&&e.trigger("link-ab",[e,a,o]),clearInterval(n))},10)}jQuery(document).ready(function(){var e=0,t=setInterval(function(){++e<1e3&&(window.fv_vast_conf&&!window.FV_Player_IMA||window.fv_player_pro&&!window.FV_Flowplayer_Pro&&!window.FV_Player_Pro&&document.getElementById("fv_player_pro")!=fv_player_pro||window.fv_player_user_playlists&&!window.fv_player_user_playlists.is_loaded||window.FV_Player_JS_Loader_scripts_total&&window.FV_Player_JS_Loader_scripts_loaded<window.FV_Player_JS_Loader_scripts_total)||(clearInterval(t),fv_player_preload())},10)});var fv_autoplay_exec_in_progress=!1;function fv_video_link_autoplay(){var e,i,l,s,f,p=!0;"undefined"!=typeof flowplayer&&"undefined"!=typeof fv_flowplayer_conf&&fv_flowplayer_conf.video_hash_links&&window.location.hash.substring(1).length&&(e=window.location.hash.match(/\?t=/)?window.location.hash.substring(1).split("?t="):window.location.hash.substring(1).split(","),i=e[0],l=void 0!==e[1]&&e[1],s=void 0!==e[2]&&e[2],f=void 0!==e[3]&&e[3],jQuery(".flowplayer").each(function(){var e=jQuery(this),t=(e=e.hasClass("lightbox-starter")?jQuery(e.attr("href")):e).data("flowplayer");if(t){var o,a=void 0!==t.conf.playlist&&1<t.conf.playlist.length?t.conf.playlist:[t.conf.clip];for(o in a)if(a.hasOwnProperty(o)){var n=void 0!==a[o].id&&fv_parse_sharelink(a[o].id.toString());if(i===n&&p)return 0<t.conf.playlist.length?t.conf.playlist[o].prevent_position_restore=!0:t.conf.clip.prevent_position_restore=!0,console.log("fv_autoplay_exec for "+n,o),fv_autoplay_init(e,parseInt(o),l,s,f),p=!1}for(o in a)if(a.hasOwnProperty(o)){var r=fv_parse_sharelink(a[o].sources[0].src);if(i===r&&p)return 0<t.conf.playlist.length?t.conf.playlist[o].prevent_position_restore=!0:t.conf.clip.prevent_position_restore=!0,console.log("fv_autoplay_exec for "+r,o),fv_autoplay_init(e,parseInt(o),l,s,f),p=!1}}}))}function fv_player_video_link_autoplay_can(e,t){return!("video/youtube"==(t?e.conf.playlist[t]:e.conf.clip).sources[0].type&&(flowplayer.support.iOS||flowplayer.support.android)||fv_player_in_iframe())&&flowplayer.support.firstframe}function fv_player_notice(e,t,o){var a=jQuery(".fvfp-notices",e),n=(a.length||(a=jQuery('<div class="fvfp-notices">'),jQuery(".fp-player",e).append(a)),jQuery('<div class="fvfp-notice-content">'+t+"</div></div>"));return a.append(n),"string"==typeof o&&jQuery(e).data("flowplayer").on(o,function(){n.fadeOut(100,function(){jQuery(this).remove()})}),0<o&&setTimeout(function(){n.fadeOut(2e3,function(){jQuery(this).remove()})},o),n}var fv_player_clipboard=function(e,t,o){if(navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(function(){t()},function(){void 0!==o&&o()});else try{fv_player_doCopy(e)?t():void 0!==o&&o()}catch(e){void 0!==o&&o(e)}};function fv_player_doCopy(e){var t,o,a,n=document.createElement("textarea"),e=(n.value=e,n.style.opacity=0,n.style.position="absolute",n.setAttribute("readonly",!0),document.body.appendChild(n),0<document.getSelection().rangeCount&&document.getSelection().getRangeAt(0));navigator.userAgent.match(/ipad|ipod|iphone/i)?(t=n.contentEditable,n.contentEditable=!0,(o=document.createRange()).selectNodeContents(n),(a=window.getSelection()).removeAllRanges(),a.addRange(o),n.setSelectionRange(0,999999),n.contentEditable=t):n.select();try{var r=document.execCommand("copy");return e&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(e)),document.body.removeChild(n),r}catch(e){throw new Error("Unsuccessfull")}}function fv_player_log(e,t){fv_flowplayer_conf.debug&&"undefined"!=typeof console&&"function"==typeof console.log&&(t?console.log(e,t):console.log(e)),fv_flowplayer_conf.debug&&void 0!==window.location.search&&window.location.search.match(/fvfp/)&&jQuery("body").prepend(e+"<br />")}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function is_ga_4(e){return!(void 0===e.conf.fvanalytics||!e.conf.fvanalytics||!e.conf.fvanalytics.startsWith("G-"))}function fv_player_track(e,t,o,a,n,r){if("object"!=_typeof(e)&&(r=n,n=a,a=o,o=t,t=e,e=!1),t=t||flowplayer.conf.fvanalytics,void 0===a&&(a="Unknown engine"),/fv_player_track_debug/.test(window.location.href)&&console.log("FV Player Track: "+o+" - "+a+" '"+n+"'",r),"undefined"!=typeof gtag)is_ga_4(e)&&"Video Subtitles"!==o?gtag("event",o,{video_title:n,video_current_time:e.video.time,video_provider:a,video_duration:e.video.duration,value:r||1}):gtag("event",o,{event_category:a,event_label:n,value:r||1});else if(t&&"undefined"!=typeof ga)ga("create",t,"auto",n,{allowLinker:!0}),ga("require","linker"),r?ga("send","event",o,a,n,r):ga("send","event",o,a,n);else if(t&&"undefined"!=typeof _gat){e=_gat._getTracker(t);if(void 0===e._setAllowLinker)return;e._setAllowLinker(!0),r?e._trackEvent(o,a,n,r):e._trackEvent(o,a,n)}flowplayer.conf.matomo_domain&&flowplayer.conf.matomo_site_id&&"undefined"!=typeof _paq&&(r?_paq.push(["trackEvent",o,a,n,r]):_paq.push(["trackEvent",o,a,n]))}function fv_player_track_name(e,t){e=e.attr("title");return(e=(e=e||void 0===t.fv_title?e:t.fv_title)||void 0===t.title?e:t.title)||void 0===t.src||(e=t.src.split("/").slice(-1)[0].replace(/\.(\w{3,4})(\?.*)?$/i,""),t.type.match(/mpegurl/)&&(e=t.src.split("/").slice(-2)[0].replace(/\.(\w{3,4})(\?.*)?$/i,"")+"/"+e)),e}function freedomplayer_playlist_size_check(){jQuery(".fp-playlist-external").each(function(){var e=jQuery(this),t=e.parent().width(),o=e.css("max-width").match(/%/)?e.width():parseInt(e.css("max-width")),o=0<o&&o<t?o:t;900<=e.parent().width()?e.addClass("is-wide"):e.removeClass("is-wide"),(e.hasClass("fp-playlist-polaroid")||e.hasClass("fp-playlist-version-one")||e.hasClass("fp-playlist-version-two"))&&(t=e.hasClass("fp-playlist-version-one")||e.hasClass("fp-playlist-version-two")?200:150,8<(o=Math.floor(o/t))?o=8:o<2&&(o=2),e.css("--fp-playlist-items-per-row",String(o)))})}flowplayer(function(o,r){var n,i,t,l,a,s;function e(){var e;"dash"==o.engine.engineName?((e=l[o.engine.dash.getQualityFor("video")]).qualityIndex!=a&&(a=e.qualityIndex,f(e.qualityIndex,l)),t.match(/dash_debug/)&&p(e.width,e.height,e.bitrate)):"hlsjs-lite"==o.engine.engineName&&(n.currentLevel!=a&&(a=n.currentLevel,f(n.currentLevel,n.levels)),t.match(/hls_debug/))&&(e=n.levels[n.currentLevel])&&p(e.width,e.height,e.bitrate)}function f(e,t){var o,a,n;t[e]&&(o=t[e].height,a=541,n=1e5,jQuery(t).each(function(e,t){720<=t.height&&t.height<1400&&(a=720),t.height<n&&(n=t.height),localStorage.FVPlayerHLSQuality==t.height&&(r.find("a[data-quality]").removeClass("fp-selected fp-color"),r.find("a[data-quality="+e+"]").addClass("fp-selected fp-color"))}),r.find("a[data-quality]").removeClass("is-current"),r.find("a[data-quality="+e+"]").addClass("is-current"),t=1400<=o?"4K":a<=o?"HD":360<=o&&n<o?"SD":"SD",r.find(".fp-qsel").html(t))}function p(e,t,o){s.html("Using "+e+"x"+t+" at "+Math.round(o/1024)+" kbps")}function c(){var o=r.find(".fp-qsel-menu");o.children().each(function(e,t){o.prepend(t)}),o.children().each(function(e,t){var o;/^NaNp/.test(jQuery(t).html())?(o=jQuery(t).html().match(/\((.*?)\)/))&&void 0!==o[1]&&jQuery(t).html(o[1]):jQuery(t).html(jQuery(t).html().replace(/\(.*?\)/,""))}),o.prepend(o.find("a[data-quality=-1]")),o.prepend(o.find("strong"))}r=jQuery(r),void 0===o.conf.disable_localstorage&&(i=o.conf.splash,flowplayer.engine("hlsjs-lite").plugin(function(e){(n=e.hls).on(Hls.Events.ERROR,function(e,t){"mediaError"==t.type&&"fragParsingError"==t.details&&1==t.fatal&&(n.destroy(),o.trigger("error",[o,{code:3}]),setTimeout(function(){r.removeClass("is-seeking"),r.addClass("is-paused")},0))}),flowplayer.support.browser.safari&&n.on(Hls.Events.KEY_LOADED,function(e){"hlsKeyLoaded"==e&&setTimeout(function(){o.loading&&(console.log("FV Player: Safari stuck loading HLS, resuming playback..."),o.resume())},0)});var a=!(!flowplayer.conf.hd_streaming||flowplayer.support.fvmobile)&&720;localStorage.FVPlayerHLSQuality&&(a=localStorage.FVPlayerHLSQuality),(a=0==jQuery(e.root).data("hd_streaming")?!1:a)&&n.on(Hls.Events.MANIFEST_PARSED,function(e,t){var o=!1;jQuery.each(t.levels,function(e,t){t.height==a&&(o=e)}),localStorage.FVPlayerHLSQuality||o||jQuery.each(t.levels,function(e,t){t.height>o&&(o=e)}),o&&(console.log("FV Player: Picked "+t.levels[o].height+"p quality"),n.startLevel=o,n.currentLevel=o)})}),r=jQuery(r),t=document.location.search,localStorage.FVPlayerDashQuality&&(o.conf.dash||(o.conf.dash={}),o.conf.dash.initialVideoQuality="restore"),r.on("click",".fp-qsel-menu a",function(){var e;"hlsjs-lite"==o.engine.engineName&&(-1==(e=jQuery(this).data("quality"))?localStorage.removeItem("FVPlayerHLSQuality"):(e=n.levels[e],localStorage.FVPlayerHLSQuality=e.height))}),0!=r.data("hd_streaming")&&(localStorage.FVPlayerHLSQuality?(o.conf.hlsjs.startLevel=parseInt(localStorage.FVPlayerHLSQuality),o.conf.hlsjs.testBandwidth=!1,o.conf.hlsjs.autoLevelEnabled=!1):flowplayer.conf.hd_streaming&&!flowplayer.support.fvmobile&&(o.conf.hlsjs.startLevel=3,o.conf.hlsjs.testBandwidth=!1,o.conf.hlsjs.autoLevelEnabled=!1)),o.bind("quality",function(e,t,o){"dash"==t.engine.engineName&&(-1==o?localStorage.removeItem("FVPlayerDashQuality"):l[o]&&(localStorage.FVPlayerDashQuality=l[o].height))}),l=[],a=-1,o.bind("ready",function(e,t){var a;r.find(".fp-qsel-menu strong").text(fv_flowplayer_translations.quality),"dash"==t.engine.engineName?(l=t.engine.dash.getBitrateInfoListFor("video"),localStorage.FVPlayerDashQuality&&t.conf.dash.initialVideoQuality&&t.quality(t.conf.dash.initialVideoQuality),c()):"hlsjs-lite"==t.engine.engineName?(i&&(r.addClass("is-loading"),t.loading=!0,t.one("progress",function(){t.loading&&(r.removeClass("is-loading"),t.loading=!1)})),t.video.qualities&&2<t.video.qualities.length&&(a=-1,0!=r.data("hd_streaming")&&(localStorage.FVPlayerHLSQuality?jQuery(t.video.qualities).each(function(e,t){if(t.value==localStorage.FVPlayerHLSQuality)return a=localStorage.FVPlayerHLSQuality,!1}):flowplayer.conf.hd_streaming&&!flowplayer.support.fvmobile&&jQuery(t.video.qualities).each(function(e,t){var o=parseInt(t.label);0<o&&-1==a&&720<=o&&o<=720&&(a=t.value)}),-1<(a=parseInt(a)))&&r.one("progress",function(){setTimeout(function(){t.quality(a)})}),c())):t.video.sources_fvqs&&0<t.video.sources_fvqs.length&&t.video.src.match(/vimeo.*?\.mp4/)&&setTimeout(c,0),r.find("a[data-quality]").removeClass("is-current")}),(t.match(/dash_debug/)||t.match(/hls_debug/))&&(s=jQuery('<div class="fv-debug" style="background: gray; color: white; top: 10%; position: absolute; z-index: 1000">').appendTo(r.find(".fp-player"))),o.bind("ready progress",e),o.bind("quality",function(){setTimeout(e,0)}))}),flowplayer(function(a,s){var n,r,e,t,o,s=jQuery(s),i=flowplayer.bean,l=0,f=0,p=[],c=0,d=("undefined"==typeof ga&&a.conf.fvanalytics&&"undefined"==typeof _gat&&"undefined"==typeof gtag&&(is_ga_4(a)?jQuery.getScript({url:"https://www.googletagmanager.com/gtag/js?id="+a.conf.fvanalytics,cache:!0},function(){window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)},window.gtag("js",new Date),window.gtag("config",a.conf.fvanalytics)}):jQuery.getScript({url:"https://www.google-analytics.com/analytics.js",cache:!0},function(){ga("create",a.conf.fvanalytics,"auto")})),!window._paq&&a.conf.matomo_domain&&a.conf.matomo_site_id&&(e="//"+a.conf.matomo_domain+"/",(o=window._paq=window._paq||[]).push(["setTrackerUrl",e+"matomo.php"]),o.push(["setSiteId",a.conf.matomo_site_id]),t=(o=document).createElement("script"),o=o.getElementsByTagName("script")[0],t.type="text/javascript",t.async=!0,t.src=e+"matomo.js",o.parentNode.insertBefore(t,o)),a.bind("progress",function(e,t,o){if(1<o){var a=t.video,n=a.duration,r=0,i=fv_player_track_name(s,a);if(4<n&&(19*n/20<o?r=4:3*n/4<o?r=3:n/2<o?r=2:n/4<o&&(r=1)),t.live&&(r=0),!s.data("fv_track_"+d[r])){for(var l in d)if(d.hasOwnProperty(l)){if(l==r)break;if(!s.data("fv_track_"+d[l]))return}s.trigger("fv_track_"+d[r].replace(/ /,"_"),[t,i]),s.data("fv_track_"+d[r],!0),fv_player_track(t,!1,"Video "+(s.hasClass("is-cva")?"Ad ":"")+d[r],t.engine.engineName+"/"+a.type,i)}}}).bind("finish ready ",function(e,t){for(var o in d)d.hasOwnProperty(o)&&s.removeData("fv_track_"+d[o]);t=t.video.index||0;c!==t&&(p=[],c=t)}).bind("error",function(e,t,o){setTimeout(function(){var e;t.error&&((e=void 0!==t.video&&void 0!==t.video.src&&t.video)||void 0===t.conf.clip||void 0===t.conf.clip.sources||void 0===t.conf.clip.sources[0]||void 0===t.conf.clip.sources[0].src||(e=t.conf.clip.sources[0]),!(e=fv_player_track_name(s,e))||e.match(/\/\/vimeo.com\/\d/)||is_ga_4(t)||fv_player_track(t,!1,"Video "+(s.hasClass("is-cva")?"Ad ":"")+"error",o.message,e))},100)}),a.bind("load unload",u).bind("progress",function(e,t){t.seeking||(l+=f?+new Date-f:0,f=+new Date),n=n||setTimeout(function(){n=null,u({type:"heartbeat"})},6e5)}).bind("pause",function(){f=0}),a.bind("shutdown",function(){i.off(window,"visibilitychange pagehide",u)}),i.on(window,"visibilitychange pagehide",u),is_ga_4(a)?["Play","25 Percent Played","50  Percent Played","75 Percent Played","100 Percent Played"]:["start","first quartile","second quartile","third quartile","complete"]);function u(e,t,o){"visible"===document.visibilityState&&"load"!==e.type&&"heartbeat"!==e.type||(o=o||a.video,"load"===e.type&&(r=fv_player_track_name(s,o)),l&&(fv_player_track(a,!1,"Video / Seconds played",a.engine.engineName+"/"+a.video.type,r,Math.round(l/1e3)),l=0,n)&&(clearTimeout(n),n=null))}a.get_time_played=function(){return l/1e3};var y=a.loadSubtitles;a.loadSubtitles=function(e){var t;y(e),a.video.subtitles[e]&&(t=fv_player_track_name(s,a.video),e=a.video.subtitles[e].srclang,-1===p.indexOf(e))&&(fv_player_track(a,!1,"Video Subtitles",e,t),p.push(e))}}),flowplayer(function(n,r){var i=(r=jQuery(r)).find(".fp-player"),l=r.hasClass("fp-full"),s=0;function t(){var e=i.width()||r.width(),t=n.video.index||0,o=(900<e?jQuery(".fp-subtitle",r).addClass("is-wide"):jQuery(".fp-subtitle",r).removeClass("is-wide"),e<480+35*s),t=(void 0!==n.fv_timeline_chapters_data&&void 0!==n.fv_timeline_chapters_data[t]&&(o=!0),l||r.toggleClass("fp-full",r.hasClass("has-abloop")||o),""),o=(e<400?t="is-tiny":e<600&&400<=e&&(t="is-small"),r.trigger("fv-player-size",[t]),i),e=((o=r.parent().hasClass("fp-playlist-vertical-wrapper")||r.parent().hasClass("fp-playlist-text-wrapper")?r.parent():o).width()<=560?o.addClass("is-fv-narrow"):o.removeClass("is-fv-narrow"),r.find(".fp-controls")),t=e.parent().width(),o=e.find(".fp-duration, .fp-playbtn"),a=0;o.removeClass("wont-fit"),r.find(".fp-controls").children(":visible:not(.fp-timeline)").each(function(){a+=jQuery(this).outerWidth(!0)}),t<a&&o.addClass("wont-fit")}t();function e(){clearTimeout(f),f=setTimeout(o,a)}var o,a,f;o=t,a=250;window.addEventListener("resize",e),"fonts"in document&&n.one("load",function(){document.fonts.load("1em flowplayer")}),n.on("ready fullscreen fullscreen-exit sticky sticky-exit",function(e){setTimeout(function(){s=r.find(".fp-controls > strong:visible").length+r.find(".fp-controls > .fp-icon:visible").length,t()},0)}),n.on("unload pause finish error",function(){"undefined"!=typeof checker&&clearInterval(checker)})}),jQuery(window).on("resize tabsactivate",freedomplayer_playlist_size_check),jQuery(document).ready(freedomplayer_playlist_size_check),flowplayer(function(t,a){a=jQuery(a),t.setLogoPosition=function(){var e=freedomplayer.support.browser.safari&&parseFloat(freedomplayer.support.browser.version)<14.1||freedomplayer.support.iOS&&parseFloat(freedomplayer.support.iOS.version)<15;t.conf.logo_over_video&&t.video&&t.video.width&&t.video.height&&!e?a.find(".fp-logo").css("--fp-aspect-ratio",(t.video.width/t.video.height).toFixed(2)):a.find(".fp-logo").css("width","100%").css("height","100%")},t.bind("ready",function(e,t,o){t.setLogoPosition(),o.remove_black_bars?a.addClass("remove-black-bars"):a.removeClass("remove-black-bars"),/Chrome/.test(navigator.userAgent)&&54<parseFloat(/Chrome\/(\d\d)/.exec(navigator.userAgent)[1],10)&&(t.video.subtitles?jQuery(a).addClass("chrome55fix-subtitles"):jQuery(a).addClass("chrome55fix"))});var e=a.css("background-image");if(e){if(!(e=e.replace(/url\((['"])?(.*?)\1\)/gi,"$2").split(","))||!e[0].match(/^(https?:)?\/\//))return;var o=new Image,e=(o.src=e[0],o.height/o.width),o=a.height()/a.width();Math.abs(o-e)<.05&&a.css("background-size","cover")}var n=!1;jQuery(t.conf.playlist).each(function(e,t){t.sources[0].type.match(/youtube/)&&(n=!0)}),n&&a.addClass("is-youtube"),t.bind("ready",function(e,t,o){"video/youtube"==o.type?a.addClass("is-youtube"):a.removeClass("is-youtube")})}),(e=>{e(window).on("resize",function(){e("iframe[id][src][height][width]").each(function(){e(this).attr("id").match(/fv_vimeo_/)&&e(this).width()<=e(this).attr("width")&&e(this).height(e(this).width()*e(this).attr("height")/e(this).attr("width"))}),jQuery(".wistia_embed").each(function(){e(this).height(e(this).width()*e(this).data("ratio"))})}).trigger("resize")})(jQuery),jQuery(document).on("tabsactivate",".fv_flowplayer_tabs_content",function(e,t){var o=jQuery(t.oldPanel).find(".flowplayer").data("flowplayer");void 0!==o&&o.pause(),jQuery(".flowplayer",t.newPanel).data("flowplayer").load()}),flowplayer(function(t,a){a=jQuery(a);var e=flowplayer.bean;a.hasClass("is-audio")&&(e.off(a[0],"mouseenter"),e.off(a[0],"mouseleave"),a.removeClass("is-mouseout"),a.addClass("fixed-controls").addClass("is-mouseover"),t.on("error",function(e,t,o){jQuery(".fp-message",a).html(jQuery(".fp-message",a).html().replace(/video/,"audio"))}),a.on("click",function(e){t.ready||(e.preventDefault(),e.stopPropagation(),t.load())}))}),jQuery(document).on("mfpClose",function(){void 0!==jQuery(".flowplayer").data("flowplayer")&&jQuery(".flowplayer").data("flowplayer").unload()}),jQuery(document).on("click",".vc_tta-tab a",function(){var e=jQuery(".flowplayer.is-playing").data("flowplayer");e&&e.pause()}),flowplayer(function(e,t){t=jQuery(t),e.bind("ready",function(){setTimeout(function(){var e=jQuery("video",t);0<e.length&&e.prop("autoplay",!1)},100),t.find("video.fp-engine").addClass("intrinsic-ignore")})}),jQuery(".flowplayer").on("ready",function(e,t){/BB10/.test(navigator.userAgent)&&t.fullscreen()});var fv_flowplayer_safety_resize_arr=Array();function fv_flowplayer_safety_resize(){var t=!1;jQuery(".flowplayer").each(function(){if(jQuery(this).is(":visible")&&!jQuery(this).hasClass("lightboxed")&&!jQuery(this).hasClass("lightbox-starter")&&!jQuery(this).hasClass("is-audio")&&(jQuery(this).width()<30||jQuery(this).height()<20)){t=!0;var e=jQuery(this);while(jQuery(e).width()<30||jQuery(e).width()==jQuery(this).width()){if(0==jQuery(e).parent().length)break;(e=jQuery(e).parent()).hasClass("ld-video")&&(""==e[0].style.height&&e.css("height","auto"),0<parseInt(e.css("padding-bottom")))&&e.css("padding-bottom","0")}jQuery(this).width(jQuery(e).width()),jQuery(this).height(parseInt(jQuery(this).width()*jQuery(this).attr("data-ratio"))),fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")]=e}}),t&&jQuery(window).resize(function(){jQuery(".flowplayer").each(function(){jQuery(this).hasClass("lightboxed")||jQuery(this).hasClass("lightbox-starter")||fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")]&&(jQuery(this).width(fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")].width()),jQuery(this).height(parseInt(jQuery(this).width()*jQuery(this).attr("data-ratio"))))})})}void 0!==flowplayer.conf.safety_resize&&flowplayer.conf.safety_resize&&jQuery(document).ready(function(){setTimeout(function(){fv_flowplayer_safety_resize()},10)});var fv_autoplay_type,fv_player_scroll_autoplay,fv_player_scroll_autoplay_last_winner,fv_player_scroll_int,fv_player_warning,isIE11=!!navigator.userAgent.match(/Trident.*rv[ :]*11\./);function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fv_player_lightbox_bind(){jQuery(".freedomplayer.lightbox-starter").each(function(){var e,t=jQuery(this);(parseInt(t.css("width"))<10||parseInt(t.css("height"))<10)&&((e=t.find(".fp-ratio")).length<1&&(t.append('<div class="fp-ratio"></div>'),e=t.find(".fp-ratio")),e.css("paddingTop",100*t.data("ratio")+"%")),t.find(".fp-preload").remove()})}function fv_flowplayer_mobile_switch(e){var t,o=new RegExp("[\\?&]fv_flowplayer_mobile=([^&#]*)").exec(location.search);!(null!=o&&"yes"==o[1]||jQuery(window).width()<=480||jQuery(window).height()<=480)||null!=o&&"no"==o[1]||(t=!1,jQuery("#wpfp_"+e+" video source").each(function(){jQuery(this).attr("id")!="wpfp_"+e+"_mobile"&&(t=!0,jQuery(this).remove())}),t&&jQuery("#wpfp_"+e).after('<p class="fv-flowplayer-mobile-switch">'+fv_flowplayer_translations.mobile_browser_detected_1+' <a href="'+document.URL+'?fv_flowplayer_mobile=no">'+fv_flowplayer_translations.mobile_browser_detected_2+"</a>.</p>"))}if(isIE11&&(jQuery(document).ready(function(){jQuery(".fp-waiting").hide()}),flowplayer(function(e,t){e.bind("load",function(e){jQuery(e.currentTarget).find(".fp-waiting").show()}).bind("beforeseek",function(e){jQuery(e.currentTarget).find(".fp-waiting").show()}).bind("progress",function(e){jQuery(e.currentTarget).find(".fp-waiting").hide()}).bind("seek",function(e){jQuery(e.currentTarget).find(".fp-waiting").hide()}).bind("fullscreen",function(e){jQuery("#wpadminbar").hide()}).bind("fullscreen-exit",function(e){jQuery("#wpadminbar").show()})})),flowplayer.support.browser&&flowplayer.support.browser.msie&&parseInt(flowplayer.support.browser.version,10)<9&&jQuery(".flowplayer").each(function(){jQuery(this).css("width",jQuery(this).css("max-width")),jQuery(this).css("height",jQuery(this).css("max-height"))}),location.href.match(/elementor-preview=/)?(console.log("FV Player: Elementor editor is active"),setInterval(fv_player_load,1e3)):location.href.match(/brizy-edit-iframe/)?(console.log("FV Player: Brizy editor is active"),setInterval(fv_player_load,1e3)):"blob:"===location.protocol&&setTimeout(function(){jQuery("body.block-editor-iframe__body").length&&(console.log("FV Player: Site Editor is active"),setInterval(fv_player_load,1e3))},0),window.DELEGATE_NAMES&&flowplayer(function(e,t){fv_player_notice(t,fv_flowplayer_translations.chrome_extension_disable_html5_autoplay)}),flowplayer(function(e,t){flowplayer.bean.off(t,"contextmenu")}),location.href.match(/elementor-preview=/)&&(console.log("FV Player: Elementor editor is active"),setInterval(fv_player_load,1e3)),flowplayer(function(o,a){void 0!==(a=jQuery(a)).data("fv-embed")&&a.data("fv-embed")&&"false"!=a.data("fv-embed")&&(o.embedCode=function(){o.video;var e=a.width(),t=a.height();return t+=2,(a.hasClass("has-chapters")||a.hasClass("has-transcript"))&&(t+=300),0<jQuery(".fp-playlist-external[rel="+a.attr("id")+"]").length&&(t+=170),'<iframe src="'+(a.data("fv-embed")+"#"+fv_player_get_video_link_hash(o))+'" allowfullscreen allow="autoplay" width="'+parseInt(e)+'" height="'+parseInt(t)+'" frameborder="0" style="max-width:100%"></iframe>'})}),jQuery(document).on("click",".flowplayer .embed-code-toggle",function(){var e,t,o=jQuery(this).closest(".flowplayer");return"undefined"!=typeof fv_player_editor_conf?fv_player_notice(o,fv_player_editor_translations.embed_notice,2e3):(e=jQuery(this),"function"==typeof(o=(t=e.parents(".flowplayer")).data("flowplayer")).embedCode&&t.find(".embed-code textarea").val(o.embedCode()),fv_player_clipboard(t.find(".embed-code textarea").val(),function(){fv_player_notice(t,fv_flowplayer_translations.embed_copied,2e3)},function(){e.parents(".fvp-share-bar").find(".embed-code").toggle(),e.parents(".fvp-share-bar").toggleClass("visible")})),!1}),flowplayer(function(a,n){var r,i,l="fullscreen",s="fullscreen-exit",f=flowplayer.support.fullscreen,p=window,c=flowplayer.bean;a.fullscreen=function(e){if(!a.disabled&&0!=jQuery(n).data("fullscreen")){(e=void 0===e?!a.isFullscreen:e)&&(i=p.scrollY,r=p.scrollX,console.log("scrollY",i));var t,o=d.find("video.fp-engine",n)[0];if(!(flowplayer.conf.native_fullscreen&&o&&flowplayer.support.iOS))return t=jQuery(n).find(".fp-player")[0],flowplayer.support.browser.safari&&flowplayer.support.fullscreen&&e&&document.fullscreenElement&&(f=!1,document.addEventListener("fullscreenchange",function(e){flowplayer(".is-fullscreen").trigger(s)})),f?e?["requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].forEach(function(e){"function"==typeof t[e]&&(t[e]({navigationUI:"hide"}),"webkitRequestFullScreen"!==e||document.webkitFullscreenElement||t[e]())}):["exitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].forEach(function(e){"function"==typeof document[e]&&document[e]()}):a.trigger(e?l:s,[a]),a;a.trigger(l,[a]),c.on(document,"webkitfullscreenchange.nativefullscreen",function(){document.webkitFullscreenElement===o&&(c.off(document,".nativefullscreen"),c.on(document,"webkitfullscreenchange.nativefullscreen",function(){document.webkitFullscreenElement||(c.off(document,".nativefullscreen"),a.trigger(s,[a]))}))});try{o.webkitEnterFullScreen()}catch(e){a.pause(),d.find(".fp-play",n)[0].style.opacity=1,jQuery(n).on("touchstart",function(e){return d.find(".fp-play",n)[0].style.opacity="",a.resume(),o.webkitEnterFullScreen(),!1})}c.one(o,"webkitendfullscreen",function(){c.off(document,"fullscreenchange.nativefullscreen"),a.trigger(s,[a]),d.prop(o,"controls",!0),d.prop(o,"controls",!1)})}};var e,d=flowplayer.common;function o(e){var t=n;while(t){try{var o=getComputedStyle(t);o.transform&&(t.style.transform=e?"none":""),o.zIndex&&(t.style.zIndex=e?"auto":"")}catch(e){}t=t.parentNode}}a.on("mousedown.fs",function(){+new Date-e<150&&a.ready&&a.fullscreen(),e=+new Date}),a.on(l,function(){d.addClass(n,"is-fullscreen"),d.toggleClass(n,"fp-minimal-fullscreen",d.hasClass(n,"fp-minimal")),d.removeClass(n,"fp-minimal"),d.addClass(document.body,"has-fv-player-fullscreen"),f&&!document.fullscreenElement||(d.css(n,"position","fixed"),o(!0)),a.isFullscreen=!0}).on(s,function(){d.toggleClass(n,"fp-minimal",d.hasClass(n,"fp-minimal-fullscreen")),d.removeClass(n,"fp-minimal-fullscreen");var e,t=f&&jQuery(n).find(".fp-player")[0]==document.fullscreenElement;t||"html5"!==a.engine||(e=n.css("opacity")||"",d.css(n,"opacity",0)),t||(d.css(n,"position",""),o(!1)),d.removeClass(n,"is-fullscreen"),d.removeClass(document.body,"has-fv-player-fullscreen"),t||"html5"!==a.engine||setTimeout(function(){n.css("opacity",e)}),a.isFullscreen=!1,"fvyoutube"!=a.engine.engineName&&p.scrollTo(r,i)}).on("unload",function(){a.isFullscreen&&a.fullscreen()}),a.on("shutdown",function(){FULL_PLAYER=null,d.removeNode(wrapper)}),flowplayer.support.iOS&&n.querySelector(".fp-player").addEventListener("touchstart",function(e){a.isFullscreen&&e.pageX&&(16<e.pageX&&e.pageX<window.innerWidth-16||e.preventDefault())})}),flowplayer(function(t,o){o=jQuery(o);var e,a=jQuery(".fp-playlist-external[rel="+o.attr("id")+"]"),a=a.hasClass("fp-playlist-season")||a.hasClass("fp-playlist-polaroid"),n=1==o.data("fsforce");function r(){return!!(window.innerWidth>window.innerHeight&&window.screen&&window.screen.width&&26<window.screen.width-window.innerHeight)}function i(){t.isFullscreen&&window.innerWidth>window.innerHeight&&r()&&!e&&(fv_player_notice(o,fv_flowplayer_translations.iphone_swipe_up_location_bar,"resize-good"),e=setTimeout(function(){e=!1,t.trigger("resize-good")},5e3))}flowplayer.conf.wpadmin&&!a||jQuery(o).hasClass("is-audio")||0==o.data("fullscreen")||0==o.data("fsforce")||((flowplayer.conf.mobile_force_fullscreen&&flowplayer.support.fvmobile||n||a)&&(flowplayer.support.fullscreen?o.on("click",function(){t.ready&&!t.paused||t.fullscreen(!0)}):t.bind("ready",function(){t.video.vr||t.one("progress",function(){t.fullscreen(!0)})}),jQuery("[rel="+o.attr("id")+"] a").on("click",function(e){t.isFullscreen||(t.fullscreen(),t.resume())}),t.on("resume",function(){t.video.vr||t.isFullscreen||(flowplayer.support.fullscreen?t.fullscreen():t.one("progress",function(){t.fullscreen(!0)}))}),t.on("finish",function(){0!=t.conf.playlist.length&&t.conf.playlist.length-1!=t.video.index||t.fullscreen(!1)}).on("fullscreen",function(e,t){o.addClass("forced-fullscreen")}).on("fullscreen-exit",function(e,t){t.pause(),o.removeClass("forced-fullscreen")})),flowplayer.support.android&&flowplayer.conf.mobile_landscape_fullscreen&&window.screen&&window.screen.orientation&&t.on("fullscreen",function(e,t){void 0!==(t=t).video.width&&void 0!==t.video.height&&0!=t.video.width&&0!=t.video.height&&t.video.width<t.video.height?screen.orientation.lock("portrait-primary"):screen.orientation.lock("landscape-primary")}),e=!1,!flowplayer.support.iOS)||flowplayer.support.fullscreen||flowplayer.conf.native_fullscreen||(t.on("fullscreen",i),window.addEventListener("resize",i),window.addEventListener("resize",function(){r()||(clearTimeout(e),e=!1,t.trigger("resize-good"))}))}),flowplayer(function(e,t){t=jQuery(t);(document.body.classList.contains("block-editor-page")&&!t.closest("#fv-player-shortcode-editor-preview-target").length||jQuery("body.block-editor-iframe__body").length)&&jQuery('<div title="Click to edit" style="width: 40%; height: calc( 100% - 3em ); z-index: 19; position: absolute; top: 0; left: 0; cursor: context-menu" onclick="return false" title="Click to edit"></div><div style="width: 40%; height: calc( 100% - 3em ); z-index: 19; position: absolute; top: 0; right: 0; cursor: context-menu" onclick="return false" title="Click to edit"></div><div style="width: 20%; height: 40%; z-index: 19; position: absolute; top: 0; right: 40%; cursor: context-menu" onclick="return false" title="Click to edit"></div><div style="width: 20%; height: calc( 40% - 3em ); z-index: 19; position: absolute; top: 60%; right: 40%; cursor: context-menu" onclick="return false"></div>').insertAfter(t.find(".fp-ratio"))}),flowplayer(function(o,a){a=jQuery(a);var r,n,i,l,s;window.MediaSource||window.WebKitMediaSource;function f(){var e=a.find("video");return e.length&&e[0].audioTracks?e[0].audioTracks:[]}function p(o){o.name||(o.name=o.label),a.find(".fv-fp-hls-menu a").each(function(e,t){jQuery(t).toggleClass("fp-selected",jQuery(t).attr("data-audio")===o.name)})}function c(){if(n&&!(n.length<2))if(l=jQuery('<strong class="fv-fp-hls">'+fv_flowplayer_translations.audio_button+"</strong>"),(s=jQuery('<div class="fp-menu fv-fp-hls-menu"></div>').insertAfter(a.find(".fp-controls"))).append("<strong>"+fv_flowplayer_translations.audio_menu+"</strong>"),n.forEach(function(e){s.append('<a data-audio="'+e.name+'" data-lang="'+e.lang+'">'+e.name+"</a>")}),l.insertAfter(a.find(".fp-controls .fp-volume")).on("click",function(e){e.preventDefault(),e.stopPropagation(),s.hasClass("fp-active")?o.hideMenu(s[0]):(a.click(),o.showMenu(s[0]))}),jQuery("a",s).on("click",function(e){var t=e.target.getAttribute("data-audio");if(r){var o=r.audioTracks[r.audioTrack].groupId,e=r.audioTracks.filter(function(e){return e.groupId===o&&(e.name===t||e.lang===t)})[0];r.audioTrack=e.id,p(e)}else{var a,n=f();for(a in n)n.hasOwnProperty(a)&&n[a].label==t&&(n[a].enabled=!0,p(n[a]))}}),r)p(r.audioTracks[r.audioTrack]);else{var e,t=f();for(e in t)t.hasOwnProperty(e)&&t[e].enabled&&p(t[e])}}flowplayer.engine("hlsjs-lite").plugin(function(e){r=e.hls}),o.bind("ready",function(e,t){var o;jQuery(s).remove(),jQuery(l).remove(),r&&"application/x-mpegurl"==t.video.type&&(i=[],n=[],(o=r).levels.forEach(function(e){e=e.attrs.AUDIO;e&&i.indexOf(e)<0&&i.push(e),i.length&&(n=o.audioTracks.filter(function(e){return e.groupId===i[0]}))}),c())}),o.one("progress",function(){if("html5"==o.engine.engineName&&"application/x-mpegurl"==o.video.type){i=[],n=[];var e,t=f();for(e in t)t.hasOwnProperty(e)&&n.push({id:t[e].id,name:t[e].label});c()}})}),flowplayer(function(e,n){var r=-1,i=!1;e.on("error",function(e,t,o){var a;4==o.code&&"hlsjs"==t.engine.engineName&&(console.log("FV Player: HLSJS failed to play the video, switching to Flash HLS"),t.error=t.loading=!1,jQuery(n).removeClass("is-error"),jQuery(flowplayer.engines).each(function(e,t){"hlsjs"==flowplayer.engines[e].engineName&&(r=e,i=flowplayer.engines[e],delete flowplayer.engines[e])}),(a=(0<(o=void 0!==t.video.index?t.video.index:0)?t.conf.playlist[o]:t.conf.clip).sources).index=o,t.load({sources:a}),t.bind("unload error",function(){flowplayer.engines[r]=i}))})}),flowplayer(function(e,l){var s,t=e.conf.live_stream_reload||30,f=t,p=fv_flowplayer_translations.live_stream_retry;function c(e){e=Number(e);var t=Math.floor(e/86400),o=Math.floor(e%86400/3600),a=Math.floor(e%3600/60),e=Math.floor(e%60),n=fv_flowplayer_translations,t=0<t?(1==t?n.duration_1_day:n.duration_n_days).replace(/%s/,t):"";return t&&0<o&&(t+=", "),(t+=0<o?(1==o?n.duration_1_hour:n.duration_n_hours).replace(/%s/,o):"")&&0<a&&(t+=", "),(t+=0<a?(1==a?n.duration_1_minute:n.duration_n_minutes).replace(/%s/,a):"")&&0<e&&(t+=n.and),t+=0<e?(1==e?n.duration_1_second:n.duration_n_seconds).replace(/%s/,e):""}e.clearLiveStreamCountdown=function(){s&&(clearInterval(s),e.error=e.loading=!1,jQuery(l).removeClass("is-error"),jQuery(l).find(".fp-message.fp-shown").remove(),e.unload())},e.conf.flashls={manifestloadmaxretry:2},e.on("ready",function(){f=t,p=fv_flowplayer_translations.live_stream_retry}).on("progress",function(){f=10,p=fv_flowplayer_translations.live_stream_continue,clearInterval(s)}),e.on("error",function(e,r,i){setTimeout(function(){var e,t,o,a,n;(r.conf.clip.live||r.conf.live||i.video&&i.video.src&&i.video.src.match(/\/\/vimeo.com\/event\//))&&(e=f,r.conf.clip.streaming_time?e=r.conf.clip.streaming_time-Math.floor(Date.now()/1e3):r.conf.clip.live_starts_in&&(e=r.conf.clip.live_starts_in),t=fv_flowplayer_translations.live_stream_starting.replace(/%d/,c(e)),p=p.replace(/%d/,c(e)),o=r.conf.clip.live_starts_in?t:p,clearInterval(s),1!==i.code&&2!==i.code&&4!==i.code||(l.className+=" is-offline",flowplayer.support.flashVideo&&r.one("flashdisabled",function(){l.querySelector(".fp-flash-disabled").style.display="none"}),(a=l.querySelector(".fp-ui .fp-message")).innerHTML=o,n=300<e?300:e,s=setInterval(function(){--n,--e,a.innerHTML=o,0<n&&a?a.querySelector("span").innerHTML=c(e):(clearInterval(s),r.error&&(r.error=r.loading=!1,(a=l.querySelector(".fp-ui .fp-message"))&&l.querySelector(".fp-ui").removeChild(a),l.className=l.className.replace(/\bis-(error|offline)\b/g,""),r.load()))},1e3)))},1)})}),flowplayer(function(e,t){var o;t=jQuery(t),flowplayer.engine("hlsjs-lite").plugin(function(e){o=e.hls}),e.on("ready",function(e,t){o&&t.conf.playlist.length&&"hlsjs-lite"!=t.engine.engineName&&o.destroy()})}),flowplayer(function(o,a){var n,r,i,l,s;function f(){r&&n&&"html5"==o.engine.engineName&&(1<++l?3<l&&(console.log("FV Player: iOS video element needs a push, triggering 'stalled'"),n.trigger("stalled")):(console.log("FV Player: iOS video element will trigger error after 'stalled' arrives"),n.one("stalled",function(){var e,t=o.video.time;o.video.type.match(/video\//)?(console.log("FV Player: Running check of video file..."),(e=document.createElement("video")).src=o.video.src,e.onloadedmetadata=function(){l=0,console.log("FV Player: Video link works")},e.onerror=function(){console.log("FV Player: Video link issue!"),0<l&&o.trigger("error",[o,{code:4,video:o.video}])}):setTimeout(function(){console.log(o.video.time,t),o.video.time!=t?(l=0,console.log("FV Player: iOS video element continues playing, no need for error")):o.paused?(l=0,console.log("FV Player: iOS video element paused, no need for error")):o.trigger("error",[o,{code:4,video:o.video}])},5e3)})))}(flowplayer.support.browser.safari||flowplayer.support.iOS)&&(a=jQuery(a),i=r=n=!1,l=0,o.on("ready",function(e,t,o){l=0,r=!1,"html5"==t.engine.engineName&&o.src.match(/\?/)&&((n=a.find("video")).data("fv-ios-recovery")||(n.on("waiting",f),n.data("fv-ios-recovery",!0)),t.live&&o.src.match(/m3u8|stream_loader/)&&(console.log("FV Player: iOS video element is a live stream..."),clearInterval(i),i=setTimeout(function(){jQuery.get(o.src,function(e){e.match(/#EXT/)||(console.log("FV Player: iOS video element live stream does not look like a HLS file, triggering error..."),t.trigger("error",[t,{code:1,video:t.video}]))})},5e3)),t.one("progress",function(){r=!0,clearInterval(i)}))}),o.bind("beforeseek",f),s=0,o.on("ready",function(e,t){t.one("progress",function(e,t){s=t.video.duration,console.log("recorded_duration",s)})}),o.on("pause",function(e,t){var o=a.find("video");o.length&&parseInt(t.video.time)===parseInt(o[0].duration)&&s>t.video.time&&(console.log("suddenly the video is much shorter, why?",s,o[0].duration),t.video.duration=s,t.trigger("error",[t,{code:4,video:t.video}]))}))}),(e=>{var t,o,a=!1;"function"==typeof define&&define.amd&&(define(e),a=!0),"object"==("undefined"==typeof exports?"undefined":_typeof(exports))&&(module.exports=e(),a=!0),a||(t=window.Cookies,(o=window.Cookies=e()).noConflict=function(){return window.Cookies=t,o})})(function(){function v(){for(var e=0,t={};e<arguments.length;e++){var o,a=arguments[e];for(o in a)t[o]=a[o]}return t}return function e(u){function y(e,t,o){var a,n;if("undefined"!=typeof document){if(1<arguments.length){"number"==typeof(o=v({path:"/"},y.defaults,o)).expires&&((n=new Date).setMilliseconds(n.getMilliseconds()+864e5*o.expires),o.expires=n),o.expires=o.expires?o.expires.toUTCString():"";try{a=JSON.stringify(t),/^[\{\[]/.test(a)&&(t=a)}catch(e){}t=u.write?u.write(t,e):encodeURIComponent(t+"").replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),e=(e=(e=encodeURIComponent(e+"")).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var r,i="";for(r in o)o[r]&&(i+="; "+r,!0!==o[r])&&(i+="="+o[r]);return document.cookie=e+"="+t+i}e||(a={});for(var l=document.cookie?document.cookie.split("; "):[],s=/(%[0-9A-Z]{2})+/g,f=0;f<l.length;f++){var p=l[f].split("="),c=p.slice(1).join("=");this.json||'"'!==c.charAt(0)||(c=c.slice(1,-1));try{var d=p[0].replace(s,decodeURIComponent),c=u.read?u.read(c,d):u(c,d)||c.replace(s,decodeURIComponent);if(this.json)try{c=JSON.parse(c)}catch(e){}if(e===d){a=c;break}e||(a[d]=c)}catch(e){}}return a}}return(y.set=y).get=function(e){return y.call(y,e)},y.getJSON=function(){return y.apply({json:!0},[].slice.call(arguments))},y.defaults={},y.remove=function(e,t){y(e,"",v(t,{expires:-1}))},y.withConverter=e,y}(function(){})}),flowplayer(function(e,t){t=jQuery(t),window.learndash_video_data&&"local"==learndash_video_data.videos_found_provider&&t.closest("[data-video-progression=true]").length&&(LearnDash_disable_assets(!0),LearnDash_watchPlayers(),e.on("finish",function(e,t,o){"string"!=typeof t.video.click&&((t=jQuery(".ld-video").data("video-cookie-key"))&&jQuery.cookie(t,JSON.stringify({video_state:"complete"})),window.LearnDash_disable_assets(!1))}))}),jQuery(fv_player_lightbox_bind),jQuery(document).ajaxComplete(fv_player_lightbox_bind),jQuery(function(){"undefined"!=typeof freedomplayer&&freedomplayer(function(e,t){var o,a,n=(t=jQuery(t)).closest(".fv_player_lightbox_hidden");e.is_in_lightbox=function(){return n.length},e.lightbox_visible=function(){return t.closest(".fancybox-slide--current").length},e.is_in_lightbox()&&(n.on("click",function(e){e.target==e.currentTarget&&jQuery.fancybox.close()}),freedomplayer.support.fullscreen?e.fullscreen=function(){jQuery.fancybox.getInstance().FullScreen.toggle()}:(a=!(o=".fancybox-caption, .fancybox-toolbar, .fancybox-infobar, .fancybox-navigation"),e.on("fullscreen",function(){jQuery(o).hide(),a=jQuery(".fancybox-container").hasClass("fancybox-show-thumbs"),jQuery(".fancybox-container").removeClass("fancybox-show-thumbs")}).on("fullscreen-exit",function(){jQuery(o).show(),a&&jQuery(".fancybox-container").addClass("fancybox-show-thumbs")})))})}),flowplayer(function(e,t){e.bind("load",function(e,t,o){var a,n=jQuery(e.currentTarget);n.data("live")&&(a=setTimeout(function(){n.find(".fp-ui").append('<div class="fp-message">'+fv_flowplayer_translations.live_stream_failed+"</div>"),n.addClass("is-error")},1e4),jQuery(e.currentTarget).data("live_check",a))}).bind("ready",function(e,t,o){clearInterval(jQuery(e.currentTarget).data("live_check"))}).bind("error",function(e,t,o){e=jQuery(e.currentTarget);e.data("live")&&e.find(".fp-message").html(fv_flowplayer_translations.live_stream_failed_2)})}),"undefined"!=typeof flowplayer&&flowplayer(function(e,a){var n,r,i,l,s,t=(a=jQuery(a)).closest(".ld-video");t.length&&"boolean"==typeof t.data("video-progression")&&0==t.data("video-progression")||a.data("lms_teaching")&&(s=[],e.on("ready",function(e,t,o){n=void 0===t.video.saw,l=t.video.index||0,r=t.video.position||0,i=t.video.top_position||0,void 0===s[l]&&(i?s[l]=i:r?s[l]=r:t.video.fv_start?s[l]=t.video.fv_start:s[l]=0)}),e.on("progress",function(e,t,o){s[l]<o&&(s[l]=o)}),e.on("beforeseek",function(e,t,o){n&&(o<=r||o<=s[l]?console.log("FV Player lms: allow seek to",o):(t.trigger("fv-lms-teaching-be-gone"),e.preventDefault(),e.stopPropagation(),fv_player_notice(a,"<p>"+fv_flowplayer_translations.msg_no_skipping+"<br />"+fv_flowplayer_translations.msg_watch_video+"</p>","fv-lms-teaching-be-gone").addClass("fv-player-lms-teaching"),setTimeout(function(){t.trigger("fv-lms-teaching-be-gone")},2e3),t.seek(s[l])))}))}),(a=>{flowplayer(function(e,o){jQuery(o).hasClass("is-cva")||a(document).on("submit","#"+jQuery(o).attr("id")+" .mailchimp-form",function(e){e.preventDefault(),a(".mailchimp-response",o).remove(),a("input[type=submit]",o).attr("disabled","disabled").addClass("fv-form-loading");var t={action:"fv_wp_flowplayer_email_signup",nonce:fv_player.email_signup_nonce};a("[name]",this).each(function(){t[this.name]=a(this).val()}),a.post(fv_player.ajaxurl,t,function(e){e=JSON.parse(e),a('<div class="mailchimp-response"></div>').insertAfter(".mailchimp-form",o),e.text.match(/already subscribed/)&&(e.status="ERROR"),"OK"===e.status?(a(".mailchimp-form input[type=text],.mailchimp-form input[type=email]",o).val(""),a(".mailchimp-response",o).removeClass("is-fv-error").html(e.text),setTimeout(function(){a(".wpfp_custom_popup",o).fadeOut()},2e3)):a(".mailchimp-response",o).addClass("is-fv-error").html(e.text),a("input[type=submit]",o).removeAttr("disabled").removeClass("fv-form-loading")})})})})(jQuery),"undefined"!=typeof fv_flowplayer_mobile_switch_array)for(var fv_flowplayer_mobile_switch_i in fv_flowplayer_mobile_switch_array)fv_flowplayer_mobile_switch_array.hasOwnProperty(fv_flowplayer_mobile_switch_i)&&fv_flowplayer_mobile_switch(fv_flowplayer_mobile_switch_i);function fv_flowplayer_browser_chrome_fail(a,n,r,i){jQuery("#wpfp_"+a).bind("error",function(e,t,o){!/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())||null==o||3!=o.code&&4!=o.code&&5!=o.code||(t.unload(),jQuery("#wpfp_"+a).attr("id","bad_wpfp_"+a),jQuery("#bad_wpfp_"+a).after('<div id="wpfp_'+a+'" '+n+' data-engine="flash"></div>'),jQuery("#wpfp_"+a).flowplayer({playlist:[[{mp4:r}]]}),i?jQuery("#wpfp_"+a).bind("ready",function(e,t){t.play()}):jQuery("#wpfp_"+a).flowplayer().play(0),jQuery("#bad_wpfp_"+a).remove())})}if(freedomplayer(function(a,e){var n=(e=jQuery(e)).data("freedomplayer-instance-id");flowplayer.audible_instance=-1,a.one("load",function(){setTimeout(function(){a.conf.splash=!1},0)}),a.on("ready",function(){var o=0==e.data("volume");o||(flowplayer.audible_instance=n),jQuery(".freedomplayer[data-freedomplayer-instance-id]").each(function(){var e=jQuery(this).data("flowplayer"),t=jQuery(this).data("freedomplayer-instance-id");-1!=flowplayer.audible_instance&&t!=flowplayer.audible_instance&&t!=n&&e&&(e.ready?a.conf.multiple_playback?o||e.mute(!0,!0):e.playing&&(e.pause(),e.sticky(!1)):(e.clearLiveStreamCountdown(),e.unload()))})}).on("mute",function(e,t,o){o||flowplayer.audible_instance==n||(flowplayer(flowplayer.audible_instance).mute(!0,!0),flowplayer.audible_instance=n)}).on("resume",function(){a.muted||(flowplayer.audible_instance=n),a.conf.multiple_playback||jQuery(".flowplayer[data-freedomplayer-instance-id]").each(function(){var e;n!=jQuery(this).data("freedomplayer-instance-id")&&(e=jQuery(this).data("flowplayer"))&&e.playing&&(e.pause(),e.sticky(!1))})})}),"undefined"!=typeof fv_flowplayer_browser_chrome_fail_array)for(var fv_flowplayer_browser_chrome_fail_i in fv_flowplayer_browser_chrome_fail_array)fv_flowplayer_browser_chrome_fail_array.hasOwnProperty(fv_flowplayer_browser_chrome_fail_i)&&fv_flowplayer_browser_chrome_fail(fv_flowplayer_browser_chrome_fail_i,fv_flowplayer_browser_chrome_fail_array[fv_flowplayer_browser_chrome_fail_i].attrs,fv_flowplayer_browser_chrome_fail_array[fv_flowplayer_browser_chrome_fail_i].mp4,fv_flowplayer_browser_chrome_fail_array[fv_flowplayer_browser_chrome_fail_i].auto_buffer);function fv_flowplayer_browser_ie(e){(flowplayer.support.browser&&flowplayer.support.browser.msie&&9<=parseInt(flowplayer.support.browser.version,10)||navigator.userAgent.match(/Trident.*rv[ :]*11\./))&&jQuery("#wpfp_"+e).attr("data-engine","flash")}if("undefined"!=typeof fv_flowplayer_browser_ie_array)for(var fv_flowplayer_browser_ie_i in fv_flowplayer_browser_ie_array)fv_flowplayer_browser_ie_array.hasOwnProperty(fv_flowplayer_browser_ie_i)&&fv_flowplayer_browser_ie(fv_flowplayer_browser_ie_i);function fv_flowplayer_browser_chrome_mp4(e){var t=window.navigator.appVersion.match(/Chrome\/(\d+)\./);null!=t&&(t=parseInt(t[1],10),/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&t<28&&-1!=navigator.appVersion.indexOf("Win")||/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&t<27&&-1!=navigator.appVersion.indexOf("Linux")&&-1==navigator.userAgent.toLowerCase().indexOf("android"))&&jQuery("#wpfp_"+e).attr("data-engine","flash")}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}-1==navigator.platform.indexOf("iPhone")&&-1==navigator.platform.indexOf("iPod")&&-1==navigator.platform.indexOf("iPad")&&-1==navigator.userAgent.toLowerCase().indexOf("android")||flowplayer(function(e,t){e.bind("error",function(e,t,o){10==o.code&&jQuery(e.target).find(".fp-message").html(fv_flowplayer_translations.unsupported_format)})}),jQuery(document).ready(function(){-1==navigator.platform.indexOf("iPhone")&&-1==navigator.platform.indexOf("iPod")&&-1==navigator.platform.indexOf("iPad")||jQuery(window).trigger("load"),jQuery(".flowplayer").on("mouseleave",function(){jQuery(this).find(".fvp-share-bar").removeClass("visible"),jQuery(this).find(".embed-code").hide()})}),flowplayer(function(a,n){var r=(n=jQuery(n)).attr("id"),i=!1;function l(){var t,o,e=n.attr("data-overlay");if(void 0!==e&&e.length){try{e=JSON.parse(e)}catch(e){return}!i&&!n.hasClass("is-cva")&&n.width()>=parseInt(e.width)&&(e=(e=e.html).replace("%random%",Math.random()),i=jQuery('<div id="'+r+'_ad" class="wpfp_custom_ad">'+e+"</div>"),n.find(".fp-player").append(i),i.find(".fv_fp_close").on("click touchend",function(){i.fadeOut();var e=i.find("video");return e.length&&e[0].pause(),!1}),t=0,o=setInterval(function(){var e=i&&i.find(".adsbygoogle").height();(200<++t||0<e)&&clearInterval(o),e>n.height()&&i.addClass("tall-overlay")},50),setTimeout(function(){n.find(".wpfp_custom_ad video").length&&a.pause()},500))}}function o(e){var t=a.get_popup();t&&("finish"==e||t.pause&&a.ready&&a.paused||t.html.match(/fv-player-ppv-purchase-btn-wrapper/))&&0==n.find(".wpfp_custom_popup").length&&(n.addClass("is-popup-showing"),n.addClass("is-mouseover"),n.find(".fp-player").append('<div id="'+r+'_custom_popup" class="wpfp_custom_popup">'+t.html+"</div>"))}n.data("end_popup_preview")&&jQuery(document).ready(function(){a.trigger("finish",[a])}),a.get_popup=function(){var e=n.attr("data-popup");if(void 0!==e&&e.length){try{e=JSON.parse(e)}catch(e){return!1}return e}},a.bind("ready",function(){1==i.length&&(i.remove(),i=!1),n.data("overlay_show_after")||l()}).bind("progress",function(e,t,o){o>n.data("overlay_show_after")&&l()}).bind("finish",function(e,t){void 0!==t.video.index&&t.video.index+1!=t.conf.playlist.length||o(e.type)}).bind("pause",function(e){if(void 0!==a.video.click)return!1;setTimeout(function(){o(e.type)},5)}).bind("resume unload seek",function(){n.hasClass("is-popup-showing")&&(n.find(".wpfp_custom_popup").remove(),n.removeClass("is-popup-showing"))})}),jQuery(document).on("focus",".fv_player_popup input[type=text], .fv_player_popup input[type=email], .fv_player_popup textarea",function(){var e=jQuery(this).parents(".flowplayer").data("flowplayer");e&&e.disable(!0)}),jQuery(document).on("blur",".fv_player_popup input[type=text], .fv_player_popup input[type=email], .fv_player_popup textarea",function(){var e=jQuery(this).parents(".flowplayer").data("flowplayer");e&&e.disable(!1)}),"undefined"!=typeof flowplayer&&flowplayer(function(e,a){a=jQuery(a);var n,r=!1,t=(flowplayer.engine("hlsjs-lite").plugin(function(e){n=e.hls}),e.conf.playlist.length?e.conf.playlist:[e.conf.clip]);function i(e){l();var t="Video is being processed",o="Please return later to see the actual video in this player.";e.pending_encoding_error?(t="Video unavailable",o="There was an error in the video encoding."):e.pending_encoding_progress&&(o+="<br /><br />("+e.pending_encoding_progress+" done)"),r=jQuery('<div class="fv-player-encoder-video-processing-modal"><div><h2>'+t+"</h2><p>"+o+"</p></div></div"),a.append(r)}function l(){r&&r.remove()}t[0]&&t[0].pending_encoding&&i(t[0]),e.on("load",function(e,t,o){if(o.pending_encoding)return i(o),n&&n.destroy(),!1;l()})}),Date.now||(Date.now=function(){return(new Date).getTime()}),(()=>{if("undefined"!=typeof fv_player_editor_conf)fv_player_log('FV Player: Editor detected, disabling "Remember video position"');else{var j=null,b=2500,o=null,Q="video_positions",k="player_playlist_item",x="video_positions_tmp",C="video_top_positions_tmp",S="player_playlist_item_tmp",P="video_saw_tmp",I="video_ab_loop_tmp",O=[],F=[],T=[],L=[],A=[],E=function(e){var t=JSON.stringify(e),o=N(t);if(b<o)while(b<o)for(var a in e)if(e.hasOwnProperty(a)){delete e[a],t=JSON.stringify(e),o=N(t);break}return t},V=function(e){var t;return e.id||(t=(void 0!==e.sources_original&&void 0!==e.sources_original[0]?e.sources_original:e.sources)[0].src,void 0!==e.sources_original&&void 0!==e.sources_original[0]?t:a(t))},N=function(e){return encodeURIComponent(e).length},z=function(e){return o?localStorage.getItem(e):Cookies.get(e)},q=function(e,t){return o?localStorage.setItem(e,t):Cookies.set(e,t)},B=function(e){o?localStorage.removeItem(e):Cookies.remove(e)},D=function(e,t){t.video.sources&&(t=V(t.video),F[t]=0,T[t]=0,A[t]=1)},a=function(e){return e.replace(/(X-Amz-Algorithm=[^&]+&?)/gm,"").replace(/(X-Amz-Credential=[^&]+&?)/gm,"").replace(/(X-Amz-Date=[^&]+&?)/gm,"").replace(/(X-Amz-Expires=[^&]+&?)/gm,"").replace(/(X-Amz-SignedHeaders=[^&]+&?)/gm,"").replace(/(X-Amz-Signature=[^&]+&?)/gm,"")},R=function(e,t){var o,a,n,r="sendBeacon"in navigator,i=(!0!==e&&(e=!1),t&&void 0!==t||(t=function(){}),[]),l=[];for(o in F)F.hasOwnProperty(o)&&(a={name:o,position:F[o],top_position:T[o],saw:void 0!==A[o]&&A[o]},O.hasOwnProperty(o)&&(a.ab_start=O[o][0],a.ab_end=O[o][1]),i.push(a));for(n in L)L.hasOwnProperty(n)&&l.push({player:n,item:L[n]});if(l.length||B(S),i.length){if("1"==flowplayer.conf.is_logged_in){if(r){try{var s,f={},p={},c={},d={},u={};for(w in i)i.hasOwnProperty(w)&&(f[s=i[w].name]=i[w].position,p[s]=i[w].top_position,c[s]=i[w].saw,void 0!==i[w].ab_start)&&void 0!==i[w].ab_end&&(u[s]=[i[w].ab_start,i[w].ab_end]);for(w in l)l.hasOwnProperty(w)&&(d[l[w].player]=l[w].item);q(x,E(f)),q(C,E(p)),q(P,E(c)),q(S,E(d)),q(I,E(u))}catch(e){return}r=new FormData;return r.append("action","fv_wp_flowplayer_video_position_save"),r.append("nonce",fv_player.video_position_save_nonce),r.append("videoTimes",encodeURIComponent(JSON.stringify(i))),r.append("playlistItems",encodeURIComponent(JSON.stringify(l))),navigator.sendBeacon(fv_player.ajaxurl,r),!1}return jQuery.ajax({type:"POST",async:e,url:fv_player.ajaxurl,complete:t,data:{action:"fv_wp_flowplayer_video_position_save",nonce:fv_player.video_position_save_nonce,videoTimes:i,playlistItems:l}})}try{var y=z(Q),v=z(k),y=y&&void 0!==y?JSON.parse(y):{},v=v&&void 0!==v?JSON.parse(v):{};for(w in i)i.hasOwnProperty(w)&&(y[i[w].name]=i[w].position);for(w in l)l.hasOwnProperty(w)&&(v[l[w].player]=l[w].item);var _=JSON.stringify(y),h=JSON.stringify(v),g=N(_),m=N(h);if(b<g)while(b<g)for(var w in y)if(y.hasOwnProperty(w)){delete y[w],_=JSON.stringify(y),g=N(_);break}if(b<m)while(b<m)for(var w in y)if(v.hasOwnProperty(w)){delete v[w],h=JSON.stringify(v),m=N(_);break}q(Q,_),q(k,h)}catch(e){return}return!1}B(I),B(x),B(C),B(P)};if(flowplayer(function(a,e){if(void 0===a.conf.disable_localstorage||"1"==flowplayer.conf.is_logged_in){var r=jQuery(e),t=flowplayer.conf.video_position_save_enable&&0!=r.data("save-position")||r.data("save-position")||r.data("lms_teaching"),i=0,l=!!r.data("player-id")&&r.data("player-id"),n=!1,s=function(){return!(a.live||a.video&&"string"==typeof a.video.click)},o=function(e,t){s()&&!t.video.prevent_position_restore&&(t=(e=>{var t=V(e.video),o=e.video.position;if("1"!=flowplayer.conf.is_logged_in){var a=z(Q);if(a&&void 0!==a)try{(a=JSON.parse(a))[t]&&(o=a[t])}catch(e){return}}return e.get_custom_end&&e.get_custom_end()<o&&(o=!1),o=e.get_custom_start&&0<e.get_custom_start()&&o<e.get_custom_start()?!1:o})(t))&&p(t)},f=function(e,t){var o,a,n;s()&&t.video.sources&&(o=V(t.video),a=Math.round(t.video.time),F[o]=a,void 0!==t.fv_noUiSlider&&r.find(".fv-player-ab.is-active").length&&(O[o]=t.fv_noUiSlider.get()),void 0===T[o]?(n=0,n=t.conf.playlist?t.conf.playlist[t.video.index]&&t.conf.playlist[t.video.index].sources[0]&&t.conf.playlist[t.video.index].sources[0].top_position?t.conf.playlist[t.video.index].sources[0].top_position:0:t.conf.clip.sources[0]&&t.conf.clip.sources[0].top_position?t.conf.clip.sources[0].top_position:0,T[o]=n):T[o]<a&&(T[o]=a),0<t.conf.playlist.length&&l&&(L[l]=t.video.index),60<=i++)&&flowplayer.conf.closingPage&&(j&&j.abort(),j=R(!0,function(){j=null}),i=0)},p=function(e){var t,o;a.custom_seek?a.custom_seek(e):(t=0,o=setInterval(function(){20<++t&&clearInterval(o),a.loading||(a.seek(parseInt(e)),clearInterval(o))},10))},c=function(e,t){var o=z(e),a=!1;if(o&&void 0!==o)try{if(void 0!==(o=JSON.parse(o))[t]){a=o[t],delete o[t];var n,r=!1;for(n in o)if(o.hasOwnProperty(n)){r=!0;break}r?q(e,JSON.stringify(o)):B(e)}return a}catch(e){}},d=function(e,t){if(void 0!==t&&0!=t.conf.playlist.length&&!t.conf.prevent_position_restore){var o=-1;if(l)if("1"!=flowplayer.conf.is_logged_in){var a=z(k);if(a&&void 0!==a)try{(a=JSON.parse(a))[l]&&(o=a[l])}catch(e){return}}else"1"==flowplayer.conf.is_logged_in&&(o=0<t.conf.playlist.length&&c(S,l));0<=o&&!n&&(t.video&&"video/youtube"!=t.video.type&&t.play(o),n=!0,r.data("position_changed",1))}};if(t){if(z(S)&&r.removeData("playlist_start"),a.bind("finish",D),a.on("ready",function(){a.conf.poster?a.one("resume",function(){a.one("progress",o)}):a.one("progress",o)}),a.bind("progress",f),a.bind("unload",function(){n=!1,a.one(a.conf.poster?"resume":"ready",d)}),a.one(a.conf.poster?"resume":"ready",d),jQuery(".fp-ui",e).on("click",function(){d()}),a.playlist_thumbnail_progress=function(e,t,o){a.get_custom_start&&0<a.get_custom_start(t)&&(o-=a.get_custom_start(t))<0&&(o=0);t=t.duration;(t=(t=a.get_custom_duration&&0<a.get_custom_duration()?a.get_custom_duration():t)||e.data("duration"))&&e.css("width",100*o/t+"%")},"1"==flowplayer.conf.is_logged_in){var u,y,v,_,h,g,m=0<a.conf.playlist.length,w=m?a.conf.playlist:[a.conf.clip],b=jQuery("[rel="+jQuery(e).attr("id")+"]");for(u in w)w.hasOwnProperty(u)&&(h=V(w[u]),y=c(x,h),v=c(C,h),_=c(P,h),h=c(I,h),y&&(m?(a.conf.playlist[u].sources[0].position=y,(g=jQuery("a",b).eq(u).find(".fvp-progress")).length&&a.playlist_thumbnail_progress(g,a.conf.playlist[u],y)):a.conf.clip.sources[0].position=y),v&&(!w[u].sources[0].top_position||w[u].sources[0].top_position<v)&&(m?a.conf.playlist[u].sources[0].top_position=v:a.conf.clip.sources[0].top_position=v),_&&(m?a.conf.playlist[u].sources[0].saw=!0:a.conf.clip.sources[0].saw=!0),h)&&(m?(a.conf.playlist[u].sources[0].ab_start=h[0],a.conf.playlist[u].sources[0].ab_end=h[1]):(a.conf.clip.sources[0].ab_start=h[0],a.conf.clip.sources[0].ab_end=h[1]))}a.bind("finish",function(e,t){t.conf.playlist.length?t.conf.playlist[t.video.index].sources[0].saw=!0:t.conf.clip.sources[0].saw=!0})}}}),jQuery(window).on("beforeunload pagehide",function(){flowplayer.conf.closingPage||(flowplayer.conf.closingPage=!0,R())}),null===(o=void 0!==fv_flowplayer_conf.disable_localstorage?!1:o)){o=!0;try{localStorage.setItem("t","t"),"t"!==localStorage.getItem("t")&&(o=!1),localStorage.removeItem("t")}catch(e){o=!1}}}})(jQuery),flowplayer(function(o,t){var a,r,i,l,n,s,f;function e(e){e.preventDefault(),e.stopPropagation(),l.hasClass("fp-active")?o.hideMenu(l[0]):(t.trigger("click"),o.showMenu(l[0]))}function p(e){e=e.clone();return e.find("i.dur").remove(),e.text()}t=jQuery(t),(o.have_visible_playlist||0!=o.conf.playlist.length)&&o.have_visible_playlist()&&(a=jQuery(".fp-playlist-external[rel="+t.attr("id")+"]"),r=jQuery('<strong class="fv-fp-list">Item 1.</strong>'),i=jQuery('<strong class="fv-fp-list-name">Item 1.</strong>'),l=jQuery('<div class="fp-menu fv-fp-list-menu"></div>').insertAfter(t.find(".fp-controls")),n=0,s=[],f=[],jQuery(o.conf.playlist).each(function(e,t){void 0===t.click&&(t=p(a.find("h4").eq(n)),l.append('<a data-index="'+e+'">'+(n+1)+". "+t+"</a>"),f[e]=t,s.push(e),n++)}),r.insertAfter(t.find(".fp-controls .fp-volume")).on("click",e),i.insertAfter(r).on("click",e),jQuery("a",l).on("click",function(){var e=jQuery(this).data("index"),t=e-1;void 0!==o.conf.playlist[t]&&void 0!==o.conf.playlist[t].click?o.play(t):o.play(e)}),o.on("ready",function(e,t,o){l.find("a").removeClass("fp-selected");var a=l.find("a[data-index="+o.index+"]"),n=(a.addClass("fp-selected"),fv_flowplayer_translations.playlist_item_no);n=(n=n.replace(/%d/,s.indexOf(o.index)+1)).replace(/%s/,p(a.find("h4"))),r.html(n),i.html(s.indexOf(o.index)+1+". "+f[o.index])}))}),flowplayer(function(e,a){a=jQuery(a);var n,r=e.conf.playlist,i=[];e.bind("load",function(e,t,o){n=o.index}),e.bind("error",function(e,t,o){setTimeout(function(){if(0<r.length&&1==t.error)return-1<i.indexOf(n)?(console.log("FV Player: Playlist item failure, already tried to play this item, not auto-advancing"),!1):(n=t.video.index,i.push(n),"1"==t.conf.video_checker&&r[n].video_checker&&0<r[n].video_checker.length?(console.log("FV Player: Video checker message present, stopping auto-advance to next playlist item"),!1):(t.error=t.loading=!1,a.removeClass("is-error"),a.find(".fp-message.fp-shown").remove(),++n>r.length-1&&(n=0),console.log("FV Player: Playlist item failure, auto-advancing to "+(n+1)+". item"),void t.play(n)))},1e3)})}),flowplayer(function(t,a){a=jQuery(a);var n,r,o,i,l,s=!1,f=!1,p=!1;function c(o){return o=[],jQuery(t.conf.playlist).each(function(e,t){o.push(e)}),o=(e=>{for(var t,o,a=e.length;a;a--)t=Math.floor(Math.random()*a),o=e[a-1],e[a-1]=e[t],e[t]=o;return e})(o),console.log("FV Player Randomizer random seed:",o),o}(a.data("button-no_picture")||a.data("button-repeat")||a.data("button-rewind")||t.conf.skin_preview)&&(l=!t.have_visible_playlist&&0<t.conf.playlist.length||t.have_visible_playlist(),t.bind("ready",function(e,t){var o;void 0===r&&void 0===n&&(r=t.next,n=t.prev),t.video&&t.video.type&&!t.video.type.match(/^audio/)&&a.data("button-no_picture")&&!f&&(f=!0,t.createNoPictureButton()),a.data("button-repeat")&&(l&&!p?(p=!0,t.createRepeatButton(),t.conf.playlist_shuffle=t.conf.track_repeat=!1,s=c(),t.conf.loop&&jQuery("a[data-action=repeat_playlist]",i).trigger("click")):0!=a.find(".fv-fp-track-repeat").length||l||((o=jQuery('<strong class="fv-fp-track-repeat"><svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-replay-track"><use xlink:href="#fvp-replay-track"></use></svg></strong>')).insertAfter(a.find(".fp-controls .fp-volume")).on("click",function(e){e.preventDefault(),e.stopPropagation(),t.video.loop?t.video.loop=!1:t.video.loop=!0,jQuery(this).toggleClass("is-active fp-color-fill",t.video.loop)}),t.conf.loop&&o.addClass("is-active fp-color-fill"),t.on("finish",function(e,t){t.video.loop&&(console.log("playlist-repeat.module",t.video.loop),t.resume())}))),a.data("button-rewind")&&!freedomplayer.support.touch&&t.createRewindForwardButtons()}).bind("progress",function(){a.data("button-repeat")&&(t.video.loop=t.conf.track_repeat)}).bind("finish.pl",function(e,t){a.data("button-repeat")&&l&&(console.log("playlist_repeat",t.conf.loop,"advance",t.conf.advance,"video.loop",t.video.loop),t.conf.playlist_shuffle)&&(t.play(s.pop()),0==s.length)&&(s=c())}).bind("unload",function(){a.find(".fv-fp-no-picture").remove(),a.find(".fv-fp-playlist").remove(),a.find(".fv-fp-track-repeat").remove()}),t.createNoPictureButton=function(){0<a.find(".fv-fp-no-picture").length||jQuery('<span class="fv-fp-no-picture"><svg viewBox="0 0 90 80" width="18px" height="18px" class="fvp-icon fvp-nopicture"><use xlink:href="#fvp-nopicture"></use></svg></span>').insertAfter(a.find(".fp-controls .fp-volume")).on("click",function(e){e.preventDefault(),e.stopPropagation(),jQuery(".fp-engine",a).slideToggle(20),jQuery(this).toggleClass("is-active fp-color-fill"),a.toggleClass("is-no-picture")})},t.createRepeatButton=function(){var e;0<a.find(".fv-fp-playlist").length||(e=fv_flowplayer_translations,(o=jQuery('<strong class="fv-fp-playlist mode-normal">      <svg viewBox="0 0 80.333 80" width="18px" height="18px" class="fvp-icon fvp-replay-list"><title>'+e.playlist_replay_all+'</title><use xlink:href="#fvp-replay-list"></use></svg>      <svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-shuffle"><title>'+e.playlist_shuffle+'</title><use xlink:href="#fvp-shuffle"></use></svg>      <svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-replay-track"><title>'+e.playlist_replay_video+'</title><use xlink:href="#fvp-replay-track"></use></svg>      <span id="fvp-playlist-play" title="'+e.playlist_play_all+'">'+e.playlist_play_all_button+"</span>      </strong>")).insertAfter(a.find(".fp-controls .fp-volume")).on("click",function(e){e.preventDefault(),e.stopPropagation(),"auto"!==i.css("right")&&i.css({right:"auto",left:o.position().left+"px"}),i.hasClass("fp-active")?t.hideMenu(i[0]):(a.trigger("click"),t.showMenu(i[0]))}),i=jQuery('<div class="fp-menu fv-fp-playlist-menu">        <a data-action="repeat_playlist"><svg viewBox="0 0 80.333 80" width="18px" height="18px" class="fvp-icon fvp-replay-list"><title>'+e.playlist_replay_all+'</title><use xlink:href="#fvp-replay-list"></use></svg> <span class="screen-reader-text">'+e.playlist_replay_all+'</span></a>        <a data-action="shuffle_playlist"><svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-shuffle"><title>'+e.playlist_shuffle+'</title><use xlink:href="#fvp-shuffle"></use></svg> <span class="screen-reader-text">'+e.playlist_shuffle+'</span></a>        <a data-action="repeat_track"><svg viewBox="0 0 80.333 71" width="18px" height="18px" class="fvp-icon fvp-replay-track"><title>'+e.playlist_replay_video+'</title><use xlink:href="#fvp-replay-track"></use></svg> <span class="screen-reader-text">'+e.playlist_replay_video+'</span></a>        <a class="fp-selected" data-action="normal"><span id="fvp-playlist-play" title="'+e.playlist_play_all+'">'+e.playlist_play_all_button+"</span></a>        </div>").insertAfter(a.find(".fp-controls")),jQuery("a",i).on("click",function(){jQuery(this).siblings("a").removeClass("fp-selected"),jQuery(this).addClass("fp-selected"),o.removeClass("mode-normal mode-repeat-track mode-repeat-playlist mode-shuffle-playlist");var e=jQuery(this).data("action");"repeat_playlist"==e?(o.addClass("mode-repeat-playlist"),t.conf.loop=!0,t.conf.advance=!0,t.video.loop=t.conf.track_repeat=!1,t.conf.playlist_shuffle=!1):"shuffle_playlist"==e?(s=s||c(),o.addClass("mode-shuffle-playlist"),t.conf.loop=!0,t.conf.advance=!0,t.conf.playlist_shuffle=!0):"repeat_track"==e?(o.addClass("mode-repeat-track"),t.conf.track_repeat=t.video.loop=!0,t.conf.loop=t.conf.playlist_shuffle=!1):"normal"==e&&(o.addClass("mode-normal"),t.conf.track_repeat=t.video.loop=!1,t.conf.loop=t.conf.playlist_shuffle=!1),t.conf.playlist_shuffle?(t.next=function(){t.play(s.pop()),0==s.length&&(s=c())},t.prev=function(){t.play(s.shift()),0==s.length&&(s=c())}):(t.next=r,t.prev=n)}))},t.createRewindForwardButtons=function(){var e;0==a.find(".fv-fp-rewind").length&&((e=jQuery('<span class="fv-fp-rewind"><svg viewBox="0 0 24 24" width="21px" height="21px" class="fvp-icon fvp-rewind"><use xlink:href="#fvp-rewind"></use></svg></span>')).insertBefore(a.find(".fp-controls .fp-playbtn")).on("click",function(e){e.preventDefault(),e.stopPropagation(),t.seek(t.video.time-10)}),e.toggle(!t.video.live||t.video.dvr)),0==a.find(".fv-fp-forward").length&&((e=jQuery('<span class="fv-fp-forward"><svg viewBox="0 0 24 24" width="21px" height="21px" class="fvp-icon fvp-forward"><use xlink:href="#fvp-forward"></use></svg></span>')).insertAfter(a.find(".fp-controls .fp-playbtn")).on("click",function(e){e.preventDefault(),e.stopPropagation(),t.seek(t.video.time+10)}),e.toggle(!t.video.live||t.video.dvr))},t.conf.skin_preview)&&(a.data("button-no_picture")&&setTimeout(function(){t.createNoPictureButton()},0),a.data("button-repeat")&&setTimeout(function(){t.createRepeatButton()},0),a.data("button-rewind"))&&setTimeout(function(){t.createRewindForwardButtons()},0)}),freedomplayer(function(e,t){var o,a,n,r,i=freedomplayer.bean,l=freedomplayer.common,t=t.getAttribute("id"),t=l.find('[rel="'+t+'"]'),s=!1,f=!1;function p(){s=!1,r.classList.remove("active"),setTimeout(function(){r.classList.remove("is-dragging")}),d()}function c(o){var e=Math.floor(r.clientWidth/r.children[0].clientWidth),t=r.children[0].clientWidth+20;n=o?r.scrollLeft+e*t:r.scrollLeft-e*t,o&&n>r.scrollWidth-r.clientWidth?n=r.scrollWidth-r.clientWidth:!o&&n<0&&(n=0),window.requestAnimationFrame(function e(){var t=o?30:-30;Math.abs(n-r.scrollLeft)<20&&(t=n-r.scrollLeft);r.scrollTo({top:0,left:r.scrollLeft+t});n==r.scrollLeft?d():window.requestAnimationFrame(e)})}function d(){r.classList.remove("leftmost","rightmost"),0===r.scrollLeft?r.classList.add("leftmost"):r.scrollLeft===r.scrollWidth-r.clientWidth&&r.classList.add("rightmost")}t[0]&&(r=l.find(".fv-playlist-draggable",t),l=l.find(".fv-playlist-left-arrow, .fv-playlist-right-arrow",t),r[0])&&l[0]&&l[1]&&(r=r[0],d(),i.on(r,"scroll",d),i.on(r,"mousedown",function(e){e.preventDefault(),s=!0,r.classList.add("active"),a=r.scrollLeft,o=e.pageX-r.offsetLeft}),i.on(r,"mouseup",p),r.onmouseleave=function(){f=!1,p()},i.on(r,"mousemove",function(e){f=!0,s&&(e.preventDefault(),e=e.pageX-r.offsetLeft-o,5<Math.abs(e)&&r.classList.add("is-dragging"),r.scrollLeft=a-e)}),l[0].onclick=function(){c(!1)},l[1].onclick=function(){c(!0)},i.on(document,"keydown",function(e){f&&(39===(e=e.keyCode)&&c(!0),37===e)&&c(!1)}))}),flowplayer(function(e,t){var o=jQuery(t),a=o.data("playlist_start");function n(){1!==o.data("position_changed")&&e.conf.playlist.length&&(a--,void 0===e.conf.playlist[a].click&&(e.engine&&"hlsjs-lite"==e.engine.engineName&&(e.loading=!1),e.play(a)),o.data("position_changed",1))}void 0!==a&&(e.bind("unload",function(){a=o.data("playlist_start"),o.removeData("position_changed"),e.one(e.conf.poster?"resume":"ready",n)}),e.one(e.conf.poster?"resume":"ready",n),jQuery(".fp-ui",t).on("click",function(){n(),o.data("position_changed",1)}))}),document.addEventListener("custombox:overlay:close",function(e){console.log("FV Player: Custombox/Popup anything ligtbox closed");var t=jQuery(this).find(".flowplayer");0!=t.length&&(console.log("FV Player: Custombox/Popup anything ligtbox contains a player"),t.each(function(e,t){var o=jQuery(t).data("flowplayer");void 0!==o&&(o.playing?(console.log("FV Player: Custombox/Popup anything ligtbox video pause"),o.pause()):o.loading&&o.one("ready",function(){console.log("FV Player: Custombox/Popup anything ligtbox video unload"),o.unload()}))}))}),"undefined"!=typeof flowplayer&&(freedomplayer.preload_count=0,freedomplayer.preload_limit=3,freedomplayer(function(e,t){t=jQuery(t);var o,a=!1,n=jQuery(t).data("playlist_start"),n=n?n-1:0;for(o in e.conf.clip&&(a=e.conf.clip.sources),a=e.conf.playlist[n]&&e.conf.playlist[n].sources?e.conf.playlist[n].sources:a){if("video/youtube"==a[o].type||a[o].src.match(/\/\/vimeo.com/))return r(),void e.debug("Preload not allowed beause of the video type");"application/x-mpegurl"==a[o].type&&(freedomplayer.preload_limit=1)}function r(){e.conf.splash=!0,e.preload=!1,t.removeClass("is-poster").addClass("is-splash")}e.conf.splash||freedomplayer.preload_count++,freedomplayer.preload_count>freedomplayer.preload_limit&&r()})),flowplayer(function(t,e){t.bind("finish",function(){var e=t.video.time;t.video.loop&&t.one("pause",function(){e<=t.video.time&&t.resume()})})}),"undefined"!=typeof flowplayer&&(fv_autoplay_type=fv_flowplayer_conf.autoplay_preload,fv_player_scroll_autoplay=!1,fv_player_scroll_autoplay_last_winner=-1,document.body.classList.contains("wp-admin")||document.body.classList.contains("elementor-editor-active")||(freedomplayer(function(e,o){fv_player_scroll_autoplay=!0,e.on("pause",function(e,t){t.manual_pause&&(console.log("Scroll autoplay: Manual pause for "+jQuery(o).attr("id")),t.non_viewport_pause=!0)})}),jQuery(window).on("scroll",function(){fv_player_scroll_autoplay=!0}),fv_player_scroll_int=setInterval(function(){var r,e,i,t,o;fv_player_scroll_autoplay&&(r=window.innerHeight||document.documentElement.clientHeight,e=jQuery(".flowplayer:not(.is-disabled)"),i=-1,e.each(function(e,t){var o,a,n=jQuery(this);void 0!==n.data("fvautoplay")&&-1==n.data("fvautoplay")||(o=n.data("flowplayer"),a=n.find(".fp-player"),n=void 0!==n.data("fvautoplay"),a.length&&!o.non_viewport_pause&&("viewport"==fv_autoplay_type||"sticky"==fv_autoplay_type||n)&&(n=a[0].getBoundingClientRect(),r-n.top>a.height()/4)&&n.bottom>a.height()/4&&(flowplayer.support.iOS&&"video/youtube"==o.conf.clip.sources[0].type||(i=e)))}),fv_player_scroll_autoplay_last_winner!=i&&(o=(t=e.eq(fv_player_scroll_autoplay_last_winner)).data("flowplayer"))&&o.playing&&(console.log("Scroll autoplay: Player not in viewport, pausing "+t.attr("id")),o.pause()),-1<i&&fv_player_scroll_autoplay_last_winner!=i&&((o=(t=e.eq(i)).data("flowplayer"))?o.ready?(console.log("Scroll autoplay: Resume "+t.attr("id")),o.resume()):o.loading||o.playing||o.error||(console.log("Scroll autoplay: Load "+t.attr("id")),o.load(),o.autoplayed=!0):(console.log("Scroll autoplay: Play "+t.attr("id")),fv_player_load(t),o.autoplayed=!0),fv_player_scroll_autoplay_last_winner=i),fv_player_scroll_autoplay=!1)},200))),flowplayer(function(o,a){(a=jQuery(a)).find(".fp-logo").removeAttr("href"),a.hasClass("no-controlbar")&&((e=o.sliders.timeline).disable(!0),o.bind("ready",function(){e.disable(!0)})),jQuery(".fvfp_admin_error",a).remove(),a.find(".fp-logo, .fp-header").on("click",function(e){e.target===this&&a.find(".fp-ui").trigger("click")}),jQuery(".fvp-share-bar .sharing-facebook",a).append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="#fff"><title>Facebook</title><path d="M11.9 5.2l-2.6 0 0-1.6c0-0.7 0.3-0.7 0.7-0.7 0.3 0 1.6 0 1.6 0l0-2.9 -2.3 0c-2.6 0-3.3 2-3.3 3.3l0 2 -1.6 0 0 2.9 1.6 0c0 3.6 0 7.8 0 7.8l3.3 0c0 0 0-4.2 0-7.8l2.3 0 0.3-2.9Z"/></svg>'),jQuery(".fvp-share-bar .sharing-twitter",a).append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="#fff"><title>Twitter</title><path d="M16 3.1c-0.6 0.3-1.2 0.4-1.9 0.5 0.7-0.4 1.2-1 1.4-1.8 -0.6 0.4-1.3 0.6-2.1 0.8 -0.6-0.6-1.4-1-2.4-1 -2 0.1-3.2 1.6-3.2 4 -2.7-0.1-5.1-1.4-6.7-3.4 -0.9 1.4 0.2 3.8 1 4.4 -0.5 0-1-0.1-1.5-0.4l0 0.1c0 1.6 1.1 2.9 2.6 3.2 -0.7 0.2-1.3 0.1-1.5 0.1 0.4 1.3 1.6 2.2 3 2.3 -1.6 1.7-4.6 1.4-4.8 1.3 1.4 0.9 3.2 1.4 5 1.4 6 0 9.3-5 9.3-9.3 0-0.1 0-0.3 0-0.4 0.6-0.4 1.2-1 1.6-1.7Z"/></svg>'),jQuery(".fvp-share-bar .sharing-email",a).append('<svg xmlns="http://www.w3.org/2000/svg" height="16" viewBox="0 0 16 16" width="16" fill="#fff"><title>Email</title><path d="M8 10c0 0 0 0-1 0L0 6v7c0 1 0 1 1 1h14c1 0 1 0 1-1V6L9 10C9 10 8 10 8 10zM15 2H1C0 2 0 2 0 3v1l8 4 8-4V3C16 2 16 2 15 2z"/></svg>'),jQuery(".fp-header",a).prepend(jQuery(".fvp-share-bar",a)),(!o.have_visible_playlist&&0<o.conf.playlist.length||o.have_visible_playlist())&&!freedomplayer.support.touch&&(t=jQuery('<a class="fp-icon fv-fp-prevbtn"></a>'),n=jQuery('<a class="fp-icon fv-fp-nextbtn"></a>'),a.find(".fp-controls .fp-playbtn").before(t).after(n),t.on("click",function(){o.trigger("prev",[o]),o.prev()}),n.on("click",function(){o.trigger("next",[o]),o.next()})),"undefined"!=typeof fv_player_editor_conf&&a.on("click",".fvp-sharing > li",function(e){return e.preventDefault(),fv_player_notice(a,fv_player_editor_translations.link_notice,2e3),!1}),o.bind("pause resume finish unload ready",function(e,t){a.addClass("no-brand")}),o.on("ready",function(e,t,o){setTimeout(function(){a.hasClass("is-youtube-standard")||a.hasClass("is-youtube-reduced")||jQuery(".fvp-share-bar",a).show(),jQuery(".fv-player-buttons-wrap",a).appendTo(jQuery(".fv-player-buttons-wrap",a).parent().find(".fp-ui"))},100)}),o.bind("finish",function(){var e,t=a.data("fv_redirect");!t||void 0!==o.video.is_last&&!o.video.is_last||(freedomplayer.conf.wpadmin||flowplayer.conf.is_logged_in_editor)&&(e=(e=fv_flowplayer_translations.redirection).replace(/%url%/,t),!confirm(e))||(location.href=t)}),flowplayer.support.iOS&&11==flowplayer.support.iOS.version&&o.bind("error",function(e,t,o){4==o.code&&a.find(".fp-engine").hide()}),jQuery(document).on("contextmenu",".flowplayer",function(e){e.preventDefault()}),o.one("ready",function(e,t,o){a.find(".fp-chromecast").insertAfter(a.find(".fp-header .fp-fullscreen"))});var e,t,n,r=a.attr("id"),i=!flowplayer.support.fullscreen&&!flowplayer.conf.native_fullscreen&&flowplayer.conf.mobile_alternative_fullscreen;o.bind("fullscreen",function(e,t){jQuery("#wpadminbar, .nc_wrapper").hide(),i&&"video/youtube"!=t.video.type&&(a.before('<span data-fv-placeholder="'+r+'"></span>'),a.appendTo("body"))}),o.bind("fullscreen-exit",function(e,t,o){jQuery("#wpadminbar, .nc_wrapper").show(),i&&jQuery("span[data-fv-placeholder="+r+"]").replaceWith(a)})}),(()=>{function e(p){p(function(o,a){var n,e,r,i,l;function s(e){return Math.round(100*e)/100}function f(t){n.find(".fp-speed",a)[0].innerHTML=t+"x",n.find(".fp-speed-menu a",a).forEach(function(e){n.toggleClass(e,"fp-selected",e.getAttribute("data-speed")==t),n.toggleClass(e,"fp-color",e.getAttribute("data-speed")==t)})}(jQuery(a).data("speedb")||o.conf.skin_preview)&&(e=p.support).video&&e.inlineVideo&&(n=p.common,e=p.bean,r=n.find(".fp-ui",a)[0],i=n.find(".fp-controls",r)[0],l=o.conf.speeds,e.on(a,"click",".fp-speed",function(){var e=n.find(".fp-speed-menu",a)[0];n.hasClass(e,"fp-active")?o.hideMenu():o.showMenu(e)}),e.on(a,"click",".fp-speed-menu a",function(e){e=e.target.getAttribute("data-speed");o.speed(e)}),o.on("speed",function(e,t,o){1<l.length&&f(o)}).on("ready",function(e,t){t.removeSpeedButton(),p.support.android&&"html5"==t.engine.engineName&&"application/x-mpegurl"==t.video.type||1<(l=t.conf.speeds).length&&t.createSpeedButton()}),o.removeSpeedButton=function(){n.find(".fp-speed-menu",a).forEach(n.removeNode),n.find(".fp-speed",a).forEach(n.removeNode)},o.createSpeedButton=function(){var t;jQuery(a).data("speedb")&&(o.removeSpeedButton(),i.appendChild(n.createElement("strong",{className:"fp-speed"},o.currentSpeed+"x")),t=n.createElement("div",{className:"fp-menu fp-speed-menu",css:{width:"auto"}},"<strong>Speed</strong>"),l.forEach(function(e){e=n.createElement("a",{"data-speed":s(e)},s(e)+"x");t.appendChild(e)}),r.appendChild(t),f(o.currentSpeed),jQuery(a).find(".fp-speed-menu strong").text(fv_flowplayer_translations.speed))},o.conf.skin_preview)&&o.createSpeedButton()})}"object"===("undefined"==typeof module?"undefined":_typeof(module))&&module.exports?module.exports=e:"function"==typeof window.flowplayer&&e(window.flowplayer)})(),flowplayer(function(e,t){void 0===fv_flowplayer_conf.disable_localstorage&&(e.on("speed",function(e,t,o){try{window.localStorage.fv_player_speed=o}catch(e){}}),e.on("ready",function(){window.localStorage.fv_player_speed&&jQuery(t).find("strong.fp-speed").is(":visible")&&e.speed(parseFloat(window.localStorage.fv_player_speed)),0==jQuery(t).data("volume")&&e.mute(!0,!0)}))}),(s=>{var f={},p=!1;function t(){for(var e in f)for(var t in f[e])for(var o in f[e][t])f[e][t][o]=Math.round(f[e][t][o]);var a=(window.freedomplayer?freedomplayer:flowplayer).conf,n=(a.debug&&fv_player_stats_watched(),new FormData);n.append("tag","seconds"),n.append("blog_id",a.fv_stats.blog_id),n.append("user_id",a.fv_stats.user_id),n.append("_wpnonce",a.fv_stats.nonce),n.append("watched",encodeURIComponent(JSON.stringify(f))),navigator.sendBeacon(a.fv_stats.url,n)}flowplayer(function(e,t){t=s(t);var a,n=-1,r=0;if(e.conf.fv_stats&&(e.conf.fv_stats.enabled||t.data("fv_stats")&&"no"!=t.data("fv_stats"))){try{var i=t.data("fv_stats_data");if(!i)return}catch(e){return!1}e.on("ready finish",function(e,t){t.on("progress",function(e,t,o){o<1||n==l()||(n=l(),s.post(t.conf.fv_stats.url,{blog_id:t.conf.fv_stats.blog_id,video_id:t.video.id||0,player_id:i.player_id,post_id:i.post_id,user_id:t.conf.fv_stats.user_id,tag:"play",_wpnonce:t.conf.fv_stats.nonce}))}),a=!(r=0)}).on("finish",function(){n=-1}).on("progress",function(e,t,o){0!=o&&(t.seeking?r=o:a?a=!1:r=(0==r||o<=r||(f[i.player_id]||(f[i.player_id]={}),f[i.player_id][i.post_id]||(f[i.player_id][i.post_id]={}),f[i.player_id][i.post_id][t.video.id]||(f[i.player_id][i.post_id][t.video.id]=0),f[i.player_id][i.post_id][t.video.id]+=o-r,p=!0),o))}),e.on("cva",function(e,t){s.post(t.conf.fv_stats.url,{blog_id:t.conf.fv_stats.blog_id,video_id:t.video.id||0,player_id:i.player_id,post_id:i.post_id,user_id:t.conf.fv_stats.user_id,tag:"click",_wpnonce:t.conf.fv_stats.nonce})})}function l(){return e.video.index||0}}),s(window).on("beforeunload pagehide",function(){var e="sendBeacon"in navigator;!flowplayer.conf.stats_sent&&e&&(flowplayer.conf.stats_sent=!0,p)&&t()}),setInterval(function(){p&&(t(),p=!(f={}))},3e5),window.fv_player_stats_watched=function(){s.each(f,function(e,t){console.log("player id: "+e),s.each(t,function(e,t){console.log("post id: "+e),s.each(t,function(e,t){console.log("video id: "+e+" seconds: "+t)})})})}})(jQuery),flowplayer(function(o,a){var n,r=jQuery(a),e=r.find(".fp-player"),t=r.data("fvsticky"),i=!1,l=r.find(".fp-ratio");if(o.is_sticky=!1,(i=flowplayer.conf.sticky_video&&"off"!=flowplayer.conf.sticky_video&&void 0===t?!0:i)||t){if(!flowplayer.support.firstframe)return;var s=flowplayer.conf.sticky_place;i=jQuery(window),n=r,o.on("unload",function(){p(),r.removeClass("is-unSticky")}),i.on("resize",function(){c()||"all"==flowplayer.conf.sticky_video||o.is_sticky&&p()}).on("scroll",function(){var e,t;if(c()||"all"==flowplayer.conf.sticky_video)if(e=n[0],(t=e.getBoundingClientRect()).top>=0-jQuery(e).outerHeight()/2&&0<=t.left&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)+jQuery(e).outerHeight()/2&&t.right<=(window.innerWidth||document.documentElement.clientWidth)||!(o.playing||o.loading||flowplayer.audible_instance==r.data("freedomplayer-instance-id")||"object"==_typeof(a.fv_player_vast)&&"object"==_typeof(a.fv_player_vast.adsManager_)&&"function"==typeof a.fv_player_vast.adsManager_.getRemainingTime&&0<a.fv_player_vast.adsManager_.getRemainingTime()))p();else{if(0<jQuery("div.flowplayer.is-unSticky").length)return!1;f()}else o.is_sticky&&p()})}function f(){e.hasClass("is-sticky-"+s)||(e.addClass("is-sticky"),e.addClass("is-sticky-"+s),0==r.find("a.fp-sticky").length&&r.find("div.fp-header").prepend('<a class="fp-sticky fp-icon"></a>'),e.prepend(l.clone()),d(!0),o.is_sticky=!0,o.trigger("sticky",[o]),e.parent(".flowplayer").addClass("is-stickable"))}function p(){e.removeClass("is-sticky"),e.removeClass("is-sticky-"+s),e.css("max-width",""),e.find(".fp-ratio").remove(),e.parent(".flowplayer").removeClass("is-stickable"),o.is_sticky&&(d(),o.is_sticky=!1,o.trigger("sticky-exit",[o]))}function c(){return o.autoplayed||jQuery(window).innerWidth()>=fv_flowplayer_conf.sticky_min_width}function d(e){var t=a;while(t){try{var o=getComputedStyle(t);o.transform&&(t.style.transform=e?"none":""),o.zIndex&&(t.style.zIndex=e?"auto":"")}catch(e){}t=t.parentNode}}o.sticky=function(e,t){void 0===e&&(e=!o.is_sticky),t&&r.toggleClass("is-unSticky",!e),(e?f:p)()}}),jQuery(function(o){o(document).on("click","a.fp-sticky",function(){var e=o("div.flowplayer.is-stickable"),t=e.data("flowplayer");e.addClass("is-unSticky"),e.find(".fp-player").removeClass(["is-sticky","is-sticky-right-bottom","is-sticky-left-bottom","is-sticky-right-top","is-sticky-left-top"]).css({width:"",height:"",maxHeight:""}),t.is_sticky&&(t.is_sticky=!1,t.trigger("sticky-exit",[t])),t.autoplayed&&t.pause()}),o(document).on("click","div.flowplayer.is-unSticky",function(){o("div.flowplayer").removeClass("is-unSticky")})}),flowplayer(function(e,n){n=jQuery(n);var r=window.localStorage;e.on("ready",function(e,o,t){var a;t.subtitles&&t.subtitles.length&&(r.fv_player_subtitle&&o.video.subtitles&&o.video.subtitles.length?"none"===r.fv_player_subtitle?o.disableSubtitles():o.video.subtitles.forEach(function(e,t){e.srclang===r.fv_player_subtitle&&o.loadSubtitles(t)}):(a=t.subtitles.filter(function(e){return e.fv_default})[0])&&o.loadSubtitles(t.subtitles.indexOf(a))),void 0===fv_flowplayer_conf.disable_localstorage&&n.find(".fp-subtitle-menu").on("click",function(e){var t=e.target.getAttribute("data-subtitle-index");if("string"==typeof t)try{r.fv_player_subtitle=-1<t?o.video.subtitles[t].srclang:"none"}catch(e){}})})}),flowplayer(function(e,o){o=jQuery(o),e.on("ready",function(e,t){o.find(".fp-subtitle-menu strong").text(fv_flowplayer_translations.closed_captions),o.find('.fp-subtitle-menu a[data-subtitle-index="-1"]').text(fv_flowplayer_translations.no_subtitles)})}),"undefined"!=typeof flowplayer&&"undefined"!=typeof fv_flowplayer_conf&&fv_flowplayer_conf.video_hash_links&&(flowplayer(function(o,a){var n,r,i,l,s,f,p="";0<jQuery(a).find(".sharing-link").length&&(n=function(e,t){l=fv_player_get_video_link_hash(o),s=","+fv_player_time_hms(o.video.time),e&&t?(i=","+fv_player_time_hms_ms(e+o.get_custom_start()),r=","+fv_player_time_hms_ms(t+o.get_custom_start())):(r=f&&void 0!==o.get_ab_end()&&o.get_ab_end()?","+fv_player_time_hms_ms(o.get_ab_end()):"",i=f&&void 0!==o.get_ab_start()&&o.get_ab_start()?","+fv_player_time_hms_ms(o.get_ab_start()):""),p=jQuery(".sharing-link",a).attr("href").replace(/#.*/,"")+"#"+l+s+i+r,jQuery(".sharing-link",a).attr("href",p)},o.on("ready",function(e,t,o){t.fv_noUiSlider&&t.fv_noUiSlider.on("set",function(e){n(e[0],e[1])})}),o.on("progress",function(e,t){t.video.sources&&t.video.sources[0]&&n()}),o.on("abloop",function(e,t,o){f=o,t.playing||n()}),jQuery(".sharing-link",a).on("click",function(e){e.preventDefault(),fv_player_clipboard(jQuery(this).attr("href"),function(){fv_player_notice(a,fv_flowplayer_translations.link_copied,2e3)},function(){fv_player_notice(a,fv_flowplayer_translations.error_copy_clipboard,2e3)})})),o.get_video_link=function(){return p}}),jQuery(document).on("click",'a[href*="fvp_"]',function(){var e=jQuery(this);setTimeout(function(){0==e.parents(".fvp-share-bar").length&&fv_video_link_autoplay()})})),flowplayer(function(e,a){a=jQuery(a);var n=!1;function r(){a.removeClass("has-fp-message-muted"),a.find(".fp-message-muted").remove()}e.one("ready",function(e,t){a.hasClass("is-audio")||(n=!0)}),e.on("progress",function(e,t,o){n&&1<o&&(n=!1,(o=jQuery("root").find("video")).length&&!(o=o[0]).mozHasAudio&&!Boolean(o.webkitAudioDecodedByteCount)&&!Boolean(o.audioTracks&&o.audioTracks.length)||!t.muted&&0!=t.volumeLevel||"true"==localStorage.muted||"0"==localStorage.volume||(o=jQuery('<div class="fp-message fp-message-muted"><span class="fp-icon fp-volumebtn-notice"></span> '+fv_flowplayer_translations.click_to_unmute+"</div>"),freedomplayer.bean.on(o[0],"click touchstart",function(){t.mute(!1),t.volume(1)}),a.find(".fp-ui").append(o),a.addClass("has-fp-message-muted"),setTimeout(r,1e4)))}),e.on("mute volume",function(){(!e.muted||0<e.volumeLevel)&&r()})}),"undefined"!=typeof flowplayer&&(fv_player_warning=function(e,t,o){var a=jQuery(e).prev(".fv-player-warning-wrapper");0==a.length&&(jQuery(e).before('<div class="fv-player-warning-wrapper">'),a=jQuery(e).prev(".fv-player-warning-wrapper")),0==a.find(".fv-player-warning-"+o).length&&(e=jQuery("<p style='display: none' "+(o?" class='fv-player-warning-"+o+"'":"")+">"+t+"</p>"),a.append(e),e.slideDown())},flowplayer(function(t,a){a=jQuery(a),navigator.userAgent.match(/iPhone.* OS [0-6]_/i)&&t.one("progress",function(e){void 0!==t.video.subtitles&&t.video.subtitles.length&&fv_player_warning(a,fv_flowplayer_translations.warning_iphone_subs)}),flowplayer.support.android&&flowplayer.support.android.version<5&&(flowplayer.support.android.samsung||flowplayer.support.browser.safari)&&fv_player_warning(a,fv_flowplayer_translations.warning_unstable_android,"firefox"),/Android 4/.test(navigator.userAgent)&&!/Firefox/.test(navigator.userAgent)&&(t.on("ready",function(e,t,o){setTimeout(function(){o.src&&o.src.match(/fpdl.vimeocdn.com/)&&(0==o.time||1==o.time)&&(fv_player_warning(a,fv_flowplayer_translations.warning_unstable_android,"firefox"),t.on("progress",function(e,t){a.prev().find(".fv-player-warning-firefox").remove()}))},1500)}),t.on("error",function(e,t,o){2==o.MEDIA_ERR_NETWORK&&o.video.src.match(/fpdl.vimeocdn.com/)&&fv_player_warning(a,fv_flowplayer_translations.warning_unstable_android,"firefox")})),/Safari/.test(navigator.userAgent)&&/Version\/5/.test(navigator.userAgent)&&t.on("error",function(e,t,o){o.video.src.match(/fpdl.vimeocdn.com/)&&fv_player_warning(a,fv_flowplayer_translations.warning_old_safari)});var e=flowplayer.support;e.android&&(e.android.samsung&&parseInt(e.browser.version)<66||e.browser.safari)&&t.on("error",function(e,t,o){fv_player_warning(a,fv_flowplayer_translations.warning_samsungbrowser,"warning_samsungbrowser")})})),flowplayer(function(o,a){a=jQuery(a);var n=!1;jQuery(o.conf.playlist).each(function(e,t){t.sources[0].type.match(/youtube/)&&(n=!0)}),n&&(a.addClass("is-youtube"),void 0!==fv_flowplayer_conf.youtube_browser_chrome)&&"none"==fv_flowplayer_conf.youtube_browser_chrome&&a.addClass("is-youtube-nl"),o.on("ready",function(e,t,o){a.find(".fp-youtube-wrap").remove(),a.find(".fp-youtube-logo").remove(),"video/youtube"==o.type?(a.addClass("is-youtube"),void 0!==fv_flowplayer_conf.youtube_browser_chrome&&("none"==fv_flowplayer_conf.youtube_browser_chrome&&a.addClass("is-youtube-nl"),"standard"==fv_flowplayer_conf.youtube_browser_chrome&&a.addClass("is-youtube-standard"),"reduced"==fv_flowplayer_conf.youtube_browser_chrome)&&(a.addClass("is-youtube-reduced"),a.addClass("is-youtube-nl"),a.find(".fp-ui").append('<div class="fp-youtube-wrap"><a class="fp-youtube-title" target="_blank" href="'+t.video.src+'">'+o.fv_title_clean+"</a></div>"),a.find(".fp-ui").append('<a class="fp-youtube-logo" target="_blank" href="'+t.video.src+'"><svg height="100%" version="1.1" viewBox="0 0 110 26" width="100%"><path class="ytp-svg-fill" d="M 16.68,.99 C 13.55,1.03 7.02,1.16 4.99,1.68 c -1.49,.4 -2.59,1.6 -2.99,3 -0.69,2.7 -0.68,8.31 -0.68,8.31 0,0 -0.01,5.61 .68,8.31 .39,1.5 1.59,2.6 2.99,3 2.69,.7 13.40,.68 13.40,.68 0,0 10.70,.01 13.40,-0.68 1.5,-0.4 2.59,-1.6 2.99,-3 .69,-2.7 .68,-8.31 .68,-8.31 0,0 .11,-5.61 -0.68,-8.31 -0.4,-1.5 -1.59,-2.6 -2.99,-3 C 29.11,.98 18.40,.99 18.40,.99 c 0,0 -0.67,-0.01 -1.71,0 z m 72.21,.90 0,21.28 2.78,0 .31,-1.37 .09,0 c .3,.5 .71,.88 1.21,1.18 .5,.3 1.08,.40 1.68,.40 1.1,0 1.99,-0.49 2.49,-1.59 .5,-1.1 .81,-2.70 .81,-4.90 l 0,-2.40 c 0,-1.6 -0.11,-2.90 -0.31,-3.90 -0.2,-0.89 -0.5,-1.59 -1,-2.09 -0.5,-0.4 -1.10,-0.59 -1.90,-0.59 -0.59,0 -1.18,.19 -1.68,.49 -0.49,.3 -1.01,.80 -1.21,1.40 l 0,-7.90 -3.28,0 z m -49.99,.78 3.90,13.90 .18,6.71 3.31,0 0,-6.71 3.87,-13.90 -3.37,0 -1.40,6.31 c -0.4,1.89 -0.71,3.19 -0.81,3.99 l -0.09,0 c -0.2,-1.1 -0.51,-2.4 -0.81,-3.99 l -1.37,-6.31 -3.40,0 z m 29.59,0 0,2.71 3.40,0 0,17.90 3.28,0 0,-17.90 3.40,0 c 0,0 .00,-2.71 -0.09,-2.71 l -9.99,0 z m -53.49,5.12 8.90,5.18 -8.90,5.09 0,-10.28 z m 89.40,.09 c -1.7,0 -2.89,.59 -3.59,1.59 -0.69,.99 -0.99,2.60 -0.99,4.90 l 0,2.59 c 0,2.2 .30,3.90 .99,4.90 .7,1.1 1.8,1.59 3.5,1.59 1.4,0 2.38,-0.3 3.18,-1 .7,-0.7 1.09,-1.69 1.09,-3.09 l 0,-0.5 -2.90,-0.21 c 0,1 -0.08,1.6 -0.28,2 -0.1,.4 -0.5,.62 -1,.62 -0.3,0 -0.61,-0.11 -0.81,-0.31 -0.2,-0.3 -0.30,-0.59 -0.40,-1.09 -0.1,-0.5 -0.09,-1.21 -0.09,-2.21 l 0,-0.78 5.71,-0.09 0,-2.62 c 0,-1.6 -0.10,-2.78 -0.40,-3.68 -0.2,-0.89 -0.71,-1.59 -1.31,-1.99 -0.7,-0.4 -1.48,-0.59 -2.68,-0.59 z m -50.49,.09 c -1.09,0 -2.01,.18 -2.71,.68 -0.7,.4 -1.2,1.12 -1.49,2.12 -0.3,1 -0.5,2.27 -0.5,3.87 l 0,2.21 c 0,1.5 .10,2.78 .40,3.78 .2,.9 .70,1.62 1.40,2.12 .69,.5 1.71,.68 2.81,.78 1.19,0 2.08,-0.28 2.78,-0.68 .69,-0.4 1.09,-1.09 1.49,-2.09 .39,-1 .49,-2.30 .49,-3.90 l 0,-2.21 c 0,-1.6 -0.2,-2.87 -0.49,-3.87 -0.3,-0.89 -0.8,-1.62 -1.49,-2.12 -0.7,-0.5 -1.58,-0.68 -2.68,-0.68 z m 12.18,.09 0,11.90 c -0.1,.3 -0.29,.48 -0.59,.68 -0.2,.2 -0.51,.31 -0.81,.31 -0.3,0 -0.58,-0.10 -0.68,-0.40 -0.1,-0.3 -0.18,-0.70 -0.18,-1.40 l 0,-10.99 -3.40,0 0,11.21 c 0,1.4 .18,2.39 .68,3.09 .49,.7 1.21,1 2.21,1 1.4,0 2.48,-0.69 3.18,-2.09 l .09,0 .31,1.78 2.59,0 0,-14.99 c 0,0 -3.40,.00 -3.40,-0.09 z m 17.31,0 0,11.90 c -0.1,.3 -0.29,.48 -0.59,.68 -0.2,.2 -0.51,.31 -0.81,.31 -0.3,0 -0.58,-0.10 -0.68,-0.40 -0.1,-0.3 -0.21,-0.70 -0.21,-1.40 l 0,-10.99 -3.40,0 0,11.21 c 0,1.4 .21,2.39 .71,3.09 .5,.7 1.18,1 2.18,1 1.39,0 2.51,-0.69 3.21,-2.09 l .09,0 .28,1.78 2.62,0 0,-14.99 c 0,0 -3.40,.00 -3.40,-0.09 z m 20.90,2.09 c .4,0 .58,.11 .78,.31 .2,.3 .30,.59 .40,1.09 .1,.5 .09,1.21 .09,2.21 l 0,1.09 -2.5,0 0,-1.09 c 0,-1 -0.00,-1.71 .09,-2.21 0,-0.4 .11,-0.8 .31,-1 .2,-0.3 .51,-0.40 .81,-0.40 z m -50.49,.12 c .5,0 .8,.18 1,.68 .19,.5 .28,1.30 .28,2.40 l 0,4.68 c 0,1.1 -0.08,1.90 -0.28,2.40 -0.2,.5 -0.5,.68 -1,.68 -0.5,0 -0.79,-0.18 -0.99,-0.68 -0.2,-0.5 -0.31,-1.30 -0.31,-2.40 l 0,-4.68 c 0,-1.1 .11,-1.90 .31,-2.40 .2,-0.5 .49,-0.68 .99,-0.68 z m 39.68,.09 c .3,0 .61,.10 .81,.40 .2,.3 .27,.67 .37,1.37 .1,.6 .12,1.51 .12,2.71 l .09,1.90 c 0,1.1 .00,1.99 -0.09,2.59 -0.1,.6 -0.19,1.08 -0.49,1.28 -0.2,.3 -0.50,.40 -0.90,.40 -0.3,0 -0.51,-0.08 -0.81,-0.18 -0.2,-0.1 -0.39,-0.29 -0.59,-0.59 l 0,-8.5 c .1,-0.4 .29,-0.7 .59,-1 .3,-0.3 .60,-0.40 .90,-0.40 z" id="ytp-id-14"></path></svg></a>'),void 0!==o.author_thumbnail)&&void 0!==o.author_url&&a.find(".fp-youtube-wrap").prepend('<a class="fp-youtube-channel-thumbnail" target="_blank" href="'+o.author_url+'" title="'+o.author_name+'"><img src="'+o.author_thumbnail+'" /></a>')):(a.removeClass("is-youtube"),a.removeClass("is-youtube-nl"),a.removeClass("is-youtube-standard"),a.removeClass("is-youtube-reduced"),a.find(".fp-youtube-wrap").remove(),a.find(".fp-youtube-logo").remove())}),a.on("click",".fp-youtube-title, .fp-youtube-logo",function(e){var t=o.video.time;0<t&&(t=flowplayer(0).video.sources[0].src+"&t="+parseInt(t)+"s",jQuery(this).attr("href",t))})});
  • fv-player/trunk/freedom-video-player/modules/scroll-autoplay.module.js

    r3314575 r3363337  
    44    fv_player_scroll_autoplay_last_winner = -1;
    55
    6   freedomplayer(function(api, root) {
    7     fv_player_scroll_autoplay = true;
     6  // Only autoplay if...
     7  if (
     8    // ...not in wp-admin, meaning in editor
     9    ! document.body.classList.contains( 'wp-admin' ) &&
     10    // ...not in Elementor editor
     11    ! document.body.classList.contains( 'elementor-editor-active' )
     12  ) {
     13    freedomplayer(function(api, root) {
     14      fv_player_scroll_autoplay = true;
    815
    9     api.on('pause', function(e,api) {
    10       if(api.manual_pause) {
    11         console.log('Scroll autoplay: Manual pause for ' + jQuery(root).attr('id'));
    12         api.non_viewport_pause = true;
    13       }
    14     });
    15   })
     16      api.on('pause', function(e,api) {
     17        if(api.manual_pause) {
     18          console.log('Scroll autoplay: Manual pause for ' + jQuery(root).attr('id'));
     19          api.non_viewport_pause = true;
     20        }
     21      });
     22    })
    1623
    17   jQuery(window).on( 'scroll', function() {
    18     fv_player_scroll_autoplay = true;
    19   } );
     24    jQuery(window).on( 'scroll', function() {
     25      fv_player_scroll_autoplay = true;
     26    } );
    2027
    21   var fv_player_scroll_int = setInterval( function() {
    22     if( !fv_player_scroll_autoplay ) {
    23       return;
    24     }
    25 
    26     var i = 0,
    27       window_height = (window.innerHeight || document.documentElement.clientHeight );
    28 
    29     var players = jQuery('.flowplayer:not(.is-disabled)'),
    30       winner = -1;
    31 
    32     players.each( function(k,v) {
    33       var root = jQuery(this);
    34 
    35       // Autoplay disabled for he player
    36       if( typeof root.data('fvautoplay') != 'undefined' && root.data('fvautoplay') == -1 ) {
     28    var fv_player_scroll_int = setInterval( function() {
     29      if( !fv_player_scroll_autoplay ) {
    3730        return;
    3831      }
    3932
    40       // FV Player in wp-admin = in editor - should not autoplay
    41       if( jQuery('body').hasClass('wp-admin') ) return;
     33      var i = 0,
     34        window_height = (window.innerHeight || document.documentElement.clientHeight );
    4235
    43       var api = root.data('flowplayer'),
    44         player = root.find('.fp-player'),
    45         player_autoplay = typeof root.data('fvautoplay') != 'undefined';
     36      var players = jQuery('.flowplayer:not(.is-disabled)'),
     37        winner = -1;
    4638
    47       // No ready yet
    48       if ( !player.length ) {
    49         return;
     39      players.each( function(k,v) {
     40        var root = jQuery(this);
     41
     42        // Autoplay disabled for he player
     43        if( typeof root.data('fvautoplay') != 'undefined' && root.data('fvautoplay') == -1 ) {
     44          return;
     45        }
     46
     47        var api = root.data('flowplayer'),
     48          player = root.find('.fp-player'),
     49          player_autoplay = typeof root.data('fvautoplay') != 'undefined';
     50
     51        // No ready yet
     52        if ( !player.length ) {
     53          return;
     54        }
     55
     56        if ( api.non_viewport_pause ) {
     57          return;
     58        }
     59
     60        if( fv_autoplay_type == 'viewport' || fv_autoplay_type == 'sticky' || player_autoplay ) { // play video when on viewport or sticky or player enabled autoplay
     61          var rect = player[0].getBoundingClientRect(); // watch .fp-player because root can ve outside viewport when stickied
     62
     63          // prevent play arrow and control bar from appearing for a fraction of second for an autoplayed video
     64          // var play_icon = root.find('.fp-play').addClass('invisible'),
     65          // control_bar = root.find('.fp-controls').addClass('invisible');
     66
     67          // api.one('progress', function() {
     68          //   play_icon.removeClass('invisible');
     69          //   control_bar.removeClass('invisible');
     70          // });
     71
     72          if(
     73            // The player is not too far down, at least 1/4 of the player is visible
     74            window_height - rect.top > player.height() / 4 &&
     75            // ...and the player is not too far up either, so that less than bottom 1/4 can be seen
     76            rect.bottom > player.height() / 4
     77          ) {
     78            // disabling for YouTube on iOS
     79            if( flowplayer.support.iOS && api.conf.clip.sources[0].type == 'video/youtube' ) {
     80              return;
     81            }
     82
     83            winner = k;
     84          }
     85        }
     86      });
     87
     88      // Pause the previously playing video
     89      if ( fv_player_scroll_autoplay_last_winner != winner ) {
     90        var root = players.eq( fv_player_scroll_autoplay_last_winner ),
     91          api = root.data('flowplayer');
     92
     93        if( api && api.playing ) {
     94          console.log('Scroll autoplay: Player not in viewport, pausing ' + root.attr('id'));
     95          api.pause();
     96        }       
    5097      }
    5198
    52       if ( api.non_viewport_pause ) {
    53         return;
     99      // Now play the winner
     100      if ( winner > -1 && fv_player_scroll_autoplay_last_winner != winner ) {
     101        var root = players.eq( winner ),
     102          api = root.data('flowplayer');
     103
     104        if( !api ) {
     105          console.log('Scroll autoplay: Play ' + root.attr('id'));
     106          i++;
     107          fv_player_load( root );
     108
     109          api.autoplayed = true;
     110
     111        } else if( api.ready ) {
     112          console.log('Scroll autoplay: Resume ' + root.attr('id'));
     113          i++;
     114          api.resume();
     115
     116        } else if( !api.loading && !api.playing && !api.error ) {
     117          console.log('Scroll autoplay: Load ' + root.attr('id'));
     118          i++;
     119          api.load();
     120
     121          api.autoplayed = true;
     122        }
     123
     124        fv_player_scroll_autoplay_last_winner = winner;
    54125      }
    55126
    56       if( fv_autoplay_type == 'viewport' || fv_autoplay_type == 'sticky' || player_autoplay ) { // play video when on viewport or sticky or player enabled autoplay
    57         var rect = player[0].getBoundingClientRect(); // watch .fp-player because root can ve outside viewport when stickied
    58 
    59         // prevent play arrow and control bar from appearing for a fraction of second for an autoplayed video
    60         // var play_icon = root.find('.fp-play').addClass('invisible'),
    61         // control_bar = root.find('.fp-controls').addClass('invisible');
    62 
    63         // api.one('progress', function() {
    64         //   play_icon.removeClass('invisible');
    65         //   control_bar.removeClass('invisible');
    66         // });
    67 
    68         if(
    69           // The player is not too far down, at least 1/4 of the player is visible
    70           window_height - rect.top > player.height() / 4 &&
    71           // ...and the player is not too far up either, so that less than bottom 1/4 can be seen
    72           rect.bottom > player.height() / 4
    73         ) {
    74           // disabling for YouTube on iOS
    75           if( flowplayer.support.iOS && api.conf.clip.sources[0].type == 'video/youtube' ) {
    76             return;
    77           }
    78 
    79           winner = k;
    80         }
    81       }
    82     });
    83 
    84     // Pause the previously playing video
    85     if ( fv_player_scroll_autoplay_last_winner != winner ) {
    86       var root = players.eq( fv_player_scroll_autoplay_last_winner ),
    87         api = root.data('flowplayer');
    88 
    89       if( api && api.playing ) {
    90         console.log('Scroll autoplay: Player not in viewport, pausing ' + root.attr('id'));
    91         api.pause();
    92       }       
    93     }
    94 
    95     // Now play the winner
    96     if ( winner > -1 && fv_player_scroll_autoplay_last_winner != winner ) {
    97       var root = players.eq( winner ),
    98         api = root.data('flowplayer');
    99 
    100       if( !api ) {
    101         console.log('Scroll autoplay: Play ' + root.attr('id'));
    102         i++;
    103         fv_player_load( root );
    104 
    105         api.autoplayed = true;
    106 
    107       } else if( api.ready ) {
    108         console.log('Scroll autoplay: Resume ' + root.attr('id'));
    109         i++;
    110         api.resume();
    111 
    112       } else if( !api.loading && !api.playing && !api.error ) {
    113         console.log('Scroll autoplay: Load ' + root.attr('id'));
    114         i++;
    115         api.load();
    116 
    117         api.autoplayed = true;
    118       }
    119 
    120       fv_player_scroll_autoplay_last_winner = winner;
    121     }
    122 
    123     fv_player_scroll_autoplay = false;
    124   }, 200 );
     127      fv_player_scroll_autoplay = false;
     128    }, 200 );
     129  }
    125130}
  • fv-player/trunk/fv-player.php

    r3352934 r3363337  
    44Plugin URI: http://foliovision.com/player
    55Description: Formerly FV WordPress Flowplayer. Supports MP4, HLS, MPEG-DASH, WebM and OGV. Advanced features such as overlay ads or popups.
    6 Version: 8.0.25
     6Version: 8.0.26
    77Author URI: http://foliovision.com/
    88Requires PHP: 5.6
     
    3636global $fv_wp_flowplayer_ver;
    3737
    38 $fv_wp_flowplayer_ver = '8.0.25';
     38$fv_wp_flowplayer_ver = '8.0.26';
    3939$fv_wp_flowplayer_core_ver = '8.0.20.1';
    4040
     
    185185  wp_doing_cron() ||
    186186  is_admin() ||
    187   "POST" === sanitize_text_field( $_SERVER['REQUEST_METHOD'] ) && preg_match( '~/wp/v2/posts/\d+~', urldecode( sanitize_text_field( $_SERVER['REQUEST_URI'] ) ) )
     187  ! empty( $_SERVER['REQUEST_METHOD'] ) && "POST" === sanitize_text_field( $_SERVER['REQUEST_METHOD'] ) && preg_match( '~/wp/v2/posts/\d+~', urldecode( sanitize_text_field( $_SERVER['REQUEST_URI'] ) ) )
    188188) {
    189189  include_once( dirname( __FILE__ ) . '/controller/backend.php' );
     
    210210}
    211211
     212include_once( dirname( __FILE__ ) . '/controller/elementor.php' );
    212213include_once( dirname( __FILE__ ) . '/controller/frontend.php' );
    213214include_once( dirname( __FILE__ ) . '/controller/shortcodes.php');
  • fv-player/trunk/js/bunny_stream-admin.js

    r3131463 r3363337  
    247247          setTimeout(function() {
    248248            if( !bunny_stream_browser_link.hasClass('active') ) {
    249               bunny_stream_browser_link.click();
     249              bunny_stream_browser_link.trigger( 'click' );
    250250            }
    251251          }, 500);     
  • fv-player/trunk/js/media-library-browser-base.js

    r3336706 r3363337  
    548548      // and change class of this tab to active on click
    549549      setTimeout(function() {
    550         jQuery('#' + tabId).click();
     550        jQuery('#' + tabId).trigger( 'click' );
    551551      }, 500);
    552552    }
     
    834834      .trigger('change'); // this check the video duration etc.
    835835
    836 
     836    // Update the block attributes, if we are not updating a playlist video!
    837837    var clientId = jQuery('.is-selected[data-type="fv-player-gutenberg/basic"]').data('block');
    838838
    839     if( clientId ) {
     839    if( clientId && fv_player_editor.get_current_video_index() < 1 ) {
    840840      var editor_splash = splash ? splash : '',
    841841        editor_timeline_previews = extra && extra.timeline_previews ? extra.timeline_previews : '';
     
    11101110
    11111111    // close media browser
    1112     jQuery('.media-modal-close:visible').click();
     1112    jQuery('.media-modal-close:visible').trigger( 'click' );
    11131113
    11141114    // show playlist if multiple items were inserted
     
    11321132
    11331133    // close media browser
    1134     jQuery('.media-modal-close:visible').click();
     1134    jQuery('.media-modal-close:visible').trigger( 'click' );
    11351135
    11361136    return false;
  • fv-player/trunk/js/shortcode-editor.js

    r3336706 r3363337  
    317317
    318318      if( !element.length ) {
    319         console.log('FV Player Editor Error: field '+key+' not found');
     319        console.log('FV Player Editor Warning: field '+key+' not found');
    320320      }
    321321
     
    616616
    617617        /**
     618         * Elementor Widget support
     619         */
     620        if ( window.elementor && window.elementor.channels && window.elementor.channels.editor ) {
     621
     622          // "Configure Player" button
     623          elementor.channels.editor.on( 'fv-player-elementor-editor-open', function(e) {
     624            editor_button_clicked = e.el;
     625
     626            $.fv_player_box( {
     627              onComplete : editor_open,
     628              onClosed : editor_close,
     629              onOpen: lightbox_open
     630            } );
     631          });
     632
     633          // "Select Media" button for "Source URL"
     634          elementor.channels.editor.on( 'fv-player-elementor-pick-source_url ', function(e) {
     635            fv_flowplayer_uploader_button = jQuery( e.el );
     636
     637            $( '.elementor-control-source_url [data-setting="url"]' ).addClass( 'fv_flowplayer_target' );
     638
     639            fv_flowplayer_uploader_open();
     640          } );
     641
     642          // "Select Media" button for "Splash URL"
     643          elementor.channels.editor.on( 'fv-player-elementor-pick-splash_url ', function(e) {
     644            fv_flowplayer_uploader_button = jQuery( e.el );
     645
     646            $( '.elementor-control-splash_url [data-setting="url"]' ).addClass( 'fv_flowplayer_target' );
     647
     648            fv_flowplayer_uploader_open();
     649          } );
     650        }
     651
     652        /**
    618653         * Look for buttons in Site Editor iframe
    619654         */
     
    649684            site_editor_iframe.off( 'click', '.fv-player-gutenberg-media' );
    650685
    651             site_editor_iframe.on( 'click', '.fv-player-gutenberg-media', fv_flowplayer_uploader_open );
     686            site_editor_iframe.on( 'click', '.fv-player-gutenberg-media', fv_flowplayer_uploader_init );
    652687          }
    653688        }
     
    10721107      var fv_flowplayer_uploader_button;
    10731108
    1074       $doc.on( 'click', '#fv-player-shortcode-editor .components-button.add_media, .fv-player-gutenberg-media', fv_flowplayer_uploader_open );
    1075 
    1076       function fv_flowplayer_uploader_open(e) {
    1077         debug_log( 'Opening Media Library...' );
    1078 
     1109      $doc.on( 'click', '#fv-player-shortcode-editor .components-button.add_media, .fv-player-gutenberg-media', fv_flowplayer_uploader_init );
     1110
     1111      /**
     1112       * In order for Media Library to work we need:
     1113       * - set fv_flowplayer_uploader_button
     1114       * - add .fv_flowplayer_target to the input field that will be updated
     1115       */
     1116      function fv_flowplayer_uploader_init(e) {
    10791117        e.preventDefault();
    10801118
     
    11001138          el_input.addClass('fv_flowplayer_target');
    11011139        }
     1140
     1141        fv_flowplayer_uploader_open();
     1142      }
     1143
     1144      function fv_flowplayer_uploader_open() {
     1145        debug_log( 'Opening Media Library...' );
    11021146
    11031147        //If the uploader object has already been created, reopen the dialog
     
    12161260        //Open the uploader dialog
    12171261        fv_flowplayer_uploader.open();
    1218 
    12191262      }
    12201263
     
    13641407      function error(msg) {
    13651408        is_saving = false;
    1366         $el_editor.find('.button-primary').removeAttr('disabled');
     1409        $el_editor.find('.button-primary').prop('disabled', false);
    13671410
    13681411        overlay_show('message', 'An unexpected error has occurred. Please try again. '+msg, true );
     
    19862029      // is there a Custom Video field or Gutenberg field next to the button?
    19872030      var field = $(editor_button_clicked).parents('.fv-player-editor-wrapper, .fv-player-gutenberg').find('.fv-player-editor-field'),
     2031        elementor_field = $(editor_button_clicked).closest( '#elementor-controls' ).find( '[data-setting="shortcode"]' ),
    19882032        widget = jQuery('#widget-widget_fvplayer-'+widget_id+'-text');
    19892033
     
    20062050
    20072051        editor_content = jQuery(field).val();
     2052
     2053      } else if( elementor_field.length ) {
     2054        editor_content = elementor_field.val();
     2055
    20082056      } else if( widget.length ){
    20092057        editor_content = widget.val();
     
    23622410        }
    23632411
     2412        // Refresh the Elementor Widget preview
     2413        let elementor_field = $(editor_button_clicked).closest( '#elementor-controls' ).find( '[data-setting="shortcode"]' );
     2414        if ( elementor_field.length ) {
     2415          elementor_field.trigger( 'input' );
     2416        }
     2417
    23642418      } else if( current_player_db_id > 0 ) {
    23652419
     
    24782532        field = $(editor_button_clicked).parents('.fv-player-editor-wrapper, .fv-player-gutenberg').find('.fv-player-editor-field'),
    24792533        clientId = $(editor_button_clicked).parents('.fv-player-editor-wrapper, .fv-player-gutenberg').find('.fv-player-gutenberg-client-id').val(),
     2534        elementor_field = $(editor_button_clicked).closest( '#elementor-controls' ).find( '[data-setting="shortcode"]' ),
     2535        is_elementor = elementor_field.length,
    24802536        is_gutenberg = $(editor_button_clicked).parents('.fv-player-gutenberg').length,
    24812537        shortcode = false,
     
    25622618            editor_content = '<' + helper_tag + ' rel="FCKFVWPFlowplayerPlaceholder">&shy;</' + helper_tag + '>' + editor_content + '';
    25632619          }
     2620
     2621        } else if ( is_elementor ) {
     2622          debug_log( 'Loading for Elementor Widget...', editor_content );
    25642623
    25652624        // CodeMirror
     
    26742733        if( !shortcode ){
    26752734          let content = editor_content.replace(/\n/g, '\uffff');
    2676           // Gutenberg
    2677           if (is_gutenberg) {
     2735
     2736          if ( is_elementor || is_gutenberg ) {
    26782737            shortcode = content;
     2738
    26792739          } else {
    26802740            let match = content.match( fv_wp_flowplayer_re_edit );
     
    35613621
    35623622      var field = $(editor_button_clicked).parents('.fv-player-editor-wrapper').find('.fv-player-editor-field'),
     3623        elementor_field = $(editor_button_clicked).closest( '#elementor-controls' ).find( '[data-setting="shortcode"]' ),
    35633624        gutenberg = $(editor_button_clicked).parents('.fv-player-gutenberg').find('.fv-player-editor-field'),
    35643625        widget = jQuery('#widget-widget_fvplayer-'+widget_id+'-text'),
     
    35713632      // is there a Gutenberg field together in wrapper with the button?
    35723633      } else if( gutenberg.length ) {
    3573         // TODO: Update the fields in the Gutenberg block ?
    35743634
    35753635      // is there a plain text field together in wrapper with the button?
     
    35783638        // Prevents double event triggering in FV Player Custom Video box
    35793639        //field.trigger('fv_flowplayer_shortcode_insert', [shortcode]);
     3640
     3641      } else if ( elementor_field.length ) {
     3642        elementor_field.val( shortcode ).trigger( 'input' );
    35803643
    35813644        // FV Player in a Widget
     
    41654228
    41664229    function set_current_video_to_edit( index ) {
    4167       current_video_to_edit = index;
     4230      current_video_to_edit = parseInt( index );
    41684231    }
    41694232
     
    50385101
    50395102      get_current_video_index() {
    5040         return current_video_to_edit;
     5103        return parseInt( current_video_to_edit );
    50415104      },
    50425105
  • fv-player/trunk/js/video-checker.js

    r3314575 r3363337  
    262262      jQuery('#wpfp_spin_'+hash).hide();
    263263      jQuery('#fv_wp_fp_notice_'+hash).find('input').hide();
    264       jQuery(button).removeAttr("disabled");
     264      jQuery(button).prop('disabled', false);
    265265
    266266      if ( response.success ) {
  • fv-player/trunk/languages/fv-player.pot

    r3336706 r3363337  
    88"Content-Transfer-Encoding: 8bit\n"
    99"Language-Team: foliovision\n"
    10 "POT-Creation-Date: 2025-07-30 14:23+0000\n"
     10"POT-Creation-Date: 2025-09-17 15:13+0000\n"
    1111"Report-Msgid-Bugs-To: https://foliovision.com/support\n"
    1212"Plural-Forms: nplurals=2; plural=(n != 1);\n"
     
    8484msgstr ""
    8585
    86 #: controller/editor.php:744, models/list-table.php:72, view/admin.php:2132, view/wizard.php:570
     86#: controller/editor.php:768, models/list-table.php:72, view/admin.php:2135, view/wizard.php:570
    8787msgid "Subtitles"
    8888msgstr ""
    8989
    90 #: controller/editor.php:745
     90#: controller/editor.php:769
    9191msgid "Subtitle"
    9292msgstr ""
    9393
    94 #: controller/editor.php:771
     94#: controller/editor.php:795
    9595msgid "Video Link"
    9696msgstr ""
    9797
    98 #: controller/editor.php:795
     98#: controller/editor.php:819
    9999msgid "Live Stream"
    100100msgstr ""
    101101
    102 #: controller/editor.php:799
     102#: controller/editor.php:823
    103103msgid "DVR Stream"
    104104msgstr ""
    105105
    106 #: controller/editor.php:807
     106#: controller/editor.php:831
    107107msgid "Audio Stream"
    108108msgstr ""
    109109
    110 #: controller/editor.php:812
     110#: controller/editor.php:836
    111111msgid "Advanced Settings"
    112112msgstr ""
    113113
    114 #: controller/editor.php:817, view/admin.php:911
     114#: controller/editor.php:841, view/admin.php:915
    115115msgid "Mobile Video"
    116116msgstr ""
    117117
    118 #: controller/editor.php:824
     118#: controller/editor.php:848
    119119msgid "Alternative Format 1"
    120120msgstr ""
    121121
    122 #: controller/editor.php:831
     122#: controller/editor.php:855
    123123msgid "Alternative Format 2"
    124124msgstr ""
    125125
    126 #: controller/editor.php:838
     126#: controller/editor.php:862
    127127msgid "Remove Top and Bottom Black Bars"
    128128msgstr ""
    129129
    130 #: controller/editor.php:840
     130#: controller/editor.php:864
    131131msgid "Fixes video fit in mobile fullscreen when in landscape."
    132132msgstr ""
    133133
    134 #: controller/editor.php:845
     134#: controller/editor.php:869
    135135msgid "RTMP"
    136136msgstr ""
    137137
    138 #: controller/editor.php:851
     138#: controller/editor.php:875
    139139msgid "Path"
    140140msgstr ""
    141141
    142 #: controller/editor.php:857
     142#: controller/editor.php:881
    143143msgid "Server"
    144144msgstr ""
    145145
    146 #: controller/editor.php:867
     146#: controller/editor.php:891
    147147msgid "Splash Screen"
    148148msgstr ""
    149149
    150 #: controller/editor.php:872
     150#: controller/editor.php:896
    151151msgid "Will appear in place of the video before it plays."
    152152msgstr ""
    153153
    154 #: controller/editor.php:879
     154#: controller/editor.php:903
    155155msgid "Title"
    156156msgstr ""
    157157
    158 #: controller/editor.php:883
     158#: controller/editor.php:907
    159159msgid "Will appear below the player and on playlist thumbnails. Also used for tracking."
    160160msgstr ""
    161161
    162 #: controller/editor.php:886
     162#: controller/editor.php:910
    163163msgid "Hide Title"
    164164msgstr ""
    165165
    166 #: controller/editor.php:891
     166#: controller/editor.php:915
    167167msgid "Use if you only want the title for tracking."
    168168msgstr ""
    169169
    170 #: controller/editor.php:896, view/admin.php:917
     170#: controller/editor.php:920, view/admin.php:921
    171171msgid "Splash Text"
    172172msgstr ""
    173173
    174 #: controller/editor.php:900
     174#: controller/editor.php:924
    175175msgid "Will appear over the video before it plays."
    176176msgstr ""
    177177
    178 #: controller/editor.php:903, view/admin.php:919
     178#: controller/editor.php:927, view/admin.php:923
    179179msgid "Synopsis"
    180180msgstr ""
    181181
    182 #: controller/editor.php:907
     182#: controller/editor.php:931
    183183msgid "Shows for the Vertical Season playlist style."
    184184msgstr ""
     
    376376msgstr ""
    377377
    378 #: controller/frontend.php:99, view/admin.php:1464
     378#: controller/frontend.php:99, view/admin.php:1467
    379379msgid "Speed"
    380380msgstr ""
     
    613613msgstr ""
    614614
    615 #: models/cdn.class.php:181, models/digitalocean-spaces.class.php:160, models/email-subscription.php:116, models/linode-object-storage.class.php:91, models/stats.php:162, models/youtube.php:391, view/admin.php:91, view/admin.php:220, view/admin.php:352, view/admin.php:488, view/admin.php:696, view/admin.php:716, view/admin.php:732, view/admin.php:749, view/admin.php:801, view/admin.php:872, view/admin.php:926, view/admin.php:1159, view/admin.php:1447, view/admin.php:1485, view/admin.php:1555, view/admin.php:1585, view/admin.php:1635, view/admin.php:1696, view/admin.php:2083
     615#: models/cdn.class.php:181, models/digitalocean-spaces.class.php:160, models/email-subscription.php:116, models/linode-object-storage.class.php:91, models/stats.php:156, models/youtube.php:391, view/admin.php:91, view/admin.php:220, view/admin.php:357, view/admin.php:493, view/admin.php:701, view/admin.php:721, view/admin.php:737, view/admin.php:754, view/admin.php:806, view/admin.php:877, view/admin.php:929, view/admin.php:1162, view/admin.php:1450, view/admin.php:1488, view/admin.php:1558, view/admin.php:1588, view/admin.php:1638, view/admin.php:1699, view/admin.php:2086
    616616msgid "Save"
    617617msgstr ""
    618618
    619 #: models/custom-videos.php:306, models/custom-videos.php:714, models/list-table.php:71
     619#: models/custom-videos.php:316, models/custom-videos.php:724, models/list-table.php:71
    620620msgid "Videos"
    621621msgstr ""
    622622
    623 #: models/custom-videos.php:729
     623#: models/custom-videos.php:739
    624624msgid "You can put your Vimeo or YouTube links here."
    625625msgstr ""
    626626
    627 #: models/custom-videos.php:729
     627#: models/custom-videos.php:739
    628628msgid "These show up as a part of the user bio. Licensed users get FV Player Pro which embeds these video types in FV Player interface without Vimeo or YouTube interface showing up."
    629629msgstr ""
    630630
    631 #: models/custom-videos.php:748
     631#: models/custom-videos.php:758
    632632msgid "Profile Videos"
    633633msgstr ""
     
    637637msgstr ""
    638638
     639#: models/elementor-widget.php:129
     640msgid "Source URL"
     641msgstr ""
     642
     643#: models/elementor-widget.php:144, models/elementor-widget.php:183
     644msgid "Select Media"
     645msgstr ""
     646
     647#: models/elementor-widget.php:157
     648msgid "Splash URL"
     649msgstr ""
     650
     651#: models/elementor-widget.php:196
     652msgid "Video Title"
     653msgstr ""
     654
     655#: models/elementor-widget.php:223
     656msgid "Timeline Previews"
     657msgstr ""
     658
     659#: models/elementor-widget.php:253
     660msgid "HLS Key"
     661msgstr ""
     662
     663#: models/elementor-widget.php:281
     664msgid "Looking for subtitles or player settings?"
     665msgstr ""
     666
     667#: models/elementor-widget.php:292
     668msgid "Configure Player"
     669msgstr ""
     670
    639671#: models/email-subscription.php:61
    640672msgid "Email Popups"
     
    677709msgstr ""
    678710
    679 #: models/email-subscription.php:151, view/admin.php:821
     711#: models/email-subscription.php:151, view/admin.php:826
    680712msgid "Status"
    681713msgstr ""
     
    689721msgstr ""
    690722
    691 #: models/email-subscription.php:227, view/admin.php:861
     723#: models/email-subscription.php:227, view/admin.php:866
    692724msgid "Remove"
    693725msgstr ""
     
    737769msgstr ""
    738770
    739 #: models/fv-player.php:648, view/admin.php:334
     771#: models/fv-player.php:648, view/admin.php:339
    740772msgid "Check out the amazing video here"
    741773msgstr ""
     
    769801msgstr ""
    770802
    771 #: models/lightbox.php:604, view/admin.php:976
     803#: models/lightbox.php:604, view/admin.php:979
    772804msgid "Enable video lightbox"
    773805msgstr ""
     
    829861msgstr ""
    830862
    831 #: models/stats.php:154
    832 msgid "Track user activity on your site. Administrators and Editors are excluded. You can see the stats in the FV Player menu."
    833 msgstr ""
    834 
    835 #: models/stats.php:157
     863#: models/stats.php:148
     864msgid "Track user activity on your site. Users who can edit the post are excluded. You can see the stats in the FV Player menu."
     865msgstr ""
     866
     867#: models/stats.php:151
    836868msgid "Enable"
    837869msgstr ""
    838870
    839 #: models/stats.php:158
     871#: models/stats.php:152
    840872msgid "Track Guest User IDs"
    841873msgstr ""
     
    10651097msgstr ""
    10661098
    1067 #: view/admin.php:323
     1099#: view/admin.php:328
    10681100msgid "Enter your default playlist style here"
    10691101msgstr ""
    10701102
    1071 #: view/admin.php:331
     1103#: view/admin.php:336
    10721104msgid "Sharing Text"
    10731105msgstr ""
    10741106
    1075 #: view/admin.php:339
     1107#: view/admin.php:344
    10761108msgid "Splash Image"
    10771109msgstr ""
    10781110
    1079 #: view/admin.php:341
     1111#: view/admin.php:346
    10801112msgid "Default which will be used for any player without its own splash image."
    10811113msgstr ""
    10821114
    1083 #: view/admin.php:342, view/admin.php:1416
     1115#: view/admin.php:347, view/admin.php:1419
    10841116msgid "Upload Image"
    10851117msgstr ""
    10861118
    1087 #: view/admin.php:345
     1119#: view/admin.php:350
    10881120msgid "Subtitles On By Default"
    10891121msgstr ""
    10901122
    1091 #: view/admin.php:345
     1123#: view/admin.php:350
    10921124msgid "Normally you have to hit a button in controlbar to turn on subtitles."
    10931125msgstr ""
    10941126
    1095 #: view/admin.php:518
     1127#: view/admin.php:523
    10961128msgid "FV Player is a free, easy-to-use, and complete solution for embedding"
    10971129msgstr ""
    10981130
    1099 #: view/admin.php:520
     1131#: view/admin.php:525
    11001132msgid "and"
    11011133msgstr ""
    11021134
    1103 #: view/admin.php:522
     1135#: view/admin.php:527
    11041136msgid "videos into your posts or pages. With MP4 videos, FV Player offers 98&#37; coverage even on mobile devices."
    11051137msgstr ""
    11061138
    1107 #: view/admin.php:539
     1139#: view/admin.php:544
    11081140msgid "You can customize the colors of the player to match your website."
    11091141msgstr ""
    11101142
    1111 #: view/admin.php:556
     1143#: view/admin.php:561
    11121144msgid "Here you can enable and configure advanced hosting options."
    11131145msgstr ""
    11141146
    1115 #: view/admin.php:573
     1147#: view/admin.php:578
    11161148msgid "Here you can configure ads and banners that will be shown in the video."
    11171149msgstr ""
    11181150
    1119 #: view/admin.php:590
     1151#: view/admin.php:595
    11201152msgid "Maintenance tools and debug info."
    11211153msgstr ""
    11221154
    1123 #: view/admin.php:610
     1155#: view/admin.php:615
    11241156msgid "Purchase <a href=\"https://foliovision.com/player/download\" target=\"_blank\"><b>FV Player Licence</b></a>, and you will be able to configure multiple, clickable Video Ads, that can be played before or after Your videos."
    11251157msgstr ""
    11261158
    1127 #: view/admin.php:613
     1159#: view/admin.php:618
    11281160msgid "You can configure video ads globally, or on a per video basis."
    11291161msgstr ""
    11301162
    1131 #: view/admin.php:616
     1163#: view/admin.php:621
    11321164msgid "If you are interested in VAST or VPAID ads, then check out <a href=\"https://foliovision.com/player/vast\" target=\"_blank\"><b>FV Player VAST</b></a>."
    11331165msgstr ""
    11341166
    1135 #: view/admin.php:627
     1167#: view/admin.php:632
    11361168msgid "Following options are suitable for web developers and programmers."
    11371169msgstr ""
    11381170
    1139 #: view/admin.php:630
     1171#: view/admin.php:635
    11401172msgid "Disable database conversion"
    11411173msgstr ""
    11421174
    1143 #: view/admin.php:630
     1175#: view/admin.php:635
    11441176msgid "Stop converting [fvplayer src=\"...\"] shortcodes, [video] shortcodes, Vimeo and YouTube links to database-driven FV Player when post is saved."
    11451177msgstr ""
    11461178
    1147 #: view/admin.php:631
     1179#: view/admin.php:636
    11481180msgid "Disable saving skin CSS to a static file"
    11491181msgstr ""
    11501182
    1151 #: view/admin.php:631
     1183#: view/admin.php:636
    11521184msgid "Normally the player CSS configuration is stored in wp-content/fv-flowplayer-custom/style-{blog_id}.css."
    11531185msgstr ""
    11541186
    1155 #: view/admin.php:631
     1187#: view/admin.php:636
    11561188msgid "We do this to avoid a big style tag in your site &lt;head&gt;. Don't edit this file though, as it will be overwritten by plugin update or saving its options!"
    11571189msgstr ""
    11581190
    1159 #: view/admin.php:634
     1191#: view/admin.php:639
    11601192msgid "Enable profile videos"
    11611193msgstr ""
    11621194
    1163 #: view/admin.php:639
     1195#: view/admin.php:644
    11641196msgid "Check your site carefully after enabling. Videos attached to the user profile will be showing as a part of the user bio."
    11651197msgstr ""
    11661198
    1167 #: view/admin.php:641
     1199#: view/admin.php:646
    11681200msgid "This feature is designed for YouTube and Vimeo videos and works best for our licensed users who get these videos playing without YouTube or Vimeo branding."
    11691201msgstr ""
    11701202
    1171 #: view/admin.php:642
     1203#: view/admin.php:647
    11721204msgid "Some themes show author bio on the author post archive automatically (Genesis framework and others). Or you can also just put this code into your theme archive.php template, right before <code>while ( have_posts() )</code> is called:"
    11731205msgstr ""
    11741206
    1175 #: view/admin.php:658
     1207#: view/admin.php:663
    11761208msgid "We will be adding integration for it for popular user profile plugins."
    11771209msgstr ""
    11781210
    1179 #: view/admin.php:665
     1211#: view/admin.php:670
    11801212msgid "Handle WordPress audio/video"
    11811213msgstr ""
    11821214
    1183 #: view/admin.php:666
     1215#: view/admin.php:671
    11841216msgid "Load JavaScript everywhere"
    11851217msgstr ""
    11861218
    1187 #: view/admin.php:666
     1219#: view/admin.php:671
    11881220msgid "If you use some special JavaScript integration you might prefer this option."
    11891221msgstr ""
    11901222
    1191 #: view/admin.php:666
     1223#: view/admin.php:671
    11921224msgid "Otherwise our JavaScript only loads if the shortcode is found in any of the posts being currently displayed. Required if you load content using Ajax, like in various LMS systems."
    11931225msgstr ""
    11941226
    1195 #: view/admin.php:669
     1227#: view/admin.php:674
    11961228msgid "Optimize JavaScript loading"
    11971229msgstr ""
    11981230
    1199 #: view/admin.php:673
     1231#: view/admin.php:678
    12001232msgid "WP Rocket setting to <a href=\"%s\" target=\"_blank\">Delay JavaScript execution</a> is enabled, cannot use this setting."
    12011233msgstr ""
    12021234
    1203 #: view/admin.php:674
     1235#: view/admin.php:679
    12041236msgid "Helps with Google PageSpeed scores."
    12051237msgstr ""
    12061238
    1207 #: view/admin.php:675
     1239#: view/admin.php:680
    12081240msgid "FV Player JavaScript will be only loaded once the user user start to use the page or on video tap."
    12091241msgstr ""
    12101242
    1211 #: view/admin.php:679
     1243#: view/admin.php:684
    12121244msgid "Parse old shortcodes with commas"
    12131245msgstr ""
    12141246
    1215 #: view/admin.php:679
     1247#: view/admin.php:684
    12161248msgid "Older versions of this plugin used commas to sepparate shortcode parameters."
    12171249msgstr ""
    12181250
    1219 #: view/admin.php:679
     1251#: view/admin.php:684
    12201252msgid "This option will make sure it works with current version. Turn this off if you have some problems with display or other plugins which use shortcodes."
    12211253msgstr ""
    12221254
    1223 #: view/admin.php:680
     1255#: view/admin.php:685
    12241256msgid "Parse Vimeo and YouTube links"
    12251257msgstr ""
    12261258
    1227 #: view/admin.php:680
     1259#: view/admin.php:685
    12281260msgid "Affects comments, bbPress and BuddyPress. These links will be displayed as videos."
    12291261msgstr ""
    12301262
    1231 #: view/admin.php:680
     1263#: view/admin.php:685
    12321264msgid "This option makes most sense together with FV Player Pro as it embeds these videos using FV Player. Enables use of shortcodes in comments and bbPress."
    12331265msgstr ""
    12341266
    1235 #: view/admin.php:681
     1267#: view/admin.php:686
    12361268msgid "Post Thumbnail"
    12371269msgstr ""
    12381270
    1239 #: view/admin.php:681
     1271#: view/admin.php:686
    12401272msgid "Setting a video splash screen from the media library will automatically make it the splash image if there is none."
    12411273msgstr ""
    12421274
    1243 #: view/admin.php:682
     1275#: view/admin.php:687
    12441276msgid "Prefer Flash player by default"
    12451277msgstr ""
    12461278
    1247 #: view/admin.php:682
     1279#: view/admin.php:687
    12481280msgid "Provides greater compatibility."
    12491281msgstr ""
    12501282
    1251 #: view/admin.php:682
     1283#: view/admin.php:687
    12521284msgid "We use Flash for MP4 files in IE9-10 and M4V files in Firefox regardless of this setting."
    12531285msgstr ""
    12541286
    1255 #: view/admin.php:683
     1287#: view/admin.php:688
    12561288msgid "RTMP bufferTime tweak (deprecated)"
    12571289msgstr ""
    12581290
    1259 #: view/admin.php:683
     1291#: view/admin.php:688
    12601292msgid "Use if your live streams are not smooth."
    12611293msgstr ""
    12621294
    1263 #: view/admin.php:683
     1295#: view/admin.php:688
    12641296msgid "Adobe <a href=\"http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#bufferTime\">recommends</a> to set bufferTime to 0 for live streams, but if your stream is not smooth, you can use this setting."
    12651297msgstr ""
    12661298
    1267 #: view/admin.php:709
     1299#: view/admin.php:714
    12681300msgid "Use native fullscreen on mobile"
    12691301msgstr ""
    12701302
    1271 #: view/admin.php:709
     1303#: view/admin.php:714
    12721304msgid "Stops popups, ads or subtitles from working, but provides faster interface. We set this for Android < 4.4 and iOS < 7 automatically."
    12731305msgstr ""
    12741306
    1275 #: view/admin.php:710
     1307#: view/admin.php:715
    12761308msgid "Force fullscreen on mobile"
    12771309msgstr ""
    12781310
    1279 #: view/admin.php:710
     1311#: view/admin.php:715
    12801312msgid "Video playback will start in fullscreen. iPhone with iOS < 10 always forces fullscreen for video playback."
    12811313msgstr ""
    12821314
    1283 #: view/admin.php:712
     1315#: view/admin.php:717
    12841316msgid "Alternative iPhone fullscreen mode"
    12851317msgstr ""
    12861318
    1287 #: view/admin.php:712
     1319#: view/admin.php:717
    12881320msgid "Use if you see site elements such as floating header bar ovelaying the player when in fullscreen."
    12891321msgstr ""
    12901322
    1291 #: view/admin.php:729
     1323#: view/admin.php:734
    12921324msgid "Disable local storage"
    12931325msgstr ""
    12941326
    1295 #: view/admin.php:729
     1327#: view/admin.php:734
    12961328msgid "Remember video position will not work for non logged users. Video volume, mute status and subtitles selection will also not be stored."
    12971329msgstr ""
    12981330
    1299 #: view/admin.php:745
     1331#: view/admin.php:750
    13001332msgid "Use Schema.org markup"
    13011333msgstr ""
    13021334
    1303 #: view/admin.php:745
     1335#: view/admin.php:750
    13041336msgid " Adds the video meta data information for search engines."
    13051337msgstr ""
    13061338
    1307 #: view/admin.php:770
     1339#: view/admin.php:775
    13081340msgid "None"
    13091341msgstr ""
    13101342
    1311 #: view/admin.php:771
     1343#: view/admin.php:776
    13121344msgid "Random"
    13131345msgstr ""
    13141346
    1315 #: view/admin.php:793
     1347#: view/admin.php:798
    13161348msgid "Default Popup"
    13171349msgstr ""
    13181350
    1319 #: view/admin.php:796
     1351#: view/admin.php:801
    13201352msgid "You can set a default popup here and then skip it for individual videos."
    13211353msgstr ""
    13221354
    1323 #: view/admin.php:812
     1355#: view/admin.php:817
    13241356msgid "Add any popups here which you would like to use with multiple videos."
    13251357msgstr ""
    13261358
    1327 #: view/admin.php:842, view/admin.php:1102
     1359#: view/admin.php:847, view/admin.php:1105
    13281360msgid "Name"
    13291361msgstr ""
    13301362
    1331 #: view/admin.php:850
     1363#: view/admin.php:855
    13321364msgid "Custom<br />CSS"
    13331365msgstr ""
    13341366
    1335 #: view/admin.php:858
     1367#: view/admin.php:863
    13361368msgid "Show on pause"
    13371369msgstr ""
    13381370
    1339 #: view/admin.php:860
     1371#: view/admin.php:865
    13401372msgid "Disable"
    13411373msgstr ""
    13421374
    1343 #: view/admin.php:873
     1375#: view/admin.php:878
    13441376msgid "Add more Popups"
    13451377msgstr ""
    13461378
    1347 #: view/admin.php:904
     1379#: view/admin.php:909
    13481380msgid "Which features should be available in shortcode editor?"
    13491381msgstr ""
    13501382
    1351 #: view/admin.php:906
    1352 msgid "Ads"
    1353 msgstr ""
    1354 
    1355 #: view/admin.php:907, view/wizard.php:652
     1383#: view/admin.php:911, view/wizard.php:652
    13561384msgid "Autoplay"
    13571385msgstr ""
    13581386
    1359 #: view/admin.php:908, view/admin.php:1337, view/wizard.php:724
     1387#: view/admin.php:912, view/admin.php:1340, view/wizard.php:724
    13601388msgid "Controlbar"
    13611389msgstr ""
    13621390
    1363 #: view/admin.php:909, view/admin.php:1457
     1391#: view/admin.php:913, view/admin.php:1460
    13641392msgid "Embed"
    13651393msgstr ""
    13661394
    1367 #: view/admin.php:910, view/wizard.php:731
     1395#: view/admin.php:914, view/wizard.php:731
    13681396msgid "LMS | Teaching"
    13691397msgstr ""
    13701398
    1371 #: view/admin.php:912, view/wizard.php:686
     1399#: view/admin.php:916, view/wizard.php:686
    13721400msgid "Playlist Auto Advance"
    13731401msgstr ""
    13741402
    1375 #: view/admin.php:913, view/wizard.php:692
     1403#: view/admin.php:917, view/wizard.php:692
    13761404msgid "Playlist Style"
    13771405msgstr ""
    13781406
    1379 #: view/admin.php:914
     1407#: view/admin.php:918
    13801408msgid "Playlist Item Titles"
    13811409msgstr ""
    13821410
    1383 #: view/admin.php:915, view/wizard.php:755
     1411#: view/admin.php:919, view/wizard.php:755
    13841412msgid "Sharing Buttons"
    13851413msgstr ""
    13861414
    1387 #: view/admin.php:916, view/wizard.php:737
     1415#: view/admin.php:920, view/wizard.php:737
    13881416msgid "Speed Buttons"
    13891417msgstr ""
    13901418
    1391 #: view/admin.php:918
     1419#: view/admin.php:922
    13921420msgid "Sticky"
    13931421msgstr ""
    13941422
    1395 #: view/admin.php:920
    1396 msgid "Video Actions"
    1397 msgstr ""
    1398 
    1399 #: view/admin.php:920
    1400 msgid "Enables end of playlist actions like Loop, Redirect, Show popup and Show splash screen"
    1401 msgstr ""
    1402 
    1403 #: view/admin.php:945
     1423#: view/admin.php:948
    14041424msgid "Purchase FV Player license"
    14051425msgstr ""
    14061426
    1407 #: view/admin.php:945
     1427#: view/admin.php:948
    14081428msgid "to enable Pro features!"
    14091429msgstr ""
    14101430
    1411 #: view/admin.php:943
     1431#: view/admin.php:946
    14121432msgid "Valid license found, click the button at the top of the screen to install FV Player Pro!"
    14131433msgstr ""
    14141434
    1415 #: view/admin.php:949
     1435#: view/admin.php:952
    14161436msgid "Advanced Vimeo embeding"
    14171437msgstr ""
    14181438
    1419 #: view/admin.php:953
     1439#: view/admin.php:956
    14201440msgid "Use Vimeo as your video host and use all of FV Player features."
    14211441msgstr ""
    14221442
    1423 #: view/admin.php:958
     1443#: view/admin.php:961
    14241444msgid "Advanced YouTube embeding"
    14251445msgstr ""
    14261446
    1427 #: view/admin.php:962
     1447#: view/admin.php:965
    14281448msgid "Use YouTube as your video host and use all of FV Player features."
    14291449msgstr ""
    14301450
    1431 #: view/admin.php:967
     1451#: view/admin.php:970
    14321452msgid "Enable user defined AB loop"
    14331453msgstr ""
    14341454
    1435 #: view/admin.php:971
     1455#: view/admin.php:974
    14361456msgid "Let your users repeat the parts of the video which they like!"
    14371457msgstr ""
    14381458
    1439 #: view/admin.php:980
     1459#: view/admin.php:983
    14401460msgid "Enables Lightbox video gallery to show videos in a lightbox popup!"
    14411461msgstr ""
    14421462
    1443 #: view/admin.php:985
     1463#: view/admin.php:988
    14441464msgid "Enable quality switching"
    14451465msgstr ""
    14461466
    1447 #: view/admin.php:989
     1467#: view/admin.php:992
    14481468msgid "Upload your videos in multiple quality for best user experience with YouTube-like quality switching!"
    14491469msgstr ""
    14501470
    1451 #: view/admin.php:994
     1471#: view/admin.php:997
    14521472msgid "Amazon CloudFront protected content"
    14531473msgstr ""
    14541474
    1455 #: view/admin.php:998
     1475#: view/admin.php:1001
    14561476msgid "Protect your Amazon CDN hosted videos"
    14571477msgstr ""
    14581478
    1459 #: view/admin.php:1003
     1479#: view/admin.php:1006
    14601480msgid "Autoplay just once"
    14611481msgstr ""
    14621482
    1463 #: view/admin.php:1007
     1483#: view/admin.php:1010
    14641484msgid "Makes sure each video autoplays only once for each visitor."
    14651485msgstr ""
    14661486
    1467 #: view/admin.php:1012
     1487#: view/admin.php:1015
    14681488msgid "Enable video ads"
    14691489msgstr ""
    14701490
    1471 #: view/admin.php:1016
     1491#: view/admin.php:1019
    14721492msgid "Define your own videos ads to play in together with your videos - postroll or prerool"
    14731493msgstr ""
    14741494
    1475 #: view/admin.php:1021
     1495#: view/admin.php:1024
    14761496msgid "Upcoming pro features"
    14771497msgstr ""
    14781498
    1479 #: view/admin.php:1024
     1499#: view/admin.php:1027
    14801500msgid "Enable PayWall"
    14811501msgstr ""
    14821502
    1483 #: view/admin.php:1028
     1503#: view/admin.php:1031
    14841504msgid "Monetize the video content on your membership site."
    14851505msgstr ""
    14861506
    1487 #: view/admin.php:1038
     1507#: view/admin.php:1041
    14881508msgid "This section allows you to convert videos posted using other plugins to FV Player shortcodes."
    14891509msgstr ""
    14901510
    1491 #: view/admin.php:1057
     1511#: view/admin.php:1060
    14921512msgid "Default pre-roll ad:"
    14931513msgstr ""
    14941514
    1495 #: view/admin.php:1065
     1515#: view/admin.php:1068
    14961516msgid "Set which ad should be played before videos."
    14971517msgstr ""
    14981518
    1499 #: view/admin.php:1070
     1519#: view/admin.php:1073
    15001520msgid "Default post-roll ad:"
    15011521msgstr ""
    15021522
    1503 #: view/admin.php:1078
     1523#: view/admin.php:1081
    15041524msgid "Set which ad should be played after videos."
    15051525msgstr ""
    15061526
    1507 #: view/admin.php:1083
     1527#: view/admin.php:1086
    15081528msgid "Default ad skip time"
    15091529msgstr ""
    15101530
    1511 #: view/admin.php:1086
     1531#: view/admin.php:1089
    15121532msgid "Enter value in seconds"
    15131533msgstr ""
    15141534
    1515 #: view/admin.php:1102
     1535#: view/admin.php:1105
    15161536msgid "Ad name"
    15171537msgstr ""
    15181538
    1519 #: view/admin.php:1103
     1539#: view/admin.php:1106
    15201540msgid "Click URL"
    15211541msgstr ""
    15221542
    1523 #: view/admin.php:1103
     1543#: view/admin.php:1106
    15241544msgid "Clicking the video ad will open the URL in new window"
    15251545msgstr ""
    15261546
    1527 #: view/admin.php:1104, view/wizard.php:569
     1547#: view/admin.php:1107, view/wizard.php:569
    15281548msgid "Video"
    15291549msgstr ""
    15301550
    1531 #: view/admin.php:1104
     1551#: view/admin.php:1107
    15321552msgid "Enter the video URL here"
    15331553msgstr ""
    15341554
    1535 #: view/admin.php:1116
     1555#: view/admin.php:1119
    15361556msgid "Add more video ads"
    15371557msgstr ""
    15381558
    1539 #: view/admin.php:1196
     1559#: view/admin.php:1199
    15401560msgid "Hint: play the video to see live preview of the Skin, Logo and Controls settings"
    15411561msgstr ""
    15421562
    1543 #: view/admin.php:1213, view/admin.php:2101
     1563#: view/admin.php:1216, view/admin.php:2104
    15441564msgid "Skin"
    15451565msgstr ""
    15461566
    1547 #: view/admin.php:1257, view/admin.php:1285
     1567#: view/admin.php:1260, view/admin.php:1288
    15481568msgid "Color"
    15491569msgstr ""
    15501570
    1551 #: view/admin.php:1321
     1571#: view/admin.php:1324
    15521572msgid "Border"
    15531573msgstr ""
    15541574
    1555 #: view/admin.php:1328
     1575#: view/admin.php:1331
    15561576msgid "Border color"
    15571577msgstr ""
    15581578
    1559 #: view/admin.php:1346, view/admin.php:1612
     1579#: view/admin.php:1349, view/admin.php:1615
    15601580msgid "Font Face"
    15611581msgstr ""
    15621582
    1563 #: view/admin.php:1348
     1583#: view/admin.php:1351
    15641584msgid "(inherit from template)"
    15651585msgstr ""
    15661586
    1567 #: view/admin.php:1360
     1587#: view/admin.php:1363
    15681588msgid "Progress"
    15691589msgstr ""
    15701590
    1571 #: view/admin.php:1369
     1591#: view/admin.php:1372
    15721592msgid "Buttons"
    15731593msgstr ""
    15741594
    1575 #: view/admin.php:1379
     1595#: view/admin.php:1382
    15761596msgid "Timeline"
    15771597msgstr ""
    15781598
    1579 #: view/admin.php:1382, view/admin.php:1397
     1599#: view/admin.php:1385, view/admin.php:1400
    15801600msgid "Default"
    15811601msgstr ""
    15821602
    1583 #: view/admin.php:1383
     1603#: view/admin.php:1386
    15841604msgid "Slim"
    15851605msgstr ""
    15861606
    1587 #: view/admin.php:1384
     1607#: view/admin.php:1387
    15881608msgid "Full"
    15891609msgstr ""
    15901610
    1591 #: view/admin.php:1385
     1611#: view/admin.php:1388
    15921612msgid "Fat"
    15931613msgstr ""
    15941614
    1595 #: view/admin.php:1386
     1615#: view/admin.php:1389
    15961616msgid "Minimal"
    15971617msgstr ""
    15981618
    1599 #: view/admin.php:1394
     1619#: view/admin.php:1397
    16001620msgid "Icons"
    16011621msgstr ""
    16021622
    1603 #: view/admin.php:1398
     1623#: view/admin.php:1401
    16041624msgid "Edgy"
    16051625msgstr ""
    16061626
    1607 #: view/admin.php:1399
     1627#: view/admin.php:1402
    16081628msgid "Outlined"
    16091629msgstr ""
    16101630
    1611 #: view/admin.php:1400
     1631#: view/admin.php:1403
    16121632msgid "Playful"
    16131633msgstr ""
    16141634
    1615 #: view/admin.php:1415
     1635#: view/admin.php:1418
    16161636msgid "Paste link or upload an image."
    16171637msgstr ""
    16181638
    1619 #: view/admin.php:1426
     1639#: view/admin.php:1429
    16201640msgid "Bottom-left"
    16211641msgstr ""
    16221642
    1623 #: view/admin.php:1427
     1643#: view/admin.php:1430
    16241644msgid "Bottom-right"
    16251645msgstr ""
    16261646
    1627 #: view/admin.php:1428
     1647#: view/admin.php:1431
    16281648msgid "Top-left"
    16291649msgstr ""
    16301650
    1631 #: view/admin.php:1429
     1651#: view/admin.php:1432
    16321652msgid "Top-right"
    16331653msgstr ""
    16341654
    1635 #: view/admin.php:1435
     1655#: view/admin.php:1438
    16361656msgid "Align to video"
    16371657msgstr ""
    16381658
    1639 #: view/admin.php:1437
     1659#: view/admin.php:1440
    16401660msgid "Logo stays on top of video if aspect ratio does not match."
    16411661msgstr ""
    16421662
    1643 #: view/admin.php:1455
     1663#: view/admin.php:1458
    16441664msgid "Always Visible"
    16451665msgstr ""
    16461666
    1647 #: view/admin.php:1456
     1667#: view/admin.php:1459
    16481668msgid "Airplay"
    16491669msgstr ""
    16501670
    1651 #: view/admin.php:1456
     1671#: view/admin.php:1459
    16521672msgid "Adds support for Airplay."
    16531673msgstr ""
    16541674
    1655 #: view/admin.php:1457
     1675#: view/admin.php:1460
    16561676msgid "Embed link in top bar (no preview)."
    16571677msgstr ""
    16581678
    1659 #: view/admin.php:1458
     1679#: view/admin.php:1461
    16601680msgid "Chromecast"
    16611681msgstr ""
    16621682
    1663 #: view/admin.php:1458
     1683#: view/admin.php:1461
    16641684msgid "Adds support for Google Chromecast."
    16651685msgstr ""
    16661686
    1667 #: view/admin.php:1459
     1687#: view/admin.php:1462
    16681688msgid "Fullscreen"
    16691689msgstr ""
    16701690
    1671 #: view/admin.php:1459
     1691#: view/admin.php:1462
    16721692msgid "Adds a fullscreen button."
    16731693msgstr ""
    16741694
    1675 #: view/admin.php:1460
     1695#: view/admin.php:1463
    16761696msgid "No Picture"
    16771697msgstr ""
    16781698
    1679 #: view/admin.php:1460
     1699#: view/admin.php:1463
    16801700msgid "Adds a button to turn the video picture on and off."
    16811701msgstr ""
    16821702
    1683 #: view/admin.php:1461
     1703#: view/admin.php:1464
    16841704msgid "Repeat"
    16851705msgstr ""
    16861706
    1687 #: view/admin.php:1461
     1707#: view/admin.php:1464
    16881708msgid "Adds a button to set playlist/track repeat and shuffle."
    16891709msgstr ""
    16901710
    1691 #: view/admin.php:1462
     1711#: view/admin.php:1465
    16921712msgid "Rewind/Forward"
    16931713msgstr ""
    16941714
    1695 #: view/admin.php:1462
     1715#: view/admin.php:1465
    16961716msgid "Adds a button to go 10 seconds back/forth."
    16971717msgstr ""
    16981718
    1699 #: view/admin.php:1463, view/wizard.php:746
     1719#: view/admin.php:1466, view/wizard.php:746
    17001720msgid "Sharing"
    17011721msgstr ""
    17021722
    1703 #: view/admin.php:1463
     1723#: view/admin.php:1466
    17041724msgid "Sharing buttons in top bar (no preview)."
    17051725msgstr ""
    17061726
    1707 #: view/admin.php:1464
     1727#: view/admin.php:1467
    17081728msgid "Speed buttons control playback speed."
    17091729msgstr ""
    17101730
    1711 #: view/admin.php:1466
     1731#: view/admin.php:1469
    17121732msgid "Speed Step"
    17131733msgstr ""
    17141734
    1715 #: view/admin.php:1477
     1735#: view/admin.php:1480
    17161736msgid "Accuracy of the Speed button."
    17171737msgstr ""
    17181738
    1719 #: view/admin.php:1481
     1739#: view/admin.php:1484
    17201740msgid "Video Links"
    17211741msgstr ""
    17221742
    1723 #: view/admin.php:1481
     1743#: view/admin.php:1484
    17241744msgid "\"Link\" item in top bar (no preview)."
    17251745msgstr ""
    17261746
    1727 #: view/admin.php:1481
     1747#: view/admin.php:1484
    17281748msgid "Clicking the video Link gives your visitors a link to the exact place in the video they are watching. If the post access is restricted, it won't make the video open to public."
    17291749msgstr ""
    17301750
    1731 #: view/admin.php:1515
     1751#: view/admin.php:1518
    17321752msgid "Hint: you can click the thumbnails to switch videos in the above player. This preview uses the horizontal playlist style."
    17331753msgstr ""
    17341754
    1735 #: view/admin.php:1522
     1755#: view/admin.php:1525
    17361756msgid "Playlist Design"
    17371757msgstr ""
    17381758
    1739 #: view/admin.php:1527
     1759#: view/admin.php:1530
    17401760msgid "2017"
    17411761msgstr ""
    17421762
    1743 #: view/admin.php:1528
     1763#: view/admin.php:1531
    17441764msgid "2017 with captions"
    17451765msgstr ""
    17461766
    1747 #: view/admin.php:1529
     1767#: view/admin.php:1532
    17481768msgid "2014"
    17491769msgstr ""
    17501770
    1751 #: view/admin.php:1533, view/admin.php:1628
     1771#: view/admin.php:1536, view/admin.php:1631
    17521772msgid "Background Color"
    17531773msgstr ""
    17541774
    1755 #: view/admin.php:1538
     1775#: view/admin.php:1541
    17561776msgid "Active Item"
    17571777msgstr ""
    17581778
    1759 #: view/admin.php:1543
     1779#: view/admin.php:1546
    17601780msgid "Font Color"
    17611781msgstr ""
    17621782
    1763 #: view/admin.php:1548
     1783#: view/admin.php:1551
    17641784msgid "Use custom color"
    17651785msgstr ""
    17661786
    1767 #: view/admin.php:1548, view/admin.php:1549, view/admin.php:1651
     1787#: view/admin.php:1551, view/admin.php:1552, view/admin.php:1654
    17681788msgid ""
    17691789msgstr ""
    17701790
    1771 #: view/admin.php:1549
     1791#: view/admin.php:1552
    17721792msgid "Inherit from theme"
    17731793msgstr ""
    17741794
    1775 #: view/admin.php:1605
     1795#: view/admin.php:1608
    17761796msgid "The quick brown fox jumps over the lazy dog."
    17771797msgstr ""
    17781798
    1779 #: view/admin.php:1606
     1799#: view/admin.php:1609
    17801800msgid "Second line."
    17811801msgstr ""
    17821802
    1783 #: view/admin.php:1615
     1803#: view/admin.php:1618
    17841804msgid "(inherit from player)"
    17851805msgstr ""
    17861806
    1787 #: view/admin.php:1623
     1807#: view/admin.php:1626
    17881808msgid "Font Size"
    17891809msgstr ""
    17901810
    1791 #: view/admin.php:1624, view/admin.php:1677
     1811#: view/admin.php:1627, view/admin.php:1680
    17921812msgid "Enter value in pixels"
    17931813msgstr ""
    17941814
    1795 #: view/admin.php:1664
     1815#: view/admin.php:1667
    17961816msgid "Placement"
    17971817msgstr ""
    17981818
    1799 #: view/admin.php:1675
     1819#: view/admin.php:1678
    18001820msgid "Desktop Player Width [px]"
    18011821msgstr ""
    18021822
    1803 #: view/admin.php:1678
     1823#: view/admin.php:1681
    18041824msgid "Used on desktop and (if enabled) also on mobile in landscape orientation and tablets."
    18051825msgstr ""
    18061826
    1807 #: view/admin.php:1683
     1827#: view/admin.php:1686
    18081828msgid "Mobile Player Width"
    18091829msgstr ""
    18101830
    1811 #: view/admin.php:1685
     1831#: view/admin.php:1688
    18121832msgid "Used on mobile (device width lower than 480 pixels)."
    18131833msgstr ""
    18141834
    1815 #: view/admin.php:1710
     1835#: view/admin.php:1713
    18161836msgid "Why FV Player?"
    18171837msgstr ""
    18181838
    1819 #: view/admin.php:1720
     1839#: view/admin.php:1723
    18201840msgid "Getting Started"
    18211841msgstr ""
    18221842
    1823 #: view/admin.php:1737
     1843#: view/admin.php:1740
    18241844msgid "Creating and Managing Playlists"
    18251845msgstr ""
    18261846
    1827 #: view/admin.php:1743
     1847#: view/admin.php:1746
    18281848msgid "FAQ"
    18291849msgstr ""
    18301850
    1831 #: view/admin.php:1750
     1851#: view/admin.php:1753
    18321852msgid "Setting Screens"
    18331853msgstr ""
    18341854
    1835 #: view/admin.php:1762
     1855#: view/admin.php:1765
    18361856msgid "Video Hosting"
    18371857msgstr ""
    18381858
    1839 #: view/admin.php:1779
     1859#: view/admin.php:1782
    18401860msgid "Advanced features"
    18411861msgstr ""
    18421862
    1843 #: view/admin.php:1793
     1863#: view/admin.php:1796
    18441864msgid "Accessibility Features"
    18451865msgstr ""
    18461866
    1847 #: view/admin.php:1806
     1867#: view/admin.php:1809
    18481868msgid "Sharing Options"
    18491869msgstr ""
    18501870
    1851 #: view/admin.php:1817
     1871#: view/admin.php:1820
    18521872msgid "Video Security"
    18531873msgstr ""
    18541874
    1855 #: view/admin.php:1827
     1875#: view/admin.php:1830
    18561876msgid "CDN Options"
    18571877msgstr ""
    18581878
    1859 #: view/admin.php:1841
     1879#: view/admin.php:1844
    18601880msgid "Secure Video Encoding"
    18611881msgstr ""
    18621882
    1863 #: view/admin.php:1852
     1883#: view/admin.php:1855
    18641884msgid "Video Membership, Pay Per View and eLearning"
    18651885msgstr ""
    18661886
    1867 #: view/admin.php:1861
     1887#: view/admin.php:1864
    18681888msgid "Membership Sites"
    18691889msgstr ""
    18701890
    1871 #: view/admin.php:1868
     1891#: view/admin.php:1871
    18721892msgid "WordPress eLearning"
    18731893msgstr ""
    18741894
    1875 #: view/admin.php:1875
     1895#: view/admin.php:1878
    18761896msgid "FV Player VAST/VPAID"
    18771897msgstr ""
    18781898
    1879 #: view/admin.php:1892, view/admin.php:2105
     1899#: view/admin.php:1895, view/admin.php:2108
    18801900msgid "Tools"
    18811901msgstr ""
    18821902
    1883 #: view/admin.php:1901
     1903#: view/admin.php:1904
    18841904msgid "Live Streaming"
    18851905msgstr ""
    18861906
    1887 #: view/admin.php:1909
     1907#: view/admin.php:1912
    18881908msgid "Video Advertising"
    18891909msgstr ""
    18901910
    1891 #: view/admin.php:1918
     1911#: view/admin.php:1921
    18921912msgid "Analytics"
    18931913msgstr ""
    18941914
    1895 #: view/admin.php:1929
     1915#: view/admin.php:1932
    18961916msgid "Google Ads"
    18971917msgstr ""
    18981918
    1899 #: view/admin.php:1936
     1919#: view/admin.php:1939
    19001920msgid "Casting Options"
    19011921msgstr ""
    19021922
    1903 #: view/admin.php:1942
     1923#: view/admin.php:1945
    19041924msgid "Audio Player"
    19051925msgstr ""
    19061926
    1907 #: view/admin.php:1949
     1927#: view/admin.php:1952
    19081928msgid "Troubleshooting"
    19091929msgstr ""
    19101930
    1911 #: view/admin.php:1960
     1931#: view/admin.php:1963
    19121932msgid "For Developers"
    19131933msgstr ""
    19141934
    1915 #: view/admin.php:1973
     1935#: view/admin.php:1976
    19161936msgid "Changelog"
    19171937msgstr ""
    19181938
    1919 #: view/admin.php:1980
     1939#: view/admin.php:1983
    19201940msgid "Legal"
    19211941msgstr ""
    19221942
    1923 #: view/admin.php:2048
     1943#: view/admin.php:2051
    19241944msgid "Check this box if you would like FV Player to completely remove all of its data when the plugin is deleted. The <code>[fvplayer]</code> shortcodes will stop working."
    19251945msgstr ""
    19261946
    1927 #: view/admin.php:2050
     1947#: view/admin.php:2053
    19281948msgid "Remove all data"
    19291949msgstr ""
    19301950
    1931 #: view/admin.php:2050
     1951#: view/admin.php:2053
    19321952msgid "This action is irreversible, please backup your website if you are not absolutely sure."
    19331953msgstr ""
    19341954
     1955#: view/admin.php:2080
     1956msgid "The <code>%s</code> file is still present, please remove it by hand."
     1957msgstr ""
     1958
    19351959#: view/admin.php:2077
    1936 msgid "The <code>%s</code> file is still present, please remove it by hand."
     1960msgid "The <code>%s</code> file failed to create, full uninstall will not work."
    19371961msgstr ""
    19381962
    19391963#: view/admin.php:2074
    1940 msgid "The <code>%s</code> file failed to create, full uninstall will not work."
    1941 msgstr ""
    1942 
    1943 #: view/admin.php:2071
    19441964msgid "Warning: If you deactivate and delete FV Player, all of its data will be removed!"
    19451965msgstr ""
    19461966
    1947 #: view/admin.php:2100
     1967#: view/admin.php:2103
    19481968msgid "Setup"
    19491969msgstr ""
    19501970
    1951 #: view/admin.php:2102
     1971#: view/admin.php:2105
    19521972msgid "Hosting"
    19531973msgstr ""
    19541974
    1955 #: view/admin.php:2103, view/wizard.php:572
     1975#: view/admin.php:2106, view/wizard.php:572
    19561976msgid "Actions"
    19571977msgstr ""
    19581978
    1959 #: view/admin.php:2104, view/admin.php:2148
     1979#: view/admin.php:2107, view/admin.php:2151
    19601980msgid "Video Ads"
    19611981msgstr ""
    19621982
    1963 #: view/admin.php:2106
     1983#: view/admin.php:2109
    19641984msgid "Help"
    19651985msgstr ""
    19661986
    1967 #: view/admin.php:2115
     1987#: view/admin.php:2118
    19681988msgid "Post Interface Options"
    19691989msgstr ""
    19701990
    1971 #: view/admin.php:2116
     1991#: view/admin.php:2119
    19721992msgid "Sitewide FV Player Defaults"
    19731993msgstr ""
    19741994
    1975 #: view/admin.php:2117
     1995#: view/admin.php:2120
    19761996msgid "Autoplay and preloading"
    19771997msgstr ""
    19781998
    1979 #: view/admin.php:2118
     1999#: view/admin.php:2121
    19802000msgid "Integrations/Compatibility"
    19812001msgstr ""
    19822002
    1983 #: view/admin.php:2119
     2003#: view/admin.php:2122
    19842004msgid "Mobile Settings"
    19852005msgstr ""
    19862006
    1987 #: view/admin.php:2120
     2007#: view/admin.php:2123
    19882008msgid "Video SEO"
    19892009msgstr ""
    19902010
    1991 #: view/admin.php:2121
     2011#: view/admin.php:2124
    19922012msgid "Privacy Settings"
    19932013msgstr ""
    19942014
    1995 #: view/admin.php:2124
     2015#: view/admin.php:2127
    19962016msgid "Pro Features"
    19972017msgstr ""
    19982018
    1999 #: view/admin.php:2129
     2019#: view/admin.php:2132
    20002020msgid "Player Skin"
    20012021msgstr ""
    20022022
    2003 #: view/admin.php:2130, view/wizard.php:568
     2023#: view/admin.php:2133, view/wizard.php:568
    20042024msgid "Playlist"
    20052025msgstr ""
    20062026
    2007 #: view/admin.php:2131
     2027#: view/admin.php:2134
    20082028msgid "Custom CSS"
    20092029msgstr ""
    20102030
    2011 #: view/admin.php:2133
     2031#: view/admin.php:2136
    20122032msgid "Sticky Video"
    20132033msgstr ""
    20142034
    2015 #: view/admin.php:2137
     2035#: view/admin.php:2140
    20162036msgid "Amazon S3 Protected Content"
    20172037msgstr ""
    20182038
    2019 #: view/admin.php:2141
     2039#: view/admin.php:2144
    20202040msgid "End of Video"
    20212041msgstr ""
    20222042
    2023 #: view/admin.php:2142
     2043#: view/admin.php:2145
    20242044msgid "Custom Popups"
    20252045msgstr ""
    20262046
    2027 #: view/admin.php:2143
     2047#: view/admin.php:2146
    20282048msgid "Overlay"
    20292049msgstr ""
    20302050
    2031 #: view/admin.php:2153
     2051#: view/admin.php:2156
    20322052msgid "Conversion"
    20332053msgstr ""
    20342054
    2035 #: view/admin.php:2154
     2055#: view/admin.php:2157
    20362056msgid "Database"
    20372057msgstr ""
    20382058
    2039 #: view/admin.php:2155
     2059#: view/admin.php:2158
    20402060msgid "Embeded Posts Information"
    20412061msgstr ""
    20422062
    2043 #: view/admin.php:2156
     2063#: view/admin.php:2159
    20442064msgid "Rollback"
    20452065msgstr ""
    20462066
    2047 #: view/admin.php:2157
     2067#: view/admin.php:2160
    20482068msgid "Uninstall"
    20492069msgstr ""
    20502070
    2051 #: view/admin.php:2160
     2071#: view/admin.php:2163
    20522072msgid "Usage"
    20532073msgstr ""
    20542074
    2055 #: view/admin.php:2166
     2075#: view/admin.php:2169
    20562076msgid "Documentation"
    20572077msgstr ""
    20582078
     2079#: view/admin.php:2195
     2080msgid "Apply Pro upgrade"
     2081msgstr ""
     2082
    20592083#: view/admin.php:2192
    2060 msgid "Apply Pro upgrade"
    2061 msgstr ""
    2062 
    2063 #: view/admin.php:2189
    20642084msgid "Install Pro extension"
    20652085msgstr ""
    20662086
    2067 #: view/admin.php:2187
     2087#: view/admin.php:2190
    20682088msgid "Pro pack installed"
    20692089msgstr ""
    20702090
    2071 #: view/admin.php:2185
     2091#: view/admin.php:2188
    20722092msgid "Enable the Pro extension"
    20732093msgstr ""
    20742094
    2075 #: view/admin.php:2195
     2095#: view/admin.php:2198
    20762096msgid "Check template"
    20772097msgstr ""
    20782098
    2079 #: view/admin.php:2196
     2099#: view/admin.php:2199
    20802100msgid "Check videos"
    20812101msgstr ""
    20822102
    2083 #: view/admin.php:2199
     2103#: view/admin.php:2202
    20842104msgid "Click here for license info"
    20852105msgstr ""
    20862106
    2087 #: view/admin.php:2214
     2107#: view/admin.php:2217
    20882108msgid "Host your videos anywhere"
    20892109msgstr ""
    20902110
    2091 #: view/admin.php:2216
     2111#: view/admin.php:2219
    20922112msgid "Pick your favorite CDN"
    20932113msgstr ""
    20942114
    2095 #: view/admin.php:2217
     2115#: view/admin.php:2220
    20962116msgid "Encrypt your videos to avoid downloading"
    20972117msgstr ""
    20982118
    2099 #: view/admin.php:2218
     2119#: view/admin.php:2221
    21002120msgid "Interactive transcript, AB loop&hellip;"
    21012121msgstr ""
    21022122
    2103 #: view/admin.php:2220
     2123#: view/admin.php:2223
    21042124msgid "Christmas sale!"
    21052125msgstr ""
    21062126
    2107 #: view/admin.php:2220
     2127#: view/admin.php:2223
    21082128msgid "All Licenses 20% Off"
    21092129msgstr ""
     
    22372257msgstr ""
    22382258
    2239 #: view/wizard.php:887
    2240 msgid "You are using the legacy popup functionality. Move the popup code"
    2241 msgstr ""
    2242 
    2243 #: view/wizard.php:887
    2244 msgid "here"
    2245 msgstr ""
    2246 
    2247 #: view/wizard.php:887
    2248 msgid ", then use the drop down menu above."
    2249 msgstr ""
    2250 
    2251 #: view/wizard.php:904
    2252 msgid "E-mail list"
    2253 msgstr ""
    2254 
    22552259#: models/conversion/positionsMeta2Table.php:15
    22562260msgid "This converts position values from <code>%s</code> to <code>%s</code> table."
  • fv-player/trunk/models/custom-videos.php

    r3314575 r3363337  
    4949        if( isset($FV_Player_Pro) && $FV_Player_Pro ) {
    5050          //  todo: there should be a better way than this
    51           add_filter( 'fv_flowplayer_splash', array( $FV_Player_Pro, 'get__cached_splash' ) );
    52           add_filter( 'fv_flowplayer_playlist_splash', array( $FV_Player_Pro, 'get__cached_splash' ), 10, 3 );
    53           add_filter( 'fv_flowplayer_splash', array( $FV_Player_Pro, 'youtube_splash' ) );
    54           add_filter( 'fv_flowplayer_playlist_splash', array( $FV_Player_Pro, 'youtube_splash' ), 10, 3 );
    55 
    56           add_action('admin_footer', array( $FV_Player_Pro, 'styles' ) );
    57           add_action('admin_footer', array( $FV_Player_Pro, 'scripts' ) );  //  todo: not just for FV Player Pro
     51          if ( method_exists( $FV_Player_Pro, 'get__cached_splash' ) ) {
     52            add_filter( 'fv_flowplayer_splash', array( $FV_Player_Pro, 'get__cached_splash' ) );
     53            add_filter( 'fv_flowplayer_playlist_splash', array( $FV_Player_Pro, 'get__cached_splash' ), 10, 3 );
     54          }
     55
     56          if ( method_exists( $FV_Player_Pro, 'youtube_splash' ) ) {
     57            add_filter( 'fv_flowplayer_splash', array( $FV_Player_Pro, 'youtube_splash' ) );
     58            add_filter( 'fv_flowplayer_playlist_splash', array( $FV_Player_Pro, 'youtube_splash' ), 10, 3 );
     59          }
     60
     61          if ( method_exists( $FV_Player_Pro, 'styles' ) ) {
     62            add_action('admin_footer', array( $FV_Player_Pro, 'styles' ) );
     63          }
     64
     65          if ( method_exists( $FV_Player_Pro, 'scripts' ) ) {
     66            add_action('admin_footer', array( $FV_Player_Pro, 'scripts' ) );  //  todo: not just for FV Player Pro
     67          }
    5868        }
    5969
  • fv-player/trunk/models/stats.php

    r3280872 r3363337  
    127127    global $fv_fp, $blog_id;
    128128    if( $this->used || $fv_fp->_get_option('js-everywhere') || $fv_fp->_get_option('video_stats_enable') ) { // we want to enable the tracking if it's used, if FV Player JS is enabled globally or if the tracking is enabled globally
    129 
    130       // Do not track admins and editors.
    131       if ( current_user_can( 'edit_posts' ) ) {
    132         return $conf;
    133       }
    134 
    135129      $conf['fv_stats'] = array(
    136130                                'url' => flowplayer::get_plugin_url().'/controller/track.php',
     
    140134                               );
    141135      if( $fv_fp->_get_option('video_stats_enable') ) $conf['fv_stats']['enabled'] = true;
    142 
    143     }
     136    }
     137
    144138    return $conf;
    145139  }
     
    152146    global $fv_fp;
    153147    ?>
    154     <p><?php esc_html_e( 'Track user activity on your site. Administrators and Editors are excluded. You can see the stats in the FV Player menu.', 'fv-player' ); ?></p>
     148    <p><?php esc_html_e( 'Track user activity on your site. Users who can edit the post are excluded. You can see the stats in the FV Player menu.', 'fv-player' ); ?></p>
    155149    <table class="form-table2">
    156150      <?php
     
    169163
    170164  function shortcode( $attributes, $media, $fv_fp ) {
    171     if( !empty($fv_fp->aCurArgs['stats']) ) {
    172       if( $fv_fp->aCurArgs['stats'] != 'no' ) {
     165
     166    if( ! empty( $fv_fp->aCurArgs['stats'] ) || $fv_fp->_get_option('video_stats_enable') ) {
     167      global $post;
     168
     169      // Do not track if user can edit the post
     170      if ( ! empty( $post->ID ) ) {
     171        if (
     172          current_user_can( 'edit_others_posts' ) ||
     173          ! empty( $post->post_author ) && absint( $post->post_author ) == get_current_user_id()
     174          // TODO: Also check the FV Player player author
     175        ) {
     176          return $attributes;
     177        }
     178      }
     179
     180      if ( ! empty( $fv_fp->aCurArgs['stats'] ) && $fv_fp->aCurArgs['stats'] != 'no' ) {
    173181        $this->used = true;
    174182      }
     183
    175184      $attributes['data-fv_stats'] = $fv_fp->aCurArgs['stats'];
    176     }
    177 
    178     if( !empty($fv_fp->aCurArgs['stats']) || $fv_fp->_get_option('video_stats_enable') ) {
    179       global $post;
    180185
    181186      $player_id = 0; // 0 if shortcode
  • fv-player/trunk/models/video-encoder/video-encoder.php

    r3336706 r3363337  
    978978    }
    979979
    980     $body .= "\r\nManage video encoding jobs <a href='". admin_url( 'admin.php?page=' . $this->encoder_wp_url_slug ) ."'>here</a>";
     980    if ( user_can( $author_id, 'manage_options' ) ) {
     981      $body .= "\r\nManage video encoding jobs <a href='". admin_url( 'admin.php?page=' . $this->encoder_wp_url_slug ) ."'>here</a>";
     982    }
    981983
    982984    wp_mail( $to, $subject, $body, $headers );
  • fv-player/trunk/readme.txt

    r3352934 r3363337  
    257257
    258258== Changelog ==
     259
     260= 8.0.26 - 2025-09-17 =
     261
     262* New Elementor Widget
     263* Deprecating the "Big Arrows" playlist style. If you are already using this style, it will be kept for now.
     264* Bugfix: Block editor spacing and alignment issues
     265* Bugfix: Video Stats: Exclude Administrators and Editors: Also exclude Contributors and Authors if they can edit the post
    259266
    260267= 8.0.25 - 2025-08-30 =
  • fv-player/trunk/view/admin.php

    r3348866 r3363337  
    305305                        'horizontal'  => __(  'Horizontal', 'fv-player' ),
    306306                        'tabs'        => __(  'Tabland', 'fv-player' ),
    307                         'prevnext'    => __(  'Big arrows', 'fv-player' ),
     307                        'prevnext'    => __(  'Big arrows (deprecated)', 'fv-player' ),
    308308                        'vertical'    => __(  'Vertical', 'fv-player' ),
    309309                        'slider'      => __(  'Scrollslider', 'fv-player' ),
     
    315315                      ) as $style => $name
    316316                    ) {
     317
     318                      // Do not offer "Big arrows" if it's not already saved.
     319                      if ( 'prevnext' === $style && strcmp( $value, $style ) !== 0 ) {
     320                        continue;
     321                      }
    317322                      ?>
    318323                      <option value="<?php echo esc_attr( $style ); ?>"<?php if( $value === $style ) echo ' selected="selected"'; ?>><?php echo esc_html( $name ); ?></option>
  • fv-player/trunk/view/wizard.php

    r3348866 r3363337  
    697697                                      array( 'horizontal',  'Horizontal' ),
    698698                                      array( 'tabs',        'Tabland' ),
    699                                       array( 'prevnext',    'Big arrows' ),
     699                                      array( 'prevnext',    'Big arrows (deprecated)' ),
    700700                                      array( 'vertical',    'Vertical' ),
    701701                                      array( 'slider',      'Scrollslider' ),
Note: See TracChangeset for help on using the changeset viewer.