!function(){"use strict";function e(e){if("true"===e)return!0;if("false"===e)return!1;var t=parseFloat(e);return isNaN(t)?e:t}function t(e){var t=Object.keys(e).filter(function(t){return"pre"==e[t].offset||0==e[t].offset});return t.length?t[0]:null}function i(e){return e.placementId?["https://an.facebook.com/v2/placementbid.json?&placementids[]="+e.placementId,"&playerwidth="+e.playerWidth,"&playerheight="+e.playerHeight,"&adformats[]="+T,"&sdk="+L,"&pageurl="+k].join(""):null}function r(e,t,i,r){return!!e||!(!t||"usd"!==i||!r)}function n(e){var t=e.xhttp,n=e.resolve,a=e.settings,s=a.floorPriceCents,o=e.mediationLayer,d=e.originalTag,l=i(a);if(!r(o,s,a.floorPriceCurrency,l))return n({error:!0,message:"Invalid config"});t.onreadystatechange=function(){if(4===this.readyState){if(clearTimeout(e.currentTimeout),200===this.status){var t=JSON.parse(this.responseText),i=t.errors;if(i&&i.length)return n({error:!0,message:i[0]});var r=t.bids,l=a.placementId;if(!r||!r[l]||!r[l][0])return n({error:!0,message:"No bids for placement id"});var u=r[l][0],h=u.bid_price_cents,p=u.bid_id;if(o){var c=Math.round(h/100);return n({tag:d,custParams:{jwFANBidPrice:c,jwFANBidID:p}})}var g=u.bid_price_currency,f=h>s,y={bidWon:f,priceCents:h,priceCurrency:g};return f?(y.tag=["https://an.facebook.com/v1/instream/vast.xml?placementid="+l,"&playerwidth="+a.playerWidth,"&playerheight="+a.playerHeight,"&sdk="+L,"&bidid="+p,"&pageurl="+k].join(""),n(y)):n(y)}return n({error:!0,message:"Invalid response (status "+this.status+")"})}},t.open("GET",l),t.withCredentials=!0,t.send(null)}function a(){var e=window.location.href.match(new RegExp(/^[^\/]*:\/\/\/?([^\/]*)/));return e&&e.length>1?e[1]:""}function s(e,t){var i=Math.pow(10,t);return Math.round(e*i)/i}function o(e){return-1!==e.indexOf("?")?"&":"?"}function d(e,t,i){if(!e)return e;var r=t.getPlaylistItem(),n=t.getConfig(),d=e.replace("__random-number__",Math.random()*Math.pow(10,18)).replace("__timestamp__",(new Date).getTime()).replace("__page-url__",encodeURIComponent(window.location.href)).replace("__referrer__",encodeURIComponent(document.referrer)).replace("__player-height__",t.getHeight()||n.height).replace("__player-width__",t.getWidth()||n.width).replace("__item-duration__",s(t.getDuration(),3)).replace("__domain__",encodeURIComponent(a()));d=i.companiondiv&&i.companiondiv.id?d.replace("__companion-div__",i.companiondiv.id):d.replace("__companion-div__","");for(var l=d.match(new RegExp(/__item-[a-z 0-9 A-Z]*__/g)),u=0;l&&u1e3&&(c=c.substring(0,1e3)),d=d.replace(h,encodeURIComponent(c))}else d=d.replace(h,"")}if(r.title&&-1===d.indexOf("vid_t=")){var g=r.title.substring(0,100).replace(/[^\x00-\x7F]/g,"");d+=o(d)+"vid_t="+encodeURIComponent(g)}return d}function l(e,t,i){if("start"===e||"0%"===e)return"pre";if("end"===e||"100%"===e)return"post";if("pre"===e||"post"===e||i.indexOf(e,"%")>-1)return e;var r=t.seconds(e);return!!i.isNumber(r)&&r}function u(e){var t=parseInt(e,10),i=Math.floor(t)%1e3,r=Math.floor(t/1e3)%60,n=Math.floor(t/6e4)%60,a=Math.floor(t/36e5)%24;return a=a<10?"0"+a:a,n=n<10?"0"+n:n,r=r<10?"0"+r:r,i=("000"+i).slice(-3),a+":"+n+":"+r+"."+i}function h(e,t,i){var r=l(e,t,i);return r||(r="pre"),i.isNumber(r)&&(r=u(1e3*r)),r}function p(e,t,i){if(!i)return e;var r=e.indexOf("?")>=0?"&":"?",n=e.indexOf("cust_params="),a="cust_params=".length,s="",o="";if(t.foreach(i,function(e,t){s=""+s+o+e+"="+t,o="&"}),s=encodeURIComponent(s),n>=0){var d=e.substr(0,n+a),l=e.substr(n+a);return""+d+s+"%26"+l}return""+e+r+"cust_params="+s}function c(e,t,i){var r={};return t.foreach(e,function(e,n){var a={},s=n.ad||n;a.offset=h(s.offset||s.position||n.offset||"",t,i),a.tag=p(s.tag,t,s.custParams),a.type=s.type||n.type||"linear,nonlinear",r[e]=a}),r}function g(e){return new Array(e+1).join((Math.random().toString(36)+"00000000000000000").slice(2,18)).slice(0,e)}function f(e){try{return e.getAdPodInfo()}catch(e){return null}}var y="adCompanions",v="adImpression",m=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},A={debug:!1,admessagestatic:"This is an Advertisement",usestaticmessage:!1,click_tracking:!0,scaled_ads:!0,advideoheight:0,advideowidth:0,invertmutebutton:!1,allowadskip:!1,allowadskippastseconds:0,allowplayercontrols:!1,allowvolumeslider:!1,autoplayadsmuted:!1,overlayslotwidth:0,overlayslotheight:0,admessage:"This ad will end in xx seconds.",admessagedynamickey:"xx",adcounterdynamic:"Ad __AD_POD_CURRENT__ of __AD_POD_LENGTH__. ",adcountercountkey:"__AD_POD_CURRENT__",adcountertotalkey:"__AD_POD_LENGTH__",cuetext:"Advertisement",companiondiv:null,vpaidmode:"insecure",vpaidcontrols:!1,locale:"",loadVideoTimeout:15e3,enablePreloading:!1},b=function(){function i(t,r){m(this,i),this.config=t,this.utils=r;for(var n in A){var a=t[n],s=A[n],o=typeof s;if(void 0!==a){if("boolean"!==o&&"number"!==o||(a=e(a)),typeof a!==o)throw new Error("invalid parameter: "+n+" should be a "+o);this[n]=a}else this[n]=s}this.admessagedynamic=this.admessage}return i.prototype.getPrerollBlock=function(){var e=this.getConfigSchedule(),i=this.bidsResponse;if("string"==typeof e){if(!i)return e;var r=i.custParams;if(r){var n="jwFANBidPrice="+r.jwFANBidPrice+"&jwFANBidID="+r.jwFANBidID,a=i.tag.indexOf("?")>=0?"&":"?";return""+i.tag+a+n}return i.tag}var s=t(e);if(!s)return null;var o=this.utils.extend({},e[s]);return i&&(o.tag=i.tag,o.custParams=this.utils.extend({},o.custParams,i.custParams)),o},i.prototype.addBidsResponse=function(e){e&&!e.error&&(e.bidWon||e.tag)?this.bidsResponse=e:this.bidsResponse=null},i.prototype.getSchedule=function(){var e=this.utils.extend({},this.getConfigSchedule());if(!this.bidsResponse)return this.getConfigSchedule();var i=this.getPrerollBlock();return"string"==typeof i?i:(e[t(e)]=i,e)},i.prototype.getConfigSchedule=function(){var e=this.config;return e.tag||this.adschedule||e.schedule||e.ad},i}(),E=function(){function e(t,i,r){m(this,e);var n=document.createElement("div");this.visible=!1,this.style=r,this.div=t,this.adDiv=n,n.id=i+"_ad",r(t,{overflow:"hidden",width:"100%",height:"100%",display:"block",visibility:"hidden",pointerEvents:"none",opacity:0}),r(n,{position:"absolute",width:"100%",height:"100%"}),t.appendChild(n)}return e.prototype.resizeNonLinear=function(e,t){this.style(this.div,{height:t+"px",top:"auto",width:"100%"})},e.prototype.resizeLinear=function(){this.style(this.div,{top:"0px",left:"0px",width:"100%",height:"100%"})},e.prototype.getAdDiv=function(){return this.adDiv},e.prototype.adSetup=function(){this.visible=!0,this.style(this.div,{visibility:"visible",display:"block",pointerEvents:"all",opacity:1},!0);for(var e=this.adDiv.childNodes,t=0;t0&&void 0!==arguments[0]?arguments[0]:{settings:{},bidders:{}},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;m(this,e),this.originalTag=i,this.mediationLayer=t.mediationLayerAdServer,this.settings={},this.settings.floorPriceCents=t.settings.floorPriceCents,this.settings.floorPriceCurrency=t.settings.floorPriceCurrency,this.settings.bidTimeout=t.settings.bidTimeout||I,this.settings.playerWidth=n,this.settings.playerHeight=a,this.settings.placementId=t.bidders.FAN?t.bidders.FAN.placementId:null,this.xhttp=new XMLHttpRequest,this.request=new Promise(function(e){r.resolve=e}),this.currentTimeout=null}return e.prototype.start=function(){return this.start=function(){return this.request},n(this),this.request},e.prototype.stop=function(){clearTimeout(this.currentTimeout),this.xhttp&&(this.xhttp.abort(),this.xhttp=null),this.resolve({error:!0,message:"Request aborted"})},e.prototype.then=function(e){return this.request.then(e,e)},e.prototype.timeout=function(){var e=this;clearTimeout(this.currentTimeout),this.currentTimeout=setTimeout(function(){e.currentTimeout=null,e.resolve&&e.resolve({error:!0,message:"Response timeout"})},this.settings.bidTimeout)},e}(),R=function(){function e(t,i,r,n,a,s){m(this,e),r.utils.extend(this,r.Events),this.item=t,this.options=i,this.player=r,this.instreamProvider=n,this.view=a,this.initAdsManagerPromise=null,this.bidsPromise=null,this.blockingInstreamPlayer=null,this.mobilePlayCallback=null,this.currentAd=null,this.bids=null,this.timeoutAdStart=-1,this.progressIntervalId=-1,this.video=r.getContainer().querySelector("video"),this.fullscreenIcon=r.getContainer().querySelector(".jw-icon-fullscreen"),this.adsLoaderManager=s,this.playbackProxy={currentTime:0,duration:0},this.isItemSchedule=!0}return e.prototype.init=function(e,t){var i=this,r=t.getPrerollBlock();if(!this.player.getConfig().autostart&&r){var n="string"!=typeof r,a=n?r.bids:t.config.bids,s=n?r.tag:r;this.bids=new S(a,s,this.player.getWidth(),this.player.getHeight()),this.bids.start()}else this.bids=Promise.resolve();this.bidsPromise=this.bids.then(function(e){if(i.destroyed())return null;t.addBidsResponse(e)}),this.initAdsManagerPromise=this.bidsPromise.then(_).then(function(){return i.destroyed()?null:i.adsLoaderManager.open(e,t,i.player,i.options)}).then(function(e){if(i.destroyed())return null;var t=i.playbackProxy,r=i.adsLoaderManager,n=r.getAdsManager(e,t,i.options);i.instreamProvider.setProxy(n),i.muteInstreamProvider();var a=i.player.getSafeRegion(!1);if(n.init(a.width,a.height,i.getViewMode()),r.initializeDisplay(),r.bindEvents({LOADED:i.adLoaded.bind(i),AD_ERROR:i.adError.bind(i),CONTENT_PAUSE_REQUESTED:i.prepareToPlayAd.bind(i),CONTENT_RESUME_REQUESTED:i.resumeRequested.bind(i),LOG:i.adLog.bind(i),STARTED:i.adStarted.bind(i),LINEAR_CHANGED:i.resize.bind(i),CLICK:i.adClick.bind(i),PAUSED:i.adPaused.bind(i),RESUMED:i.adResumed.bind(i),SKIPPED:i.adSkipped.bind(i),USER_CLOSE:i.adUserClose.bind(i),ALL_ADS_COMPLETED:i.allAdsCompleted.bind(i)}),i.isItemSchedule){var s=n.getCuePoints();if("string"==typeof r.schedule||s.length&&0===s[0]||i.stopBlocking(),s.length){var o=s.filter(function(e){return e>0}).map(function(e){return{begin:e,text:i.options.cuetext}});i.player.setCues(o)}}return n}).catch(function(e){return i.asyncError(e),Promise.reject(e)})},e.prototype.getViewMode=function(){var e=google.ima.ViewMode;return this.player.getFullscreen()?e.FULLSCREEN:e.NORMAL},e.prototype.prepareToPlayAd=function(){if(!this.destroyed()&&(clearTimeout(this.timeoutAdStart),!this.blockingInstreamPlayer)){this.video&&this.player.utils.isIOS()&&(this.video.controls=!1);this.video&&this.player.utils.isMobile()&&!this.video.__jwMobileCanPlay&&(this.player.isBeforePlay()||0===this.video.currentTime)?(this.mobilePlayCallback=this.getMobilePlayCallback(),this.video.addEventListener("play",this.mobilePlayCallback)):this.startBlocking()}},e.prototype.muteInstreamProvider=function(){var e=this.video&&this.video.muted||this.player.getMute();this.instreamProvider.mute(e)},e.prototype.getMobilePlayCallback=function(){var e=this,t=function(i){i.currentTarget.removeEventListener("play",t),i.currentTarget.__jwMobileCanPlay=!0,e.mobilePlayCallback=null,e.startBlocking()};return t},e.prototype.exitFullscreenOnInlineIPhone=function(){this.player.utils.isIPod()&&(this.player.utils.isIOS(6)||this.player.utils.isIOS(7)||this.player.utils.isIOS(8)||this.player.utils.isIOS(9)||(this.player.setFullscreen(!1),this.player.utils.style(this.fullscreenIcon,{display:"none"})))},e.prototype.startBlocking=function(){var e=this;this.blockingInstreamPlayer||this.destroyed()||(this.exitFullscreenOnInlineIPhone(),this.player.utils.addClass(this.player.getContainer(),"jw-flag-ads-googleima"),this.blockingInstreamPlayer=this.player.createInstream().init(),this.blockingInstreamPlayer.setText("Loading"),this.blockingInstreamPlayer.applyProviderListeners(this.instreamProvider),this.initAdsManagerPromise.then(function(e){e.start()}).catch(function(){}),clearTimeout(this.timeoutAdStart),this.timeoutAdStart=setTimeout(function(){e.destroyed()||(e.stopBlocking(),e.asyncDiscardAdBreak())},1e4))},e.prototype.stopBlocking=function(){this.destroyed()||(clearTimeout(this.timeoutAdStart),this.player.utils.style(this.fullscreenIcon,{display:""}),this.player.utils.removeClass(this.player.getContainer(),["jw-flag-ads-vpaid","jw-flag-ads-googleima"]),this.mobilePlayCallback&&(this.video&&this.video.removeEventListener("play",this.mobilePlayCallback),this.mobilePlayCallback=null),this.blockingInstreamPlayer&&(this.video&&(this.video.setAttribute("jw-loaded","none"),this.video.pause()),this.instreamProvider.off(),this.blockingInstreamPlayer.destroy(),this.blockingInstreamPlayer=null,this.view.adTakeDown()))},e.prototype.resumeRequested=function(){this.currentAd&&this.currentAd.isLinear()&&(this.finishAd(),this.view.adTakeDown()),this.stopBlocking()},e.prototype.finishAd=function(){this.currentAd&&(clearInterval(this.progressIntervalId),this.currentAd=null)},e.prototype.discardAdBreak=function(e){e=e||this.adsLoaderManager.adsManager,!this.destroyed()&&e&&(e.discardAdBreak(),e.stop())},e.prototype.asyncDiscardAdBreak=function(){this.initAdsManagerPromise.then(this.discardAdBreak).catch(function(){})},e.prototype.pause=function(){var e=this.adsLoaderManager.adsManager;e&&e.pause()},e.prototype.resume=function(){var e=this.adsLoaderManager.adsManager;e&&e.resume()},e.prototype.beforePlay=function(e){var t=this;this.bids&&this.bids.timeout&&this.bids.timeout(),this.player.off("beforePlay",null,this),this.isItemSchedule=!!e,this.prepareToPlayAd(),this.adsLoaderManager.initializeDisplay(),this.bidsPromise.then(_).then(function(){t.destroyed()||t.adsLoaderManager.requestAds()})},e.prototype.beforeComplete=function(){var e=this.adsLoaderManager.adsManager;e&&e.getCuePoints().indexOf(-1)>-1&&this.prepareToPlayAd(),this.adsLoaderManager.unbindEvents(["CONTENT_RESUME_REQUESTED"]),this.playbackProxy.currentTime=this.playbackProxy.duration,this.adsLoaderManager.contentComplete()},e.prototype.time=function(e){this.playbackProxy.currentTime=e.position,e.duration>=e.position?this.playbackProxy.duration=e.duration:this.playbackProxy.duration=1/0},e.prototype.resize=function(){var e=this.currentAd,t=this.adsLoaderManager.adsManager;if(t){var i=e&&!e.isLinear(),r=this.player.getSafeRegion(i);if(i){var n=e.getHeight();n=this.player.getFullscreen()?r.height/2:Math.max(100,n+10),t.resize(r.width,n,this.getViewMode()),this.view.resizeNonLinear(r,n)}else t.resize(r.width,r.height,this.getViewMode()),this.view.resizeLinear()}},e.prototype.triggerAdPlay=function(e,t,i,r){if(e.isLinear()){this.instreamProvider.trigger("state",{newstate:i,oldstate:r});var n=this.adsLoaderManager.adEventObject(e);n.oldstate=r,n.newstate=i,this.trigger(t,n)}},e.prototype.progressInterval=function(e,t){var i=this;if(clearInterval(this.progressIntervalId),t){var r=e.getAdId(),n=e.getAdPodInfo(),a=-1,s=this.options.admessage||"",o=new RegExp(this.options.admessagedynamickey,"g"),d=this.options.adcounterdynamic||"",l=new RegExp(this.options.adcountercountkey,"g"),u=new RegExp(this.options.adcountertotalkey,"g");this.progressIntervalId=setInterval(function(){if(!i.currentAd||i.currentAd.getAdId()!==r)return void clearInterval(i.progressIntervalId);var h=t.getRemainingTime();if(!(isNaN(h)||h<=0)&&a!==h){a=h;var p=e.getDuration(),c=p-h;if(i.blockingInstreamPlayer){var g=s.replace(o,Math.round(p-c)),f=void 0,y=n.getTotalAds();if(y>1){var v=n.getAdPosition();f=d.replace(l,v),g=f.replace(u,y)+" "+g}i.blockingInstreamPlayer.setText(g)}if(p>0){var m=i.adsLoaderManager.adEventObject(e);m.position=c,m.duration=p,i.trigger("adTime",m)}}},250)}},e.prototype.adLoaded=function(e){this.muteInstreamProvider();var t=this.adsLoaderManager.adEventObject(e.getAd());this.trigger("adRequest",t)},e.prototype.adStarted=function(e){var t=this,i=e.getAd(),r=i.isLinear(),n=r&&-1===i.getDuration(),a=i.getContentType(),s="application/javascript"===a||"application/x-shockwave-flash"===a,o=s&&this.options.vpaidcontrols;this.currentAd=i,this.adsLoaderManager.bindEvents({COMPLETE:this.adComplete.bind(this)}),s&&this.adsLoaderManager.bindEvents({VOLUME_CHANGED:function(){t.adsLoaderManager.unbindEvents(["VOLUME_CHANGED"]),t.player.setMute(!!t.adsLoaderManager.adsManager.getVolume())}}),n?this.startBlocking():r||this.stopBlocking(),this.player.utils.toggleClass(this.player.getContainer(),"jw-flag-ads-vpaid",n||s),this.player.utils.toggleClass(this.player.getContainer(),"jw-flag-ads-vpaid-controls",o),this.view.adSetup(),this.resize(),this.muteInstreamProvider(),clearTimeout(this.timeoutAdStart);var d=this.adsLoaderManager.adsManager;this.progressInterval(i,d);var l=this.adsLoaderManager.adEventObject(i);this.trigger(v,l),this.triggerAdPlay(i,"adPlay","playing","buffering")},e.prototype.adComplete=function(e){this.finishAd();var t=e.getAd(),i=this.adsLoaderManager.adEventObject(t);this.trigger("adComplete",i),this.adsLoaderManager.unbindEvents(["VOLUME_CHANGED"])},e.prototype.adClick=function(e){var t=this.adsLoaderManager.adsManager,i=e.getAd(),r=i.getContentType();"application/javascript"===r||"application/x-shockwave-flash"===r||t.pause();var n=this.adsLoaderManager.adEventObject(i);this.trigger("adClick",n)},e.prototype.adPaused=function(e){this.triggerAdPlay(e.getAd(),"adPause","paused","playing")},e.prototype.adResumed=function(e){this.triggerAdPlay(e.getAd(),"adPlay","playing","paused")},e.prototype.adSkipped=function(e){this.adsLoaderManager.unbindEvents(["COMPLETE","VOLUME_CHANGED"]),this.finishAd();var t=this.adsLoaderManager.adEventObject(e.getAd());this.trigger("adSkipped",t)},e.prototype.adUserClose=function(e){if(this.currentAd&&this.currentAd.isLinear()&&-1===this.currentAd.getDuration())return void this.adSkipped(e);this.adsLoaderManager.unbindEvents(["COMPLETE","VOLUME_CHANGED"]),this.finishAd()},e.prototype.allAdsCompleted=function(){this.resumeRequested(),this.view.adTakeDown(),this.stopAdsManager()},e.prototype.stopAdsManager=function(){var e=this;this.initAdsManagerPromise.then(function(t){e.destroyed()||(t.stop(),t.destroy(),e.initAdsManagerPromise=null,e.bidsPromise=null)}).catch(function(){})},e.prototype.adLog=function(e){var t=e.getAdData();if(t&&t.adError){var i=this.adsLoaderManager.adErrorEventObject(t.adError,e);402===i.code?this.handleAdError(t.adError,i):this.trigger("adError",i)}},e.prototype.adError=function(e){var t=e.getError();this.handleAdError(t,e)},e.prototype.asyncError=function(e){var t=this;this.destroyed()||(e&&e.getError?this.adError(e):e.target&&e.target.src?console.error("Failed to load "+e.target.src):console.error(e),this.timeoutAdStart=setTimeout(function(){return t.destroy()},0))},e.prototype.handleAdError=function(e,t){var i=this;this.options.debug&&console.error(e),900===e.getErrorCode()?this.timeoutAdStart=setTimeout(function(){return i.destroy()},0):(this.stopBlocking(),this.view.adTakeDown());var r=this.adsLoaderManager.adErrorEventObject(e,t);this.trigger("adError",r)},e.prototype.destroy=function(){if(this.off(),!this.destroyed()){this.blockingInstreamPlayer&&this.stopBlocking(),this.initAdsManagerPromise&&(this.stopAdsManager(),this.initAdsManagerPromise=null,this.bidsPromise=null),this.item=null,this.bids&&this.bids.stop&&(this.bids.stop(),this.bids=null),this.view.adTakeDown(),clearTimeout(this.timeoutAdStart),clearInterval(this.progressIntervalId),this.currentAd=null,this.options=null,this.player.off(null,null,this),this.player=null,this.view=null,this.instreamProvider.off(),this.instreamProvider.setProxy(null),this.instreamProvider=null,this.video=null;var e=this.adsLoaderManager;e&&(e.reset(),this.adsLoaderManager=null)}},e.prototype.destroyed=function(){return!this.item},e}(),x=function(){function e(t,i){m(this,e),this.player=t,this.options=i}return e.prototype.getAdsResponse=function(e){var t=this,i=this.player,r=i.utils,n=[];return r.foreach(c(e,r,i._),function(e,r){n.push(''.replace(/_type_/g,r.type).replace(/_adbreakname_/g,e).replace(/_offset_/g,r.offset.replace("pre","start").replace("post","end")).replace(/_url_/g,d(r.tag,i,t.options,r.custParams)))}),''+n.join("")+""},e.prototype.getTagMap=function(e){var t=this,i=this.player,r=i.utils,n={};return r.foreach(c(e,r,i._),function(e,a){var s=l(a.offset,r,i._);i._.isString(s)&&(s=parseFloat(s.replace("pre","0").replace("post","-1"))),i._.isNumber(s)&&(n[s]=d(a.tag,i,t.options))}),n},e.prototype.getTagList=function(e){var t=this,i=this.player,r=i.utils,n=[];return r.foreach(c(e,r,i._),function(e,a){var s=l(a.offset,r,i._);i._.isString(s)&&(s=parseFloat(s.replace("pre","0").replace("post","-1"))),n.push({offset:s,tag:d(a.tag,i,t.options)})}),n},e}(),D=function(){function e(t){m(this,e),this.adsLoader=null,this.adDisplayContainer=null,this.displayInitialized=!1,this.adsRequest=null,this.userRequestContext=null,this.adsManager=null,this.adsManagerEvents={},this.container=t,this.adIds={},this.schedule=null,this.tagMap={},this.playerApi=null}return e.prototype.getVpaidMode=function(e){var t=google.ima.ImaSdkSettings.VpaidMode;return"disabled"===e||"none"===e?t.DISABLED:"enabled"===e?t.ENABLED:t.INSECURE},e.prototype.initializeDisplay=function(){!this.displayInitialized&&this.adDisplayContainer&&(this.adDisplayContainer.initialize(),this.displayInitialized=!0)},e.prototype.contentComplete=function(){if(null!==this.adsRequest){var e=this.adsLoader;e&&e.contentComplete(),this.adsRequest=null}},e.prototype.reset=function(){this.userRequestContext=null,this.contentComplete(),this.schedule=null;var e=this.adsManager;e&&(e.stop(),e.destroy(),this.adsManager=null),this.adsManagerEvents={},this.adIds={},this.tagMap={}},e.prototype.prepare=function(e){var t=this.adsLoader;if(!t){var i=e.getContainer().querySelector("video");this.adDisplayContainer=new google.ima.AdDisplayContainer(this.container,i),t=this.adsLoader=new google.ima.AdsLoader(this.adDisplayContainer)}return t},e.prototype.open=function(e,t,i,r){t.locale&&google.ima.settings.setLocale(t.locale);var n=this.prepare(i);this.playerApi=i;var a={requestType:e,vpaidMode:t.vpaidmode,playerVersion:i.version.split("+")[0]};this.userRequestContext=a;var s=t.getSchedule();if(!s)return Promise.reject();var o=new google.ima.AdsRequest,l=i.getSafeRegion(!1);o.linearAdSlotWidth=l.width,o.linearAdSlotHeight=l.height;var u=i.getSafeRegion(!0);o.nonLinearAdSlotWidth=u.width,o.nonLinearAdSlotHeight=u.height,o.setAdWillAutoPlay(i.getConfig().autostart&&!i.utils.isMobile()),o.forceNonLinearFullSlot=r.forceNonLinearFullSlot,this.adsRequest=o;var h=new x(i,r);if("object"==typeof s){var p=h.getTagList(s);1===p.length&&0===p[0].offset&&(s=p[0].tag)}return"string"==typeof s?s=o.adTagUrl=a.adTagUrl=d(s,i,r):(o.adsResponse=a.adsResponse=h.getAdsResponse(s),this.tagMap=h.getTagMap(s)),this.schedule=s,new Promise(function(e,t){n.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,t,!1),n.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,e,!1)})},e.prototype.requestAds=function(){var e=this.adsLoader,t=this.userRequestContext,i=this.getVpaidMode(t.vpaidMode),r=e.getSettings();r.setPlayerType("jwplayer"),r.setPlayerVersion(t.playerVersion),r.setVpaidMode(i),e.requestAds(this.adsRequest,t)},e.prototype.getAdsManager=function(e,t,i){var r=new google.ima.AdsRenderingSettings;return r.loadVideoTimeout=i.loadVideoTimeout,r.enablePreloading=i.enablePreloading,r.uiElements=null,r.autoAlign=!0,r.useStyledNonLinearAds=!0,this.adsManager=e.getAdsManager(t,r),this.userRequestContext=e.getUserRequestContext(),this.adsManager},e.prototype.bindEvents=function(e){for(var t=google.ima.AdEvent.Type,i=google.ima.AdErrorEvent.Type,r=Object.keys(e),n=Array.isArray(r),a=0,r=n?r:r[Symbol.iterator]();;){var s;if(n){if(a>=r.length)break;s=r[a++]}else{if(a=r.next(),a.done)break;s=a.value}var o=s,d=t[o]||i[o],l=this.adsManagerEvents[d];l&&this.adsManager.removeEventListener(d,l),this.adsManager.addEventListener(d,e[o],!1),this.adsManagerEvents[d]=e[o]}},e.prototype.unbindEvents=function(e){for(var t=google.ima.AdEvent.Type,i=google.ima.AdErrorEvent.Type,r=e,n=Array.isArray(r),a=0,r=n?r:r[Symbol.iterator]();;){var s;if(n){if(a>=r.length)break;s=r[a++]}else{if(a=r.next(),a.done)break;s=a.value}var o=s,d=t[o]||i[o],l=this.adsManagerEvents[d];l&&(this.adsManager.removeEventListener(d,l),delete this.adsManagerEvents[d])}},e.prototype.getAdId=function(e){if(e){var t=e.getAdId(),i=f(e);if(i&&(t=""+i.getTimeOffset()),t)return void 0===this.adIds[t]&&(this.adIds[t]=g(12)),this.adIds[t]}return"-1"},e.prototype.getTag=function(e,t){if("string"==typeof this.schedule)return this.schedule;var i=f(e);if(i){var r=this.tagMap[i.getTimeOffset()];if(r)return r}var n=this.userRequestContext;return t&&t.getUserRequestContext&&(n=t.getUserRequestContext()||n),n?n.adTagUrl||n.adsResponse||"":(console.error("invalid request context",n),"")},e.prototype.adEventObject=function(e){var t={client:"googima",tag:this.getTag(e),ima:{ad:e,userRequestContext:this.userRequestContext}};if(!e)return t;t.id=this.getAdId(e),t.adtitle=e.getTitle(),t.adsystem=e.getAdSystem(),t.creativetype=e.getContentType(),t.linear=e.isLinear()?"linear":"nonlinear",t.viewable=this.playerApi.getViewable();var i=f(e);if(i){var r=i.getTotalAds();r>1&&(t.sequence=i.getAdPosition(),t.podcount=r);var n=i.getTimeOffset(),a="mid";0===n?a="pre":-1===n&&(a="post"),t.adposition=a}return t},e.prototype.adErrorEventObject=function(e,t){return{id:"-1",client:"googima",message:"Ad Error: "+(e.getMessage&&e.getMessage()||e.message),code:e.getVastErrorCode&&e.getVastErrorCode()||900,tag:this.getTag(t.getAd&&t.getAd(),t)}},e}(),O=function(e,t,i){function r(e,t,i,r){try{return e.getCompanionAds(t,i,r)}catch(e){return[]}}function n(e){if(e&&e.length){var t=document.getElementById(g.companiondiv.id);if(t){var i=e[0];i&&(p.isFunction(i.getContent)?t.innerHTML=i.getContent():t.innerHTML=i.resource||i.content)}}}function a(e){for(var t=[],i=0;i0}function o(){P&&!P.destroyed()&&(e.off(null,null,P),P.destroy(),P=null)}function d(t){P&&P.discardAdBreak(),A.contentComplete(),o(),t&&t.adschedule?g.adschedule=t.adschedule:g.adschedule=null,e.setCues([])}function l(t,i,r){if(d(t),!r.getSchedule())return void _(h).then(function(){A.prepare(e)}).catch(h.noop);A.reset(),P=new R(t,g,e,m,f,A),P.init(i,r),P.on("all",function(t,i){return e.trigger(t,i)}),P.on(v,function(e){var t=e.ima.ad;e.ima.userRequestContext,s(t)}),e.once("beforePlay",function(e){return P.beforePlay(e)},P).on("beforeComplete",function(){return P.beforeComplete()},P).on("time",function(e){return P.time(e)},P).on("resize",function(){return P.resize()},P).on("fullscreen",function(){return P.resize()},P)}var u=this,h=e.utils;_(h).catch(h.noop);var p=e._,c=e.getConfig().key,g=new b(t||{},h),f=new E(i,e.id,h.style),m=new C(h,e.Events,f),A=new D(f.getAdDiv()),P=null;e.utils.extend(this,e.Events),e.on("destroyPlugin",function(){u.destroy()}),e.pauseAd=function(e){P&&(e?P.pause():P.resume())},e.playAd=function(t){var i={};e._.isArray(t)?i.tag=t[0]:i.tag=t,l({},"TYPE_API",new b(i,h)),P&&P.beforePlay(null)},e.on("playlistItem",function(e){l(e.item,"TYPE_SCHEDULE",g)},this).on("playlistComplete",function(){return d()},this).on("cast",function(e){e.active&&d()},this),w.call(this,h,c).catch(function(t){o(),e.off(null,null,u),e.playAd=h.noop,e.trigger("adError",{id:"-1",client:"googima",message:"Ad Error: "+t.message,code:900,tag:""})}),this.destroy=o};(window.jwplayerPluginJsonp||window.jwplayer().registerPlugin)("googima","7.6",O)}();