Advertisement
bronkmark

Untitled

Jun 27th, 2017
1,702
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 232.47 KB | None | 0 0
  1. !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.Eventics=e()}}(function(){return function e(n,t,i){function r(o,s){if(!t[o]){if(!n[o]){var c="function"==typeof require&&require;if(!s&&c)return c(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var u=t[o]={exports:{}};n[o][0].call(u.exports,function(e){var t=n[o][1][e];return r(t?t:e)},u,u.exports,e,n,t,i)}return t[o].exports}for(var a="function"==typeof require&&require,o=0;o<i.length;o++)r(i[o]);return r}({1:[function(e,n){function t(e){function n(e){for(var n=g.length,t=0;n>t;t++)e(g[t])}function t(){g=[];for(var e=f.length,n=0;e>n;n++){var t=f[n];if("function"==typeof window[t]){var i=new window[t];i.init(p),g.push(i)}}}function r(){for(var e in m){var n=m[e]||{};"event"===n.eType?h.trackEvent(n.eName,n.label,n.data):"timing"===n.eType&&h.trackTiming(n.eName,n.time,n.data)}m=[]}function a(e){if(e){"string"==typeof e&&(e=[e]),f=[];for(var n=e.length,t=0;n>t;t++)f.push(e[t])}}function o(e){d||(e&&s(e),t(),d=!0,r())}function s(e){h.extend(v||{},e)}function c(n){e=n}function l(e){p=e}function u(n){return n=n||{},n.userChance=e,new i(h,n)}var d,f=["ironBeastEventicsProvider"],g=[],p={},v={},h=this,m=[],e=e||1,b="undefined"!=typeof jQuery?jQuery:{},S="undefined"!=typeof window.angular?window.angular:{};return h.extend=b.extend||S.extend||function(){for(var e,n,t=arguments.length,i=1,r=arguments[0]||{};t>i;i++)if(e=arguments[i],null!=e)for(n in e)void 0!==e[n]&&(r[n]=e[n]);return r},h.trackEvent=function(e,t,i){return e?(i=extend(i||{},v),d?void n(function(n){n.trackEvent(e,t,i)}):void m.push({eName:e,label:t,data:i,eType:"event"})):void 0},h.trackTiming=function(e,t,i){return e&&t?(i=extend(i||{},v),d?void n(function(n){n.trackTiming(e,t,i)}):void m.push({eName:e,time:t,data:i,eType:"timing"})):void 0},{setProvidersHandlers:a,setProvidersConfig:l,init:o,updateBaseData:s,createEventic:u,updateUserChance:c}}n.exports=t;var i=e("./eventicsHelper.js");window.ironBeastEventicsProvider=e("./providers/ironBeastEventicsProvider.js"),window.QAEventicsProvider=e("./providers/QAEventicsProvider.js")},{"./eventicsHelper.js":2,"./providers/QAEventicsProvider.js":3,"./providers/ironBeastEventicsProvider.js":4}],2:[function(e,n){function t(e,n){function t(e){return e&&e.name&&e.id}function i(){var e={};for(var n in u)"function"==typeof u[n]&&(e[n]=function(){});return e}n=n||{};var r="undefined"!=typeof n.productChance?n.productChance:1,a="undefined"!=typeof n.userChance?n.userChance:1,o=e||{},s=n.baseData||{},c={},l=o.extend,u={};return u.trackEvent=function(e,n,i){if(!t(e))return!1;var r=e.name,a=e.id;i||(i={}),i.eventId=a,i=l({},s,i||{}),o.trackEvent(r,n,i)},u.trackTimingStart=function(e,n){if(!t(e))return!1;var i=e.name;return n=n||Date.now(),c[i]=n,!0},u.trackTimingStop=function(e,n){if(!t(e))return!1;var i,r,a=e.name;if(n||(n={}),n.eventId=e.id,n&&n.timeStamp?(r=n.timeStamp,delete n.timeStamp):r=Date.now(),n&&n.eNameStart&&n.eNameStart.name?(i=c[n.eNameStart.name],delete n.eNameStart):c[a]&&(i=c[a],c[a]=null),i){var u=r-i;return n=l(n||{},s),o.trackTiming(a,u,n),!0}},u.updateBaseData=function(e){for(var n in e)s[n]=e[n];return!0},u.unsetParamFromBaseData=function(e){s.hasOwnProperty(e)&&delete s[e]},u.incrementSessionNumber=function(){return s.sessionDepth?s.sessionDepth++:s.sessionDepth=1,!0},a>0&&r>=a?u:i()}n.exports=t},{}],3:[function(e,n){function t(){function e(n,t){var i=[];for(var r in n)if(n.hasOwnProperty(r)){var a=t?t+"["+r+"]":r,o=n[r];i.push("object"==typeof o?e(o,a):encodeURIComponent(a)+"="+encodeURIComponent(o))}return i.join("&")}function n(n){if(n){c.data=n;var i=e(c);delete c.data;var r=o+"?"+i;t(r)}}function t(e){if(e){var n=new Image;n.src=e}}function i(){o=s}function r(e,t,i){if(e){if(t&&"object"==typeof t){var r=Object.keys(t)[0];r&&(i[r]=t[r])}i.eventName=e,n(i)}}function a(e,t,i){e&&t&&(i.eventName=e,i.timingValue=t,n(i))}var o,s="http://qa.eventics.qa",c={};return{init:i,trackEvent:r,trackTiming:a}}n.exports=t},{}],4:[function(e,n){function t(){function e(e){if(e){l.data=e;var t;try{t=btoa(JSON.stringify(l))}catch(i){l.data.applicationUserId="badName",l.data.userId="badName",l.data.eventName="errorEvent",t=btoa(JSON.stringify(l))}delete l.data;var r=a+"?data="+t;n(r)}}function n(e){if(e){var n=new Image;n.src=e}}function t(e){a=e.isSecured?s:o}function i(n,t,i){if(n){if(t&&"object"==typeof t){var r=Object.keys(t)[0];r&&(i[r]=t[r])}i.eventName=n,e(i)}}function r(n,t,i){n&&t&&(i.eventName=n,i.timingValue=t,e(i))}var a,o="http://supersonic.ironbeast.io",s="https://secure.ironbeast.io",c="supersonic.adunitanalytics.ad_unit_events",l={table:c};return{init:t,trackEvent:i,trackTiming:r}}n.exports=t},{}]},{},[1])(1)}),function e(n,t,i){function r(o,s){if(!t[o]){if(!n[o]){var c="function"==typeof require&&require;if(!s&&c)return c(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var u=t[o]={exports:{}};n[o][0].call(u.exports,function(e){var t=n[o][1][e];return r(t?t:e)},u,u.exports,e,n,t,i)}return t[o].exports}for(var a="function"==typeof require&&require,o=0;o<i.length;o++)r(i[o]);return r}({1:[function(e){!function(n){"use strict";var t=e("./SonicCore.js"),i=e("./SDKController/SDKController.js"),r="undefined",a=n.SonicCore=n.SSA_CORE=new t(n.jQuery,n,document,r);a.SDKController=new i(a,r),"function"==typeof sonicAsyncInit&&sonicAsyncInit()}(window)},{"./SDKController/SDKController.js":36,"./SonicCore.js":41}],2:[function(e,n){function t(){function e(){return n}var n={v:1,controllerId:1,applicationKey:1,applicationUserId:0,debug:0,language:0,disableCache:0,applicationUserGender:0,applicationUserAgeGroup:0,demoCampaigns:0,appOrientation:1,mobileCarrier:0,connectionType:1,iphoneAppOnIpadDevice:0,deviceOs:1,SDKVersion:1,deviceOSVersion:1,deviceOEM:0,deviceVolume:0,immersiveMode:0,"deviceIds[IFA]":0,"deviceIds[IDFV]":0,"deviceIds[SERIAL]":0,"deviceIds[AndroidID]":0,"deviceIds[IMEI]":0,"deviceIds[AID]":0,deviceWidthDP:0,deviceHeightDP:0,deviceLanguage:0,deviceModel:0,diskFreeSize:1,country:0,campaignId:0,customParams:0,isLimitAdTrackingEnabled:0,SDKPluginType:0,bundleId:0,jb:0,gpi:0,allowArbitraryLoads:0,allowArbitraryLoadsInWebContent:0,mcc:0,mnc:0,appVersion:0,batteryLevel:0,maxVideoLength:0,itemName:0,itemCount:0,timestamp:0,localTime:0,timezoneOffset:0,itemSignature:0,showDeliveryLimitationsLog:0,minimumOfferCommission:0,minimumOfferCommissionSignature:0,applicationUserCreationDate:0,applicationUserCreationDateSignature:0,mraid:0,numOfCampaigns:0,deviceScreenScale:0,androidIsVersion:0},t={getCommonRequiredData:e};return t}n.exports=t},{}],3:[function(e,n){function t(e,n){function t(t){var i,r,a,o=new jQuery.Deferred,s="checkInstalledAppsSuccess",c="checkInstalledAppsFailed",l={appIds:t,requestId:Date.now().toString()},u=function(){e.PubSub.unsubscribe(i),e.PubSub.unsubscribe(r)};return i=e.PubSub.subscribe(v+"."+s,function(e){e.requestId===l.requestId&&(clearTimeout(a),u(),n.log("successfully check apps installed "+JSON.stringify(e.result),n.LogLevels.info),o.resolve(e.result))}),r=e.PubSub.subscribe(v+"."+c,function(e){clearTimeout(a),u(),n.log("failed to check apps installed."+JSON.stringify(e),n.LogLevels.info),o.reject()}),a=setTimeout(function(){u(),o.reject("SDK check apps installed timeout request")},S),n.callSDKFunction("checkInstalledApps",l,s,c),o.promise()}function i(e,t){jQuery.each(t,function(t,i){if(i.isInstalled)for(var r=0;r<e.length;r++)if(i.campaignId===e[r].cid||i.campaignId===e[r].campaignId){e.splice(r,1),n.log("Filtered campaign "+i.campaignId,n.LogLevels.verbose);break}})}function r(e){var n,t;return e?(n=50,t=100):(n=0,t=50),Math.floor(Math.random()*(t-n))+n}function a(e){u=n.getApiData(b);var t={deviceId:"ios"===u.deviceOs?u["deviceIds[IFA]"]:u["deviceIds[AID]"],os:u.deviceOs,campaignIds:{}},i=d.urlPaths&&d.urlPaths.campaignsStatus;return i?(jQuery.each(e,function(e,n){t.campaignIds[n.campaignId]=r(n.isInstalled)}),void jQuery.ajax({url:i,data:t,type:"GET",dataType:"jsonp",success:function(){n.log("Success update campaigns status to server",n.LogLevels.verbose)},error:function(e,t){n.log("Success update campaigns status to server: response:"+e+".status: "+t,n.LogLevels.verbose)}})):void n.log("No url in settings to update server on campaigns status",n.LogLevels.verbose)}function o(e,t){var i=!0;return e||(n.log("filter apps installed flag is false",n.LogLevels.verbose),i=!1),t&&0!==t.length||(n.log("get 0 campaigns to filter",n.LogLevels.verbose),i=!1),n.isLegacy({ios:"5.14",android:"5.16"})&&(n.log("NewController: Old controller version. filter campaigns by app installed is not supported in this version of SDK.",n.LogLevels.verbose),i=!1),i}function s(e,r,o){var s=new jQuery.Deferred;return jQuery.isEmptyObject(r)?s.resolve():t(o).then(function(n){return jQuery.each(n,function(e,n){var t=r[e];t&&(n.campaignId=t.campaignId)}),i(e,n),s.resolve(),n}).then(a).fail(function(e){n.log("failed filter campaigns by app installed. "+e,n.LogLevels.verbose),s.resolve()}),s.promise()}function c(e,n,t){if(d=n,t=t||[],!o(d.filterAppsInstalled,e))return y.returnResolvedPromise();for(var i={},r=e.length,a=[],c=0;r>c;c++){var l=e[c],u=l&&l.ext;u&&(0===t.length||-1!==t.indexOf(u.type))&&u.appData&&u.appData.appId&&(i[u.appData.appId]={campaignId:l.cid},a.push(u.appData.appId))}return s(e,i,a)}function l(e,n){if(d=n,!o(!0,e))return y.returnResolvedPromise();for(var t={},i=e.length,r=[],a=0;i>a;a++){var c=e[a],l=c.appData;l&&l.filterIfInstalled&&l.appId&&(t[l.appId]={campaignId:c.campaignId},r.push(l.appId))}return s(e,t,r)}var u,d,f="BrandConnect",g="RewardedVideo",p="Interstitial",v="NativeCallback",h="OfferWall",m="Controller",b={deviceOs:1,"deviceIds[IFA]":0,"deviceIds[AID]":0},S=1500,y=e.Utils;return{factory:function(e){return u=n.getApiData(b),g===e||f===e||e===p?{filterByAppInstalled:c}:e===h?{filterByAppInstalled:l}:e===m?{checkIfAppInstallOnDevice:t}:void 0}}}n.exports=t},{}],4:[function(e,n){n.exports=function(){return{CB:"NativeCallback",BC:"BrandConnect",RV:"RewardedVideo",OW:"OfferWall",IS:"Interstitial",libs:"libs",fakeOWLoader:"fakeOWLoader",timeunit:6e4,domainUrls:{local:"local.supersonicads.com",prod:"www.supersonicads.com"},environment:{develop:"dev",production:"prod",stage:"stage"},errors:{missing:"Missing required parameter: ",invalid:"Invalid parameter: ",unknown:"Unknown parameter: ",appInfo:"Failed to retrieve application info",device:"Failed to retrieve device status",filemap:"Failed to retrieve file map"},DebugLevels:{0:"NONE",1:"ERROR",2:"INFO",3:"VERBOSE"},videoStates:{none:0,play:1,stop:2},confirmCloseMsg:{close:"Are you sure you want to quit the offer?",yes:"OK",no:"Cancel"},confirmCloseMsgMap:{0:"during",1:"after"},protocol:{http:"http:",https:"https:",file:"file:"},labels:{noInternet:"No internet connection. Please connect and try again.",noOffers:"Sorry, There are no offers at the moment"},closeButtonStates:{close:"close",confirm:"confirm",back:"back",confirmNextFrame:"confirmNextFrame",nextFrame:"nextFrame",ignore:"ignore"},openUrlMethods:{storeKit:"storeKit",external_browser:"external_browser",store:"store",webview:"webview"},deviceOs:{android:"android",ios:"ios"},nativeInterfaceMethod:{displayWebView:"displayWebView"},offerWallSetting:{immersive:"immersive"},appInfo:{orientation:{landscape:"landscape",portrait:"portrait",none:"none"}},templateStyle:{template4:{minDialogBtnWidth:187,baseDialogBtnWidth:187,maxDialogBtnWidth:187,maxDialogBtnTextWidth:165},defaultTemplate:{minDialogBtnWidth:75,baseDialogBtnWidth:100,maxDialogBtnWidth:133,maxDialogBtnTextWidth:115}},viewsStates:{hybrid:2,normal:0},hybridViews:[{viewType:"controller",screenRatio:.999},{viewType:"store",screenRatio:.001}],requiredDeviceInfo:["appOrientation","connectionType","deviceOs","SDKVersion","deviceOSVersion","deviceModel","diskFreeSize"],requiredAppInfo:["applicationKey","applicationUserId"],optionalAppInfo:["campaignId","showDeliveryLimitationsLog","numOfCampaigns","disableCache","disableSession","country","language","itemName","itemCount","itemSignature","timestamp","demoCampaigns","mraid","admin","page","pageSize","landingId","maxVideoLength","minimumOfferCommission","minimumOfferCommissionSignature","useClientSideCallbacks","applicationUserGender","applicationUserAgeGroup","applicationUserCreationDate","applicationUserCreationDateSignature","placementId","SDKPluginType"]}}()},{}],5:[function(e,n){function t(){function e(e){r=e||{}}function n(){return r}function t(e,n){return r[e]&&r[e].abtest&&r[e].abtest[n]||{}}function i(){r={}}var r={},a={getABTestConfiguration:t,setConfig:e,getExtConfig:n,reset:i};return a}n.exports=t},{}],6:[function(e,n){function t(e,n,t){var i,r=e||"",a=t||6e4,o={invalid:"Invalid API response",timeout:"API request timeout",server:"Server error"},s=function(e){var t=!0;return jQuery.each(n,function(n){t=t&&"undefined"!=typeof e[n]}),t},c=function(e,n){function t(e,n){var t={errorMessage:"Error fetching inventory. Error data: "+n};i.reject(t)}function c(e){e&&e.errorCode&&e.errorMessage?i.reject({errorMessage:e.errorMessage,errorCode:e.errorCode}):s(e)?i.resolve(e):i.reject({errorMessage:o.invalid})}return i=new jQuery.Deferred,n&&n.length>0&&(r=n),jQuery.ajax({url:r,data:e,type:"GET",dataType:"jsonp",timeout:a}).then(c,t),i.promise()};return{getInventory:c}}n.exports=t},{}],7:[function(e,n){function t(e,n){function t(t){function i(e,n){if(!e)return"";if(n)for(var t=n.length,i=0;t>i;i++)e=e.replace("{{"+n[i].key+"}}",encodeURIComponent(n[i].value));return e=e.replace(/\{\{[\w\d\s]*\}\}/g,"ok")}function o(t){n.firePixel(t),e.log("Callback: "+JSON.stringify(t),e.LogLevels.info)}function s(e,n){var t;return e&&e.url&&(t={url:i(e.url,n),type:e.type}),t}function c(e,n){var t,i=r[e];"object"==typeof i&&(i.length>0&&(i=i[0]),t=s(i,n),t&&o(t))}function l(){c("requestTracking",null)}function u(){var e=[{key:a.eventResult,value:a.hit}];c("responseTracking",e)}function d(e){var n=[{key:a.eventResult,value:a.miss},{key:a.resultReason,value:e}];c("responseTracking",n)}function f(e){if(e&&r)switch(e.trackingType){case"request":l();break;case"responseHit":u();break;case"responseMiss":d(e.data)}}function g(){r=t}return g(),{track:f}}function i(e){return new t(e)}var r,a={hit:1,miss:2,eventResult:"eventResult",resultReason:"resultReason"};return{init:i}}n.exports=t},{}],8:[function(e,n,t){function i(e,n){function t(){e.PubSub.subscribe(y+".httpRequestStatusChanged",function(e){n.checkRequiredCallbackParams(["identifier","status"],e,"httpRequestStatusChanged").didSucceed&&i(e)})}function i(e){n.log("HTTPService - request status changed",n.LogLevels.verbose);var t=c(e.identifier,D);if(e.status===A.requestStarted)r(t);else if(e.status===A.responseReceived){var i={headers:e.responseParams.headers,statusCode:e.responseParams.statusCode,ranOnNative:!0},s=e.data;e.data&&(s=decodeURIComponent(s)),a(t,s,i)}else o(t,e.errMsg)}function r(t){n.log("onRequestStarted "+t.identifier,n.LogLevels.verbose),e.Utils.isFunction(t.onRequestStarted)&&t.onRequestStarted()}function a(t,i,r){n.log("_onResponseReceived "+t.identifier,n.LogLevels.verbose),s(t),e.Utils.isFunction(t.onResponseReceived)&&t.onResponseReceived(i,r)}function o(t,i){n.log("onRequestError "+i,n.LogLevels.verbose),s(t),e.Utils.isFunction(t.onRequestError)&&t.onRequestError(i)}function s(e){if(e){var n=D.indexOf(e);n>-1&&D.splice(n,1)}}function c(e,n){var t=jQuery.grep(n,function(n){return n.identifier===e});return 1!==t.length?null:t[0]}function l(){return+new Date+""+Math.random()}function u(n){var t=e.Utils.isDefined(n.allowNative)?n.allowNative:!0;return t&&C}function d(n,t){return jQuery.extend(t,{url:n},{identifier:l()}),e.Utils.isDefined(t.background)||(t.background=!1),t}function f(t){n.log("_sendNativeEngineRequest",n.LogLevels.verbose);var i={};jQuery.each(t,function(n,t){if(!e.Utils.isFunction(t)){var r={};r[n]=t,jQuery.extend(i,r)}}),n.callSDKFunction("sendHttpRequest",i,"httpRequestStatusChanged","httpRequestStatusChanged")}function g(e){n.log("_sendWebEngineRequest",n.LogLevels.verbose);var t,i=e;r(e);var s=function(n,t){var i={headers:n.getAllResponseHeaders(),statusCode:n.status,ranOnNative:!1};a(e,t,i)},c=jQuery.ajax(i);c.done(function(e,n,t){var i=t.responseText;s(t,i)}),c.fail(function(n,i,r){t=r,0===n.status?o(e,t&&""!==t?t:"unknown error"):s(n)})}function p(e){D.push(e),u(e)?f(e):g(e)}function v(e,n){n||(n={}),n.type=I.GET;var t=d(e,n);p(t)}function h(e,n){n||(n={}),n.type=I.POST;var t=d(e,n);p(t)}function m(){return D}function b(){return C}function S(e){C=e,t()}var y="NativeCallback",C=!1,D=[],I={GET:"GET",POST:"POST"},A={requestUnknown:"requestUnknown",requestStarted:"requestStarted",responseReceived:"responseReceived",requestError:"requestError"},w={GETRequest:v,POSTRequest:h,getPendingRequests:m,getIsNativeEngineExist:b,init:S};return w}n.exports=i},{}],9:[function(e,n){function t(e,n){function t(t){return!n.isLegacy(n.featureMap.hybrid)&&"ios"===n.getApiData({deviceOs:1}).deviceOs&&t&&t.ext&&e.Utils.isDefined(t.ext.features)&&t.ext.features.allowHybrid&&t.ext.clickTags&&e.AdUtils.getStoreAppId(t)&&t.ext.clickTags.pixelURL&&"CPVI"===t.ext.type&&!t.ext.forceOrientation}function i(n,t){var i="";return void 0!==typeof t.demandSourceName&&(i=t.demandSourceName),i+=t.productType+e.AdUtils.getAdId(n)+e.AdUtils.getStoreAppId(n)}function r(t){var i=e.PubSub.subscribe(s+".appStoreInsideClosed",function(r){if(r.viewUniqueId===t){var a=jQuery.extend({name:"appStoreInsideClosed"},r);e.PubSub.unsubscribe(i),c&&e.PubSub.publish("ViewsManager.viewClosed"),n.postAdUnitEvent(JSON.stringify(a))}}),r=e.PubSub.subscribe(s+".appStoreInsideDisplayHybrid",function(i){if(i.viewUniqueId===t){var a=jQuery.extend({name:"appStoreInsideDisplayHybrid"},i);e.PubSub.unsubscribe(r),n.postAdUnitEvent(JSON.stringify(a))}}),a=e.PubSub.subscribe("SDKController.HybridChangeRatio",function(i){var r=i.hybridJson,o=i.viewUniqueId;o===t&&(0===r[0].screenRatio?(e.PubSub.unsubscribe(a),c=!0):1===r[0].screenRatio&&(e.PubSub.unsubscribe(a),e.PubSub.publish("ViewsManager.viewClosed")),n.callSDKFunction("hybridChangeRatio",{hybridJson:JSON.stringify(r),viewUniqueId:o}))}),o=e.PubSub.subscribe("HybridService.closeHybridFlow",function(n){n.viewUniqueId!==t&&(e.PubSub.unsubscribe(o),e.PubSub.unsubscribe(i),e.PubSub.unsubscribe(r),e.PubSub.unsubscribe(a))})}function a(e){e&&n.callSDKFunction("clearAppPage",{viewUniqueId:e})}function o(t){var i=new jQuery.Deferred,a=e.AdUtils.getStoreAppId(t),o=t.ext.viewUniqueId;if(n.isLegacy(n.featureMap.hybrid))i.reject();else{n.callSDKFunction("preLoadAppPage",{appId:a,viewUniqueId:o});var c=e.PubSub.subscribe(s+".appStoreInsideLoaded",function(n){n&&"object"==typeof n&&n.viewUniqueId&&n.viewUniqueId===o&&(e.PubSub.unsubscribe(c),n.isLoaded?(r(o),i.resolve()):i.reject())})}return i.promise()}var s="NativeCallback",c=!1;return{isHybridCampaign:t,clearAppPage:a,loadHybridCampaign:o,createHybridId:i}}n.exports=t},{}],10:[function(e,n){function t(e){var n,t,i,r,a,o="acknowledgeMessage",s={none:0,error:1,info:2,verbose:3},c={0:"NONE",1:"ERROR",2:"INFO",3:"VERBOSE"};return{init:function(e,o,c){a=window.console||{},n=e,i=c,r=o,c?(t=a.log,a.log=function(e){this.log(e,s.verbose)}):a.log=function(){}},log:function(s,c,l){if(!(c&&c>i))if(e.isString(s)||(s=JSON.stringify(s)),e.isFunction(t)&&"android"===n)t.call(a,this.debugMsg(l,c)+s);else{var u={};u.eventName="log",u.prefix="logmessage",u.parameters={message:this.debugMsg(l,c)+s,acknowledgeWith:o,declineWith:"errorTest"},r.postMessage(u)}},debugMsg:function(n,t){var r=e.isDefined(n)?n:"Controller",a=e.isDefined(t)?c[t]:c[i];return i?"SupersonicAds "+r+" ["+a+"] :":""},LogLevels:s,DebugLevels:c}}var i;n.exports=function(e){return i||(i=new t(e)),i}},{}],11:[function(e,n,t){function i(){var e,n={init:function(e,n,t){return this.receiveMessage(function(t){n.call(e,t)},t),this},postMessage:function(e,n,t){n&&(t=t||parent,t.postMessage(e,n.replace(/([^:]+:\/\/[^\/]+).*/,"$1")))},receiveMessage:function(n,t){n&&(e=function(e){"string"==typeof t&&e.origin!==t||"[object Function]"===Object.prototype.toString.call(t)&&t(e.origin)===!1||("function"!=typeof t||t(e.data))&&n(e)}),window.addEventListener?window[n?"addEventListener":"removeEventListener"]("message",e,!1):window[n?"attachEvent":"detachEvent"]("onmessage",e)}};return n}n.exports=i},{}],12:[function(e,n){function t(){function e(e){if(e){var n=document.getElementById(e);n&&n.parentNode.removeChild(n)}}function n(e,n){if(r=jQuery.extend(i,e),""!==r.html){var a=r.src.replace("{{url}}",r.url);t=jQuery("<iframe />",{id:r.id,"class":r.templateClass,src:a,scrolling:r.scrolling,frameborder:r.frameBorder}).css(r.style),t.on("load",function(){n(t)}),document.documentElement.appendChild(t[0])}}var t,i={iframe:"#adSandbox",url:"",html:"",templateClass:"obfuscationIframe",src:"{{url}}",frameBorder:"0",scrolling:"no",style:{},id:""},r={};return{init:n,removeIframe:e}}n.exports=t},{}],13:[function(e,n){function t(e){var n=function(n){if("undefined"==typeof n.url||""===n.url)return void e.log("Missing callback data. At: directive ssaPixel"+(new Date).getTime(),e.LogLevels.info);if("pixel"===n.type){var t=new Image;""===n.at||isNaN(parseInt(n.at))?t.src=n.url:(t.src=n.url,t.time=n.at)}};return{firePixel:n}}n.exports=t},{}],14:[function(e,n,t){function i(e){var n={},t,i,r={init:function(){i=jQuery,t=this},publish:function(t,r){i=i||jQuery;try{var a=i.extend(!0,[],n[t]);i.each(a,function(){this.apply(i,r||[])})}catch(o){e.Utils.isDefined(o)&&e.log({type:"in PubSub "+t,data:o.message,trace:o.stack})}},subscribe:function(e,t){return n[e]||(n[e]=[]),n[e].push(t),[e,t]},unsubscribe:function(e){if(e){var t=e[0];n[t]&&i.each(n[t],function(i){n[t][i]===e[1]&&n[t].splice(i,1)})}},subscribeOnce:function(e,n){var t=this,i=this.subscribe(e,function(){n(),t.unsubscribe(i)})}};return r}n.exports=i},{}],15:[function(e,n,t){function i(e,n,t,i){function r(e,n){return e[0]&&n[0]?(e=new Date(e[0]),n=new Date(n[0]),n>e?-1:e>n?1:0):0}var a={getScript:function(n,i,r){var a=t.createElement("script");a.src=n;var o=t.getElementsByTagName("head")[0],s=!1;a.onload=a.onreadystatechange=function(e){s||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState||(s=!0,i(e),a.onload=a.onreadystatechange=null,o.removeChild(a))},a.onerror=function(n){e.log(["script load error",n]),r&&r()},o.appendChild(a)},getQueryString:function(e,t,i){i=this.isDefined(i)?i:n.location.href,null===t&&(t=""),e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var r=new RegExp("[\\?&]"+e+"=([^&#]*)"),a=r.exec(i);return null===a?t:a[1]},getUrlInfo:function(e){var n=t.createElement("a");return n.href=e,{host:n.hostname,port:n.port,path:n.pathname,protocol:n.protocol}},changeUrlProtocol:function(e,n){var i=t.createElement("a");return i.href=e,i.protocol=n,i.href},serialize:function(e){var n=[];for(var t in e)e.hasOwnProperty(t)&&n.push(encodeURIComponent(t)+"="+encodeURIComponent(e[t]));return n.join("&")},isDefined:function(e){return typeof e!==i},isFunction:function(e){return"function"==typeof e},isString:function(e){return"string"==typeof e},parseJSON:function(n){var t={};if(!this.isString(n))return null;try{t=jQuery.parseJSON(n)}catch(i){e.log(i.message,e.LogLevels.error)}return t},getParams:function(e){var n,t=[],r=e.split("/"),a=r.length;if(-1===e.indexOf("JSON:")){if(a>=2&&a%2===0)for(n=0;a>n;n+=2)t[r[n]]=r.length>=n+1?decodeURIComponent(r[n+1]):null}else{var o=e.split("JSON:");typeof o[1]!==i&&(t=jQuery.parseJSON(o[1]))}return t},decodeValues:function(n){jQuery.each(n,function(t){n.hasOwnProperty(t)&&("string"==typeof n[t]&&(n[t]=decodeURIComponent(n[t])),"object"==typeof n[t]&&n[t]&&e.Utils.decodeValues(n[t]))})},renderTemplate:function(e,n){return n?(jQuery.each(n,function(n,t){var i=new RegExp("{{"+n+"}}","g");e=e.replace(i,t)}),e):e},isVisible:function(e){return"none"!==e.css("display")&&"hidden"!==e.css("visibility")},versionCompare:function(e,n){var t=function(e){1===e.length&&e.push("0"),2===e.length&&e.push("0")},i=function(e){jQuery.each(e,function(n){e[n]=parseInt(e[n])})};"5.02"===e&&(e="5.0.2");var r=e.split("."),a=n.split(".");t(r),t(a);try{i(r),i(a)}catch(o){throw"parse error"}return r[0]===a[0]?r[1]===a[1]?r[2]===a[2]?0:r[2]>a[2]?1:-1:r[1]>a[1]?1:-1:r[0]>a[0]?1:-1},returnResolvedPromise:function(){var e,n=new jQuery.Deferred;return arguments.length>0&&(e=[].slice.call(arguments)),n.resolve.apply(n.resolve,e),n.promise()},returnRejectedPromise:function(){var e,n=new jQuery.Deferred;return arguments.length>0&&(e=[].slice.call(arguments)),n.reject.apply(n.reject,e),n.promise()},replacePlaceHolder:function(e,n){var t;for(var i in n){t=n[i];var r=new RegExp(i+"|"+encodeURIComponent(i),"i");e=e.replace(r,"function"==typeof t?t():t)}return e},fileArrayIncludes:function(e,n){if(e||0===e.length)return!1;for(var t,i=0;i<e.length;i++)if(t=e[i],n===t)return!0;return!1},isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},sortDataByDateKey:function(e){var n=[];for(var t in e)n.push([t,e[t]]);return n.sort(r)}};return a}n.exports=i},{}],16:[function(e,n){function t(n,t){function i(e,t){var i;if("[object Array]"===Object.prototype.toString.call(e.ext.callbacks)){var r=e.controllerSpace&&e.controllerSpace.viewCount||0;i=e.ext.callbacks[r]}else i=e.ext.callbacks;var a=c.init(i),o=e.vastIframeId,u=n.PubSub.subscribe("SDKController.VastRequest",function(e){e.vastIframeId&&e.vastIframeId===o&&(a.track({trackingType:"request"}),n.PubSub.unsubscribe(u))}),d=n.PubSub.subscribe("SDKController.VastResponse",function(e){e.vastIframeId&&e.vastIframeId===o&&("hit"===e.result?(a.track({trackingType:"responseHit"}),l.removeIframe(o),n.PubSub.unsubscribe(d),t.resolve(e.data)):(a.track({trackingType:"responseMiss",data:e.data}),l.removeIframe(o),n.PubSub.unsubscribe(d),t.reject({errMsg:e.data})))}),f=n.PubSub.subscribe("SDKController.VastErrorPixel",function(e){e.vastIframeId&&e.vastIframeId===o&&(s.firePixel(e),l.removeIframe(o),n.PubSub.unsubscribe(f))})}function r(e){function r(e){n.Msg.postMessage("$$JSON:"+JSON.stringify(d),o,e[0].contentWindow)}var o,s,c=new jQuery.Deferred,u=a(e);"dev"===t.getEnv()?(o=e.settings.urltocdn+m,s=e.settings.urltocdn+S):(o=e.settings.urltocdn+h,s=e.settings.urltocdn+b);var d={html:u,style:"height:100%;",adUnitData:e,vastParserUrl:s},f={html:u,url:o,templateClass:"obfuscationIframe",style:{width:"1px",height:"1px",border:"0"},id:e.vastIframeId};return i(e,c),l.init(f,r),c.promise()}function a(e){return e.ext.videoData.videoSource.vast}function o(e){l.removeIframe(e)}var s=e("../components//PixelTrackingService.js")(t),c=e("../components/FillRateTrackingService.js")(t,s),l=e("../components/ObfuscationService.js")(),u="1.0.2",d="/common/sdk/",f=".b2b96d48.min",g=".425b79fd.min",p=d+u+"/vastObfuscator",v=d+u+"/vast-vmap",h=p+f+".html",m=p+".html",b=v+g+".js",S=v+".js";return{parseVast:r,removeIframe:o}}n.exports=t},{"../components//PixelTrackingService.js":13,"../components/FillRateTrackingService.js":7,"../components/ObfuscationService.js":12}],17:[function(e,n){function t(n){function t(){var e=n.PubSub.subscribe("ViewsManager.viewClosed",function(){p.resolve(),n.PubSub.unsubscribe(e)})}function i(){return p.promise()}function r(){return isHybrid}function a(e){return e.settings&&e.settings.standaloneView}function o(e){return d=jQuery.extend(d,{display:e})}function s(e){p=new jQuery.Deferred,c=a(e),l=e.ext&&e.ext.isHybridFlow||!1,g=l?f.viewsStates.hybrid:f.viewsStates.normal,u=e.ext&&e.ext.viewUniqueId||"";var n=JSON.stringify(f.hybridViews);l?t():p.resolve({}),d={standaloneView:c,hybridView:l,hybridJson:n,viewUniqueId:u}}var c,l,u,d,f=e("../components/Constants.js"),g=0,p=null;return{init:s,waitForAllViews:i,isHybridFlow:r,getDisplayWebViewParams:o}}n.exports=t},{"../components/Constants.js":4}],18:[function(e,n,t){function i(e,n,t){function i(e){N=e}function r(e,n){return k.cacheAds(B,e,n)}function a(t,r,a){return setTimeout(function(){t=!0,n.log("Time out in update cache. Fallback to non-precache.",n.LogLevels.error),o(!1),e.PubSub.publish("Cache.StopCacheUpdate",[{demandSourceName:B.demandSourceName,productType:B.productType}]),i(!1),k.clearCacheByType(B,[]).then(function(){r()}).fail(function(){var e="Error deleting globals in fallback to NPC";n.log(e,n.LogLevels.error),a(e)})},B.nonPrecacheFallback)}function o(e){R=e}function s(t){M=a(V,t.cacheTimeoutSuccessCallback,t.cacheTimeoutFailCallback),i(!0),r(t.applicationKey,t.newAdsToEnterCache).then(function(){n.log("PM | success",n.LogLevels.verbose),clearTimeout(M),V||(n.log("cache update completed",n.LogLevels.verbose),i(!1),e.PubSub.publish("PrecacheManager.cacheAdsSuccessCallback",[B]))},function(n,t){if(clearTimeout(M),!V){var r="Error adding new ads from queue, some campaigns were deleted.";i(!1),e.PubSub.publish("PrecacheManager.cacheAdsFailedCallback",[{productType:B.productType,demandSourceName:B.demandSourceName,deletedOffers:t,errorLog:r,cacheParam:n}])}})}function c(e){E.extend(B,e),n.log("PM | updateConfig updated config"+JSON.stringify(B),n.LogLevels.verbose)}function l(n){var t=n.numOfCampaigns||0,i=n.settings||{};return c({settings:i}),i.numOfBannersToInitSuccess>=0&&t>0&&i.numOfBannersToCache>0?(i.numOfBannersToCache<i.numOfBannersToInitSuccess&&(i.numOfBannersToInitSuccess=i.numOfBannersToCache),t<i.numOfBannersToInitSuccess&&(i.numOfBannersToInitSuccess=i.numOfBannersToCache=t),o(!0),i.maxCachedCampaigns=B.maxCachedCampaigns,k.setSettings(B,i)):(i.numOfBannersToInitSuccess=i.numOfBannersToCache=0,o(!1)),e.Utils.returnResolvedPromise()}function u(e){return e&&e.cacheBase===B.cacheBase}function d(){e.PubSub.subscribe("Cache.cacheUpdated",function(n){u(n)&&(E.extend(n,B),e.PubSub.publish("PrecacheManager.cacheUpdatedCallback",[n]))}),e.PubSub.subscribe("Cache.campaignDeleted",function(n){u(n)&&(E.extend(n,B),e.PubSub.publish("PrecacheManager.campaignDeletedCallback",[n]))}),e.PubSub.subscribe("Cache.campaignSaved",function(n){u(n)&&(E.extend(n,B),e.PubSub.publish("PrecacheManager.campaignSavedCallback",[n]))}),e.PubSub.subscribe("Cache.preProcessingFailed",function(n){u(n)&&(E.extend(n,B),e.PubSub.publish("PrecacheManager.preProcessingFailedCallback",[n]))})}function f(){return R}function g(){var e=k.getAppKeyByType(B),t=n.getApiData({applicationKey:1}).applicationKey;return e!==t}function p(){function e(e){a.resolve(e)}function t(){a.reject("Error in clearing cache")}var i,r,a=new E.Deferred,o=f();return B.settings.purgeCacheOnInit?(r="purge cache on init (settings)",i=!0):o?g()&&(r="purge cache on user or app key change",i=!0):(r="purge cache on non-precache",i=!0),i?(n.log("handleCacheClear purge reason: "+r,n.LogLevels.verbose),k.clearCacheByType(B,[]).then(e.bind(null,j.campaignsOnly),t)):e(),a.promise()}function v(){f()&&(i(!0),k.cacheNext(B).always(function(){i(!1)}).fail(function(t,i){n.log("line[451]: failed updating cache on cache next with deletedAds: "+i,n.LogLevels.verbose),i&&i.length>0&&e.PubSub.publish("PrecacheManager.cacheNextFail",[{productType:B.productType,demandSourceName:B.demandSourceName,deletedAds:i}])}))}function h(){return j}function m(){return k.getNextAvailableAd(B)}function b(e){return k.clearCacheByType(B,e)}function S(n,t){return t=e.Utils.isDefined(t)?t:B.settings.numOfBannersToCache,k.mergeCampaigns(n,t,B.settings.maxCachedCampaigns,B)}function y(e,n){return k.areCampaignsAvailable(e,n,B)}function C(){return k.getCacheSizeByType(B)}function D(){return k.incrementNextCampaign(B)}function I(e){return k.getCurrentAd(B,e)}function A(e){return k.isNextAvailable(B,e)}function w(){return k.cacheNext(B)}function L(e,n){return k.setAdInventoryIndex(B,e,n)}function T(e){return k.isAdInCache(B,e)}function U(e){return k.setSettings(B,e)}function O(){d(),k.initCacheBase(B.cacheBase)}function P(e){return k.getAdStatusInQueue(B,e)}function x(e){return k.deleteCachedCampaign(B,e)
  2. }function F(e){return k.cacheSingleAd(B,e)}var B=t||{},R,M,V=!1,k=n.Cache,j={campaignsOnly:"campaignsOnly",globalsOnly:"globalsOnly",globalsAndCampaigns:"globalsAndCampaigns"},N=!1,E=n.jQuery(),K={updateConfig:c,init:O,decidePrecacheStatus:l,isPrecache:f,handleCacheClear:p,isUserInfoChanged:g,mergeCampaigns:S,handleCacheAds:s,updateCache:v,clearCacheByType:b,areCampaignsAvailable:y,getCacheSizeByType:C,setAdInventoryIndex:L,incrementNextCampaign:D,getCurrentAd:I,isAdInCache:T,getAdStatusInQueue:P,setCacheSettings:U,getNextAvailableAd:m,isNextAvailable:A,getCacheClearMessages:h,cachingStatus:k.cachingStatus,deleteCachedCampaign:x,cacheSingleAd:F};return K}n.exports=i},{}],19:[function(e,n){function t(){function e(e){return d(e,r)}function n(e){return d(e,l(e))}function t(e,n){return f(e,n,l(e))}function l(e){return e.ext?e.ext.layoutData?e.ext.layoutData.portrait&&e.ext.layoutData.landscape?o:s:e.ext.appData&&e.ext.appData.appImages&&Array.isArray(e.ext.appData.appImages)?a:e.ext.clickTags&&e.ext.clickTags.backgroundLandscape&&e.ext.videoData.videoformat_mp4?c:i:void 0}var u=function(e,n){var t=e.split("/").pop();return n+t},d=function(e,n){function t(e,n){var r,a;if("string"==typeof e)i.push(n);else if(e instanceof Array&&0===e.length)i=i.concat(n);else if(e instanceof Array&&e.length>0&&n instanceof Array&&n.length>0)for(r=0;r<n.length;r++)for(a=0;a<e.length;a++)t(e[a],n[r]);else{var o=Object.keys(e);for(r=0;r<o.length;r++)n[o[r]]&&t(e[o[r]],n[o[r]])}}for(var i=[],r=Object.keys(n),a=0;a<r.length;a++)e[r[a]]&&t(n[r[a]],e[r[a]]);return i},f=function(e,n,t){function i(e,t){var r,a;if("string"==typeof e||"string"==typeof t)t=u(t,n);else if(e instanceof Array&&0===e.length)for(r=0;r<t.length;r++)t[r]=u(t[r],n);else if(e instanceof Array&&e.length>0&&t instanceof Array&&t.length>0)for(r=0;r<t.length;r++)for(a=0;a<e.length;a++)t[r]=i(e[a],t[r]);else{var o=Object.keys(e);for(r=0;r<o.length;r++)t[o[r]]&&(t[o[r]]=i(e[o[r]],t[o[r]]))}return t}for(var r=Object.keys(t),a=0;a<r.length;a++)e[r[a]]&&(e[r[a]]=i(t[r[a]],e[r[a]]));return e};return{extractStaticFiles:n,extractVastSource:e,updateAdunitPrecachePath:t}}var i={ext:{clickTags:{backgroundLandscape:"",backgroundPortrait:""},videoData:{videoPoster:"",videoSource:{videoformat_mp4:""}},appData:{appIcon:"",appImages:{both:[],portrait:[],landscape:[]}}}},r={ext:{videoData:{videoSource:{vast:""}}}},a={ext:{videoData:{videoPoster:"",videoSource:{videoformat_mp4:""}},appData:{appIcon:{url:""},appImages:[{url:""}]},imageData:{landscape:"",portrait:""}}},o={ext:{imageData:{landscape:"",portrait:""},layoutData:{portrait:{closeButtonUrl:"",frameUrl:""},landscape:{closeButtonUrl:"",frameUrl:""}}}},s={ext:{videoData:{videoPoster:"",videoSource:{videoformat_mp4:""}},layoutData:{html:""}}},c={ext:{videoData:{videoSource:{videoformat_mp4:""}},clickTags:{backgroundLandscape:""}}};n.exports=t},{}],20:[function(e,n){function t(e){function n(e){if(e){var n=e.crid||e.bannerID||e.id;return e.id=n,n&&n.toString()}}function t(e){var n=[];return jQuery.each(e,function(e,t){var i=o(t);i.isCacheable&&n.push(i)}),n}function i(e){return e&&e.isCacheable}function r(e){if(e.ext.clickTags.storeAppId)return e.ext.clickTags.storeAppId;var n="",t=e.ext.clickTags.clickURL;return t&&(n=a(t),n&&(e.ext.clickTags.storeAppId=n)),n}function a(e){var n=e.match(/id\d+/g);return n&&(n=n[n.length-1],n=n.match(/\d+/g),n=n[0]),n}function o(t){var i={};return i.bannerID=n(t),i.title="",i.credits=t.credits,i.staticContent=e.extractStaticFiles(t),i.lastUpdateTime=t.lastUpdateTime,i.inventoryIndex=t.inventoryIndex,i.isCacheable=t.isCacheable=i.staticContent.length>0,i}function s(e,n){var t;return t=o(e),t.preProcessing=n,t.isCacheable=e.isCacheable=!0,t}return{getAdId:n,formatAdsForPrecache:t,isCacheableAd:i,getStoreAppId:r,formatVastAdForPrecache:s}}n.exports=t},{}],21:[function(e,n,t){function i(e,n){function t(t){return c[t.cacheBase].currentUser?e.Utils.returnResolvedPromise():n.setFixedUserIdForCache(t.productType).then(function(){c[t.cacheBase].currentUser=n.getFixedUserIdForCache()})}function i(t){var i,a,o,d,f=c[t.cacheBase].evaluatedCache.length,p=c[t.cacheBase].cacheQueue.length,C=(l[t.cacheBase].numOfBannersToCache,null),D=null,I=null,A=null,w=null,L=[],U=[];for(o=jQuery.Deferred(),a=0;p>a;a++)(c[t.cacheBase].cacheQueue[a].cachingStatus===u.cachingStatus.pending||c[t.cacheBase].cacheQueue[a].cachingStatus===u.cachingStatus.queued)&&f++;var O=function(){c[t.cacheBase].evaluatedCache.length>0?(n.log("line[182]: evaluatedCache is: "+JSON.stringify(c[t.cacheBase].evaluatedCache),n.LogLevels.verbose),i=v(t,u.cachingStatus.none),i?(i.cachingStatus=u.cachingStatus.pending,m(t,j(i)),i.numOfAssetsCached=0,s[t.cacheBase][i.id]=[],U.push(j(i)),i.preProcessing().then(function(n){return e.Utils.isDefined(n)?(i=Q(n),void b(t,i)):e.Utils.returnResolvedPromise()},function(){var n={};n.cacheBase=t.cacheBase,n.id=j(i),e.PubSub.publish("Cache.preProcessingFailed",[n])}).then(function(){0===i.assets.length?F(t,j(i)):(n.log("campaign "+i.id+" download started",n.LogLevels.info),n.cacheAdUnitAssets(h(t,i.id),i))}),f++):(g([C,D,w,I,A]),0===L.length?o.resolve(c[t.cacheBase].cache):o.reject(c[t.cacheBase].cache,L))):(v(t,u.cachingStatus.pending)&&n.log("cache is full but we're waiting for a campaign to finish downloading (probably the last)",n.LogLevels.verbose),g([C,D,w,I,A]),0===L.length?o.resolve(c[t.cacheBase].cache):o.reject(c[t.cacheBase].cache,L))},x=function(e){g([I,A]),e&&(f--,O())},F=function(t,i,a){var o,l=[];o=B(t,i),o&&o.id&&s[t.cacheBase][o.id].length===o.assets.length&&(n.log("campaign "+o.id+" download finished!",n.LogLevels.info),d=R(s[t.cacheBase][o.id],function(e){return e.status}),0===o.assets.length&&(d=!0),delete s[t.cacheBase][o.id],d?(o.cachingStatus=u.cachingStatus.queued,c[t.cacheBase].evaluatedCache.length>=0?(P(t,o.id,!1),o.numOfAssetsCached=o.assets.length,S(o,t),l=c[t.cacheBase].cache.map(function(e){return j(e)}),e.PubSub.publish("Cache.cacheUpdated",[t])):n.log("Cache full, could not enter new ad",n.LogLevels.error),l.length>0?(n.log("mappedAds after 'handleCachedAd/pushNewCachedAd' "+l,n.LogLevels.verbose),n.setCachePriorityArrayKey(t,l).always(function(){O()})):O()):(P(t,i,!1),y(t),I=e.PubSub.subscribe(r+".deleteFolderFailed",function(t){n.log("in delete failure from cache next",n.LogLevels.verbose),n.checkRequiredCallbackParams(["path"],t,"deleteFolderFailed").didSucceed&&(n.log("deleting folder failed: "+JSON.stringify(t),n.LogLevels.error),x(e.Utils.isDefined(t.errCode)&&1==t.errCode?!0:!1))}),A=e.PubSub.subscribe(r+".deleteFolderSuccess",function(e){n.log("in delete success from cache next",n.LogLevels.verbose),n.checkRequiredCallbackParams(["path"],e,"deleteFolderSuccess").didSucceed&&(n.log("deleting folder success: "+JSON.stringify(e),n.LogLevels.info),x(!0))}),L.push(o.id),n.deleteFolder(a)))};return C=e.PubSub.subscribe(r+".assetCached",function(i,r,a){if(n.checkRequiredCallbackParams(["path","file"],i,"assetCached",a).didSucceed){var o,c,l=T(i.path),u=decodeURIComponent(i.path);if(-1===jQuery.inArray(l.id,U))return void n.log("ad is not recognised in this scope: "+l.id+" adForCaching:"+U,n.LogLevels.info);if(!e.Utils.isDefined(s[l.type][l.id])||l.type!==t.cacheBase)return void n.log("Exiting asset cached. folder:"+l.id+" responses array:"+JSON.stringify(s),n.LogLevels.error);n.log("asset cached success: "+l.id+"/"+i.file,n.LogLevels.verbose),s[l.type][l.id].push({file:i.file,status:!0}),c={cacheBase:l.type},o=B(c,l.id),o.numOfAssetsCached++,F(c,l.id,u)}}),D=e.PubSub.subscribe(r+".assetCachedFailed",function(i,r,a){if(n.checkRequiredCallbackParams(["path","file"],i,"assetCachedFailed",a).didSucceed){var o,c=T(i.path),l=decodeURIComponent(i.path);if(-1!==jQuery.inArray(c.id,U)){if(!e.Utils.isDefined(s[c.type][c.id])||c.type!==t.cacheBase)return void n.log("Exiting asset cached failed. folder:"+c.id+" responses array:"+JSON.stringify(s),n.LogLevels.error);s[t.cacheBase][c.id].push({file:i.file,status:!1}),n.log("asset cached failed: "+c.id+"/"+i.file+" with error: "+i.errMsg,n.LogLevels.error),o={cacheBase:c.type},F(o,c.id,l)}}}),w=e.PubSub.subscribe(r+".preCacheFileFail",function(i,r,a){if(n.checkRequiredCallbackParams(["path","file"],i,"preCacheFileFail",a).didSucceed){var o,c=T(i.path),l=decodeURIComponent(i.path);if(-1!==jQuery.inArray(c.id,U)){if(!e.Utils.isDefined(s[c.type][c.id])||c.type!==t.cacheBase)return void n.log("Exiting preCache file fail. folder:"+c.id+" responses array:"+JSON.stringify(s),n.LogLevels.error);s[c.type][c.id].push({file:i.file,status:!1}),n.log("pre cache file fail: "+i.file+" with error: "+i.errMsg,n.LogLevels.error),o={cacheBase:c.type},F(o,c.id,l)}}}),O(),o.promise()}var r="NativeCallback",a="globals",o=!1,s={},c={mraid:{cache:[]},globals:{cache:[],cacheQueue:[]},BrandConnect:{cache:[],currentAd:0,cacheQueue:[],evaluatedCache:[]},Interstitial:{cache:[],currentAd:0,cacheQueue:[],evaluatedCache:[]},assets:{cache:[],cacheQueue:[]},libs:{cache:[],cacheQueue:[]}},l={BrandConnect:{numOfBannersToCache:1},Interstitial:{numOfBannersToCache:1}},u,d=function(e){return 0!==c[e.cacheBase].cache.length?(c[e.cacheBase].currentAd+1)%c[e.cacheBase].cache.length:0},f=function(n){n=n||{},jQuery.each(c,function(t){var i=t;c[i].cache&&0!==c[i].cache.length&&e.Utils.isDefined(n)&&n.hasOwnProperty(i)&&c[i].cache.sort(function(e,t){var r=n[i].indexOf(e.id),a=n[i].indexOf(t.id);return a>r?-1:1})})},g=function(n){var t,i=n.length;for(t=0;i>t;t++)e.Utils.isDefined(n[t])&&n[t]&&e.PubSub.unsubscribe(n[t])},p=function(e){n.log("cache: "+JSON.stringify(c[e].cache)+" currentAd: "+c[e].currentAd,n.LogLevels.info),n.log("queue: "+JSON.stringify(c[e].cacheQueue),n.LogLevels.info)},v=function(e,n){var t,i=null,r=c[e.cacheBase].cacheQueue.length;for(t=0;r>t;t++)if(c[e.cacheBase].cacheQueue[t].cachingStatus===n){i=c[e.cacheBase].cacheQueue[t];break}return i},h=function(e,n){return e.cacheBase+"/"+n},m=function(e,t){var i=jQuery.map(c[e.cacheBase].evaluatedCache,function(e){return j(e)});if(i.length>0){var r=i.indexOf(t.toString());r>=0&&(n.log("Removing ad from evaluatedCache! "+t,n.LogLevels.verbose),c[e.cacheBase].evaluatedCache.splice(r,1))}},b=function(e,n){var t=j(n);if(n&&t){var i,r=c[e.cacheBase].cacheQueue.length;for(i=0;r>i;i++)c[e.cacheBase].cacheQueue[i].id==t&&(c[e.cacheBase].cacheQueue[i]=n)}},S=function(n,t){var i=-1;jQuery.each(c[t.cacheBase].cache,function(t,r){return e.Utils.isDefined(r.inventoryIndex)&&r.inventoryIndex>n.inventoryIndex||!e.Utils.isDefined(r.inventoryIndex)?(i=t,!1):!0}),-1===i?c[t.cacheBase].cache.push(n):c[t.cacheBase].cache.splice(i,0,n);var r={};r.cacheBase=t.cacheBase,r.id=n.id,e.PubSub.publish("Cache.campaignSaved",[r])},y=function(e){jQuery.each(c[e.cacheBase].cacheQueue,function(n,t){return t.cachingStatus===u.cachingStatus.none&&0===jQuery.grep(c[e.cacheBase].cache,function(e){return j(e)===j(t)}).length&&0===jQuery.grep(c[e.cacheBase].evaluatedCache,function(e){return j(e)===j(t)}).length?(c[e.cacheBase].evaluatedCache.push(t),!1):void 0})},C=function(e,t){var i=jQuery.map(c[e.cacheBase].cache,function(e){return j(e)});if(i.length>0){var r=i.indexOf(t.toString());r>=0&&(n.log("Removing ad from cache array! "+t,n.LogLevels.verbose),c[e.cacheBase].cache.splice(r,1))}},D=function(e,t){return n.getGlobalAppData().then(function(i){i.cachePriorityArray=i.cachePriorityArray||{};var r=i.cachePriorityArray[e.cacheBase];if(r){var a=r.indexOf(t.toString());a>=0&&(n.log("Removing ad from cache array! "+t,n.LogLevels.verbose),r.splice(a,1),i.cachePriorityArray=r)}return n.setGlobalAppData(i)})},I=function(e){return parseInt(e)},A=function(e){var n;try{n=parseInt(e)}catch(t){n=0}return n},w=function(t,i){var r,a;for(r in i)if(i.hasOwnProperty(r)){if("userUniqueId"===r||"applicationUserId"===r){t.currentUser=i[r];continue}if("applicationKey"===r){t.currentAppKey=i[r];continue}if("files"===r){t.cache=i[r];continue}if(I(r)){t.cache.push({id:r,numOfAssetsCached:e.Utils.isDefined(i[r].files)?i[r].files.length:0,lastUpdateTime:e.Utils.isDefined(i[r].lastUpdateTime)?A(i[r].lastUpdateTime):0,assets:e.Utils.isDefined(i[r].files)?i[r].files:[]});continue}if("lastUpdateTime"===r)return;n.isRootFolder(r)?a=t:(u.initCacheBase(r),a=t[r]),w(a,i[r])}},L=function(n){return e.Utils.isDefined(n)&&n&&n!=={}?void w(c,n):void(c={mraid:{cache:[]},globals:{cache:[],cacheQueue:[]},BrandConnect:{cache:[],currentAd:0,cacheQueue:[]},RewardedVideo_Premium:{cache:[],currentAd:0,cacheQueue:[]},RewardedVideo_Direct:{cache:[],currentAd:0,cacheQueue:[]},Interstitial:{cache:[],currentAd:0,cacheQueue:[]},assets:{cache:[],cacheQueue:[]},libs:{cache:[],cacheQueue:[]}})},T=function(n){var t=decodeURIComponent(n).split("/");return{type:t[0],id:e.Utils.isDefined(t[1])?t[1]:null}},U=function(e){var n=e.split("#");return n.length>1?n[n.length-1]:(n=e.split("/"),n[n.length-1])},O=function(e,n){var t,i=-1,r=U(n),a=e.length;for(t=0;a>t;t++)if(U(e[t])===r){i=t;break}return i},P=function(e,n,t){var i,r=c[e.cacheBase].cacheQueue,a=[],o=!1;for(i=0;i<c[e.cacheBase].cacheQueue.length;i++)r[i].id!=n?a.push(r[i]):(o&&!t&&a.push(r[i]),o=!0);c[e.cacheBase].cacheQueue=a},x=function(t,i){var o,s,l,d,f=0,p=c[t.cacheBase].cache.length,v=[],h=[],m=jQuery.Deferred(),b=function(n,t){-1!==jQuery.inArray(decodeURIComponent(n.path),v)&&(n.success=t,h.push(n),h.length>=v.length&&(g([l,d]),R(h,function(n){return e.Utils.isDefined(n.success)&&n.success})?m.resolve():m.reject()))};if(d=e.PubSub.subscribe(r+".deleteFolderFailed",function(i){n.checkRequiredCallbackParams(["path"],i,"deleteFolderFailed").didSucceed&&-1!==i.path.indexOf(t.cacheBase)&&(n.log("deleting folder failed: "+JSON.stringify(i),n.LogLevels.error),e.Utils.isDefined(i.errCode)&&1==i.errCode?b(i,!0):b(i,!1))}),l=e.PubSub.subscribe(r+".deleteFolderSuccess",function(i){if(n.checkRequiredCallbackParams(["path"],i,"deleteFolderSuccess").didSucceed&&-1!==i.path.indexOf(t.cacheBase)){n.log("deleting folder success: "+JSON.stringify(i),n.LogLevels.info),b(i,!0);var r=T(i.path);if(null!==r.id){var a={};a.cacheBase=r.type,a.id=r.id,e.PubSub.publish("Cache.campaignDeleted",[a])}}}),t.cacheBase===a)c[t.cacheBase].cache=[],c[t.cacheBase].cacheQueue=[],v.push(a);else{for(f=0;p>f;f++)e.Utils.isDefined(c[t.cacheBase].cache[0].id)||n.log("something went wrong. len="+p+" cache size= "+c[t.cacheBase].cache.length+" first element="+JSON.stringify(c[t.cacheBase].cache[0]),1),o=c[t.cacheBase].cache[0].id.toString(),e.Utils.isDefined(o)&&-1===jQuery.inArray(o,i)&&(s=t.cacheBase+"/"+o,-1===jQuery.inArray(s,v)&&v.push(s)),c[t.cacheBase].cache.shift();for(p=c[t.cacheBase].cacheQueue.length,f=0;p>f;f++)o=c[t.cacheBase].cacheQueue[0].id,e.Utils.isDefined(o)&&c[t.cacheBase].cacheQueue[0].cachingStatus!==u.cachingStatus.none&&(s=t.cacheBase+"/"+o,-1===jQuery.inArray(s,v)&&v.push(s)),c[t.cacheBase].cacheQueue.shift()}if(0===v.length)g([l,d]),m.resolve();else for(n.log("Removing irrelevant campaigns: "+JSON.stringify(v)),f=0;f<v.length;f++)n.deleteFolder(v[f]);return m.promise()},F=function(e,n){var t,i=null,r=c[e.cacheBase].cache,a=c[e.cacheBase].cache.length;for(t=0;a>t;t++)if(r[t].id==n){i=r[t];break}return i},B=function(e,n){var t,i=null,r=c[e.cacheBase].cacheQueue,a=c[e.cacheBase].cacheQueue.length;for(t=0;a>t;t++)if(r[t].id==n){i=r[t];break}return i},R=function(e,n){var t,i=e.length,r=!0;for(t=0;i>t;t++)r=r&&n(e[t]);return r},M=function(){e.PubSub.subscribe(r+".printCache",function(n){e.Utils.isDefined(n.type)&&p(n.type)})},V=function(e,n,t){var i=0,r=!1;return jQuery.each(c[t.cacheBase].cache,function(t,a){var o=jQuery.grep(e,function(e){return j(e)===j(a)});return o.length>0&&(i++,i>=n)?(r=!0,!1):void 0}),r},k=function(e,n,t,i){function r(e){return e.bannerID=e.id,e.staticContent=e.assets,e}var a,o=e.slice(0,n),s=[];for(c[i.cacheBase].evaluatedCache=[],a=0;a<o.length;a++)0===jQuery.grep(c[i.cacheBase].cache,function(e){return j(e)===j(o[a])?N(e,o[a]):!1}).length&&c[i.cacheBase].evaluatedCache.push(o[a]);for(a=0;a<o.length;a++)0===jQuery.grep(c[i.cacheBase].cache,function(e){return j(e)===j(o[a])&&!N(e,o[a])}).length&&s.push(o[a]);for(a=n;a<e.length;a++)jQuery.grep(c[i.cacheBase].cache,function(n){return j(n)===j(e[a])?N(n,e[a]):!1}).length>0&&s.push(e[a]);var l=e.length;for(a=0;a<c[i.cacheBase].cache.length;a++)0===jQuery.grep(e,function(e){return j(e)===j(c[i.cacheBase].cache[a])}).length&&(c[i.cacheBase].cache[a].inventoryIndex=++l,s.push(r(c[i.cacheBase].cache[a])));return c[i.cacheBase].mergedAds=s.slice(0,t),c[i.cacheBase].mergedAds},j=function(e){if(!e)return void n.log("line[719]: entering getAdId with no ad",n.LogLevels.verbose);var t=e.crid||e.bannerID||e.id;return t&&t.toString()},N=function(e,t){if(!e||!t)return n.log("line[750]: entering isCachedAdStillUpdated with no ad",n.LogLevels.verbose),!1;var i=W(e.assets),r=W(t.staticContent);return e.lastUpdateTime==t.lastUpdateTime&&i===r},E=function(e){return c.libs.cache.indexOf(e)>-1},K=function(e,n,t){var i=F(e,n);i&&(i.inventoryIndex=t)},W=function(e){var t,i=[];return e?(jQuery.each(e,function(e,n){t=U(n),-1===O(i,t)&&i.push(t)}),i.length):(n.log("cannot extract unique assets count",n.LogLevels.error),-1)},Q=function(n){var t={id:j(n),assets:n.staticContent||[],lastUpdateTime:e.Utils.isDefined(n.lastUpdateTime)?n.lastUpdateTime:0,numOfAssetsCached:0,cachingStatus:u.cachingStatus.none,preProcessing:n.preProcessing||e.Utils.returnResolvedPromise};return e.Utils.isDefined(n.credits)&&(t.credits=n.credits),e.Utils.isDefined(n.inventoryIndex)&&(t.inventoryIndex=n.inventoryIndex),t},q={init:function(e,n){return u=this,o||(L(e),M(),o=!0),f(n),o},initCacheBase:function(e){c[e]||(c[e]={cache:[],currentAd:0,cacheQueue:[]}),s[e]||(s[e]={})},setAdInventoryIndex:K,cacheNext:function(e){return n.log("line[707]: recalling cache next",n.LogLevels.verbose),y(e),i(e)},incrementNextCampaign:function(e){c[e.cacheBase].currentAd=d(e)},isNextAvailable:function(e,n){return u.getCurrentAd(e,n)},setSettings:function(e,n){l[e.cacheBase]=n},getCacheSizeByType:function(e){return c[e.cacheBase].cache.length},cacheGlobalAssets:function(t){var i,o,s,l,u,d=t.length,f=[];o=jQuery.Deferred();var p=function(e,n){f.push({file:e,status:n}),f.length>=d&&(g([s,l,u]),R(f,function(e){return e.status})?(c.globals.cache=jQuery.map(t,function(e){return e.replace(/^.*[\\\/]/,"")}),o.resolve(c.globals.cache)):o.reject())};for(s=e.PubSub.subscribe(r+".assetCached",function(e,t,i){n.checkRequiredCallbackParams(["path","file"],e,"assetCached",i).didSucceed&&e.path===a&&(n.log("asset cached success: "+e.file,n.LogLevels.verbose),p(e.file,!0))}),l=e.PubSub.subscribe(r+".assetCachedFailed",function(e,t,i){n.checkRequiredCallbackParams(["path","file"],e,"assetCachedFailed",i).didSucceed&&e.path===a&&(n.log("asset cached failed: "+e.file+" with error: "+e.errMsg,n.LogLevels.error),p(e.file,!1))}),u=e.PubSub.subscribe(r+".preCacheFileFail",function(e,t,i){n.checkRequiredCallbackParams(["path","file"],e,"preCacheFileFail",i).didSucceed&&e.path===a&&(n.log("failed to request to save global file:"+e.file+" with error "+e.errMsg,n.LogLevels.error),p(e.file,!1))}),i=0;d>i;i++)-1===O(c.globals.cache,t[i])&&-1===O(c.globals.cacheQueue,t[i])?(c.globals.cacheQueue.push(t[i]),n.cacheAsset("globals",t[i])):-1!==O(c.globals.cache,t[i])&&p(t[i],!0);return 0===d&&g([s,l,u]),o.promise()},cacheLibsAsset:function(e){var t=jQuery.Deferred(),i=e.replace(/^.*[\\\/]/,""),r=function(e){c.libs.cache.push(i);var n=c.libs.cacheQueue.indexOf(e);-1!==e&&c.libs.cacheQueue.splice(n,1)};return c.libs.cacheQueue.push(i),n.cacheAsset("libs",e).then(function(){r(e),t.resolve(c.libs.cache)},function(){t.reject("Libs asset cache failed: "+e)}),t.promise()},cacheAds:function(e,n,r){var a,o=r.length;for(c[e.cacheBase].currentAppKey=n,a=0;o>a;a++){var s=Q(r[a]);c[e.cacheBase].cacheQueue.push(s)}return t(e).then(i.bind(null,e))},cacheSingleAd:function(e,n){c[e.cacheBase].cacheQueue.splice(0,0,Q(n)),u.cacheNext(e)},clearCacheByType:function(t,i){var r,a,o=i.length,s=[],l=null,u=[],d=jQuery.Deferred();if(0===c[t.cacheBase].cache.length&&0===c[t.cacheBase].cacheQueue.length)return d.resolve(c[t.cacheBase].cache),d.promise();for(r=0;o>r;r++)a=j(i[r]),l=F(t,a),N(l,i[r])&&(u.push(a),e.Utils.isDefined(i[r].credits)&&!e.Utils.isDefined(l.credits)&&(l.credits=i[r].credits),s.push(l));return jQuery.when(x(t,u)).then(function(){c[t.cacheBase].cache=s,d.resolve(c[t.cacheBase].cache)},function(){n.log("error in clear cache by type",n.LogLevels.error),d.reject()}),d.promise()},getCurrentAd:function(e,n){var t=null;return e&&e.cacheBase&&n?(jQuery.each(n,function(n,i){return jQuery.each(c[e.cacheBase].cache,function(e,n){return t=j(n)===j(i)?n:t,t?!1:!0}),t?!1:!0}),t):null},getNextAvailableAd:function(){return{}},getAppKeyByType:function(n){return e.Utils.isDefined(c[n.cacheBase].currentAppKey)?c[n.cacheBase].currentAppKey:null},getCacheByType:function(e){return c[e.cacheBase]},isAdInCache:function(e,n){var t,i=c[e.cacheBase].cache.length,r=!1;for(t=0;i>t;t++)if(c[e.cacheBase].cache[t].id==n){r=!0;break}return r},getAdStatusInQueue:function(e,n){var t=B(e,n);return t?t.cachingStatus:null},setAppData:function(e){return n.setGlobalAppData(e)},getAppData:function(){return n.getGlobalAppData()},deleteCachedAsset:function(e,t){return n.deleteAsset(e,t)},deleteCachedCampaign:function(e,t){var i=e.cacheBase+"/"+t;return n.deleteFolder(i),C(e,t),D(e,t)},isLibsAssetInCache:E,mergeCampaigns:k,areCampaignsAvailable:V,getFileIndexInCache:O,cachingStatus:{none:0,pending:1,queued:2}};return q}n.exports=i},{}],22:[function(e,n,t){function i(n,t){"use strict";function i(e){var n={"default":{}};return n[x.openUrlMethods.external_browser]={},n[x.openUrlMethods.store]={},n[x.openUrlMethods.webview]={controls:!0},n[e.method]||n["default"]}function r(e){var n,r=e.callback;e.method||(e.method="ios"===t.getApiData({deviceOs:1}).deviceOs?x.openUrlMethods.external_browser:x.openUrlMethods.store);var a=i(e);n=R.extend({url:e.url,method:e.method},a),t.openUrl(n,r)}function a(e,n,t){H.showISSuccess=n,H.showISFailure=t,F.showInterstitial(e).then(m,h)}function o(){fn!==$.initial&&Bn.publish("AdStatusChange",[{state:$.error,productType:j}]),et(!1)}function s(){if(Bn.canInitCallToApi())return n.Utils.returnResolvedPromise();var e="trying to call API while during an un-finished process";return t.log(e+Bn.getStatusMsg(),t.LogLevels.error),n.Utils.returnRejectedPromise(e,1021)}function c(e){return tn=e,tn.impressionsCount=Un-1,n.Utils.returnResolvedPromise(tn)}function l(e){Cn=null,yn=e.seatbid.bid||e.seatbid[0]&&e.seatbid[0].bid;var t=e.seatbid.ext||e.seatbid[0]&&e.seatbid[0].ext;if(Tn.updateBaseData({landingId:t.landingId,strategyId:t.strategyId}),bn){var i=qn({numOfCampaigns:yn.length,settings:rn});return i.then(Yn.bind(null,yn)),i}return n.Utils.returnResolvedPromise()}function u(e,n){var i=e.crid;Bn.publish("AdStatusChange",[{state:$.error,errMsg:n,productType:j}]),t.log(n,t.LogLevels.error),ot(i),st(i),e.productType=j,t.removeAdUnit(e)}function d(e){e=e||_[1013],Tn.trackEvent(On.initISFail,{callFailReason:e}),t.callSDKFunction(H.initISFailure,{errMsg:e})}function f(){(t.isLegacy(t.featureMap.loadIS)||!t.isSupportedOsVersion(j))&&(fn=fn.error)}function g(){sn=!1,t.callSDKFunction(H.initISSuccess)}function p(e){e=e||_[1014],t.callSDKFunction(H.loadISFailure,{errMsg:e})}function v(){t.callSDKFunction(H.loadISSuccess)}function h(e){e=e||_[1015],Tn.trackEvent(On.showISFail,{callFailReason:e}),t.callSDKFunction(H.showISFailure,{errMsg:e})}function m(){t.callSDKFunction(H.showISSuccess)}function b(){var e={allowed:!0};return t.isLegacy(t.featureMap.loadIS)?(e.allowed=!1,e.errMsg="SDK version "+t.getApiData({SDKVersion:1}).SDKVersion+" is not supported"):t.isSupportedOsVersion(j)?sn||(e.allowed=!1,e.errMsg=G.init.multi):(e.allowed=!1,e.errMsg="Operating system version "+t.getApiData({deviceOSVersion:1}).deviceOSVersion+" is not supported"),e}function S(){return hn&&(clearTimeout(hn),hn=null),n.Utils.returnResolvedPromise()}function y(){return s().then(t.getAPIRequiredData).then(c).then(it).then(function(){yn&&yn.length>0?Bn.publish("AdStatusChange",[{state:$.initiated,productType:j}]):Xn()})}function C(e,n){if(Dn&&"pending"===Dn.state())return Dn;mn=n;var i=t.getApplicationInfo(J,e).then(S);return Dn=i,(bn||n)&&(Dn=i.then(y)),Dn}function D(e){rn.standaloneView=e.type===W.imageIS&&e.templateid==Q&&"ios"===t.getApiData({deviceOs:1}).deviceOs}function I(){return fn===$.initial&&!bn&&Dn&&"resolved"===Dn.state()?y():fn===$.error?n.Utils.returnRejectedPromise(null,1020):n.Utils.returnResolvedPromise()}function A(){return Tn.trackEvent(On.loadIS),Tn.trackTimingStart(On.loadIStoISReady),Tn.trackTimingStart(On.loadIStoShowIS),I().then(F.load).then(et.bind(null,!0)).then(function(){Tn.trackTimingStop(On.ISReady,{eNameStart:On.loadIStoISReady})},function(e,t){t=t||"1014",Tn.trackTimingStop(On.loadISFailed,{eNameStart:On.loadIStoISReady,callFailReason:_[t]}),n.Utils.returnRejectedPromise(e)}).always(function(){In=null})}function w(){var e,i;return In&&"pending"===In.state()?In.promise():(In||(In=new R.Deferred),fn===$.loaded||Y?(In.resolve(),In.promise()):Bn.canLoad()?(Dn&&"rejected"===Dn.state()&&ct(),R.when(Dn).then(function(){return Fn.filterByAppInstalled(yn,rn).then(function(){return yn.length>0?n.Utils.returnResolvedPromise(yn):(Xn(),n.Utils.returnRejectedPromise(Nn(Bn.getStatus()),1025))})}).then(function(){R.extend(rn,{preload:!0}),Bn.publish("AdStatusChange",[{state:$.pending,productType:j}])}).then(function(){return bn?(L(),n.Utils.returnResolvedPromise(yn)):qn({numOfCampaigns:yn.length,settings:rn}).then(function(){return Yn(yn),n.Utils.returnResolvedPromise(yn)})}.bind(null,yn)).then(null,In.reject),In.promise()):(i=Bn.getStatus(),e=Nn(i),t.log(e,t.LogLevels.error),bn&&((fn!==$.initial||Dn&&"pending"===Dn.state())&&fn!==$.notready||(Tn.trackEvent(On.initBeforeLoad),ct())),In.reject(e,1026),In.promise()))}function L(){var e,i,r=k.isPrecache();if(e=at()){if(Tn.updateBaseData({adType:e.ext.type,bannerId:e.crid}),r){var a=Gn(e),o=q.precachePath+a+"/";e=n.AdAssets.updateAdunitPrecachePath(e,o)}dn=V.getAdunitUrl(r,J),D(e.ext);var s=Z.np;clearTimeout(Sn),Sn=setTimeout(function(){dt(e)},s),t.loadAdUnitUrl(e,dn,J,rn)}else i="No available creative in load attempt",t.log(i,t.LogLevels.error),Bn.publish("AdStatusChange",[{state:$.notready,productType:j}]),In.reject(i)}function T(){return F.show().always(function(){An=null})}function U(){var e;if(An&&"pending"===An.state())return An.promise();if(An||(An=new R.Deferred),t.log(Bn.getStatusMsg(),t.LogLevels.verbose),!Bn.canEngage())return e=En(Bn.getStatus()),An.reject(e),An.promise();Tn.trackTimingStop(On.showIS,{eNameStart:On.loadIStoShowIS});var n=at();Bn.publish("Engaged",[{duringEngage:!0,productType:j}]);var i={preload:!1};return t.loadAdUnitUrl(n,dn,J,i),An.resolve(),An.promise()}function O(){q.cacheBase=J.productType,q.precachePath="../"+q.cacheBase+"/",R.extend(q,J)}function P(){return q}var x=e("../components/Constants.js"),F,B=!1,R,M=t.MRAID,V=t.adUnitUrl,k,j="Interstitial",N="NativeCallback",E="TaskManager",K="PrecacheManager",W={videoIS:"videoInterstitial",imageIS:"imageInterstitial"},Q=2,q={productType:j,maxCachedCampaigns:10,cacheBase:null,precachePath:null,nonPrecacheFallback:5*x.timeunit},J={productType:j},G={init:{missingData:"Failed to get required parameters",multi:"Multiple Init calls not allowed",invalid:"Invalid API response",timeout:"API request timeout"},load:{isConnected:"no internet connection",duringEngage:"already engaged with an offer",adState:{0:"not initiated yet",1:"not ready yet",5:"error loading ad"}},show:{isConnected:"no internet connection",duringEngage:"already engaged with an offer",available:"ad not available"}},_={1e3:"Ad not available",1001:"Not initiated yet",1002:"Multiple Init calls not allowed",1003:"Failed to get required parameters or they are invalid",1004:"Invalid API response",1005:"API request timeout",1006:"Already engaged with an offer",1007:"Not ready yet",1008:"Not ready",1009:"No internet connection",1010:"Failed to pre-load creative assets",1011:"Failed to load interstitial ad",1012:"Already engaged with another offer",1013:"Failed to init interstitial",1014:"Failed to load interstitial ad",1015:"Failed to show interstitial ad",1020:"Ad state error",1021:"Trying to call API while during an un-finished process",1022:"Failed on get inventory",1023:"No offers on prepare ad unit assets",1024:"Failed updating ad unit assets",1025:"No more offers",1026:"Cannot load at this time"},H={initISSuccess:null,initISFailure:null,loadISSuccess:null,loadISFailure:null,showISSuccess:null,showISFailure:null},z={none:0,ready:1,noOffers:2,noOffersRI:3},$={initial:0,notready:1,initiated:2,pending:3,loaded:4,error:5,opened:6},Y=null,X=6e4,Z={initAttemptsDelay:1e4,apiResponseTimeout:1e4,loader:5e3,riDelay:2*X,loadedState:30*X,p:5e3,np:12e3,buffer:2*X},en={},nn="",tn={},rn={},an=!1,on=!1,sn=!0,cn=[],ln=0,un=0,dn="about:blank",fn=$.initial,gn=z.none,pn,vn=null,hn=null,mn=!1,bn=!1,Sn,yn=null,Cn=null,Dn=null,In=null,An=null,wn={seatbid:{}},Ln,Tn,Un=1,On={initIS:{name:"initIS",id:20},initISFail:{name:"initISFail",id:129},loadIS:{name:"loadIS",id:21},loadISFailed:{name:"loadISFailed",id:22},loadIStoISReady:{name:"loadIStoISReady",id:230},loadIStoShowIS:{name:"loadIStoShowIS",id:231},ISReady:{name:"ISReady",id:23},showIS:{name:"showIS",id:24},showISFail:{name:"showISFail",id:25},showISToAdVisible:{name:"showISToAdVisible",id:232},adVisible:{name:"adVisible",id:8},videoStarted:{name:"videoStarted",id:9},videoCompleted:{name:"videoCompleted",id:10},noMoreOffers:{name:"noMoreOffers",id:105},adVisibleToClose:{name:"adVisibleToClose",id:222},adLoaded:{name:"adLoaded",id:6},adLoadedError:{name:"adLoadedError",id:7},initBeforeLoad:{name:"initBeforeLoad",id:202},campaignFailedToCache:{name:"campaignFailedToCache",id:109},campaignSavedCache:{name:"campaignSavedCache",id:106},campaignsAvailableFromCache:{name:"campaignsAvailableFromCache",id:107},campaignDeletedCache:{name:"campaignDeletedCache",id:108}},Pn=t.Cache,xn=t.adUnitGlobals,Fn=e("../components/CampaignsFilter.js")(n,t).factory(j),Bn=function(){var e,i=!1,r=!1,a=!1,o=!1,s=!1,c=!0,l=function(){n.PubSub.subscribe(E+".Engaged",function(e){n.Utils.isDefined(e.duringEngage)&&(n.Utils.isDefined(e.productType)&&e.productType!==j?a=e.duringEngage:r=e.duringEngage),t.log("line[191]: IS engaged "+r+", other engaged: "+a,t.LogLevels.verbose)}),n.PubSub.subscribe(E+".CacheUpdateStatus",function(e){n.Utils.isDefined(e.duringCacheUpdate)&&n.Utils.isDefined(e.productType)&&e.productType===j&&(o=e.duringCacheUpdate)}),n.PubSub.subscribe(E+".AdStatusChange",function(e){n.Utils.isDefined(e.state)&&n.Utils.isDefined(e.productType)&&e.productType===j&&(t.log("Ad state changed from "+fn+" to "+e.state,t.LogLevels.verbose),fn=e.state)}),n.PubSub.subscribe(N+".enterBackground",function(){s=!0}),n.PubSub.subscribe(N+".enterForeground",function(){s=!1}),n.PubSub.subscribe(N+".viewableChange",function(){}),n.PubSub.subscribe(N+".deviceStatusChanged",function(e){n.Utils.isDefined(e.connectionType)&&(c="none"!==e.connectionType&&"notReachable"!==e.connectionType)})};return{init:function(){e=this,i||(l(),i=!0)},canLoad:function(){return(fn===$.error||fn===$.initiated)&&!r&&c},canEngage:function(){return!r&&!t.getCurrentDisplayedAd()&&c},canForceEngage:function(){return!r&&!t.getCurrentDisplayedAd()&&c},canInitCallToApi:function(){return mn?!o&&c:!(r&&t.getCurrentDisplayedAdType()===j||s||o||!c)},setConnection:function(e){c=e},getStatusMsg:function(){return"duringEngage:"+r+" duringCacheUpdate:"+o+" appInBackground:"+s+" isConnected:"+c+" ad state:"+fn},getStatus:function(){return{duringEngage:r,duringCacheUpdate:o,appInBackground:s,isConnected:c,adState:fn}},publish:function(e,t){return n.PubSub.publish(E+"."+e,t)},subscribe:function(e,t){return n.PubSub.subscribe(E+"."+e,t)},unsubscribe:function(e){return n.PubSub.unsubscribe(e)}}}(),Rn=function(e){t.log("on creative opened",3),Tn.trackTimingStart(On.adVisibleToClose),Bn.publish("AdStatusChange",[{state:$.opened,productType:j}]),on=!0,ot(e),st(e)
  3. },Mn=function(){var e=at();return e&&(t.log("pre load on get config is: "+rn.preload,3),e.settings=e.settings||{},e.settings.preload=rn.preload),e},Vn=function(e){var n,i=t.getApiData({scdn:1,protocol:0,defaultProtocol:1}),r=t.decideUrlProtocolAccordingToHTTPSCompliance(),a=i.scdn;return n="dev"===t.getEnv()?t.api()+"/ssastatic":r+"//"+a,R.extend(!0,e,{settings:{protocol:r,urltocdn:n,precache:k.isPrecache()}})},kn=function(){n.PubSub.subscribe(K+".cacheUpdatedCallback",function(e){if(!e||e.productType===j){t.log("IS | cacheUpdatedCallback "+JSON.stringify(e),t.LogLevels.verbose);var n=cn.length,i=k.getCacheSizeByType(j),r=rn.numOfBannersToInitSuccess<=n?rn.numOfBannersToInitSuccess:n,a=k.areCampaignsAvailable(cn,r);0===i?Xn("Cache updated with zero campaigns"):an&&a&&Zn()}}),n.PubSub.subscribe(K+".campaignSavedCallback",function(e){if(!e||e.productType===j){t.log("IS campaignSavedCallback "+JSON.stringify(e),t.LogLevels.verbose);var i,r=-1,a=null;n.Utils.isDefined(e.id)&&(i=rt(e.id),a=e.id,r=n.Utils.isDefined(i.inventoryIndex)?i.inventoryIndex:-1),Tn.trackEvent(On.campaignSavedCache,{inventoryIndex:r},{bannerId:a})}}),n.PubSub.subscribe(K+".campaignDeletedCallback",function(e){e&&e.productType!==j||(t.log("IS campaignDeletedCallback "+JSON.stringify(e),t.LogLevels.verbose),Tn.trackEvent(On.campaignDeletedCache,{bannerId:e.id||null}))}),n.PubSub.subscribe(K+".cacheAdsSuccessCallback",function(e){e&&e.productType!==j||t.log("IS cacheAdsSuccessCallback "+JSON.stringify(e),t.LogLevels.verbose)}),n.PubSub.subscribe(K+".cacheAdsFailedCallback",function(e){if(!e||e.productType===j){t.log("IS cacheAdsFailedCallback "+JSON.stringify(e),t.LogLevels.verbose);for(var n=e.deletedOffers.length,i=e.deletedOffers,r=0;n>r;r++)Tn.trackEvent(On.campaignFailedToCache,{bannerId:i[r]}),st(i[r]);var a=cn.length,o=rn.numOfBannersToInitSuccess<=a?rn.numOfBannersToInitSuccess:a,s=k.areCampaignsAvailable(cn,o);an&&s?Zn():Xn(e.errorLog)}}),n.PubSub.subscribe("SDKController.AdVideoEnded",function(e){e.productType===j&&t.log("Got AdVideoEnded in IS",t.LogLevels.info)}),n.PubSub.subscribe("SDKController.engageEnd",function(e,t){e.productType===j&&(ft(),n.Utils.isFunction(t)&&t.call())}),n.PubSub.subscribe(j+".GetConfig",function(e){if(e.productType===j){var t=Mn();t&&Vn(t),e.callback&&e.callback.call(null,t),clearTimeout(Sn),fn!==$.error&&n.Utils.isDefined(e.errMsg)&&ut(e)}}),n.PubSub.subscribe("SDKController.AdLoaded",function(e){return e.productType!==j||fn===$.error||fn===$.loaded?void t.log("Controller | IS | try to load when error or already loaded. adState: "+fn,t.LogLevels.info):void lt(e)}),n.PubSub.subscribe("SDKController.AdError",function(e){e.productType===j&&(clearTimeout(Sn),n.Utils.isDefined(e.errMsg)&&ut(e))}),n.PubSub.subscribe("SDKController.AdPlaying",function(){}),n.PubSub.subscribe("SDKController.AdPaused",function(){}),n.PubSub.subscribe("SDKController.AdStarted",function(e){e.productType===j&&t.log("Got AdStarted in IS",t.LogLevels.info)}),n.PubSub.subscribe("SDKController.AdClicked",function(e){e.productType===j&&t.callSDKFunction("adClicked",{productType:j})}),n.PubSub.subscribe("SDKController.AdVisible",function(e){jn(e)}),n.PubSub.subscribe("SDKController.onAdWindowsClosed",function(e){e.productType!==j&&fn===$.error&&ct()}),Bn.subscribe("AdStatusChange",function(e){e.productType===j&&gt(e)}),n.PubSub.subscribe("SDKController.Analytics",function(e){if(e.productType===j&&e&&e.action){var n=e.action,t=e.eventParam;"fireEvent"===n?Tn.trackEvent(t.eName,t.label,t.data):"startTiming"===n?Tn.trackTimingStart(t.eName,t.data):"stopTiming"===n?Tn.trackTimingStop(t.eName,t.data):"setCustomData"===n&&Tn.updateBaseData(t.data)}}),n.PubSub.subscribe(N+".initInterstitial",function(e,i,r){var a=b();return H.initISSuccess=i,H.initISFailure=r,t.initEventics(J),Tn.trackEvent(On.initIS),a.allowed?fn===$.pending||fn===$.loaded?(g(),void n.PubSub.publish(j+".CacheReady",[{productType:j,numOfAdUnits:cn.length}])):(gn=z.none,t.log("IS - resetting last response to none",t.LogLevels.verbose),void F.initInterstitial(e).then(g,d)):(f(),void d(a.errMsg))}),n.PubSub.subscribe(N+".loadInterstitial",function(e,n,t){H.loadISSuccess=n,H.loadISFailure=t,F.loadInterstitial(e).then(v,p)}),n.PubSub.subscribe(N+".showInterstitial",function(e,n,t){a(e,n,t)}),n.PubSub.subscribe(N+".forceShowInterstitial",function(e,n,t){a(e,n,t)}),n.PubSub.subscribe(j+".ActionClick",function(e){if(e&&e.type){var n=e.type;"openUrl"===n&&r(e)}})},jn=function(e){e.productType!==j?(Bn.publish("Engaged",[{duringEngage:!0,productType:e.productType}]),(fn===$.pending||fn===$.loaded)&&t.log("line[456]: IS on engage with another offer",t.LogLevels.verbose)):(fn===$.loaded&&(e?(t.log("creative open from ad visible",t.LogLevels.verbose),Rn(e.crid)):t.log("opened with no current ad",t.LogLevels.error)),Un++)},Nn=function(e){var t="Cannot load Interstitial ad: ";return e.isConnected||(t+=G.load.isConnected),e.duringEngage?t+=G.load.duringEngage:n.Utils.isDefined(G.load.adState[e.adState])&&(t+=G.load.adState[e.adState]),t},En=function(e){var n="Cannot engage interstitial ad: ";return Y||(n+=G.show.available),e.isConnected||(n+=G.show.isConnected),e.duringEngage?n+=G.show.duringEngage:t.getCurrentDisplayedAd()&&(n+=_[1012]),n},Kn=function(){var e=Bn.canInitCallToApi();return t.log("can init again?"+e+Bn.getStatusMsg(),t.LogLevels.info),e?(Xn(),Wn(rn.refreshInterval),t.log("Resetting last response to no offers RI",t.LogLevels.verbose),gn=z.noOffersRI,F.initInterstitial()):hn=setTimeout(function(){Kn()},Z.riDelay),e},Wn=function(e){t.log("setting refresh interval to: "+e,t.LogLevels.info),vn&&clearInterval(vn),0!==e&&(vn=setInterval(function(){Kn()||clearInterval(vn)},e*X))},Qn=function(e){var i=e.ext||{};R.extend(i,t.getApplicationExternalConfig().getABTestConfiguration("Interstitial",i.landingId)),vn&&clearInterval(vn),n.Utils.isDefined(i.refreshinterval)&&0!==i.refreshinterval&&Wn(i.refreshinterval),i.numOfBannersToCache=1,i.numOfBannersToInitSuccess=1,rn=i},qn=function(e){return!Cn||"pending"!==Cn.state()&&"resolved"!==Cn.state()?Cn=k.decidePrecacheStatus(e).then(function(){return an=!1,e.numOfCampaigns>0?xn.updateAdUnitGlobals(k.isPrecache()):(cn=[],n.Utils.returnRejectedPromise("We did not receive any campaigns in inventory",1023))}).then(k.handleCacheClear).then(function(){return an=!0,n.Utils.returnResolvedPromise()},function(e){return o(),n.Utils.returnRejectedPromise(e,1024)}):Cn},Jn=function(e,n){var t,i=[];for(t=0;t<e.length;t++)k.isAdInCache(Gn(n[t]))||i.push(n[t]);return i},Gn=function(e){if(!e)return void t.log("IS | entering getAdId with no ad",t.LogLevels.verbose);var n=e.crid||e.bannerID||e.id;return n&&n.toString()},_n=function(e){var t={};return t.bannerID=Gn(e),t.title="",t.staticContent=n.AdAssets.extractStaticFiles(e),t.lastUpdateTime=n.Utils.isDefined(e.lastUpdateTime)?e.lastUpdateTime:0,t},Hn=function(e){var n=[];return R.each(e,function(){n.push(_n(this))}),n},zn=function(e){R.each(e,function(e,n){n.inventoryIndex=e,k.isPrecache()&&k.setAdInventoryIndex(Gn(n),e)})},$n=function(e){var n=[];return R.each(e,function(e,t){t.ext&&t.ext.appData&&t.ext.appData.adAssets&&(t.ext.appData.appImages=t.ext.appData.adAssets,delete t.ext.appData.adAssets),n.push(t)}),n},Yn=function(e){var n,i,r=k.isPrecache(),a=e.length;e=$n(e),zn(e),n=Hn(e);var o=function(){if(0===a)return void Xn();if(cn=e.slice(0),r){var t=k.areCampaignsAvailable(n,rn.numOfBannersToInitSuccess);if(t)return Tn.trackEvent(On.campaignsAvailableFromCache),void Zn();var i=Jn(e,n),o={cacheTimeoutSuccessCallback:function(){Yn(e)},cacheTimeoutFailCallback:Xn,applicationUserId:tn.applicationUserId,applicationKey:tn.applicationKey,newAdsToEnterCache:i};k.handleCacheAds(o)}else Zn()};r&&(i=k.mergeCampaigns(n),t.log("IS | updateCurrentAds after merge "+JSON.stringify(i),t.LogLevels.verbose)),!r||rn.purgeCacheOnInit||k.isUserInfoChanged()?(t.log("already purged cache so go strait to adding the new ads",t.LogLevels.verbose),o()):k.clearCacheByType(i).always(o)},Xn=function(){Bn.publish("AdStatusChange",[{state:$.notready,productType:j}]),In&&In.reject("load Intertitial failed",1025),et(!1)},Zn=function(){(gn===z.none||gn===z.noOffers||gn===z.noOffersRI||mn)&&(Bn.publish("AdStatusChange",[{state:$.initiated,productType:j}]),mn||(n.PubSub.publish(j+".CacheReady",[{productType:j,numOfAdUnits:cn.length}]),gn=z.ready),bn?F.loadInterstitial():L())},et=function(e){return"boolean"!=typeof e?void t.log("IS available param is not a boolean",t.LogLevels.error):void(Y!==e&&(Y=e,t.log("available: "+e,t.LogLevels.verbose),t.callSDKFunction("interstitialAvailability",{available:e})))},nt=function(e){var t=null;return n.Utils.isDefined(e)&&(n.Utils.isDefined(e.applicationUserId)&&""!==e.applicationUserId?t=e.applicationUserId:n.Utils.isDefined(e["deviceIds[IFA]"])&&""!==e["deviceIds[IFA]"]?t=e["deviceIds[IFA]"]:n.Utils.isDefined(e["deviceIds[IDFV]"])&&""!==e["deviceIds[IDFV]"]?t=e["deviceIds[IDFV]"]:n.Utils.isDefined(e["deviceIds[AID]"])&&""!==e["deviceIds[AID]"]&&(t=e["deviceIds[AID]"])),t},tt=function(){var e=new R.Deferred;return un++,n.Utils.decodeValues(tn),Ln.getInventory(tn).then(function(n){e.resolve(n)},function(n){var t;n&&(t=n.errorMessage),t&&-1!==t.indexOf("timeout")&&3>un?setTimeout(function(){tt().then(function(n){e.resolve(n)},e.reject)},Z.initAttemptsDelay):e.reject(t,1022)}).always(function(){Bn.setConnection(!0)}),e.promise()},it=function(){un=0;var e=nt(tn);return tt().then(function(t){Qn(t.seatbid.ext?t.seatbid:t.seatbid[0]);var i=t.seatbid.bid||t.seatbid[0].bid;return Fn.filterByAppInstalled(i,rn).then(function(){return n.Utils.returnResolvedPromise(t,e)})}).then(l)},rt=function(e){var n,i=null,r=cn.length;for(n=0;r>n;n++)if(cn[n].crid==e){i=cn[n];break}return i||t.log("Error in getCreativeById, id "+e+" not found in "+JSON.stringify(cn),1),i},at=function(){return cn&&cn.length>0?(cn[ln].os=t.getApiData({mobileSDKSettings:1}).mobileSDKSettings.deviceOs,cn[ln].osv=t.getApiData({mobileSDKSettings:1}).mobileSDKSettings.deviceOSVersion,cn[ln]):null},ot=function(){return!0},st=function(e){var n,i=cn.length;if(t.log("removing current creative",t.LogLevels.verbose),rn.preload)for(n=0;i>n;n++)if(cn[n].crid==e||cn[n].id==e){cn.splice(n,1);break}ct()},ct=function(){t.log("self initiating call to API",t.LogLevels.verbose),et(!1),F.initInterstitial(pn,!0).then(null,function(e){return o(),n.Utils.returnRejectedPromise(e)})},lt=function(e){return clearTimeout(Sn),n.Utils.isDefined(e.errMsg)?void ut(e):(Bn.publish("AdStatusChange",[{state:$.loaded,productType:j}]),t.onAdLoaded(at()),void(n.Utils.isDefined(e.enableBackButton)&&t.setBackButtonState(e.enableBackButton)))},ut=function(e){var n="Ad loaded with error: "+e.errMsg;Tn.trackEvent(On.adLoadedError,{generalMessage:e.errMsg}),u(e,n)},dt=function(e){var n="Timeout in loading ad";u(e,n)},ft=function(){Bn.publish("Engaged",[{duringEngage:!1,productType:j}]),Tn.unsetParamFromBaseData("landingId"),bn&&F.loadInterstitial()},gt=function(e){e&&e.state&&(e.state===$.error?(clearTimeout(Sn),G.load.adState[$.error]=e.errMsg,In&&In.reject(e.errMsg,1020),et(!1)):e.state===$.loaded&&In&&In.resolve())},pt=function(){var e="//staging-is-gateway.sonic-us.supersonicads.com/gateway/sdk/request/",n="//is-gateway.supersonicads.com/gateway/sdk/request/",i=t.getProtocol();en={dev:i+e,stage:i+e,prod:i+n}},vt=function(e){return en[e]||en.prod},ht={init:function(){F=this,R=t.jQuery(),pt();var i=vt(t.getEnv());if(k=new(e("../components/precacheManager.js"))(n,t,P()),Ln=new(e("../components/FetcherService.js"))(i,wn,Z.apiResponseTimeout),!B){cn=[];var r=1,a={productChance:"prod"===t.getEnv()?r:1,baseData:{productType:j}};Tn=n.Eventics.createEventic(a),O(),Bn.init(),kn(),k.init(),nn=xn.getStaticGlobalsUrl(),bn=t.isLegacy(t.featureMap.selfLoadingIS),B=!0}},getCurrentAd:function(){return R.extend(at(),{type:j})},isNextAvailable:function(){return!1},initInterstitial:C,loadInterstitial:A,showInterstitial:T,load:w,show:U,className:j};return ht}n.exports=i},{"../components/CampaignsFilter.js":3,"../components/Constants.js":4,"../components/FetcherService.js":6,"../components/precacheManager.js":18}],23:[function(e,n){function t(n,t){function i(){var i;return t.isLegacy(t.featureMap.MDS)?new(i=e("./Interstitial.js"))(n,t):new(i=e("./Interstitial.js"))(n,t)}return{create:i}}n.exports=t},{"./Interstitial.js":22}],24:[function(e,n,t){function i(n,t){"use strict";function i(){return t._getApplicationConfigurationFromServer().then(function(){return gt=An.extend(!0,gt,t.getOfferWallConfiguration()),n.Utils.returnResolvedPromise(gt)},function(e){return t.log(e,t.LogLevels.error),n.Utils.returnResolvedPromise(gt)})}function r(){return Yn&&Xn}function a(e){t.log("Marked offer clicked for CSC with type "+e.type,t.LogLevels.verbose),Xn=!0}function o(e){return qn=e&&e.placementId||Qn,t.log("Updated placement to "+qn,t.LogLevels.verbose),qn}function s(e){var n={},i=e.callback;n=e.externalBrowser?{url:e.url,controls:!0,method:"external_browser"}:e.method===pn.openUrlMethods.external_browser?{url:e.url,method:"external_browser"}:e.install?"ios"===t.getApiData({deviceOs:1}).deviceOs?{url:e.url,controls:!0,method:"external_browser"}:{url:e.url,controls:!0,method:"store"}:{url:e.url,controls:!0,method:"webview"},t.openUrl(n,i)}function c(){if(!ht){ht=!0,t.initEventics(xn);var e={owPageNumber:0,isPrecache:gt.precache};vt.updateBaseData(e)}}function l(){return bt.canEngage()?n.Utils.returnResolvedPromise():n.Utils.returnRejectedPromise(bt.isConnected()?Bn.engaged:En.noInternet)}function u(e){e&&(Ln=e)}function d(e){return e in Ln?Ln[e]:null}function f(e,i){var r;return r=e?i:On=t.getApiData(Mn),n.Utils.returnResolvedPromise(r)}function g(e){return Yn=e&&("true"===e.useClientSideCallbacks||"boolean"==typeof e.useClientSideCallbacks&&e.useClientSideCallbacks),n.Utils.returnResolvedPromise(e)}function p(e){var t=At(e);return n.Utils.returnResolvedPromise(t,e)}function v(e,i){return f(e,i).then(g).then(p).then(function(i,r){return i&&(Yn||e)?(t.log("Initiating CSC",t.LogLevels.verbose),wt(r),Ct()):n.Utils.returnResolvedPromise()})}function h(){return l().then(t.getApplicationInfo.bind(t,xn)).then(function(){return o(t.getApiData({placementId:1})),v()})}function m(){return t.log("In Refresh Interval",t.LogLevels.verbose),bt.duringEngage()?void t.log("Refresh Interval Popped, but during engage - ignore",t.LogLevels.verbose):void bt.waitUntilAppInForeground().then(bt.waitUntilConnected).then(function(){t.log("Refresh Interval Popped, calling refreshOfferWall",t.LogLevels.verbose),t.unloadFramesByProduct(xn),b()})}function b(e){I(),bt.isConnected()&&(M(),gt.precache?Y():(!e||gt.getInventoryOnInit)&&D())}function S(){lt=setTimeout(function(){t.log("Adunit static assets timer popped",t.LogLevels.verbose),C(Bn.adunitAssetsTimeout)},dt.adUnitAssetsTimeout)}function y(e){clearTimeout(lt),t.log("Resolve adunit static assets promise",t.LogLevels.verbose),rt.resolve(e)}function C(e){clearTimeout(lt),t.log("Reject adunit static assets promise - "+JSON.stringify(e),t.LogLevels.verbose),rt.reject.apply(rt.reject,arguments)}function D(){var e=U();e.errMsg||z(e).always(nn)}function I(){at=null,st=null,ot=null}function A(){var e=n.PubSub.subscribe(Cn+".GetConfig",function(e){t.log("Received event OW getConfig",t.LogLevels.verbose),y(e)});return function(){n.PubSub.unsubscribe(e)}}function w(){var e=n.PubSub.subscribe(Dn+".Engaged",function(e){e.productType===Cn&&(ct=!0)});return function(){n.PubSub.unsubscribe(e)}}function L(){rt=new An.Deferred,vt.trackTimingStart(Kn.staticAssetsLoaded);var e=A();return An.when(function(){return Tn?(t.log("Using cached adunit url: "+Tn,t.LogLevels.verbose),n.Utils.returnResolvedPromise({html:Tn})):nt.getGlobalAssetsJSON()}()).then(function(e){if(Tn=e.html,ct)C("User closed before visible");else if("rejected"===at.state())C("Finished when flow already failed");else{var n=nt.getStaticGlobalsUrl()+Tn+tt;setTimeout(function(){t.updateAdUnitUrl(jn,n,xn,{preload:!0,forceCreation:!0})},0),S()}},C),rt.promise().then(function(e){return vt.trackTimingStop(Kn.staticAssetsLoaded),e}).always(function(){e()})}function T(){var e={pass:!0,reason:"ok"};return bt.isConnected()?t.isSupportedOsVersion(Cn)||(e.pass=!1,e.reason="Operating system version "+t.getOsVersion()+" is not supported"):(e.pass=!1,e.reason=En.noInternet),e}function U(){var e={data:null,errMsg:null},i=t.getApiData(Mn);return n.Utils.isDefined(i.errMsg)?e.errMsg=i.errMsg:i==={}?e.errMsg=Bn.missingData:(i.format=yn,n.Utils.decodeValues(i),e.data=i,On=i),e}function O(e){if(at&&"pending"===at.state()){var n={eNameStart:Kn.initOW,callFailReason:e.errMsg};e.errCode&&(n.errorCode=e.errCode),e.failFlow!=Rn.preConditions&&vt.trackTimingStop(Kn.initOWFail,n),t.log("Rejecting Init OW flow - "+e.errMsg,t.LogLevels.verbose),at.reject(e)}}function P(e,n){return{failFlow:e,errMsg:n}}function x(){return P(Rn.close,"User closed before visible",!0)}function F(e,n,t){var i=P(e,n);return i.errCode=t||0,i}function B(){return it&&"pending"===it.state()}function R(){return at&&"pending"===at.state()}function M(){ut&&(clearTimeout(ut),ut=null)}function V(){var e,n=t.getApiData({scdn:1,protocol:0,defaultProtocol:1}),i=t.decideUrlProtocolAccordingToHTTPSCompliance(),r=n.scdn;return e="dev"===t.getEnv()?t.api()+"/ssastatic":i+"//"+r,{protocol:i,urltocdn:e,preload:gt.precache}}function k(e,i){vt.trackTimingStop(Kn.initOWSuccess,{eNameStart:Kn.initOW});var r=B(),a=e.offers&&e.offers.length>0;if(!r&&!a){var o=P(Rn.inventoryInBackground,"Empty Inventory");return t.log("No inventory available while preloading in background - Remove iframe",t.LogLevels.verbose),t.unloadFramesByProduct(xn),O(o),n.Utils.returnRejectedPromise(o)}return En.confirmCloseMsg=e.textData.confirmCloseMsg,An.extend(e.settings,V(),t.getFormattedDeviceData()),j(e),E(e).then(function(e){i.callback.call(null,e)})}function j(e){if(e.settings.allowPopup)for(var n=2616527,i=e.offers,r=0;r<i.length;r++)if(i[r].campaignId==n){i[r].isPopup=!0;var a=t.decideUrlProtocolAccordingToHTTPSCompliance();return void(i[r].assets.banner=a+"//supersonicads-a.akamaihd.net/banners/c_584227_2_0_87486_23.jpeg")}}function N(){return qn||Qn}function E(e){var i=new An.Deferred;if(!e.settings.placementsFlow)return i.resolve(Q(e));if(B())i.resolve(q(e));else{t.log("Waiting for show before resolving getConfig",t.LogLevels.verbose);var r=n.PubSub.subscribe(In+".showOfferWall",function(){n.PubSub.unsubscribe(r),t.getApplicationInfo(xn).then(function(){o(t.getApiData({placementId:1})),i.resolve(q(e))})})}return i.promise()}function K(e,n){if(!e)return!1;if(e.offers&&e.offers.length>0){var t=e.offers[0];return t.rewards&&t.rewards[n]}return e.settings.currency?e.settings.currency[n]:!1}function W(e,t){if(!e.intermediateData||!e.intermediateData.text)return e;var i=e.intermediateData.text.actionButton,r=e.intermediateData.text.instructionDescription,a=e.intermediateData.text.instructions,o={"{{rewardCount}}":e.rewards,"{{currencyName}}":t};if(i.length>0&&(e.intermediateData.text.actionButton=n.Utils.replacePlaceHolder(i,o)),r.length>0&&(e.intermediateData.text.instructionDescription=n.Utils.replacePlaceHolder(r,o)),a.length>0)for(var s=0;s<a.length;s++)a[s]=n.Utils.replacePlaceHolder(a[s],o);return e}function Q(e){for(var n=e.offers,t=0;t<n.length;t++)n[t]=W(n[t],e.settings.currency);return e}function q(e){var n=e.offers,i=N();K(e,i)||(i=o({placementId:Qn})),e.settings.placementId=i;for(var r=0;r<n.length;r++)n[r].textData=n[r].textData[i],n[r].rewards=n[r].rewards[i],n[r]=W(n[r],e.settings.currency[i]);try{e.settings.currency=e.settings.currency[i],e.settings.doublePromotionData=e.settings.doublePromotionData[i],e.settings.linksData.contactSupport.label=e.settings.linksData.contactSupport.label[i],e.textData.header=e.textData.header[i]}catch(a){t.log("Failed to interpolate inventory response",t.LogLevels.error)}return e}function J(e,n){if(n.failFlow===Rn.close)return void O(n);var i=B();i?n.failFlow===Rn.inventory&&e.then(function(e){var t=An.extend({},ft);t.ext.emptyOWReason=n.errMsg,e.callback.call(null,t)}):(n.failFlow===Rn.inventory&&(n=P(Rn.inventoryInBackground,"Failed to get Inventory"),t.log("Inventory failed while preloading in background - Remove iframe",t.LogLevels.verbose)),t.unloadFramesByProduct(xn)),O(n)}function G(e){return t.log("Get Inventory",t.LogLevels.verbose),mt.getInventory(e.data,t.getBaseServerUrl()).then(function(e){if(ct){var t=x();return n.Utils.returnRejectedPromise(t)}return e},function(e){var n;return n=ct?x():F(Rn.inventory,e.errorMessage,e.errorCode)}).then(function(e){return pt.filterByAppInstalled(e.offers,e.settings).then(function(){return n.Utils.returnResolvedPromise(e)})})}function _(){return t.log("Load Adunit",t.LogLevels.verbose),L().then(null,function(e){var n;return n=ct?x():P(Rn.adunit,e)})}function H(){if(t.log("OfferWall.js | _handlePreConditions",t.LogLevels.verbose),ot&&"pending"===ot.state())return t.log("OfferWall.js | _handlePreConditions already has deferred "+ot.state(),t.LogLevels.verbose),ot;ot=new An.Deferred,ct=!1,c(),vt.trackEvent(Kn.initOW),vt.trackTimingStart(Kn.initOW),M();var e,n=!0,i=T();i.pass||(e=P(Rn.preConditions,i.reason),O(e),n=!1);var r=U();return r.errMsg&&(e=P(Rn.preConditions,r.errMsg),O(e),n=!1),n?ot.resolve(r):ot.reject(e),ot.promise()}function z(e){return t.log("OfferWall.js | _getInventoryWithPromise",t.LogLevels.verbose),st&&"rejected"!==st.state()?(t.log("OfferWall.js | _getInventoryWithPromise already has deferred "+st.state(),t.LogLevels.verbose),st):st=G(e).then(function(e){var i=e.settings;return u(An.extend(i,t.getApplicationExternalConfig().getABTestConfiguration("Offerwall",e.settings.templateId))),$({feedSize:e.offers.length,landingId:e.settings.templateId,strategyId:e.settings.strategyId}),n.Utils.returnResolvedPromise(e)})}function $(e){vt.updateBaseData(e)}function Y(){return t.log("OfferWall.js | _initOfferWall",t.LogLevels.verbose),at&&"rejected"!==at.state()?(t.log("OfferWall.js | _initOfferWall using cached promise in Init OW flow",t.LogLevels.verbose),at.promise()):(at=new An.Deferred,X().then(function(){at.resolve()}),at.promise())}function X(){var e=null;return H().then(function(n){return e=_(),An.when(z(n),e)}).then(function(e,n){return k(e,n)},function(n){return J(e,n)}).always(nn)}function Z(){return H().then(z,function(e){return e&&e.errMsg||(e={errMsg:Bn.preconditions}),t.log("OfferWall.js | CB.init preConditionsFailed "+JSON.stringify(e),t.LogLevels.verbose),n.Utils.returnRejectedPromise(e.errMsg)}).then(null,function(e){return t.log("OfferWall.js | CB.init getInventoryPromise fail",t.LogLevels.verbose),e=e||Bn.server,n.Utils.returnRejectedPromise(e)}).always(nn)}function en(){return gt.precache?(Y(),n.Utils.returnResolvedPromise()):gt.getInventoryOnInit?Z():n.Utils.returnResolvedPromise()}function nn(){if(!ut&&(gt.precache||gt.getInventoryOnInit)&&!on(an())){var e=isNaN(gt.refreshInterval)||0===gt.refreshInterval?mn:gt.refreshInterval;t.log("Setting OW refresh interval - "+e+" minutes",t.LogLevels.verbose),ut=setTimeout(m,e*bn)}}function tn(){ct&&n.Utils.returnRejectedPromise(x().errMsg)}function rn(e){"object"!=typeof e&&(e={errMsg:e});var i=e.errMsg||"Generic error on ShowOfferWall";return ct?i:e.failFlow===Rn.adunit?(vt.trackEvent(Kn.showOWFail,{callFailReason:i}),dn(i),i):e.failFlow===Rn.preConditions?(dn(i),i):(t.log("Empty OfferWall error",t.LogLevels.verbose),ln(),n.Utils.returnResolvedPromise())}function an(){var e,t=d("standaloneOfferWallData");if(t&&t.url){var i=t.url,r=N();n.Utils.isDefined(r)&&(i=n.Utils.replacePlaceHolder(i,{"{{PlacementId}}":r})),-1===i.indexOf("openOWInStandalone")&&(i+="&openOWInStandalone=true"),e=An.extend({},t,{url:i})}return e}function on(e){return e&&e.openInStandaloneOfferWall&&e.url}function sn(){if(it&&"rejected"!==it.state())return t.log("line[354]: Recalling showOW before resolving previous flow",t.LogLevels.error),vt.trackEvent(Kn.showOWFail,{callFailReason:"Recalling showOW before resolving previous flow"}),it;it=new An.Deferred,c(),vt.incrementSessionNumber(),vt.trackTimingStart(Kn.initControllerToShowOWCalled,t.getApiData({controllerTimeLoaded:1}).controllerTimeLoaded),vt.trackTimingStop(Kn.showOWCalled,{eNameStart:Kn.initControllerToShowOWCalled}),vt.trackTimingStart(Kn.showOWCalledToOwVisible);var e,i;return h().then(function(){if(i=an(),!on(i)){var t=Y();return e=w(),cn(t),t.then(tn,rn)}return n.Utils.returnResolvedPromise()},function(e){return dn(e),e}).always(function(){e&&e()}).then(function(){if(on(i)){var e={url:i.url,method:"external_browser"};t.openUrl(e)}else ln();t.log("Resolving ShowOfferWall",t.LogLevels.verbose),it.resolve.apply(this,arguments)},function(e){t.log("Rejecting ShowOfferWall",t.LogLevels.verbose),it.reject(e)}),it.promise()}function cn(e){if(jn.url=null,"resolved"!==e.state()||!gt.precache){var n=d(pn.offerWallSetting.immersive)?d(pn.offerWallSetting.immersive):!1;t.loadAdUnitUrl(jn,jn.url,xn,{preload:!1,immersive:n})}}function ln(){t.loadAdUnitUrl(jn,jn.url,xn,{preload:!1})}function un(){return En.dialogErrorMessage}function dn(e){t.log("No OfferWall dialog error",t.LogLevels.verbose);var n={productType:Cn,message:un(e),alwaysClose:!0,yes:"close",no:"OK"};t.alert(n)}function fn(){var e="//staging-ow-gateway.sonic-us.supersonicads.com/gateway/offerwall/request",n="//ow-gateway.supersonicads.com/gateway/offerwall/request",i=t.getProtocol();Pn={dev:i+e,stage:i+e,prod:i+n}}function gn(e){return Pn[e]||Pn.prod}var pn=e("../components/Constants.js"),vn,hn=!1,mn=10,bn=6e4,Sn="/api/v1/guc.php?format=json",yn="openRTB",Cn="OfferWall",Dn="TaskManager",In="NativeCallback",An=window.jQuery,wn,Ln={},Tn,Un,On={},Pn={},xn={productType:Cn},Fn=pn.confirmCloseMsgMap,Bn={missingData:"Failed to get required parameters",invalid:"Invalid API response",appInfo:"Failed to retrieve application info",timeout:"API request timeout",server:"Server error",engaged:"Already engaged with OfferWall product",adunitAssetsTimeout:"Timeout in loading ad unit static assets",closeBeforeVisible:"User closed before ad loaded",missingDeviceIds:"Missing deviceIds",preconditions:"Failed to initiated OW, preconditions did not pass"},Rn={adunit:"adunit",inventory:"inventory",inventoryInBackground:"inventoryInBackground",preConditions:"preConditions",close:"close"},Mn={v:1,controllerId:1,applicationKey:0,applicationUserId:0,debug:0,language:0,maxVideoLength:0,itemName:0,itemCount:0,timestamp:0,localTime:1,timezoneOffset:1,itemSignature:0,disableCache:0,showDeliveryLimitationsLog:0,disableSession:0,minimumOfferCommission:0,minimumOfferCommissionSignature:0,applicationUserGender:0,applicationUserAgeGroup:0,applicationUserCreationDate:0,applicationUserCreationDateSignature:0,demoCampaigns:0,appOrientation:1,mobileCarrier:0,connectionType:1,iphoneAppOnIpadDevice:0,deviceOs:1,SDKVersion:1,deviceOSVersion:1,deviceOEM:0,deviceVolume:0,immersiveMode:0,"deviceIds[OpenUDID]":0,"deviceIds[IFA]":0,"deviceIds[IDFV]":0,"deviceIds[SERIAL]":0,"deviceIds[AndroidID]":0,"deviceIds[IMEI]":0,"deviceIds[AID]":0,deviceWidthDP:0,deviceHeightDP:0,deviceLanguage:0,deviceModel:0,diskFreeSize:1,country:0,pageSize:0,page:0,landingId:0,customParams:0,admin:0,useClientSideCallbacks:0,isLimitAdTrackingEnabled:0,SDKPluginType:0,bundleId:0,jb:0,gpi:0,allowArbitraryLoads:0,allowArbitraryLoadsInWebContent:0,mcc:0,mnc:0,appVersion:0,batteryLevel:0,deviceScreenScale:0,androidIsVersion:0},Vn={settings:{},textData:{},offers:[]},kn={SDKVersion:1},jn={id:0,url:""},Nn={openAppStoreSheet:!0,preload:!1},En={osNotSupported:"Sorry, your operating system version is not supported.",dialogErrorMessage:"Sorry, we were unable to display the wall at the moment. Please try again later.",noOffers:"Sorry, we currently have no offers to display. Please try again later.",noInternet:"No internet connection. Please connect and try again."},Kn={showOWCalled:{name:"showOWCalled",id:16},owVisible:{name:"owVisible",id:18},showOWFail:{name:"showOWFail",id:17},inventoryGetToReceived:{name:"inventoryGetToReceived",id:233},initControllerToShowOWCalled:{name:"initControllerToShowOWCalled",id:234},showOWCalledToOwVisible:{name:"showOWCalledToOwVisible",id:235},adVisibleToClose:{name:"adVisibleToClose",id:222},initOW:{name:"initOW",id:13},initOWFail:{name:"initOWFail",id:14},initOWSuccess:{name:"initOWSuccess",id:127},staticAssetsLoaded:{name:"staticAssetsLoaded",id:126}},Wn={initOWSuccess:null,initOWFailure:null},Qn=0,qn,Jn={},Gn,_n,Hn,zn,$n,Yn=!1,Xn=!1,Zn=null,et=null,nt=t.adUnitGlobals,tt="#/?productType="+Cn+"&mode=msdkctrl",it=null,rt=null,at=null,ot=null,st=null,ct=!1,lt=null,ut,dt={adUnitAssetsTimeout:6e4,pollAPITimeout:1e4},ft={offers:[],settings:{},textData:{noOffers:En.noOffers},ext:{emptyOWReason:"default empty OW reason"}},gt={precache:!1,getInventoryOnInit:!1,refreshInterval:0},pt=e("../components/CampaignsFilter.js")(n,t).factory(Cn),vt,ht,mt,bt=function(){var e=!1,i=!1,a=!1,o=!0,s=!1,c=function(){n.PubSub.subscribe(Dn+".Engaged",function(e){n.Utils.isDefined(e.duringEngage)&&(i=e.duringEngage)}),n.PubSub.subscribe(In+".enterBackground",function(){a=!0}),n.PubSub.subscribe(In+".enterForeground",function(e){a=!1,!r()||e&&n.Utils.isDefined(e.active)&&!e.active||(t.log("poll on CPI offer closed/external browser offer closed (iOS flow)",t.LogLevels.verbose),Xn=!1,It())}),n.PubSub.subscribe(In+".viewableChange",function(e){e&&n.Utils.isDefined(e.isViewable)&&(!s||!e.isViewable||n.Utils.isDefined(e.webview)&&"main"!==e.webview||(s=!1,t.postAdUnitEvent(JSON.stringify({name:"OfferClosed"}))),r()&&e.isViewable&&n.Utils.isDefined(e.webview)&&"main"===e.webview&&(t.log("poll on CPI offer closed/external browser offer closed (Android flow)",t.LogLevels.verbose),Xn=!1,It()))}),n.PubSub.subscribe(In+".deviceStatusChanged",function(e){n.Utils.isDefined(e.connectionType)&&(o="none"!==e.connectionType&&"notReachable"!==e.connectionType)})};return{init:function(){e||(c(),e=!0)},canEngage:function(){return!i&&o&&!t.getCurrentDisplayedAd()},isConnected:function(){return o},setConnection:function(e){o=e},setAdOpened:function(e){s=e},getStatusMsg:function(){return" duringEngage:"+i+" appInBackground:"+a+" isConnected:"+o},getStatus:function(){return{duringEngage:i,appInBackground:a,isConnected:o,isAdOpened:s}},duringEngage:function(){return i},publish:function(e,t){n.PubSub.publish(Dn+"."+e,t)},waitUntilAppInForeground:function(){var e=An.Deferred();return a?(t.log("Waiting for app to be in foreground",t.LogLevels.verbose),n.PubSub.subscribeOnce(In+".enterForeground",function(){e.resolve()})):e.resolve(),e.promise()},waitUntilConnected:function(){var e=An.Deferred();if(o)e.resolve();else{t.log("Waiting for internet connection",t.LogLevels.verbose);var i=n.PubSub.subscribe(In+".deviceStatusChanged",function(t){n.Utils.isDefined(t.connectionType)&&(o="none"!==t.connectionType&&"notReachable"!==t.connectionType,o&&(n.PubSub.unsubscribe(i),e.resolve()))})}return e.promise()}}}(),St=function(){n.PubSub.subscribe(Cn+".ActionClick",function(e){if(e&&e.type){var n=e.type;"openUrl"===n&&s(e)}}),n.PubSub.subscribe("SDKController.AdClosed",function(e){if(e.productType===Cn){var n="ios"===t.getApiData({deviceOs:1}).deviceOs;bt.getStatus().isAdOpened&&n&&(t.postAdUnitEvent(JSON.stringify({name:"OfferClosed"})),bt.setAdOpened(!1),r()&&(t.log("poll on ad closed",t.LogLevels.verbose),It()))}}),n.PubSub.subscribe("SDKController.AdOpened",function(e){e.productType===Cn&&(bt.setAdOpened(!0),Yn&&yt(e.bannerId,!0))}),n.PubSub.subscribe("SDKController.engageEnd",function(e,i){e.productType===Cn&&(Yn&&(t.log("poll on engageEnd(OW closed)",t.LogLevels.verbose),It()),bt.publish("Engaged",[{duringEngage:!1,productType:Cn}]),vt.unsetParamFromBaseData("landingId"),n.Utils.isFunction(i)&&i.call(),ct&&"pending"===rt.state()&&C("User closed before visible"),it&&it.always(function(){it=null;var e=!0;b(e)}))}),n.PubSub.subscribe("SDKController.adLoaded",function(e){e.adType===Cn&&(t.log("received OW ad loaded event",t.LogLevels.verbose),t.onAdLoaded(jn))}),n.PubSub.subscribe("SDKController.AdVisible",function(e){e.productType===Cn&&(t.log("line[324]: OW Ad Visible",t.LogLevels.verbose),vt.trackTimingStop(Kn.owVisible,{eNameStart:Kn.showOWCalledToOwVisible}),vt.trackTimingStart(Kn.adVisibleToClose))
  4. }),n.PubSub.subscribe("SDKController.Analytics",function(e){if(e.productType===Cn&&e&&e.action){var n=e.action,t=e.eventParam;"fireEvent"===n?vt.trackEvent(t.eName,t.label,t.data):"startTiming"===n?vt.trackTimingStart(t.eName,t.data):"stopTiming"===n?vt.trackTimingStop(t.eName,t.data):"setCustomData"===n?vt.updateBaseData(t.data):"unsetCustomData"===n&&vt.unsetParamFromBaseData(t.data)}}),n.PubSub.subscribe(In+".initOfferWall",function(e,r,a){t.log("OfferWall.js | CB.init called",t.LogLevels.verbose),t.getApplicationInfo(xn).then(i,function(e){t.callSDKFunction(a,{errMsg:e||Bn.appInfo})}).then(en).then(function(){return t.callSDKFunction(r),n.Utils.returnResolvedPromise()},function(e){return t.callSDKFunction(a,{errMsg:e}),n.Utils.returnResolvedPromise()}).then(v).then(function(){Yn&&It()})}),n.PubSub.subscribe(In+".showOfferWall",function(e,n,i){vn.showOfferWall().then(function(){t.callSDKFunction(n,{placementId:N()})},function(e){t.callSDKFunction(i,{errMsg:e})}).always(function(){on(an())&&(it=null)})}),n.PubSub.subscribe(In+".getUserCredits",function(e,i,r){if(t.checkRequiredCallbackParams(["applicationKey","applicationUserId","productType"],e,"getOfferWallCredits",r).didSucceed&&e.productType===Cn){if(n.Utils.decodeValues(e),At(e)&&bt.duringEngage()){var a="Could not provide credits, user provided is different from current user";return t.callSDKFunction(r,{errMsg:a}),void t.log(a,t.LogLevels.error)}var o=!0;v(o,e).then(function(){It(e,r)},function(e){t.log(e,t.LogLevels.error),t.callSDKFunction(r,{errMsg:"Failed to initiate client side callbacks"})})}}),n.PubSub.subscribe("SDKController.OWOfferClicked",function(e){t.getCurrentDisplayedAdType()===Cn&&a(e)}),n.PubSub.subscribe("SDKController.videoOfferClosed",function(){r()&&(Xn=!1,It())})},yt=function(e,n){$n&&"pending"===$n.state()&&An.when($n).always(function(){yt(e,n)}),Jn[e]=n,n?Gn++:Gn--,An.when(zn).always(function(){t.log("poll counter set to: "+Gn,t.LogLevels.verbose),$n=t.setUserData(On.applicationKey,On.applicationUserId,{counter:Gn}),An.when($n).always(function(){$n=null})})},Ct=function(){var e=new An.Deferred,i={counter:0,timestamp:0};return An.when(zn,$n).always(function(){An.when(t.getUserData(et,Zn)).then(function(e){Gn=i.counter=n.Utils.isDefined(e.counter)?e.counter:0,_n=i.timestamp=n.Utils.isDefined(e.timestamp)?e.timestamp:0}).always(function(){An.when(t.setUserData(et,Zn,i)).then(function(){t.log("initiation done with resolve",t.LogLevels.verbose),e.resolve()},function(){t.log("initiation done with reject",t.LogLevels.error),e.reject()})})}),e.promise()},Dt=function(e){var i,r;if(zn){if("pending"===zn.state())return zn.promise()}else zn=new An.Deferred;return i=n.PubSub.subscribe(In+".adCreditedSuccess",function(){_n=e.timestamp,zn.resolve(),t.clearHandlers([i,r])}),r=n.PubSub.subscribe(In+".adCreditedFailed",function(e){zn.reject(e.errMsg),t.clearHandlers([i,r])}),An.when($n).always(function(){t.callSDKFunction("adCredited",e,"adCreditedSuccess","adCreditedFailed")}),zn.promise()},It=function(e,i){var r={},a=[];if(t.log("In poll with counter "+Gn,t.LogLevels.verbose),!n.Utils.isDefined(e)&&0>=Gn||Hn&&"pending"===Hn.state())return void t.log("Exit poll, p:"+(Hn?Hn.state():null)+" a:"+(zn?zn.state():null),t.LogLevels.verbose);var o=t.getApiData(kn),s=0;return!n.Utils.isDefined(o.errMsg)&&n.Utils.isDefined(et)&&n.Utils.isDefined(Zn)?(n.Utils.decodeValues(o),Hn=An.ajax({url:Un,data:{aid:et,auid:Zn,SDKVersion:o.SDKVersion,timestamp:_n},timeout:dt.pollAPITimeout,type:"GET",dataType:"jsonp"}),void An.when(Hn).then(function(o){return t.log("Received poll data",t.LogLevels.verbose),n.Utils.isDefined(o.rewardsData)&&n.Utils.isDefined(o.sig)&&n.Utils.isDefined(o.rewardsSummary)?0!==o.rewardsData.length||n.Utils.isDefined(e)?(t.log(s,t.LogLevels.verbose),r={productType:Cn,credits:o.rewardsFromTime,total:o.rewardsSummary,signature:o.sig,timestamp:o.latestCompletionTime,externalPoll:n.Utils.isDefined(e),totalCreditsFlag:0===_n},void An.when(zn).always(function(){zn=null,An.when(Dt(r)).then(function(){An.each(o.rewardsData,function(){this.b&&Jn[this.b]&&yt(this.b,!1),a.push(this.id),s+=this.r?this.r:0}),a.length>0&&An.ajax({url:o.callbackURL,type:"GET",dataType:"jsonp",data:{vt:a.join(","),applicationKey:et,applicationUserId:Zn},success:function(){t.log("successfully updated server on csc",t.LogLevels.verbose)},error:function(){t.log("failed to update server on csc",t.LogLevels.error)}})}).always(function(){zn=null})})):void t.log("no new completions",t.LogLevels.verbose):(t.log("Poll data error",t.LogLevels.error),void(n.Utils.isDefined(e)&&n.Utils.isDefined(i)&&t.callSDKFunction(i,{errMsg:"Failed to retrieve user completion data, data error"})))},function(){t.log("Error retrieve user completion data",t.LogLevels.verbose),n.Utils.isDefined(e)&&n.Utils.isDefined(i)&&t.callSDKFunction(i,{errMsg:"Failed to retrieve user completion data"})})):(t.log(o.errMsg,t.LogLevels.error),void(n.Utils.isDefined(e)&&n.Utils.isDefined(i)&&t.callSDKFunction(i,{errMsg:"Failed to make polling request, missing data"})))},At=function(e){var n=e.applicationUserId,t=e.applicationKey;return n!==Zn||t!==et},wt=function(e){Zn=e.applicationUserId,et=e.applicationKey},Lt={init:function(){vn=this,An=t.jQuery(),fn();var i=t.api(),r=gn(t.getEnv());if(Un=i+Sn,!hn){var a=1,o={productChance:"prod"===t.getEnv()?a:1,baseData:{productType:Cn}};vt=n.Eventics.createEventic(o),mt=new(e("../components/FetcherService.js"))(r,Vn),bt.init(),St(),hn=!0}},getNextBtnText:function(){return n.Utils.isDefined(En.next)?En.next:"Next"},getConfirmCloseMsg:function(){return En.confirmCloseMsg&&En.confirmCloseMsg[Fn[0]]},showOfferWall:sn,isNextAvailable:function(){return!1},getBack:function(){return jn.url}};return An.extend(Lt,{_promisedCanEngage:l,_initiateClientSideCallbacks:v,_preShowOfferWall:h,_refreshInterval:m,_refreshOfferWall:b,_setAdunitAssetsTimer:S,_resolveAdunitAssetsPromise:y,_rejectAdunitAssetsPromise:C,_subscribeGetConfig:A,_subscribeCloseDuringShow:w,_loadAdunitToIframe:L,_verifyRestrictions:T,_getAPIRequiredData:U,_rejectInitWithReason:O,_generateErrorObject:P,_generateCloseBeforeVisibleErrorObject:x,_isDuringShow:B,_isDuringInit:R,_clearRefreshInterval:M,_handleDependenciesResolve:k,_handleDependenciesReject:J,_getInventory:G,_loadAdunit:_,_handleInitOfferWallError:rn,_showLoaderIfNeeded:cn,_initOfferWallByConfig:en,_displayOfferWall:ln,_getInventoryAndPreload:X,_initOfferWall:Y,_setOfferWallSettings:u,_getOfferWallSetting:d}),Lt}n.exports=i},{"../components/CampaignsFilter.js":3,"../components/Constants.js":4,"../components/FetcherService.js":6}],25:[function(e,n,t){function i(n,t,i,r){"use strict";function a(){var e=1,a={productChance:"prod"===t.getEnv()?e:1,baseData:{productType:r.AD,demandSourceName:i}};return n.Eventics.createEventic(a)}function o(e,i){var r=it(n.AdUtils.getAdId(e));r?(n.VastUtils.isVastCampaign(e)||s(r),d(r),i.callback&&i.callback.call(null,r)):t.log("line[456]: no current available ad",t.LogLevels.verbose)}function s(e){var n,i=t.getApiData({scdn:1,protocol:0,defaultProtocol:1}),r=t.decideUrlProtocolAccordingToHTTPSCompliance(),a=i.scdn;return n="dev"===t.getEnv()?t.api()+"/ssastatic":r+"//"+a,jQuery.extend(!0,e,t.getFormattedDeviceData(),{settings:{protocol:r,urltocdn:n}})}function c(){Ln=null,Tn=null}function l(e){var a=n.AdUtils.getAdId(e);nt(a);var o=xn.getStatus().duringEngage;It(a),c();var s=G.getNextAd({regardSettings:!1,userEngaged:o}),l=function(){t.log("RV | adLoaded with error - removing and moving to next offer",t.LogLevels.verbose),Ct(null),t.removeAdUnit(it(a))};if(o&&!s){var u=z.getBackfillOffer();if(u){At();var d=On.getAdType(u);Y.trackEvent(X.backFill,{bannerId:n.AdUtils.getAdId(u)},{campaignType:d}),l()}else{t.log("RV adLoaded with error | no offers for user - show dialog",t.LogLevels.verbose),t.setCloseButtonState({productType:r.AD,demandSourceName:i,state:Cn.close});var f={productType:r.AD,message:Sn&&Sn.noOffers?Sn.noOffers:$.labels.noOffers,yes:"close",alwaysClose:!0};t.alert(f),Y.trackEvent(X.userAlert,{inventoryIndex:e.inventoryIndex||-1})}}else l()}function u(){Y.incrementSessionNumber();var e,t,i,r=Dt()||st();if(r)e=n.AdUtils.getAdId(r),t=On.getAdType(r),i=r.displayMode;else{var a=ct(!0);e=n.AdUtils.getAdId(a),t=On.getAdType(a),i=rn.softprecache}Y.updateBaseData({bannerId:e,campaignType:t}),Y.trackTimingStop(X.showRV,{eNameStart:X.RVReadyToRVShow,rvPlayMethod:i}),Y.trackTimingStart(X.showRVToAdVisible)}function d(e){var n=e.displayMode==rn.softprecache?!1:Vn.isPrecache();e.settings.precache=n,e.settings.sessionDepth=jn}function f(e){return e&&e.productType===Pn.productType&&(Z||e.demandSourceName===i)}function g(e){e.templateid==r.customDialog?(yn=e.labels,yn.confirmCloseMsg[$.confirmCloseMsgMap[0]].alwaysClose=!0):Sn=e.labels}function p(){jQuery.each(In,function(e,t){n.PubSub.unsubscribe(t)})}function v(){un&&clearTimeout(un),ln&&clearInterval(ln)}function h(){p(),v(),n.PubSub.publish(r.AD+".exhaustedDemandSource",[Pn])}function m(e){var t,i=[];for(t=0;t<e.length;t++)Vn.isAdInCache(n.AdUtils.getAdId(e[t]))||i.push(e[t]);return i}function b(e){nn.vastAvailabilityValidation&&wn&&"pending"===wn.state()&&(n.Utils.isDefined(e)?(t.log("handleVastAvailability - VAST failed to load with reason: "+e,t.LogLevels.verbose),wn.reject()):(t.log("handleVastAvailability - VAST verified - resolve",t.LogLevels.verbose),wn.resolve()))}function S(e){var t="";return n.Utils.isDefined(Pn.demandSourceName)&&(t=Pn.demandSourceName),t+=Pn.productType+e}function y(e){function i(t){if(n.Utils.isDefined(e.toRemove)&&e.toRemove)return void Fn.removeIframe(S(a));t.ext.videoData.isVast=!0,n.Utils.isDefined(e.displayMode)&&(t.displayMode=e.displayMode),n.VastUtils.incrementVastViewCount(t),b(t.errMsg);var i=e;return n.VastUtils.incrementVastViewCount(i),e=t,rt(e,n.AdUtils.getAdId(e)),Ln.resolve(i,t)}function r(i){if(n.Utils.isDefined(e.toRemove)&&e.toRemove)return void Fn.removeIframe(S(a));Y.updateBaseData({bannerId:a,campaignType:o});var r=n.VastUtils.incrementVastViewCount(e);return b(i.errMsg),xn.publish("AdErrorState",[V({error:!0})]),t.log("Error in loading ad: "+i.errMsg,t.LogLevels.error),Y.trackEvent(X.adLoadedError,{generalMessage:i.errMsg},{vastViewCount:r}),n.VastUtils.setMaxVastCount(e),bt(it(a)),Ln.reject()}var a=n.AdUtils.getAdId(e),o=On.getAdType(e);if(e.ext.videoData.isVast&&Un){var c=n.VastUtils.getVastViewCount(e),l=e.settings.preload,u=e.displayMode;Un=n.VastUtils.setVastViewCount(Un,c),e=Un,e.settings.preload=l,e.displayMode=u}else e=n.VastUtils.setVastViewCount(e,0),e.ext.vastExhaustIndex&&e.ext.vastExhaustIndex>1&&(Un=e);return s(e),Ln=new jQuery.Deferred,e.vastIframeId=S(a),Fn.parseVast(e).then(i,r)}function C(e){return Y.trackEvent(X.hybridFlowFail,{callFailReason:e}),Tn.resolve()}function D(e){function n(){return a&&"resolved"!==Tn.state()?(clearTimeout(r),e.ext.isHybridFlow=!0,e.ext.forceOrientation="portrait",Tn.resolve()):void 0}function i(){a&&"resolved"!==Tn.state()&&(clearTimeout(r),C("Store load fail"))}var r,a=!0;return r=setTimeout(function(){a&&"resolved"!==Tn.state()&&(a=!1,t.HybridService.clearAppPage(e.ext.viewUniqueId),C("Store timeout"))},5e3),Tn=new jQuery.Deferred,e.ext.viewUniqueId=t.HybridService.createHybridId(e,Pn),t.HybridService.loadHybridCampaign(e).then(n,i)}function I(){return nn.vastAvailabilityValidation&&Vn.isPrecache()&&n.VastUtils.areAllCampaignTypesAreVast(at())}function A(){t.log("handleVastAvailability",t.LogLevels.verbose),L(),w(),Xn()}function w(){jQuery.when(wn).then(function(){Rn.allVastPromiseResolved(z.size(),tt())})}function L(){wn&&"pending"===wn.state()||(wn=new jQuery.Deferred)}function T(e){var n=!1,i=e?null:t.getApplicationInfo.bind(null,k({}));Lt();var a=function(e){if(!n){cn=0,xn.publish("InitiatedTimeoutAttempt",[j({duringAPITimeoutAttempts:!1})]),e=e||r.errors.init[1002],Y.trackEvent(X.initRVFail,{callFailReason:e});try{if("string"==typeof e){var i=parseInt(e);i>1001&&1006>i&&(e=r.errors.init.invalid)}}catch(a){}t.callSDKFunction(mn.initRVFailure,V({errMsg:e}))}},o=function(e){n||(cn=0,xn.publish("InitiatedTimeoutAttempt",[j({duringAPITimeoutAttempts:!1})]),kn=!1,t.callSDKFunction(mn.initRVSuccess,V(e)))},s=function(t){var i=new jQuery.Deferred;return n||(t===r.errors.init.timeout&&cn<r.maxNumOfAttemptsToCallAPI?(xn.publish("InitiatedTimeoutAttempt",[j({duringAPITimeoutAttempts:!0})]),setTimeout(function(){T(e)},r.timerLengths.initAttemptsDelay),i.resolve()):i.reject(t)),i.promise()},c=function(){return vn.push(setTimeout(function(){a(r.errors.init.timeout),n=!0},7*r.timeUnit)),(new jQuery.Deferred).resolve()};c().then(i).then(yt).then(pt).always(vt).then(o,s).then(null,a)}function U(e){return!(e.singleInventoryPerSession&&e.singleInventoryPerSession===!0)}function O(e){for(var t=0;t<e.length;t++){var i=e[t].ext.layoutData;if(n.Utils.isDefined(i)&&n.Utils.isDefined(i.html)&&i.html.length>0)return!0}return!1}function P(){var e=nn.numOfBannersToCache,t=at().slice(0,e),i=!0;return jQuery.each(t,function(e,t){return!n.AdUtils.isCacheableAd(t)||Jn(t)||Vn.isAdInCache(n.AdUtils.getAdId(t))||Vn.getAdStatusInQueue(n.AdUtils.getAdId(t))===Vn.cachingStatus.pending||(i=!1),i}),i}function x(e){var t=Vn.isPrecache();t&&!P()?Vn.updateCache():gn&&n.VastUtils.isVastCanPlayAgain(e)&&Vn.cacheSingleAd(n.AdUtils.formatVastAdForPrecache(e,_n.bind(null,e)))}function F(e,t){if(f(e)){t=n.Utils.isFunction(t)?t:function(){};var i=n.AdUtils.getAdId(e),r="Finish view all campaigns (engageEnd)";gt(i,e.engaged),x(e),xn.publish("AdErrorState",[V({error:!1})]);var a=!!G.getNextAd({regardSettings:!1,userEngaged:!0}),o=n.VastUtils.areAllCampaignTypesAreVast(at());Rn.engageEnd(o,a,z.isEmpty(),r,h,En),t()}}function B(e){if(f(e)){var t=n.AdUtils.getAdId(e),i=On.getAdType(e);Y.updateBaseData({bannerId:t,campaignType:i}),xn.publish("Engaged",[k({duringEngage:!0})]);var r=it(t),a=r.displayMode,o=n.VastUtils.isVastCampaign(r);if(o){var s=n.VastUtils.getVastViewCount(r);Y.trackTimingStop(X.adVisible,{vastViewCount:s,eNameStart:X.showRVToAdVisible}),n.VastUtils.isVastCanPlayAgain(r)||nt(t)}else Y.trackTimingStop(X.adVisible,{rvPlayMethod:a,eNameStart:X.showRVToAdVisible}),nt(t);jn++,Y.trackTimingStart(X.adVisibleToClose)}}function R(){return new(e("../../components/precacheManager.js"))(n,t,M())}function M(){return tn.cacheBase=Z?r.BC:Pn.productType+"_"+i,tn.precachePath="../"+tn.cacheBase+"/",jQuery.extend(tn,Pn),tn}function V(e){return e=e||{},Z?e:jQuery.extend({},e,{demandSourceName:i})}function k(e){return e=e||{},e.productType=On.getProductType(),V(e)}function j(e){return e=e||{},e.productType=Pn.productType,e.demandSourceName=i,V(e)}function N(e,n,r){if(e&&e.demandSourceName===i){t.initEventics(k({})),Y.trackEvent(X.initRV),Y.trackTimingStart(X.initRVToRVReady),mn.initRVSuccess=n,mn.initRVFailure=r;var a=St();a.didSucceed?(t.unloadFramesByProduct(Pn),t.log("resetting last response to none",t.LogLevels.verbose),T()):(Y.trackEvent(X.initRVFail,{callFailReason:a.errMsg,demandSourceName:i}),t.callSDKFunction(mn.initRVFailure,V({errMsg:a.errMsg})))}}function E(e,n,r){e&&e.demandSourceName===i&&(u(!1),G.preload({userEngaged:!0}).then(function(){t.callSDKFunction(n,V({}))},function(){var e="Cannot engage offer at this time";Y.trackEvent(X.showRVFail,{callFailReason:e+". "+xn.getStatusMsg()}),t.callSDKFunction(r,V({errMsg:e}))}))}function K(){return{userEngaged:!1}}function W(e){var t=z.getOfferById(e);if(!t){var i=z.getBackfillOffer();i&&e===n.AdUtils.getAdId(i)&&(t=i)}return On.getAdType(t)}function Q(e){return e.credits}function q(){return yn&&yn.confirmCloseMsg[$.confirmCloseMsgMap[0]]}function J(e,t,i){if(t&&!i&&!n.VastUtils.isVastCampaign(e)||Jn(e)){var r=n.AdUtils.getAdId(e),a=tn.precachePath+r+"/";n.AdAssets.updateAdunitPrecachePath(e,a)}}var G,_=!1,H=t.adUnitUrl;jQuery=t.jQuery();var z=new(e("./Inventory.js")),$=e("../../components/Constants.js"),Y=a(),X=r.eventicsCategories,Z,en={},nn={},tn=jQuery.extend({},r.precacheConfig),rn=r.displayMode,an=r.cacheABLandingIdObj,on=!1,sn=[],cn=0,ln=null,un=null,dn=null,fn=!1,gn=!1,pn,vn=[],hn,mn={initRVSuccess:null,initRVFailure:null},bn,Sn,yn,Cn=$.closeButtonStates,Dn=!1,In=[],An=!1,wn=null,Ln=null,Tn=null,Un=null,On=t[r.AD],Pn={productType:r.AD,demandSourceName:i},xn=new(e("./dsTaskManager.js"))(n,t,r,Pn),Fn=e("../../components/VastService.js")(n,t),Bn=new(e("./rvAvailabilityReporter.js"))(n,t,r,i,xn),Rn=new(e("./rvAvailabilityManager.js"))(n,t,Bn,r,Y),Mn=e("../../components/CampaignsFilter.js")(n,t).factory(r.AD),Vn,kn=!0,jn=1,Nn=function(){In.push(n.PubSub.subscribe("PrecacheManager.cacheUpdatedCallback",function(e){if(f(e)){t.log("globals ready: "+on+" initSuccess in settings: "+nn.numOfBannersToInitSuccess+" adUnits: "+z.size(),t.LogLevels.verbose);var n,i,a,o=Vn.getCacheSizeByType(r.AD);if(0===nn.numOfBannersToInitSuccess)i=1,n=Vn.areCampaignsAvailable(at().slice(0,i),i);else{var s=ot();i=s.length;var c=$n(z.getOffers(),nn.numOfBannersToInitSuccess);a=i>=c?c:i,n=Vn.areCampaignsAvailable(s,a)}t.log("PM | cacheUpdatedCallback cache updated areCampaignsAvailable: "+n,t.LogLevels.verbose),Rn.cacheUpdate(o,on,n,Zn)}})),In.push(n.PubSub.subscribe("PrecacheManager.campaignDeletedCallback",function(e){if(f(e)){var t,i=-1,r=null;n.Utils.isDefined(e.id)&&(t=it(e.id),r=e.id,i=t&&n.Utils.isDefined(t.inventoryIndex)?t.inventoryIndex:-1),Y.trackEvent(X.campaignDeletedCache,{inventoryIndex:i},{bannerId:r})}})),In.push(n.PubSub.subscribe("PrecacheManager.campaignSavedCallback",function(e){if(f(e)){var t,i=-1,r=null,a=null;n.Utils.isDefined(e.id)&&(t=it(e.id),r=e.id,a=On.getAdType(t),i=t&&n.Utils.isDefined(t.inventoryIndex)?t.inventoryIndex:-1),Y.trackEvent(X.campaignSavedCache,{inventoryIndex:i},{bannerId:r,campaignType:a})}})),In.push(n.PubSub.subscribe("PrecacheManager.cacheAdsSuccessCallback",function(e){f(e)&&t.log("RV cacheAdsSuccessCallback "+JSON.stringify(e),t.LogLevels.verbose)})),In.push(n.PubSub.subscribe("PrecacheManager.cacheNextFail",function(e){f(e)&&e.deletedAds&&e.deletedAds.length>0&&jQuery.each(e.deletedAds,function(e,n){var t=W(n);Y.trackEvent(X.campaignFailedToCache,{bannerId:n},{campaignType:t}),nt(n)})})),In.push(n.PubSub.subscribe("PrecacheManager.cacheAdsFailedCallback",function(e){if(f(e)){t.log("RV cacheAdsFailedCallback "+JSON.stringify(e),t.LogLevels.verbose);for(var n=e.deletedOffers.length,i=e.deletedOffers,r=0;n>r;r++){var a=i[r],o=W(a);Y.trackEvent(X.campaignFailedToCache,{bannerId:a},{campaignType:o}),et(a)}var s,c,l;if(0===nn.numOfBannersToInitSuccess)c=1,s=Vn.areCampaignsAvailable(at().slice(0,c),c);else{var u=ot();c=u.length;var d=$n(z.getOffers(),nn.numOfBannersToInitSuccess);l=c>=d?d:c,s=Vn.areCampaignsAvailable(u,l)}Rn.cacheAdsFailed(on,s,e.errorLog,Zn)}})),In.push(n.PubSub.subscribe("PrecacheManager.preProcessingFailedCallback",function(e){if(f(e)){t.log("PM | preProcessingFailedCallback "+e,t.LogLevels.verbose);var n=e.id,i=it(n);Jn(i)&&(j(i),t.addAdToLoadedCreatives(i),Xn(),l(it(n)))}})),In.push(n.PubSub.subscribe("SDKController.AdTracked",function(e){f(e)&&t.callSDKFunction("adCredited",k({credits:it(e.crid).credits}),"adCreditedSuccess","adCreditedFailed")})),In.push(n.PubSub.subscribe("SDKController.Analytics",function(e){if(f(e)&&e&&e.action){var n=e.action,t=e.eventParam;"fireEvent"===n?Y.trackEvent(t.eName,t.label,t.data):"startTiming"===n?Y.trackTimingStart(t.eName,t.data):"stopTiming"===n?Y.trackTimingStop(t.eName,t.data):"setCustomData"===n&&Y.updateBaseData(t.data)}})),In.push(n.PubSub.subscribe("SDKController.AdLoaded",function(e){if(f(e)){var i=n.AdUtils.getAdId(e),r=W(i);clearTimeout(pn),Y.updateBaseData({bannerId:i,campaignType:r}),t.log("ad loaded with params: "+JSON.stringify(e),t.LogLevels.verbose);var a=it(i),o=0;if(n.VastUtils.isVastCampaign(a)&&(o=n.VastUtils.getVastViewCount(a)),n.Utils.isDefined(e.errMsg))return xn.publish("AdErrorState",[V({error:!0})]),t.log("Error in loading ad: "+e.errMsg,t.LogLevels.error),Y.trackEvent(X.adLoadedError,{generalMessage:e.errMsg},{vastViewCount:o}),a.ext.isHybridFlow&&a.ext.viewUniqueId&&(t.HybridService.clearAppPage(a.ext.viewUniqueId),n.PubSub.publish("HybridService.closeHybridFlow",[{viewUniqueId:a.ext.viewUniqueId}])),n.VastUtils.setMaxVastCount(a),bt(it(i)),void l(e);Y.trackEvent(X.adLoaded,{vastViewCount:o}),n.Utils.isDefined(e.enableBackButton)&&t.setBackButtonState(e.enableBackButton),Rn.adLoadedSuccessfully(z.size(),tt()),t.onAdLoaded(it(e.crid))}})),In.push(n.PubSub.subscribe("SDKController.AdLoadError",function(e){f(e)&&(Rn.adLoadError(),t.unloadFramesByProduct(Pn),T())})),In.push(n.PubSub.subscribe("SDKController.AdError",function(e){f(e)&&t.log("line[455]:"+JSON.stringify(e),t.LogLevels.verbose)})),In.push(n.PubSub.subscribe("SDKController.showNextClick",function(e){f(e)&&u(!0)})),In.push(n.PubSub.subscribe(r.AD+".GetConfig",function(e){if(f(e)){var i=Dt();if(!i)return void t.log("line[331]:get config with no loaded ad",t.LogLevels.verbose);n.VastUtils.isVastCampaign(i)&&Ln?Ln.then(function(){o(i,e)}):t.HybridService.isHybridCampaign(i)&&Tn?Tn.then(function(){o(i,e)}):o(i,e)}}))},En=function(e){function i(){t.log("Can not init again "+xn.getStatusMsg(),t.LogLevels.info),un=setTimeout(function(){Dn=!1,En(e)},r.timerLengths.riDelay)}return t.log("Attempt to init again "+xn.getStatusMsg(),t.LogLevels.info),Dn?(t.log("Can not init again, already during event "+xn.getStatusMsg(),t.LogLevels.info),n.Utils.returnRejectedPromise()):(Dn=!0,xn.allowExternalCallToApi()?xn.canInitCallToApi().then(function(){t.log("can init again "+xn.getStatusMsg(),t.LogLevels.info),Rn.inventoryEmpty(e),Kn(nn.refreshInterval),t.log("Resetting last response to no offers RI",t.LogLevels.verbose),t.unloadFramesByProduct(Pn),Dn=!1,T()},i):(i(),n.Utils.returnRejectedPromise()))},Kn=function(e){t.log("setting refresh interval to: "+e,t.LogLevels.info),ln&&clearInterval(ln),0!==e&&(ln=setInterval(function(){En().fail(function(){clearInterval(ln)})},e*r.timeUnit))},Wn=function(e){var i=e.seatbid.ext;jQuery.extend(i,t.getApplicationExternalConfig().getABTestConfiguration("RewardedVideo",i.landingId)),ln&&clearInterval(ln),n.Utils.isDefined(i.refreshInterval)&&0!==i.refreshInterval&&U(i)&&Kn(i.refreshInterval),t.isLegacy(t.featureMap.rvPortraitOrientation)&&(i.orientation=$.appInfo.orientation.landscape),n.Utils.isDefined(i.vastAvailabilityValidation)||(i.vastAvailabilityValidation=An),an.hasOwnProperty(i.landingId)&&(i.numOfBannersToInitSuccess=an[i.landingId].numOfBannersToInitSuccess,i.numOfBannersToCache=an[i.landingId].numOfBannersToCache),nn=i},Qn=function(e){jQuery.each(e,function(e,t){t.inventoryIndex=e,Vn.isPrecache()&&Vn.setAdInventoryIndex(n.AdUtils.getAdId(t),e)})},qn=function(e){var n=[];return jQuery.each(e,function(e,t){t.ext&&t.ext.appData&&t.ext.appData.adAssets&&(t.ext.appData.appImages=t.ext.appData.adAssets,delete t.ext.appData.adAssets),n.push(t)}),n},Jn=function(e){return Vn.isPrecache()&&n.VastUtils.isVastCampaign(e)&&e.ext.precacheVasts},Gn=function(e){return 1===e.length&&Jn(e[0])&&(gn=!0),n.Utils.returnResolvedPromise()},_n=function(e){return I()&&L(),y(e).then(function(e,t){return n.AdUtils.formatVastAdForPrecache(t,_n.bind(null,e))})},Hn=function(e){var t=[];return gn?t.push(n.AdUtils.formatVastAdForPrecache(e[0],_n.bind(null,e[0]))):t=n.AdUtils.formatAdsForPrecache(e),t},zn=function(e){var i,r,a,o=Vn.isPrecache(),s=e.length;e=qn(e),Qn(e),i=Hn(e),r=$n(e,nn.numOfBannersToCache);var c=function(){if(hn=!1,0===s)return Rn.inventoryEmpty("Got 0 campaigns in inventory"),void h();if(z.setOffers(e.slice(0)),n.VastUtils.isThereVastCampaign(at())&&Rn.setAMSettings({reportOnAdunitReady:!1},!0),o){var a=$n(e,nn.numOfBannersToInitSuccess),c=Vn.areCampaignsAvailable(i.slice(0,a),a);t.log("RV | updateCurrentAds areCampaignsAvailable "+c,t.LogLevels.verbose),c||0!==nn.numOfBannersToInitSuccess&&0!==r||(hn=!0),Rn.preCacheMode(c,r,Zn,n.VastUtils.areAllCampaignTypesAreVast(at()),A,z.size(),tt());var l=m(i),u={cacheTimeoutSuccessCallback:function(){zn(e)},cacheTimeoutFailCallback:Yn,applicationUserId:en.applicationUserId,applicationKey:en.applicationKey,newAdsToEnterCache:l};Vn.handleCacheAds(u)}else Rn.notPreCacheMode(Zn)};o&&(a=Vn.mergeCampaigns(i,r),t.log("RV | updateCurrentAds after merge "+JSON.stringify(a),t.LogLevels.verbose)),!o||nn.purgeCacheOnInit||Vn.isUserInfoChanged()?(t.log("already purged cache so go strait to adding the new ads",t.LogLevels.verbose),c()):Vn.clearCacheByType(a).always(c)},$n=function(e,n){if(0===e.length)return 0;for(var t=n,i=0;n>i;i++)e[i].isCacheable||t--;return t},Yn=function(e){Rn.cacheTimeoutFail(e)},Xn=function(){xn.publish("InitiatedAPICall",[j({duringInit:!1})])},Zn=function(){if(t.log("handlePossibleAdUnitsReady",t.LogLevels.verbose),st()){var e=!1,i=z.size(),a=tt(),o=n.VastUtils.areAllCampaignTypesAreVast(at());(!Rn.isCurrentState(r.responseTypesWithReason.ready)||hn)&&(e=!0),gn&&I()?w():Rn.canReportAvailable(i,a,o),e&&G.preloadNext({userEngaged:!1})}},et=function(e){z.removeOfferById(e)&&!z.isEmpty()&&Vn.incrementNextCampaign()},nt=function(e){if(!wt()){var n=z.getOfferById(e);n?n.toRemove=!0:t.log("Error in mark current ad to be removed:"+e,t.LogLevels.error),Un=null}},tt=function(){for(var e=0,n=0,t=z.getOffers(),i=z.size();i>n;n++)e+=t[n].credits;return e},it=function(e){var n=z.getOfferById(e);if(!n){if(wt())return z.getBackfillOffer();t.log("Error in getAdUnitById, id "+e+" not found in "+JSON.stringify(z.getOffers()),1)}return n},rt=function(e,n){return z.replaceOfferById(e,n)},at=function(){return jQuery.grep(z.getOffers(),function(e){return!(n.Utils.isDefined(e.toRemove)&&e.toRemove)})},ot=function(){var e=at();return jQuery.grep(e,function(e){return e.isCacheable})},st=function(){var e,t=it(n.AdUtils.getAdId(ft()));return Vn.isPrecache()&&t&&t.isCacheable?(t=it(n.AdUtils.getAdId(dt())),e=rn.precache):e=rn.nonprecache,t&&!t.displayMode&&lt(t,e),t},ct=function(e){if(!e)return!1;var t=ut();return t?it(n.AdUtils.getAdId(t)):null},lt=function(e,n){return e?void(e.displayMode=n):!1},ut=function(){return at().length>0?at()[0]:null},dt=function(){return Vn.getCurrentAd(0===nn.numOfBannersToInitSuccess?at().slice(0,1):at())},ft=function(){return z.getCurrentOffer()},gt=function(e){xn.publish("Engaged",[j({duringEngage:!1})]),Ct(null),c();var i=it(e);return clearTimeout(pn),i?(t.log("onEngageEnd with params: "+JSON.stringify(i),t.LogLevels.verbose),It(e),void(n.Utils.isDefined(i)&&i.toRemove&&(t.log("removing ad",t.LogLevels.verbose),et(e)))):void t.log("Tried to end engage with no ad",t.LogLevels.error)},pt=function(){var e=function(){return xn.canInitCallToApi().then(function(){},function(){return t.log(r.errors.init[1001]+xn.getStatusMsg(),t.LogLevels.error),r.errors.init[1001]})},a=function(e){if(en=e,kn){var i=t.getApiData({fpf:0});i&&(en.fpf=i.fpf)}return en.impressionsCount=jn-1,n.Utils.returnResolvedPromise(en)},o=function(){return xn.publish("InitiatedAPICall",[j({duringInit:!0})]),cn++,n.Utils.decodeValues(en),en.demandSource=i,jQuery.ajax({url:bn,data:en,type:"GET",dataType:"jsonp",timeout:r.timerLengths.apiResponseTimeout})},s=function(e){var t=new jQuery.Deferred;if(n.Utils.isDefined(e.response)&&n.Utils.isDefined(e.response.errorCode)){Xn();var i=n.Utils.isDefined(e.response.errorMessage)&&e.response.errorMessage?e.response.errorMessage:r.errors.init[1003];t.reject(i)}else n.Utils.isDefined(e.seatbid)&&n.Utils.isDefined(e.seatbid.bid)&&n.Utils.isDefined(e.seatbid.ext)&&n.Utils.isDefined(e.seatbid.ext.labels)?t.resolve(e):(Xn(),t.reject(r.errors.init[1004]));return t.promise()},c=function(){return sn.length>0&&(en.blacklistedCampaigns=sn.join(",")),n.Utils.returnResolvedPromise(en)},l=function(e,n){var t,i=new jQuery.Deferred;switch(t=r.errors.init[1005],typeof e){case"object":e.responseText&&""!==e.responseText?t=e.responseText:e.errorMessage&&""!==e.errorMessage&&(t=e.errorMessage);break;case"string":""!==e&&(t=e)}return Xn(),i.reject("timeout"===n?r.errors.init.timeout:t),i.promise()},u=function(e){for(var t=e&&e.length||0,i="",r=0;t>r;r++)i+=On.getAdType(e[r]),t-1>r&&(i+=", ");return Y.updateBaseData({feedSize:t,feedCampaignOrder:i}),n.Utils.returnResolvedPromise()},d=function(e){xn.setConnection(!0);var i=e.seatbid.bid,a=e.seatbid.ext;if(Y.updateBaseData({landingId:a.landingId,strategyId:a.strategyId}),e.seatbid.backfill){var o=e.seatbid.backfill;o.id=n.AdUtils.getAdId(o),lt(o,rn.softprecache),z.setBackfillOffer(o)}return jQuery.when(Wn(e),g(a)).then(Mn.filterByAppInstalled.bind(null,i,nn,r.filterSupportedTypes)).then(u.bind(null,i)).then(Vn.decidePrecacheStatus.bind(null,{numOfCampaigns:i.length,settings:nn})).then(function(){return Rn.setAMSettings({vastAvailabilityValidation:nn.vastAvailabilityValidation,shouldRefreshInventory:U(nn),isPreCache:Vn.isPrecache(),numOfBannersToInitSuccess:nn.numOfBannersToInitSuccess,reportOnAdunitReady:nn.reportOnAdunitReady}),i&&i.length>0?(on=!1,On.updateAdUnitGlobals(Vn.isPrecache())):n.Utils.returnRejectedPromise("We did not receive any campaigns in inventory")}).then(function(){var e=O(i);return e?t.adUnitLibs.handleDownloadDapi():n.Utils.returnResolvedPromise()}).then(Vn.handleCacheClear).then(Gn(i)).then(function(){return on=!0,zn(i)}).fail(function(e){Lt(),e&&t.log(e,t.LogLevels.error),Rn.inventoryEmpty(e||"Fail parse adUnit info from api response")}),(new jQuery.Deferred).resolve(jQuery.extend({},e.seatbid.ext,{numOfAdUnits:e.seatbid.bid.length}))};return e().then(t.getAPIRequiredData).then(a).then(c).then(o).then(s).then(d,l)},vt=function(){jQuery.each(vn,function(e,n){clearTimeout(n)}),vn=[]},ht=function(){if(!xn.canEngage()){if(t.log("Cannot engage at this time "+xn.getStatusMsg(),t.LogLevels.error),!xn.getStatus().isConnected){var e={productType:r.AD,message:Sn&&Sn.noInternet?Sn.noInternet:$.labels.noInternet,yes:"close",alwaysClose:!0};t.alert(e)}return!1}return xn.publish("Engaged",[j({duringEngage:!0})]),!0},mt=function(e){var i=n.AdUtils.getAdId(e);t.log("Error in loading ad - timeout in "+i,t.LogLevels.error),Y.trackEvent(X.showRVFail,{callFailReason:"Error in loading ad - timeout in "+i}),j(e),n.VastUtils.isVastCampaign(e)&&bt(e),nt(i),Ct(null),c(),Fn.removeIframe(S(i)),t.removeAdUnit(e)},bt=function(e){wt()||(e&&e.cid&&-1===sn.indexOf(e.cid)?sn.push(e.cid):t.log("line[1308]: cannot add to blacklist with no ad",t.LogLevels.error))},St=function(){var e={errMsg:"",didSucceed:!0};return n.Utils.isDefined(nn.allowMultiInitCalls)&&!nn.allowMultiInitCalls?(e.errMsg=r.errors.init.multi,e.didSucceed=!1):xn.allowExternalCallToApi()||(e.errMsg="Already attempting to initiate",e.didSucceed=!1),e},yt=function(){un&&clearTimeout(un)},Ct=function(e){dn=e},Dt=function(){return dn},It=function(e){var n=z.getBackfillOffer();n&&e==n.id&&(fn=!1)},At=function(){fn=!0},wt=function(){return fn===!0},Lt=function(){z.reset(),Ct(null),c(),Rn.reset()},Tt={name:i,init:function(){G=this,_||(Lt(),Z=t.isLegacy(t.featureMap.MDS),Vn=R(n,t),bn=On.getDestination(i),Nn(),Vn.init(),xn.init(),_=!0)},getConfirmCloseMsg:q,extendCallbackWithProductConfig:k,extendInternalObjWithProductConfig:j,isNextAvailable:function(){if(Vn.isPrecache()){var e=at();return Vn.isNextAvailable(e)||e&&e[0]&&!e[0].isCacheable}return z.isNextOfferAvailable()||n.VastUtils.isVastCanPlayAgain(st())},prepareAdToEngageEnd:function(e){return Jn(e)?Vn.deleteCachedCampaign(n.AdUtils.getAdId(e)):n.Utils.returnResolvedPromise()},getNextAd:function(e){var n=G.isNextAvailable();return Vn.isPrecache()&&!n&&(n=ct(e.userEngaged)),!n&&wt()&&(n=z.getBackfillOffer()),n},preloadNext:function(e){e=e||K();var i=at(),r=st();Rn.preLoadNext(n.VastUtils.areAllCampaignTypesAreVast(i),A),e.userEngaged||Vn.isPrecache()&&!n.VastUtils.isVastCampaign(r)||n.VastUtils.areAllCampaignTypesAreVast(i)?(t.log("line[1390]:preloading ad "+n.AdUtils.getAdId(r),t.LogLevels.verbose),G.preload(e)):t.log("line[1393]:skipping preload with "+n.AdUtils.getAdId(r),t.LogLevels.verbose)},preload:function(e){hn=!1,e=e||K();var i,a,o,s=!1,c=Vn.isPrecache(),u={preload:e.userEngaged?!e.userEngaged:!0};if(!xn.canPreload()){if(t.log("Cannot preload at this time",t.LogLevels.error),t.log("line[1228]: status - "+xn.getStatusMsg(),t.LogLevels.verbose),!xn.getStatus().isConnected&&!u.preload){var d={productType:r.AD,message:Sn&&Sn.noInternet?Sn.noInternet:$.labels.noInternet,yes:"close",alwaysClose:!0};
  5. t.alert(d)}return n.Utils.returnRejectedPromise()}return i=Dt()||st(),i||(i=ct(e.userEngaged),lt(i,rn.softprecache),i)?(i.displayMode==rn.softprecache&&(s=!0),J(i,c,s),t.log("line[1019]: preload with "+JSON.stringify(i),t.LogLevels.verbose),Ct(i),a=s?H.getAdunitUrl(!1,Pn):H.getAdunitUrl(c,Pn),o=c?r.timerLengths.p:r.timerLengths.np,clearTimeout(pn),pn=setTimeout(function(){mt(i)},o),jQuery.extend(nn,u),u.preload||ht(),t.HybridService.isHybridCampaign(i)&&(null!==Tn&&"pending"===Tn.state()&&e.userEngaged?(Tn.resolve(),Y.trackEvent(X.hybridFallback),t.HybridService.clearAppPage(i.ext.viewUniqueId),n.PubSub.publish("HybridService.closeHybridFlow",[{viewUniqueId:i.ext.viewUniqueId}])):null!==Tn||e.userEngaged||n.Utils.isDefined(i.toRemove)&&i.toRemove||D(i)),t.loadAdUnitUrl(i,a,Pn,nn)&&clearTimeout(pn),!gn&&n.VastUtils.isVastCampaign(i)&&(null!==Ln||n.Utils.isDefined(i.toRemove)&&i.toRemove||y(i).then(null,l.bind(null,i))),n.Utils.returnResolvedPromise()):(t.log("Cannot preload with no offer",t.LogLevels.error),n.Utils.returnRejectedPromise())},adVisible:B,engageEnd:F,initAds:N,showAd:E,getOfferCredits:Q};return G=Tt,Tt}n.exports=i},{"../../components/CampaignsFilter.js":3,"../../components/Constants.js":4,"../../components/VastService.js":16,"../../components/precacheManager.js":18,"./Inventory.js":26,"./dsTaskManager.js":29,"./rvAvailabilityManager.js":30,"./rvAvailabilityReporter.js":31}],26:[function(e,n,t){function i(){function e(){return g.length}function n(){return g}function t(e){Array.isArray(e)&&(p=0,g=e)}function i(){return g[p]}function r(){return v}function a(e){v=e}function o(n){var t,i=l(n);return i>-1&&(t=g.splice(i,1)[0],t&&(d()?p=-1:i>p?p=(p+1)%e():p>i&&p--)),t}function s(e){var n=l(e);return n>-1?g[n]:void 0}function c(e,n){var t=l(n);return t>-1?(g[t]=e,g[t]):void 0}function l(n){if(void 0===n)return-1;for(var t=0,i=e(),r=n.toString();i>t&&n;t++)if(g[t].id===r)return t;return-1}function u(){return!d()&&(p+1)%e()!==p}function d(){return 0===e()}function f(){g=[],p=-1,v=null}var g=[],p=-1,v,h={getOffers:n,getCurrentOffer:i,getOfferById:s,getBackfillOffer:r,setOffers:t,setBackfillOffer:a,removeOfferById:o,replaceOfferById:c,isNextOfferAvailable:u,isEmpty:d,size:e,reset:f};return h}n.exports=i},{}],27:[function(e,n,t){function i(n,t){"use strict";function i(e){var n={errMsg:"",didSucceed:!0};return t.isSupportedOsVersion(L.RV)||(n.errMsg="Operating system version "+t.getApiData({deviceOSVersion:1}).deviceOSVersion+" is not supported",n.didSucceed=!1,P.trackEvent(x.initRV,{callFailReason:n.errMsg,demandSourceName:e.demandSourceName}),P.trackEvent(x.initRVFail,{callFailReason:n.errMsg,demandSourceName:e.demandSourceName})),n}function r(i){return D[i]?D[i]:(D[i]=new(e("./DemandSource.js"))(n,t,i,T),D[i].init(),D[i])}function a(e){var n={"default":{}};return n[O.openUrlMethods.storeKit]={appId:e.appId,viewUniqueId:e.viewUniqueId},n[O.openUrlMethods.external_browser]={},n[O.openUrlMethods.store]={},n[O.openUrlMethods.webview]={controls:!0},n[e.method]||n["default"]}function o(e){return e=e||{},e.productType=m(),e}function s(e){return e&&(e.productType===L.RV||e.productType===L.BC)}function c(e){return e&&e.videoData&&e.videoData.videoType&&"ssa-internal-video-player"===e.videoData.videoType}function l(e){return e&&e.type&&"MRAID"===e.type}function u(e){return e&&e.type&&"playableAd"===e.type}function d(e){return e&&e.videoData&&e.videoData.videoType&&"ssa-external-video-player"===e.videoData.videoType}function f(){var e="//staging-rv-gateway.sonic-us.supersonicads.com/gateway/sdk/request",n="//rv-gateway.supersonicads.com/gateway/sdk/request",i=t.getProtocol();F={dev:i+e,stage:i+e,prod:i+n};var r=t.getApiData({destinationMap:0});if(r&&r.destinationMap){B=r.destinationMap;var a,o;for(a in B)o=B[a],B[a]=i+o}}function g(e){return e.credits}function p(){return t.isLegacy(t.featureMap.hybrid)||!t.isLegacy({ios:"5.38",android:"99"})}function v(e){var n,i=e.callback;e.method||(e.method="ios"===t.getApiData({deviceOs:1}).deviceOs?e.appId&&p()?O.openUrlMethods.storeKit:O.openUrlMethods.external_browser:O.openUrlMethods.store);var r=a(e);n=A.extend({url:e.url,method:e.method},r),t.openUrl(n,i)}function h(e){var n;return n=B&&B[e]?B[e]:F[t.getEnv()]}function m(){return k?L.BC:L.RV}function b(e){return M[e]||M.other}function S(e){if(!e)return t.log("entering getAdType with no ad",t.LogLevels.verbose),"";var n=K(e);return b(n)}function y(e){return w.updateAdUnitGlobals(e)}function C(e){return e?D[e]:(t.log("cannot extract demand source name from data",t.LogLevels.verbose),null)}var D,I=!1,A=t.jQuery(),w=t.adUnitGlobals,L=e("./rvConfig.js")(n),T=e("./dsConfig.js")("RewardedVideo"),U=e("./rvTaskManager.js")(n,t,L),O=e("../../components/Constants.js"),P,x=L.eventicsCategories,F={},B={},R=L.campaignTypes,M=L.shortcutCampaignTypes,V=O.confirmCloseMsgMap,k,j=function(){n.PubSub.subscribe(L.RV+".exhaustedDemandSource",function(e){var n=e.demandSourceName;s(e)&&n&&D[n]&&delete D[n]}),n.PubSub.subscribe("SDKController.AdVisible",function(e){if(s(e)){U.publish("Engaged",[o({duringEngage:!0})]);var n=C(e.demandSourceName);n&&n.adVisible(e)}}),n.PubSub.subscribe("SDKController.engageEnd",function(e,t){if(s(e)){var i=C(e.demandSourceName);i&&i.engageEnd(e,function(){E(e.engaged),n.Utils.isFunction(t)&&t()})}}),n.PubSub.subscribe("SDKController.AdClicked",function(e){var n=t.getCurrentDisplayedAd();s(e)&&n&&"CPVI"===n.ext.type&&t.callSDKFunction("adClicked",{productType:L.RV,demandSourceName:n.demandSourceName})}),n.PubSub.subscribe(L.RV+".ActionClick",function(e){if(e&&e.type){var n=e.type;"openUrl"===n&&v(e)}}),n.PubSub.subscribe(L.CB+".initRewardedVideo",function(e,n,a){if(!e||!e.demandSourceName)return P.trackEvent(x.initRVFail,{callFailReason:"Missing demand name on initiation"}),void t.callSDKFunction(a,{errMsg:"Missing demand name on initiation"});var o=i(e);return o.didSucceed?void r(e.demandSourceName).initAds(e,n,a):void t.callSDKFunction(a,{errMsg:o.errMsg,demandSourceName:e.demandSourceName})}),n.PubSub.subscribe(L.CB+".showRewardedVideo",function(e,n,i){if(!e||!e.demandSourceName)return void t.callSDKFunction(i,{errMsg:"Missing demand name on show."});var r=C(e.demandSourceName);return r?void r.showAd(e,n,i):void t.callSDKFunction(i,{errMsg:"Error calling show, uninitialized product.",demandSourceName:e.demandSourceName})}),n.PubSub.subscribe(L.CB+".initBrandConnect",function(e,n,a){if(!t.isLegacy(t.featureMap.MDS))return void t.callSDKFunction(a,{errMsg:"Unsupported API function, use initAds instead."});e||(e={}),e.demandSourceName=L.BC;var o=i(e);return o.didSucceed?(t.initEventics({productType:L.BC}),void r(L.BC).initAds(e,n,a)):void t.callSDKFunction(a,{errMsg:o.errMsg})}),n.PubSub.subscribe(L.CB+".showBrandConnect",function(e,n,i){if(!t.isLegacy(t.featureMap.MDS))return void t.callSDKFunction(i,{errMsg:"Unsupported API function, use showRewardedVideo instead."});var r=C(L.BC);return r?(e||(e={}),e.demandSourceName=L.BC,void r.showAd(e,n,i)):void t.callSDKFunction(i,{errMsg:"Error calling show, uninitialized product."})})},N=function(e){var i,r,a,o=e.seatbid.ext.perimeterxTag;return!n.Utils.isDefined(window._pxAppId)&&o&&(i=t.getApiData({protocol:0,defaultProtocol:1,applicationKey:1,applicationUserId:1}),r=i.protocol||i.defaultProtocol,a=new Image,window._pxAppId=o._pxAppId,window._pxPubHost=o._pxPubHost,window._pxRootUrl=r+"//collector.a.pxi.pub",window._pxParam1=i.applicationKey,window._pxParam2=i.applicationUserId,window._pxParam3="",n.Utils.getScript(r+o.src,null,null),a.src=r+o.pixel),n.Utils.returnResolvedPromise(e)},E=function(e){e&&U.publish("Engaged",[{duringEngage:!1,productType:L.RV}])},K=function(e){var i=e&&e.ext,r="";return i?r=n.VastUtils.isVastCampaign(e)?R.vast:t.HybridService.isHybridCampaign(e)?R.hybrid:u(i)?R.playable:l(i)?R.mraid:d(i)?R.external:c(i)?R.internal:R.other:r},W={name:"RewardedVideo",init:function(){if(D=this,!I){var e=1,i={productChance:"prod"===t.getEnv()?e:1,baseData:{productType:L.RV}};P=n.Eventics.createEventic(i),k=t.isLegacy(t.featureMap.MDS),j(),U.init(),f(),I=!0}},getProductType:m,getDestination:h,getAdType:S,getProductTM:function(){return U},updateAdUnitGlobals:y};return D=W,W}n.exports=i},{"../../components/Constants.js":4,"./DemandSource.js":25,"./dsConfig.js":28,"./rvConfig.js":32,"./rvTaskManager.js":33}],28:[function(e,n){function t(e){var n=6e4,t={none:0,ready:1,notReady:2};return{initiated:!1,AD:e,BC:"BrandConnect",CB:"NativeCallback",TM:"TaskManagerDS",errors:{init:{missingData:"Failed to get required parameters",multi:"Multiple Init calls not allowed",invalid:"Invalid API response",timeout:"API request timeout",1001:"Trying to call API while during an un-finished process",1002:"1002",1003:"1003",1004:"1004",1005:"1005"},show:{isConnected:"no internet connection",duringEngage:"already engaged with an offer"},vast:{noOffers:"empty"}},displayMode:{nonprecache:"nonprecache",precache:"precache",softprecache:"softprecache"},responseTypesWithReason:t,precacheConfig:{maxCachedCampaigns:10,nonPrecacheFallback:5*n,cacheBase:null,precachePath:null},timeUnit:n,timerLengths:{initAttemptsDelay:1e4,apiResponseTimeout:1e4,riDelay:2*n,p:8e3,np:8e3},cacheABLandingIdObj:{1022:{numOfBannersToInitSuccess:2,numOfBannersToCache:2},1020:{numOfBannersToInitSuccess:0,numOfBannersToCache:2},1011:{numOfBannersToInitSuccess:1,numOfBannersToCache:1},1010:{numOfBannersToInitSuccess:0,numOfBannersToCache:1},1021:{numOfBannersToInitSuccess:1,numOfBannersToCache:2}},customDialog:4,filterSupportedTypes:["CPVI","playableAd"],maxNumOfAttemptsToCallAPI:3,eventicsCategories:{initRV:{name:"initRV",id:1},initRVFail:{name:"initRVFail",id:2},initRVToRVReady:{name:"initRVToRVReady",id:226},RVReady:{name:"RVReady",id:3},RVReadyToRVShow:{name:"RVReadyToRVShow",id:227},showRV:{name:"showRV",id:4},showRVFail:{name:"showRVFail",id:5},showRVToAdVisible:{name:"showRVToAdVisible",id:229},adVisible:{name:"adVisible",id:8},videoStarted:{name:"videoStarted",id:9},videoCompleted:{name:"videoCompleted",id:10},endCardDisplayed:{name:"endCardDisplayed",id:11},clickDownloadNow:{name:"clickDownloadNow",id:12},endCardDisplayedToClickDownload:{name:"endCardDisplayedToClickDownload",id:200},campaignSavedCache:{name:"campaignSavedCache",id:106},campaignsAvailableFromCache:{name:"campaignsAvailableFromCache",id:107},noMoreOffers:{name:"noMoreOffers",id:105},clickReplay:{name:"clickReplay",id:111},clickVideoSound:{name:"clickVideoSound",id:112},adVisibleToClose:{name:"adVisibleToClose",id:222},adLoaded:{name:"adLoaded",id:6},adLoadedError:{name:"adLoadedError",id:7},userAlert:{name:"userAlert",id:113},backFill:{name:"backFill",id:115},campaignFailedToCache:{name:"campaignFailedToCache",id:109},campaignDeletedCache:{name:"campaignDeletedCache",id:108},hybridFallback:{name:"hybridFallback",id:118},hybridFlowFail:{name:"hybridFlowFail",id:120}}}}n.exports=t},{}],29:[function(e,n){function t(e,n,t,i){function r(e){return e&&e.productType===i.productType&&(!i.demandSourceName||e.demandSourceName===i.demandSourceName)}var a,o=!1,s=!1,c=!1,l=!1,u=!1,d=!1,f=function(){e.PubSub.subscribe(t.TM+".InitiatedAPICall",function(n){r(n)&&e.Utils.isDefined(n.duringInit)&&(s=n.duringInit)}),e.PubSub.subscribe(t.TM+".AdErrorState",function(n){r(n)&&e.Utils.isDefined(n.error)&&(u=n.error)}),e.PubSub.subscribe(t.TM+".Engaged",function(t){r(t)&&e.Utils.isDefined(t.duringEngage)&&(c=t.duringEngage,n.log("duringEngage "+c+" on demand "+i.demandSourceName,n.LogLevels.verbose))}),e.PubSub.subscribe(t.TM+".CacheUpdateStatus",function(n){r(n)&&e.Utils.isDefined(n.duringCacheUpdate)&&(l=n.duringCacheUpdate)}),e.PubSub.subscribe(t.TM+".InitiatedTimeoutAttempt",function(n){r(n)&&e.Utils.isDefined(n.duringAPITimeoutAttempts)&&(d=n.duringAPITimeoutAttempts)})};return{init:function(){o||(f(),o=!0,a=n[i.productType].getProductTM())},canEngage:function(){return!s&&!c&&a.canEngage()},canPreload:function(){return!u&&!s&&!c&&a.isConnected()},canInitCallToApi:function(){var n=!c&&!s&&!l&&a.isConnected();return n?a.canInitCallToApi():e.Utils.returnRejectedPromise()},allowExternalCallToApi:function(){return!d},setConnection:function(e){return a.setConnection(e)},getStatusMsg:function(){return" duringInit:"+s+" duringEngage:"+c+" duringCacheUpdate:"+l+" error state:"+u+" during timeout attempts:"+d+a.getStatusMsg()},getStatus:function(){return{duringInit:s,duringEngage:c,duringCacheUpdate:l,adErrorState:u,timeoutAttempts:d,isConnected:a.isConnected()}},publish:function(n,i){e.PubSub.publish(t.TM+"."+n,i)}}}n.exports=t},{}],30:[function(e,n){function t(e,n,t,i,r){function a(e,n){e&&"object"==typeof e&&(n?jQuery.extend(T,e):T=e)}function o(e){e&&r.trackEvent(w.noMoreOffers,{rvNoMoreOffersReason:e}),t.publishAvailabilityFalse("NoMoreOffers")}function s(e,n,t,i){e&&n?i():o(t)}function c(e,n,t,i){0===e?o("Cache updated with zero campaigns"):n&&t&&i()}function l(e){o(e)}function u(e){o(e)}function d(){o("Ad loaded with error")}function f(e){return T.vastAvailabilityValidation&&T.isPreCache&&e}function g(e,n,t,i,r,a){f(e)?(n(),r()):T.reportOnAdunitReady&&T.isPreCache&&0!==T.numOfBannersToInitSuccess&&0!==a||r()}function p(e,n,t){f(t)||A(e,n)}function v(e,n){f(e)&&n()}function h(e,n){A(e,n)}function m(e,n,i,r,a,s){f(e)&&t.publishAvailabilityFalse("AllOffersVast"),n||!T.isPreCache&&!i||(T.shouldRefreshInventory?s(r):(o(r),a()))}function b(e,i){n.log("Availability Manager | reportAdAvailable",n.LogLevels.verbose),S(L.ready)||(S(L.none)&&(r.trackTimingStop(w.RVReady,{eNameStart:w.initRVToRVReady}),r.trackTimingStart(w.RVReadyToRVShow)),t.publishAvailabilityTrue(e,i))}function S(e){return t.isCurrentState(e)}function y(e){e()}function C(e,n,t,i,a,o,s){e?(r.trackEvent(w.campaignsAvailableFromCache),t()):(0===T.numOfBannersToInitSuccess||0===n)&&g(i,a,o,s,t,n)}function D(){t.setLastResponse(L.none),T={}}function I(e,n){T.reportOnAdunitReady&&T.isPreCache&&b(e,n)}function A(e,n){T.reportOnAdunitReady&&T.isPreCache&&0!==T.numOfBannersToInitSuccess?t.reportNotInInit():b(e,n)}var w=i.eventicsCategories,L=i.responseTypesWithReason,T={},U={setAMSettings:a,cacheAdsFailed:s,cacheUpdate:c,cacheTimeoutFail:u,canReportAvailable:p,adLoadError:d,inventoryEmpty:l,engageEnd:m,reportBasedOnVast:g,shouldValidateVast:f,isCurrentState:S,preLoadNext:v,allVastPromiseResolved:h,notPreCacheMode:y,preCacheMode:C,reset:D,adLoadedSuccessfully:I};return U}n.exports=t},{}],31:[function(e,n){function t(e,n,t,i,r){function a(e){v=e}function o(){return v}function s(e){return v===e}function c(e){g(),s(p.notReady)||("NoMoreOffers"===e||"AllOffersVast"===e&&s(p.ready))&&(l(e,0,0,0),v=p.notReady)}function l(n,i,r,a){e.PubSub.publish(t.AD+"."+n,[d({numOfAdUnits:i,firstCampaignCredits:r,totalNumberCredits:a})])}function u(e,n){g(),s(p.ready)||(l("CacheReady",e,1,n),v=p.ready)}function d(e){return e=e||{},e.productType=m.getProductType(),h?e:jQuery.extend({},e,{demandSourceName:i})}function f(e){return e=e||{},e.productType=t.AD,e.demandSourceName=i,e}function g(){r.publish("InitiatedAPICall",[f({duringInit:!1})])}var p=t.responseTypesWithReason,v=p.none,h=n.isLegacy(n.featureMap.MDS),m=n[t.AD],b={setLastResponse:a,getLastResponse:o,publishAvailabilityTrue:u,publishAvailabilityFalse:c,isCurrentState:s,reportNotInInit:g};return b}n.exports=t},{}],32:[function(e,n){function t(){var e=6e4,n={mraid:"MRAID",vast:"VAST",external:"EXTERNAL",internal:"INTERNAL",playable:"PLAYABLE",hybrid:"HYBRID",other:"OTHER"},t={};return t[n.mraid]="MR",t[n.vast]="VA",t[n.external]="EX",t[n.internal]="AT",t[n.playable]="PL",t[n.hybrid]="HY",t[n.other]="OT",{initiated:!1,RV:"RewardedVideo",BC:"BrandConnect",CB:"NativeCallback",TM:"TaskManager",errors:{init:{missingData:"Failed to get required parameters",multi:"Multiple Init calls not allowed",invalid:"Invalid API response",timeout:"API request timeout",1001:"Trying to call API while during an un-finished process"},show:{isConnected:"no internet connection",duringEngage:"already engaged with an offer"},vast:{noOffers:"empty"}},timeUnit:e,timerLengths:{initAttemptsDelay:1e4,apiResponseTimeout:1e4,riDelay:2*e,p:8e3,np:8e3},deviceDataRequestObject:{deviceOs:1,SDKVersion:1,deviceOSVersion:1},maxNumOfAttemptsToCallAPI:3,eventicsCategories:{initRV:{name:"initRV",id:1},initRVFail:{name:"initRVFail",id:2}},campaignTypes:n,shortcutCampaignTypes:t}}n.exports=t},{}],33:[function(e,n){function t(e,n,t){var i=!1,r=!1,a=!1,o=!0,s=t.CB+".enterBackground",c=t.CB+".enterForeground",l=function(){e.PubSub.subscribe(t.TM+".Engaged",function(i){(e.Utils.isDefined(i.duringEngage)&&i.productType===t.RV||i.productType===t.BC)&&(r=i.duringEngage,n.log("line[186]:duringEngage "+r,n.LogLevels.verbose))}),e.PubSub.subscribe(s,function(){a=!0}),e.PubSub.subscribe(c,function(){a=!1}),e.PubSub.subscribe(t.CB+".deviceStatusChanged",function(n){e.Utils.isDefined(n.connectionType)&&(o="none"!==n.connectionType&&"notReachable"!==n.connectionType)})};return{init:function(){i||(l(),i=!0)},canEngage:function(){return!r&&o},isConnected:function(){return o},setConnection:function(e){o=e},canInitCallToApi:function(){var n=new jQuery.Deferred;return a?e.PubSub.subscribeOnce(c,function(){n.resolve()}):n.resolve(),n.promise()},getStatusMsg:function(){return"product TM - duringEngage:"+r+" appInBackground:"+a+" isConnected:"+o},getStatus:function(){return{duringEngage:r,appInBackground:a,isConnected:o}},publish:function(n,i){e.PubSub.publish(t.TM+"."+n,i)}}}n.exports=t},{}],34:[function(e,n){function t(e){function n(e,n,t,i,r,a,o,s){I=e,A=n.debug,w=n.domain,L=n.protocol,T=n.scdn,O=t,P=i,x=r,F=a,B=o,U=s}function t(e){L=e}function i(){return j}function r(){var e=L+"//",n="/adunit/dist";if(A&&parseInt(A)>0&&"www.supersonicads.com"!==w)if("local.supersonicads.com"===w)e=e+w+"/ssastatic"+n+"/dev/";else{var t=w.split(".")[0];e=e+T+n+"/"+t+"/"}else e=e+T+n+"/prod/";return e}function a(){return O.ajax({dataType:"json",url:Q.getStaticGlobalsUrl()+"adunitStaticAssets.json",timeout:E.apiResponseTimeout}).then(function(e){if(e&&e.html)return e;var n=O.Deferred();return n.reject(N.failedDownloading),n.promise()},function(){return N.failedDownloading})}function o(n){var t=O.extend(!0,{},n);return t[e.BC]?(O.extend(t,t[e.BC]),delete t[e.BC],t):t}function s(n){var t=O.extend(!0,{},n);return t[e.BC]&&delete t[e.BC],t}function c(n,t){var i={};switch(delete t[e.libs],n){case e.RV:i=o(t);break;case e.BC:i=o(t);break;case e.IS:i=s(t)}return i}function l(n,t,i){var a,o,s=new O.Deferred,c=0,l=0,u=O.extend(!0,{},n);t===e.BC&&(O.extend(u,u[e.BC]),delete u[e.BC]),delete u.html,I.log("Starting preloading global assets",I.LogLevels.verbose),O.each(u,function(e,n){return"string"!=typeof n?void delete u[e]:void(W(n)||l++)}),0===l&&s.resolve();var d=function(e){if(K(e),c++,c===l){if(a)return;clearTimeout(o),s.resolve()}},f=r();return O.each(u,function(e,n){if(!W(n)){var t=f+n;O.get(t,{},null,{dataType:"text"}).done(function(){d(n)}).fail(function(e,t){"parsererror"===t&&d(n)})}}),o=setTimeout(function(){l>c&&(I.log("Failed to preload global assets",I.LogLevels.verbose),s.reject("Failed to preload all global assets ("+c+" out of "+l+" succeeded)")),a=!0},i||E.apiResponseTimeout),s.promise()}function u(){var e=P.getCacheByType({cacheBase:"globals"});return e&&e.cache||[]}function d(e){return P.cacheGlobalAssets(e)}function f(){return"../"+x+"/globals/"}function g(e){var n=u(),t=!0;return O.each(n,function(n,i){return i.indexOf(e)>-1&&(t=!1),t}),t}function p(){return P.clearCacheByType({cacheBase:"globals"},[])}function v(n){var t=u(),i=c(e.BC,n),r=!0;return t.length<=0?!1:(O.each(i,function(e,n){return n=h(n),r=r&&t.indexOf(n)>-1}),r)}function h(e){var n=/^.*[\\\/]/;return e.replace(n,"")}function m(n){var t=r(),i=c(e.BC,n);return O.map(i,function(e){var n=/(\.\.\/)/g,i=e.match(n),r=i&&i.length||0;if(e=e.replace(n,""),r>0){var a=t.split("/");return a.splice(a.length-1-r,r),a.join("/")+e}return t+e})}function b(n){if(n){if(V&&"rejected"!==V.state())return V.promise();V=O.Deferred()}else{if(M&&"rejected"!==M.state())return M.promise();M=O.Deferred()}return k&&"rejected"!==k.state()||(k=a().then(function(e){return R=e,S(),D(R)}).fail(function(e){n?V.reject(e):M.reject(e)})),k.then(function(){var t;return n?g(F.getRemoteAdunitFileName())||U===e.environment.develop||!v(R)?t=p().then(y.bind(null,R)).then(function(){V.resolve()},function(e){V.reject(e)}).always(function(){return V.promise()}):(V.resolve(),t=V.promise()):t=C(R).then(function(){M.resolve()},function(e){M.reject(e)}).always(function(){return M.promise()}),t})}function S(){var e;R.libs&&(e=R.libs,delete R.libs),B.handleSpecialLibs(e,r())}function y(e){return d(m(e)).then(function(){F.setLocalAdunitUrl(f()+F.getRemoteAdunitFileName())},function(){return F.setLocalAdunitUrl(F.getRemoteAdunitUrl()),"Failed to retrieve Adunit url"})}function C(e){return l(e)}function D(e){var n=F.getAdunitUrlFromAssetsJSON(e);return n?(F.setRemoteAdunitUrl(n),void F.setLocalAdunitUrlFromCache(f(),u())):core.Utils.returnRejectedPromise("Adunit url not found")}var I,A,w,L,T,U,O,P,x,F,B,R,M,V,k,j=[],N={failedDownloading:"Failed downloading adunitStaticAssets.json"},E={apiResponseTimeout:15e3},K=function(e){W(e)||j.push(e)},W=function(e){return j.indexOf(e)>-1},Q={init:n,setProtocol:t,getPrefetchedAssets:i,getStaticGlobalsUrl:r,getGlobalAssetsJSON:a,getRVAssetsFromJSON:o,getISAssetsFromJSON:s,getAssetsFromJSONByProductType:c,prefetchGlobalAssetsToBrowser:l,getGlobalsCache:u,isAdunitVersionChanged:g,clearGlobalsCache:p,areGlobalAssetsUpdated:v,getLocalGlobalsFolder:f,cacheGlobalAssets:d,assetsToCache:m,updateAdUnitGlobals:b};return Q}var i;n.exports=function(e,n){return n?new t(e):(i||(i=new t(e)),i)}},{}],35:[function(e,n,t){function i(e){function n(e,n){switch(e){case g.dapi:return c(n);default:return f.returnResolvedPromise()}}function t(e){var n=S,t=function(e,n){var t=/(\.\.\/)/g,i=n.match(t),r=i&&i.length||0;if(n=n.replace(t,""),r>0){var a=e.split("/");return a.splice(a.length-1-r,r),a.join("/")+n}return e+n};return"string"==typeof e?t(n,e):m.map(e,function(e){t(n,e)})}function i(e){for(var n=e.split("/"),t=0;t<n.length;t++)if(n[t]==g.dapi)return n[t+1];return""}function r(e){return h.cacheLibsAsset(e).then(null,function(){return f.returnResolvedPromise()})}function a(e){return h.isLibsAssetInCache(e)?h.deleteCachedAsset(v,e):f.returnResolvedPromise()}function o(e,n){var t=f.versionCompare(e,n);return 0===t}function s(e){return{dapiVersion:e}}function c(e){p.dapi.url=t(e),p.dapi.newVersion=i(e)}function l(e,n,t){b=e,m=n,h=t||{}}function u(e,t){if(S=t,e)for(var i in e)e.hasOwnProperty(i)&&n(i,e[i])}function d(){var e=function(){return a(p.dapi.filename).then(function(){return b.log("AdUnitLibs | downloadDapiFile | going to download",b.LogLevels.verbose),r(p.dapi.url)}).fail(function(){return f.returnResolvedPromise()})},n=function(e){b.log("AdUnitLibs | updateDapiVersion | appData "+JSON.stringify(e),b.LogLevels.verbose);var n=m.extend(e,s(p.dapi.newVersion));return b.log("AdUnitLibs | updateDapiVersion | updatedData "+JSON.stringify(n),b.LogLevels.verbose),h.setAppData(n).fail(function(){return f.returnResolvedPromise()})};return b.log("AdUnitLibs | handleDownloadDapi | config"+JSON.stringify(p.dapi),b.LogLevels.verbose),h.getAppData().then(function(t){return t=t||{},p.dapi.savedVersion=t&&t.dapiVersion?t.dapiVersion:"0",o(p.dapi.newVersion,p.dapi.savedVersion)?h.isLibsAssetInCache(p.dapi.filename)?(b.log("AdUnitLibs | handleDownloadDapi | dapi version is updated and dapi is already in cache",b.LogLevels.verbose),f.returnResolvedPromise()):(b.log("AdUnitLibs | handleDownloadDapi | dapi version updated but file is not in cache - download it again",b.LogLevels.verbose),r(p.dapi.url)):e().then(n.bind(null,t))},e)}var f=e||{},g={dapi:"dapi"},p={dapi:{filename:"dapi.js",url:"",savedVersion:"0",newVersion:"0"}},v="libs",h,m,b,S,y={init:l,handleSpecialLibs:u,handleDownloadDapi:d};return y}n.exports=i},{}],36:[function(e,n,t){function i(n){function t(){rn=e("./videoStateHandler.js")(n.PubSub,on)}function i(){var e=1,n={productChance:"prod"===on.getEnv()?e:1,protocol:Bn.mobileSDKSettings.protocol?Bn.mobileSDKSettings.protocol:"https:",baseData:{productType:"controller"}};Nn=xt.createEventic(n)}function r(){dn.subscribe(yn+".acknowledgeMessage",function(e){on.acknowledgeMessage(e)})}function a(){n.Msg.init(on,on.msgHandler,yi),dn.init();var e=on.SDKInterface;switch(Bn.mobileSDKSettings.deviceOs){case H.deviceOs.android:kn=e._Android;break;case H.deviceOs.ios:kn="wk"===Bn.mobileSDKSettings.webviewType?e.Ios_WK:e.Ios;break;default:kn=e.Ios}r()}function o(){$.init(Bn.mobileSDKSettings.deviceOs,kn,Bn.mobileSDKSettings.debug),dn.subscribe("SDKController.log",function(e){un.isDefined(e.debugLevel)&&un.isDefined(e.msg)&&on.log(e.msg,e.debugLevel,e.origin)})}function s(e){on.log("in setDefaultBackAndCloseBehavior with "+JSON.stringify(e),on.LogLevels.verbose),e&&e.productType&&(e.demandSourceName?(pt[e.productType][e.demandSourceName]=Tn.close,ft[e.productType][e.demandSourceName]=Xn.defaultBehavior):(pt[e.productType]=Tn.close,ft[e.productType]=Xn.defaultBehavior))}function c(e){var n=sn("#ssaDialogBox"),t=n[0]&&n[0].classList;sn.each(t,function(e,t){t.match(/template.*/)&&n.removeClass(t)}),e.settings.templateid&&n.addClass("template"+e.settings.templateid)}function l(e){var n,t=fn.demandSourceName;return e?(n=t?pt[e][t]:pt[e],n=n||vt[e]):void 0}function u(e,n){var t=on[e];return t&&t.getConfirmCloseMsg&&t.getConfirmCloseMsg(n)||On}function d(e){if(e){var n=un.sortDataByDateKey(e);if(n.length>1){var t=n[1]?new Date(n[1][0]).getTime():n[0]?new Date(n[0][0]).getTime():null;isNaN(t)||(Bn.mobileSDKSettings.androidIsVersion=t)}}on.log("androidIsVersion "+Bn.mobileSDKSettings.androidIsVersion,on.LogLevels.info)}function f(e){var t,i,r,a=[],o=new sn.Deferred,s=[],c=["temp","files","assets","libs"],l=function(){if(on.isLegacy(Un.userData)){on.log("NewController: Old controller version. UserData is not supported. Will purge anyway",on.LogLevels.verbose);var e=new sn.Deferred,n={controllerVersion:"0"};return e.resolve(n),e}return on.getGlobalAppData()},u=function(){var n=new sn.Deferred;return s.length>0&&sn.each(s,function(n,t){ln.cachePriorityArray[t]&&delete ln.cachePriorityArray[t],delete e[t]}),"0"!==ln.controllerVersion?(ln.controllerVersion=Bn.v,on.setGlobalAppData(ln).then(function(){n.resolve()},function(){var e="NewController: Save app global data failed";n.reject(e)})):n.resolve(),n.promise()},d=function(){function r(){u().then(function(){l.resolve(e)},function(e){l.reject(e)}),Mt(a)}function o(){var n="globals",t="Interstitial",i="RewardedVideo",r="purgeCampaignsCache",a="purgeGlobalsCache",o=Bn.mobileSDKSettings;if(o.hasOwnProperty(r)&&o[r]===!1){c.push(t);for(var s in e)-1!==s.indexOf(i)&&c.push(s)}o.hasOwnProperty(a)&&o[a]===!1&&c.push(n)}var l=new sn.Deferred,d=0;return t=dn.subscribe(yn+".deleteFolderSuccess",function(){on.log("NewController: A new controller version detected. Folder deleted successfully",on.LogLevels.verbose),d++,d>=s.length&&r()}),i=dn.subscribe(yn+".deleteFolderFailed",function(e){if(Mt(a),n.Utils.isDefined(e.errCode)&&1==e.errCode)on.log("NewController: The folder requested for deletion was not found. Continue...",on.LogLevels.verbose),d++,d>=s.length&&r();else{var t="NewController: Purge cache for new controller version failed.";Mt(a),l.reject(t)}}),o(),a.push(t),a.push(i),sn.each(e,function(e){-1===c.indexOf(e)&&s.push(e)}),on.log(s+JSON.stringify(s),on.LogLevels.verbose),s.length>0?sn.each(s,function(e,n){on.deleteFolder(n)}):r(),l.promise()};return l().then(function(n){on.log("getGlobalAppData: "+JSON.stringify(n),on.LogLevels.verbose),ln=n,r=n.controllerVersion,un.isDefined(r)&&r!==Bn.v||!un.isDefined(r)?(on.log("NewController: A new controller version detected. Purging cache... old: "+r+"new: "+Bn.v,on.LogLevels.verbose),Ct=!0,d().then(function(e){o.resolve(e)},function(){o.reject()})):(on.log("NewController: Controller version did not change. Saved version: "+r+" Current version: "+Bn.v,on.LogLevels.verbose),o.resolve(e))},function(){on.log("getGlobalAppData: failed! ",on.LogLevels.verbose),o.reject("getGlobalAppData: failed! ")}),o.promise()}function g(e){var n=function(n){ni(JSON.stringify({data:n,id:e}),!0)};return n}function p(e){var t=e.data,i=t.indexOf("$$");if(0===i){var r,a=t.slice(i+2);if(!a)return;r=un.getParams(a),un.isDefined(r.event)&&(on.log("received event:"+r.event,on.LogLevels.verbose),n.PubSub.publish("SDKController."+r.event,[r])),un.isDefined(r.name)&&un.isDefined(r.parameters)&&(on.log("received event:"+r.name,on.LogLevels.verbose),n.PubSub.publish("SDKController."+r.name,[r.parameters]))}else try{t=JSON.parse(t),sn.extend(t.arguments,{callback:g(t.id)}),n.PubSub.publish("SDKController."+t.method,[t.arguments])}catch(o){on.log("unable to parse message: "+t,on.LogLevels.error)}}function v(e){St||on.getApplicationInfo(e).then(null,function(){var e=sn.Deferred();return e.resolve(on.getConfig()),e.promise()}).always(function(e){var n=B(e.mobileSDKSettings),t={sdkVersion:e.mobileSDKSettings.SDKVersion,controllerVersion:e.v,bundleId:e.mobileSDKSettings.bundleId,connectionType:e.mobileSDKSettings.connectionType,applicationKey:e.applicationSettings.applicationKey,deviceId:n,applicationUserId:e.applicationSettings.applicationUserId,deviceOs:e.mobileSDKSettings.deviceOs,deviceOsVersion:e.mobileSDKSettings.deviceOSVersion,deviceOEM:e.mobileSDKSettings.deviceOEM,deviceModel:e.mobileSDKSettings.deviceModel,appOrientation:h(),env:Zi.getEnv(),lat:"true"===e.mobileSDKSettings.isLimitAdTrackingEnabled};xt.init(t),St=!0})}function h(){var e;switch(window.orientation){case-90:case 90:e="landscape";break;default:e="portrait"}return e}function m(e,n){var t,i=[],r=new sn.Deferred,a=n.length,o=0;for(t=0;a>t;t++)i.push(b(e,n[t]));return sn.when.apply(null,i).always(function(){on.deleteFolder(e),r.resolve(o)}),r.promise()}function b(e,n){var t,i=new sn.Deferred,r=function(r){var a={timingValue:(new Date).getTime()-t,success:r},o=a.success?Ft.cdnABTestSuccess:Ft.cdnABTestFail,s={eNameStart:Ft.cdnABTestSuccess,timingValue:a.timingValue,adType:e,generalMessage:n};Nn.trackTimingStop(o,s),i.resolve()};return Nn.trackTimingStart(Ft.cdnABTestSuccess),on.cacheAsset(e,n).then(r.bind(null,!0),r.bind(null,!1)),i.promise()}function S(){function e(){if(0!==a.length){var n=a.shift();m(n.cdnName,n.assets).then(e)}}try{var n=mt,t=function(){var e=nn.getExtConfig();return e.Interstitial&&e.Interstitial.abtest&&e.Interstitial.abtest[3e3]&&e.Interstitial.abtest[3e3].cdnPercent?e.Interstitial.abtest[3e3].cdnPercent:0},i=function(e,n){return Math.floor(Math.random()*(n-e+1)+e)},r=t();if(r>0&&i(0,100)<r&&Bn.controllerConfig&&"CN"===Bn.controllerConfig.country){var a=n.cdns;e()}}catch(o){on.log("_manageCdnABTest | catch: "+o,on.LogLevels.verbose),Nn.trackEvent(Ft.cdnABTestException,null,{generalMessage:o})}}function y(e){var n=new sn.Deferred,t=function(t){var i=t?Ft.latencyTestSuccess:Ft.latencyTestFail,r={eNameStart:Ft.latencyTestSuccess,generalMessage:e};Nn.trackTimingStop(i,r),n.resolve()};return Nn.trackTimingStart(Ft.latencyTestSuccess),sn.ajax({url:e,type:"GET",dataType:"json",cache:!0,timeout:2e4}).then(t.bind(null,!0),t.bind(null,!1)),n.promise()}function C(){try{var e=bt,t=function(){var e=nn.getExtConfig();return e.Interstitial&&e.Interstitial.abtest&&e.Interstitial.abtest[5e3]&&e.Interstitial.abtest[5e3].latencyTestPercent?e.Interstitial.abtest[5e3].latencyTestPercent:0},i=function(e,n){return Math.floor(Math.random()*(n-e+1)+e)},r=t();if(r>0&&i(0,100)<r){var a=e,o=function(){if(0!==a.length){var e=a.shift();"CN"!==e.region||"CN"===e.region&&Bn.controllerConfig&&"CN"===Bn.controllerConfig.country?y(e.url).then(o):o()}};o()}}catch(s){on.log("_manageLatencyABTest | catch: "+s,on.LogLevels.verbose),Nn.trackEvent(Ft.latencyTestException,null,{generalMessage:s})}return n.Utils.returnResolvedPromise()}function D(){if(pn&&"rejected"!==pn.state())return n.Utils.returnResolvedPromise();var e=on.getBaseCdnUrl()+wt;return pn=sn.ajax({url:e,type:"GET",dataType:"jsonp",cache:!0,jsonpCallback:"getExtConfig",timeout:2e4}).then(function(e){on.log("Got application external configuration from server"+JSON.stringify(e)),nn.setConfig(e)
  6. },function(e,n,t){var i="Failed to receive configuration from server "+t;on.log(i,on.LogLevels.verbose),Nn.trackEvent(Ft.getExternalApplicationConfigurationError,{generalMessage:i})}).then(C).then(S),n.Utils.returnResolvedPromise()}function I(){if(gn&&"rejected"!==gn.state())return gn;var e=on.apiWithCdn()+At,t=(on.getConfig().mobileSDKSettings.deviceOs,2e4),i={bundleId:1,deviceOs:1},r=on.getApiData(i);if(r.errMsg)return n.Utils.returnRejectedPromise(r.errMsg);if(!r.bundleId)return n.Utils.returnRejectedPromise("Missing bundleId");if(!r.deviceOs)return n.Utils.returnRejectedPromise("Missing deviceOs");var a="Failed to receive configuration from server";return gn=sn.ajax({url:e,data:r,type:"GET",dataType:"jsonp",cache:!0,jsonpCallback:"getAppConfigReqCallBack",timeout:t}).then(function(e){return e&&e.errorCode?n.Utils.returnRejectedPromise(e.errorMessage||a):(on.log("Got application configuration from server"),n.Utils.returnResolvedPromise(e))},function(e,t){return n.Utils.returnRejectedPromise(t||a)}).then(on._parseReceivedApplicationConfiguration,function(e){return on.log("Failed to get application configuration from server - "+e,on.LogLevels.verbose),Nn.trackEvent(Ft.getApplicationConfigurationError,{generalMessage:e}),n.Utils.returnResolvedPromise()})}function A(e){It=e||{},e&&e.generalConfiguration&&e.generalConfiguration.applicationKey&&!Bn.applicationSettings.applicationKey&&(Bn.applicationSettings.applicationKey=e.generalConfiguration.applicationKey),e&&e.offerWallConfiguration&&(e.offerWallConfiguration.baseServerUrl&&(Bn.mobileSDKSettings.baseServerUrl=e.offerWallConfiguration.baseServerUrl),e.offerWallConfiguration.serverType&&(Bn.mobileSDKSettings.serverType=e.offerWallConfiguration.serverType))}function w(){return It.offerWallConfiguration||{}}function L(e){on.log("setCloseButtonState params "+JSON.stringify(e),on.LogLevels.verbose),e&&e.state&&e.productType&&(e.demandSourceName?pt[e.productType][e.demandSourceName]=Tn[e.state]:pt[e.productType]=Tn[e.state])}function T(){if(!yt){var e=on.getApiData(en.deviceDataRequestObject);e&&Object.keys(e).length>0&&(yt={os:e.deviceOs,osv:e.deviceOSVersion,sdkv:e.SDKVersion})}return yt||{}}function U(e,n,t,i){e.settings=sn.extend(!0,e.settings,i),e.ext&&e.ext.forceOrientation&&(e.settings.orientation=e.ext.forceOrientation.toLowerCase()),sn.extend(!0,e,t,{url:n}),on.log("Extended ad object, ad is "+JSON.stringify(e),on.LogLevels.verbose)}function O(){var e;return Bn.controllerConfig.isSecured===!0?e=H.protocol.https:Bn.mobileSDKSettings.deviceOs===H.deviceOs.android?e=H.protocol.http:Bn.mobileSDKSettings.deviceOs===H.deviceOs.ios&&(un.versionCompare(Bn.mobileSDKSettings.deviceOSVersion,"10")>=0?Bn.mobileSDKSettings.allowArbitraryLoadsInWebContent?(e=H.protocol.http,an=!0):Bn.mobileSDKSettings.allowArbitraryLoads?e=H.protocol.http:(e=H.protocol.https,an=!0):e=Bn.mobileSDKSettings.allowArbitraryLoads?H.protocol.http:H.protocol.https),e}function P(e){var n=null;return e?(e.productType&&(n=on[e.productType],e.demandSourceName&&n&&(n=n[e.demandSourceName])),n):null}function x(e){var n="ssaAdUnit",t={"class":n+" ",selector:"."+n};return e&&e.productType?(t["class"]+=e.productType+" ",t.selector+="."+e.productType,e.demandSourceName&&(t["class"]+=e.demandSourceName+" ",t.selector+="."+e.demandSourceName),t):(on.log("In getAdUnitClass with no ad",on.LogLevels.error),t)}function F(e,n){if(!e)return{};if(!n||!n.productType)return e;e.productType=n.productType;var t=P(n);return t&&"function"==typeof t.extendCallbackWithProductConfig?t.extendCallbackWithProductConfig(e):e}function B(e){return e.deviceOs===H.deviceOs.ios?R(e):e["deviceIds[AID]"]}function R(e){return un.versionCompare(e.deviceOSVersion,"10")>=0&&"true"===e.isLimitAdTrackingEnabled?e["deviceIds[IDFV]"]:e["deviceIds[IFA]"]}function M(e){if(window.initCtrlTime&&!(window.initCtrlTime>14846904e5)){var n,t=B(Bn.mobileSDKSettings),i={sdkVersion:Bn.mobileSDKSettings.SDKVersion,controllerVersion:Bn.v,bundleId:Bn.mobileSDKSettings.bundleId,connectionType:Bn.mobileSDKSettings.connectionType,applicationKey:Bn.controllerConfig.applicationKey,deviceId:t,deviceOs:Bn.mobileSDKSettings.deviceOs,deviceOsVersion:Bn.mobileSDKSettings.deviceOSVersion,deviceOEM:Bn.mobileSDKSettings.deviceOEM,deviceModel:Bn.mobileSDKSettings.deviceModel,appOrientation:h(),env:Zi.getEnv(),productType:"controller",inventoryindex:window.downloadJSTime,isreplay:Ct,feedSize:window.startDownloadJS,vastviewcount:window.initStartPrecacheTime-window.initStartTime,owpagenumber:window.initEndPrecacheTime-window.initStartPrecacheTime,sessiondepth:window.initEndTime-window.initEndPrecacheTime,generalMessage:e,timingValue:Date.now()-window.initCtrlTime,eventName:"controllerInitiated",lat:"true"===Bn.mobileSDKSettings.isLimitAdTrackingEnabled},r={data:i,table:"supersonic.adunitanalytics.ad_unit_events"};try{n=btoa(JSON.stringify(r))}catch(a){return}var o="http:"===Bn.mobileSDKSettings.protocol?"http://supersonic.ironbeast.io":"https://secure.ironbeast.io",s=o+"?data="+n,c=new Image;c.src=s}}function V(){var e="assets",n=on.Cache.getCacheByType({cacheBase:e}),t=Bn.mobileSDKSettings.jQueryUrls;n&&on.Cache.getFileIndexInCache(n.cache,t[0])>-1?on.log("jQuery file already cache",on.LogLevels.verbose):(on.log("Start save jQuery to cache",on.LogLevels.verbose),on.cacheAsset(e,t).then(function(){on.log("jQuery file saved successfully",on.LogLevels.verbose)},function(){on.log("jQuery file cache failed",on.LogLevels.verbose)}))}function k(){var e=Bn.mobileSDKSettings.controllerPathFolder+Bn.v,n=on.Cache.getCacheByType({cacheBase:e});n&&on.Cache.getFileIndexInCache(n.cache,Bn.mobileSDKSettings.controllerJSUrl)>-1?on.log("controller js file already cache",on.LogLevels.verbose):j(e)}function j(e){on.log("Start save controller js file to cache",on.LogLevels.verbose),on.cacheAsset(e,Bn.mobileSDKSettings.controllerJSUrl).then(function(){on.log("controller js file saved successfully",on.LogLevels.verbose)},function(){on.log("controller js file cache failed",on.LogLevels.verbose)})}function N(){V(),k()}function E(e){function t(){n.PubSub.unsubscribe(i),n.PubSub.unsubscribe(r)}if(!e)return n.Utils.returnRejectedPromise("productType is empty");var i=null,r=null,a=new sn.Deferred,o="getUserUniqueIdSuccess",s="getUserUniqueIdFailure";return i=n.PubSub.subscribe(yn+"."+o,function(n){n&&n.productType===e&&(on.log("succeeded to get "+e+" unique user "+JSON.stringify(n),on.LogLevels.verbose),t(),a.resolve(n))}),r=n.PubSub.subscribe(yn+"."+s,function(n){n&&n.productType===e&&(on.log("failed to get "+e+" unique user",on.LogLevels.verbose),t(),Nn.trackEvent(Ft.getUserUniqueIdFailure),a.reject(n))}),on.callSDKFunction("getUserUniqueId",{productType:e},o,s),a.promise()}function K(e){function t(){n.PubSub.unsubscribe(i),n.PubSub.unsubscribe(r)}if(!e)return n.Utils.returnRejectedPromise("productType empty");var i=null,r=null,a=new sn.Deferred;return i=n.PubSub.subscribe(yn+".setUserUniqueIdSuccess",function(n){n&&n.productType===e&&(on.log("succeeded to set RV unique user",on.LogLevels.verbose),t(),a.resolve())}),r=n.PubSub.subscribe(yn+".setUserUniqueIdFailure",function(n){n&&n.productType===e&&(on.log("failed to set RV unique user",on.LogLevels.verbose),t(),Nn.trackEvent(Ft.setUserUniqueIdFailure),a.reject("Failed to set user unique id"))}),on.callSDKFunction("setUserUniqueId",{userUniqueId:on.getFixedUserIdForCache(),productType:e},"setUserUniqueIdSuccess","setUserUniqueIdFailure"),a.promise()}function W(e){if(!e)return n.Utils.returnRejectedPromise("productType is empty");if(Bn.mobileSDKSettings.deviceOs===H.deviceOs.ios)return n.Utils.returnResolvedPromise();var t=new sn.Deferred;return e===Dn&&on.isLegacy(on.featureMap.MDS)&&(e=Cn),E(e).then(function(n){return n&&n.userUniqueId?void 0:(on.log("UserId in "+e+"is empty. try to set default userId",on.LogLevels.verbose),Dt[e]=!0,K(e))}).always(function(){t.resolve()}),t.promise()}function Q(e){if(!on.HTTPService.getIsNativeEngineExist())return!1;var n={allowNative:!0,background:!0,retries:3};return on.HTTPService.GETRequest(e,n),!0}function q(e){on.PixelTrackingService.firePixel(e)}function J(e){var n,t=sn("#ssaDialogBox");switch(e){case"template4":n={dialogText:{maxFontPixels:27,maxHeight:87,parentContainer:t,lineHeight:1.5},buttonText:{maxFontPixels:22,maxHeight:43,maxWidth:G(e).maxDialogBtnTextWidth,parentContainer:Kn}};break;default:n={dialogText:{maxFontPixels:24,maxHeight:87,parentContainer:t},buttonText:{maxFontPixels:20,maxHeight:44,maxWidth:G(e).maxDialogBtnTextWidth,parentContainer:Kn}}}return n}function G(e){return H.templateStyle[e]?H.templateStyle[e]:H.templateStyle.defaultTemplate}function _(){var e="",n=sn("#ssaDialogBox"),t=n[0]&&n[0].classList;return sn.each(t,function(n,t){return t.match(/template.*/)?void(e=t):void 0}),e}var H=e("../../components/Constants.js"),z=e("./configurationValidator.js")(n.Utils,H.DebugLevels,H.errors),$=e("../../components/Logger.js")(n.Utils),Y=e("./AdUnitGlobals.js")(H),X=e("./AdUnitLibs.js")(n.Utils),Z=e("../adUnitUrl.js")(Y),en=e("./mainConfig.js")(),nn=new(e("../../components/ExternalConfig")),tn=e("../../components/APIConfigurations.js")(n.Utils),rn,an=!1,on,sn=window.jQuery,cn,ln,un=n.Utils,dn=n.PubSub,fn=null,gn=null,pn=null,vn=[],hn=!1,mn=!0,bn="supersonicads",Sn="acknowledgeMessage",yn=H.CB,Cn=H.BC,Dn=H.RV,In=H.OW,An=H.IS,wn=H.errors,Ln=H.videoStates,Tn=H.closeButtonStates,Un={userData:{ios:"5.1",android:"5.1"},loadIS:{ios:"5.7",android:"5.10"},selfLoadingIS:{ios:"5.19",android:"5.20"},supportImmersive:{ios:"99",android:"5.26"},rvPortraitOrientation:{ios:"5.30",android:"5.30"},MDS:{ios:"5.29",android:"5.29"},nativeHttpEngine:{ios:"5.36",android:"99"},translucent:{ios:"99",android:"5.37"},hybrid:{ios:"5.37",android:"99"},supportOrientation:{ios:"5.39",android:"99"},androidIsVersion:{ios:"99",android:"5.39"}},On=H.confirmCloseMsg,Pn=H.requiredDeviceInfo,xn=H.requiredAppInfo,Fn=H.optionalAppInfo,Bn={v:"2.0.40",controllerId:(new Date).getTime()+"_"+Math.random(),controllerTimeLoaded:(new Date).getTime(),mobileSDKSettings:{protocol:null,defaultProtocol:null,securedProtocol:null,domain:null,overrideDebug:!1,defaultDebug:0,debug:0,appOrientation:null,mobileCarrier:null,connectionType:null,iphoneAppOnIpadDevice:null,deviceOs:"",SDKVersion:null,deviceOSVersion:null,bundleId:null,deviceOEM:null,deviceScreenScale:null,"deviceScreenSize[width]":null,"deviceScreenSize[height]":null,"deviceIds[OpenUDID]":null,"deviceIds[IFA]":null,"deviceIds[IDFV]":null,"deviceIds[SERIAL]":null,"deviceIds[AndroidID]":null,"deviceIds[IMEI]":null,"deviceIds[AID]":null,deviceWidthDP:null,deviceHeightDP:null,deviceLanguage:null,deviceModel:null,diskFreeSize:null,geoLocation:null,isLimitAdTrackingEnabled:null,unLocked:null,gpi:null,webviewType:null,allowArbitraryLoads:null,allowArbitraryLoadsInWebContent:null,mcc:null,mnc:null,appVersion:null,batteryLevel:null,androidIsVersion:null},applicationSettings:{preCache:"device",applicationKey:null,applicationUserId:null,mraid:null,numOfCampaigns:null,campaignId:null,pageSize:null,landingId:null,page:null,applicationUserGender:null,applicationUserAgeGroup:null,applicationUserCreationDate:null,applicationUserCreationDateSignature:null,useClientSideCallbacks:null,SDKPluginType:null,disableCache:null,showDeliveryLimitationsLog:null,country:null,admin:null,placementId:null},configMapping:{jb:function(){return Bn.mobileSDKSettings.unLocked}},controllerConfig:{fpf:null,destinationMap:null,isSecured:null}},Rn={localTime:function(){return(new Date).getTime()},timezoneOffset:function(){return(new Date).getTimezoneOffset()}},Mn="/versions/"+Bn.v+"/mobileController.min.css",Vn,kn,jn,Nn,En,Kn,Wn,Qn=!1,qn=!1,Jn=0,Gn=3,_n={},Hn={on:!1,productConfig:null},zn={flag_none:0,flag_iap:1,flag_aia:2,flag_ugl:4,nflag_sl:8,flag_as:16},$n={flag_iap:function(){return!1},flag_aia:function(){return!1},flag_ugl:function(){return!1},nflag_sl:function(){return!1},flag_as:function(){return Bn.mobileSDKSettings.deviceOs===H.deviceOs.android}},Yn={androidNeutral:{width:25,height:25,position:"top-right"},androidInterstitial:{width:0,height:0,position:"top-right"},androidNavigation:{width:25,height:25,position:"top-right"},iosNeutral:{width:24,height:24,position:"top-right"},iosNavigation:{width:50,height:50,position:"top-right"},disable:{width:0,height:0,position:"top-right"}},Xn={defaultBehavior:0,adunitResponsibility:1},Zn={close:1,nextFrame:2},et={BrandConnect:"#1A1A1A",RewardedVideo:"#1A1A1A",Interstitial:"transparent",OfferWall:"#1A1A1A",WebControls:"transparent",general:"#1A1A1A"},nt={BrandConnect:"#000000",RewardedVideo:"#000000",Interstitial:"transparent",OfferWall:"#000000",WebControls:"transparent",general:"#000000"},tt=["/ssaBackBtnImgDark2.png","/ssaCloseBtnImgDark2.png"],it={},rt={BrandConnect:"application",RewardedVideo:"application",Interstitial:"application",OfferWall:"application",general:"device"},at={none:0,device:1,controller:2},ot=[{width:28,height:28,position:"top-right"},{width:30,height:30,position:"top-left"}],st={BrandConnect:null,RewardedVideo:null,Interstitial:null,OfferWall:null},ct={BrandConnect:{android:/^10/,ios:/^5[.]/},RewardedVideo:{android:/^10/,ios:/^5[.]/},OfferWall:{android:/^10/,ios:/^5[.]/},Interstitial:{android:/^10/,ios:/^5[.]/}},lt={ios:["itunes.apple.com"],android:["market://","play.google.com"]},ut={scrollHeight:""},dt=!1,ft={BrandConnect:{},RewardedVideo:{},Interstitial:Xn.defaultBehavior,OfferWall:Xn.defaultBehavior},gt={BrandConnect:Xn.defaultBehavior,RewardedVideo:Xn.defaultBehavior,Interstitial:Xn.defaultBehavior,OfferWall:Xn.defaultBehavior},pt={BrandConnect:{},RewardedVideo:{},Interstitial:Tn.close,OfferWall:Tn.close},vt={BrandConnect:Tn.close,RewardedVideo:Tn.close,Interstitial:Tn.close,OfferWall:Tn.close},ht={apiResponseTimeout:1e4},mt={enabled:!0,percent:30,cdns:[{cdnName:"cnc.ssacdn.com",assets:["https://cnc.ssacdn.com/users/cdn/jsonFile.json","https://cnc.ssacdn.com/users/cdn/videoFile.mp4","https://cnc.ssacdn.com/users/cdn/imgFile.png"]},{cdnName:"cc.ssacdn.com",assets:["https://cc.ssacdn.com/users/cdn/jsonFile.json","https://cc.ssacdn.com/users/cdn/videoFile.mp4","https://cc.ssacdn.com/users/cdn/imgFile.png"]},{cdnName:"cf.ssacdn.com",assets:["https://cf.ssacdn.com/users/cdn/jsonFile.json","https://cf.ssacdn.com/users/cdn/videoFile.mp4","https://cf.ssacdn.com/users/cdn/imgFile.png"]},{cdnName:"cdx.ssacdn.com",assets:["https://cdx.ssacdn.com/users/cdn/jsonFile.json","https://cdx.ssacdn.com/users/cdn/videoFile.mp4","https://cdx.ssacdn.com/users/cdn/imgFile.png"]},{cdnName:"a.akamaihd.net",assets:["https://supersonicads-a.akamaihd.net/users/cdn/jsonFile.json","https://supersonicads-a.akamaihd.net/users/cdn/videoFile.mp4","https://supersonicads-a.akamaihd.net/users/cdn/imgFile.png"]},{cdnName:"v.ssacdn.com",assets:["https://v.ssacdn.com/videoFile.mp4"]}]},bt=[{url:"https://hhitcm1782.execute-api.ap-northeast-2.amazonaws.com/seoul/latencytest",region:"CN"},{url:"https://to9tmp70p7.execute-api.ap-southeast-1.amazonaws.com/singapore/latencytest",region:"CN"},{url:"https://cdx.ssacdn.com/mock.json",region:"CN"},{url:"https://gocp2k47f6.execute-api.us-east-1.amazonaws.com/virginia/latencytest",region:"all"},{url:"https://fanj5nm7ml.execute-api.eu-west-1.amazonaws.com/ireland/latencytest",region:"all"}],St,yt,Ct=!1,Dt={RewardedVideo:!1,Interstitial:!1,BrandConnect:!1},It={},At="/delivery/mobile/adUnit/getAppConfig.php",wt="/users/microjob/sdkconfig.json",Lt=' <div id="ssaLoaderWrap" class="hidden"> <div id="spin" class="container"> <div class="spinner"> <div class="bar1"></div> <div class="bar2"></div> <div class="bar3"></div> <div class="bar4"></div> <div class="bar5"></div> <div class="bar6"></div> <div class="bar7"></div> <div class="bar8"></div> <div class="bar9"></div> <div class="bar10"></div> <div class="bar11"></div> <div class="bar12"></div> </div> </div> </div>',Tt='<div id="ssaDialogBoxOverlay"></div> <div id="ssaDialogBox" class="dialogBox"> <p id="ssaDialogText">Are you sure you want to quit the offer?</p> <footer id="ssaDialogBtns"> <a id="ssaDialogCancelBtn" class="dialogBtn"><span id="ssaDialogCancelBtnText">Cancel</span></a> <a id="ssaDialogConfirmBtn"" class="dialogBtn"><span id="ssaDialogConfirmBtnText">OK</span></a> </footer> </div>',Ut=' <div id="ssaNavigator" class="defaultNavigation"> <ul class="ssaList"> <li><div id="ssaNavigatorBackButton" class="ssaNavigationBtn ssaGlobalModuleImg" data-edge="top|left"><img class="navigationBtnImg ssaBackBtnImgDark2"></div></li> <li><div id="ssaNavigatorCloseButton" class="ssaNavigationBtn ssaGlobalModuleImg" data-edge="top|right"><img class="navigationBtnImg ssaCloseBtnImgDark2"></div></li> </ul> </div>',Ot='<div class="loaderOW hidden"> <div class="header"> </div> <div class="progressbarWrap"> <div class="progressbar"></div> </div> <div class="offers"> <div class="shine"></div> </div> </div>',Pt='<div class="offer"> <div class="offerWrap"> <div class="offerImg"></div> <div class="offerDetails"> <div> <span class="offerText">Loading Info...</span> </div> <div class="offerEarn"> <div class="badge"></div> <div class="callToAction">Loading...</div> </div> </div> <div class="offerBtn"></div> </div> </div>',xt=n.Eventics,Ft={adVisibleToClose:{name:"adVisibleToClose",id:222},adClosed:{name:"adClosed",id:100},OWClosed:{name:"OWClosed",id:104},getApplicationConfigurationError:{name:"getApplicationConfigurationError",id:135},getExternalApplicationConfigurationError:{name:"getExternalApplicationConfigurationError",id:136},openUrlError:{name:"openUrlError",id:114},getUserUniqueIdFailure:{name:"getUserUniqueIdFailure",id:242},setUserUniqueIdFailure:{name:"setUserUniqueIdFailure",id:243},cdnABTestSuccess:{name:"cdnABTestSuccess",id:223},cdnABTestFail:{name:"cdnABTestFail",id:224},cdnABTestException:{name:"cdnABTestException",id:225},latencyTestSuccess:{name:"latencyTestSuccess",id:244},latencyTestFail:{name:"latencyTestFail",id:245},latencyTestException:{name:"latencyTestException",id:246},appsInstallTimeFailed:{name:"appsInstallTimeFailed",id:247}},Bt=function(){var e=fn&&fn.productType,n={productType:"UnKnown",action:"stopTiming",eventParam:{eName:Ft.adClosed,data:{eNameStart:Ft.adVisibleToClose}}};e?(e===H.OW&&(n.eventParam.eName=Ft.OWClosed),n.productType=e,fn&&fn.demandSourceName&&(n.demandSourceName=fn.demandSourceName),dn.publish("SDKController.Analytics",[n])):dn.publish("SDKController.Analytics",[n])};cn=SonicCore.MRAID=function(){var e,n,t="",i=function(){dn.subscribe("SDKController.getScreenSize",function(){sn.when(e.getScreenSize()).then(function(e){ni("screenSize$$width="+e.width+"&height="+e.height+"&orientation="+e.orientation+"&scrollTop="+e.scrollTop)})})};return{init:function(){n=sn,e=this,i()},setState:function(e){t=e},getState:function(){return t},getOrientation:function(){var e,n,t=new sn.Deferred;return e=dn.subscribe(yn+".getOrientationSuccess",function(i){if(dn.unsubscribe(e),"resolved"!==t.state()){clearTimeout(n);var r=i&&i.orientation||"portrait";t.resolve(r)}}),n=setTimeout(function(){t.resolve("portrait")},2e3),on.callSDKFunction("getOrientation",null,"getOrientationSuccess","getOrientationSuccess"),t.promise()},getScreenSize:function(){var n,t,i=new sn.Deferred;return n=Bn.mobileSDKSettings["deviceScreenSize[width]"],t=Bn.mobileSDKSettings["deviceScreenSize[height]"],sn.when(e.getOrientation()).then(function(e){!fn||"landscape"!==rt[fn.productType]&&"portrait"!==rt[fn.productType]||(e=rt[fn.productType]),"landscape"===e&&(n=Math.max(Bn.mobileSDKSettings["deviceScreenSize[width]"],Bn.mobileSDKSettings["deviceScreenSize[height]"]),t=Math.min(Bn.mobileSDKSettings["deviceScreenSize[width]"],Bn.mobileSDKSettings["deviceScreenSize[height]"])),"portrait"===e&&(n=Math.min(Bn.mobileSDKSettings["deviceScreenSize[width]"],Bn.mobileSDKSettings["deviceScreenSize[height]"]),t=Math.max(Bn.mobileSDKSettings["deviceScreenSize[width]"],Bn.mobileSDKSettings["deviceScreenSize[height]"])),Bn.mobileSDKSettings.deviceOs===H.deviceOs.android&&(n/=Bn.mobileSDKSettings.deviceScreenScale,t/=Bn.mobileSDKSettings.deviceScreenScale),i.resolve({width:n,height:t,orientation:e,scrollTop:sn(window).scrollTop()})}),i.promise()},getMaxSize:function(){var n,t,i=new sn.Deferred;return n=Bn.mobileSDKSettings["deviceScreenSize[width]"],t=Bn.mobileSDKSettings["deviceScreenSize[height]"],sn.when(e.getOrientation()).then(function(e){!fn||"landscape"!==rt[fn.productType]&&"portrait"!==rt[fn.productType]||(e=rt[fn.productType]),"landscape"===e&&(n=Math.max(Bn.mobileSDKSettings["deviceScreenSize[width]"],Bn.mobileSDKSettings["deviceScreenSize[height]"]),t=Math.min(Bn.mobileSDKSettings["deviceScreenSize[width]"],Bn.mobileSDKSettings["deviceScreenSize[height]"])),i.resolve({width:n,height:t})}),i.promise()}}}(),_n=function(){function e(){on.callSDKFunction("setForceClose",Yn.disable)}var n=!1,t=!1,i=!1,r=!1,a=null,o=function(){on.log("Webview state- open: "+n+", viewable: "+t+", productConfig: "+JSON.stringify(a),on.LogLevels.verbose)},s=function(e){var n=Yn[Bn.mobileSDKSettings.deviceOs+e]?e:"Neutral";on.callSDKFunction("setForceClose",Yn[Bn.mobileSDKSettings.deviceOs+n])},c=function(e,n){if(Bn.mobileSDKSettings.deviceOs===H.deviceOs.android&&!on.isLegacy(Un.supportImmersive)){var t=e.settings&&e.settings.immersive;sn.extend(n,{immersive:t})}return n},l=function(e){un.isDefined(e)&&un.isDefined(e.productType)?(di(e.productType),Oi(e.productType)):Oi("default"),s(e.productType),Bn.mobileSDKSettings.deviceOs!==H.deviceOs.ios&&fi()};return{display:function(e){if(Bn.mobileSDKSettings.deviceOs===H.deviceOs.ios&&(n||Qn)&&on.isLegacy(Un.supportOrientation)?on.log("avoiding setOrientation for new displayed ad",on.LogLevels.verbose):ui(e),n||Qn)return on.log("line[882]: be might here because of next offer, engaged is "+i,on.LogLevels.verbose),void(i=!0);l(e),_n.loadProduct(e),on.ViewsManager.init(e);var t=F(on.ViewsManager.getDisplayWebViewParams(!0),e);on.isLegacy(Un.translucent)||(t.activityThemeTranslucent=!1),on.callSDKFunction(H.nativeInterfaceMethod.displayWebView,c(e,t)),n=!0,o()},hide:function(){if(n){on.log("line[882]:"+JSON.stringify(a),on.LogLevels.verbose);var e=F(on.ViewsManager.getDisplayWebViewParams(!1),a);on.callSDKFunction(H.nativeInterfaceMethod.displayWebView,e),n=!1,Hn.productConfig=a,Hn.on=!0,i||on.fireEvent("close",a),o()}},setVisibility:function(e){t=e,o()},shouldNotifyClose:function(e){return Hn.on&&Hn.productConfig===e?(Hn.on=!1,Hn.productConfig=null,o(),!0):(o(),!1)},loadProduct:function(e){a=F({},e),i=!0,o()},unloadProduct:function(){i=!1,Hn.on&&on.fireEvent("close",a),o()},changeMode:function(e){s(e)},disableForceClose:e,getState:function(){return{engaged:i,opened:n,productConfig:a,viewable:t,standalone:r}}}}();var Rt=function(e,n,t,i){var r,a=e.length,o=!0,s=[],c=null;for(r=0;a>r;r++)un.isDefined(n[e[r]])||(s.push(e[r]),o=!1);return o||(c=wn.missing+JSON.stringify(s)+" in "+t,un.isDefined(i)&&i&&on.callSDKFunction(i,{errMsg:c}),on.log(c,on.LogLevels.error)),{didSucceed:o,errMsg:c}},Mt=function(e){sn.each(e,function(e,n){dn.unsubscribe(n)})},Vt=function(){sn.fn.textfill2=function(e){var n,t,i=e.maxFontPixels,r=e.maxHeight,a=e.maxWidth,o="undefined"!=typeof e.parentContainer?sn(e.parentContainer):null,s=sn(this),c=null!==o?o.height():sn(this).parent().height(),l=null!==o?o.width():sn(this).parent().width();return"undefined"!=typeof r&&(c=r),"undefined"!=typeof a&&(l=a),s.each(function(){i=e.maxFontPixels;do sn(this).css({"font-size":i}),i-=1,e.lineHeight&&o.css({"line-height":e.lineHeight+"em"}),n=sn(this).height(),t=sn(this).width();while(n>c||t>l&&i>3)}),this},sn.fn.textWidth=function(){var e,n=sn(this),t=n.children(),i=sn('<span style="display: inline-block;" />');return t.wrap(i),e=t.parent().width(),t.unwrap(),e}},kt=function(){dn.subscribe(yn+".initProducts",function(e,n,t){sn.when(Et(e)).then(function(){"use strict";un.isDefined(n)&&on.callSDKFunction(n),Kt(e)},function(e){"use strict";un.isDefined(t)&&on.callSDKFunction(t,{errMsg:e})})}),dn.subscribe(yn+".nativeNavigationPressed",function(){if(fn){var e,n=fn.productType,t=fn.demandSourceName;n&&(e=t?ft[n][t]:ft[n],e===Xn.adunitResponsibility?ni("backButtonPressed"):mi())}}),dn.subscribe(yn+".engageEnd",function(e){null!==fn&&"forceClose"===e.action?(Bt(),oi(!1,!1)):null!==fn&&"secondaryClose"===e.action&&(Yt(),fn.productType===In&&dn.publish("SDKController.AdClosed",[fn]))}),dn.subscribe(yn+".interceptedUrlToStore",function(){fn&&ni("interceptedUrlToStore$$intercept=true")}),dn.subscribe(yn+".enterBackground",function(e){on.log("entered BG",on.LogLevels.info);var n="";e&&un.isDefined(e.action)&&(n="$$action="+e.action),ni("enterBackground"+n)}),dn.subscribe(yn+".pageFinished",function(){ni("pageFinished")}),dn.subscribe(yn+".enterForeground",function(e){var n="enterForeground";on.log("line[1070]:entered FG, webview is "+JSON.stringify(_n.getState()),on.LogLevels.info),e&&un.isDefined(e.active)&&(n+="$$active="+e.active);var t=_n.getState();t.engaged&&t.opened&&Bn.mobileSDKSettings.deviceOs===H.deviceOs.android&&!t.standalone&&(fn&&Bt(),oi(!1,!1)),ni(n)}),dn.subscribe(yn+".viewableChange",function(e){var n={name:"viewableChange"};e&&un.isDefined(e.isViewable)&&(on.log("viewableChange to:"+e.isViewable,on.LogLevels.info),Qn=e.isViewable,un.isDefined(e.webview)&&"main"!==e.webview||_n.setVisibility(e.isViewable),n.isViewable=e.isViewable,un.isDefined(e.webview)&&(n.webview=e.webview),fn&&un.isDefined(fn.productType)&&(n.productType=fn.productType)),ni(JSON.stringify(n))}),dn.subscribe(yn+".deviceStatusChanged",function(e){var t=sn.extend({name:"deviceStatusChanged"},e);ni(JSON.stringify(t)),n.Utils.isDefined(e.connectionType)&&(xt.updateBaseData({connectionType:e.connectionType}),mn="none"!==e.connectionType&&"notReachable"!==e.connectionType)}),dn.subscribe(yn+".parseBandwidth",function(e){on.log(JSON.stringify(e),3)}),dn.subscribe(yn+".getBandwidthFailed",function(e){on.log(JSON.stringify(e),3),on.log("getBandwidth Failed",on.LogLevels.error)}),dn.subscribe(yn+".parseUDIA",function(e,n){on.log("retrieved UDIA"+JSON.stringify(e),on.LogLevels.verbose),un.isDefined(n)&&on.callSDKFunction(n)}),dn.subscribe(yn+".getUDIAFailed",function(){on.log("Failed to retrieve UDIA",on.LogLevels.error)}),dn.subscribe(Cn+".CacheReady",function(e){on.log("Succeeded to init BC with:"+JSON.stringify(e),on.LogLevels.info),on.callSDKFunction("adUnitsReady",e)}),dn.subscribe(Cn+".NoMoreOffers",function(e){on.log("BC currently has no more offers",on.LogLevels.info),on.callSDKFunction("adUnitsReady",e)}),dn.subscribe(Dn+".CacheReady",function(e){on.log("Succeeded to init BC with:"+JSON.stringify(e),on.LogLevels.info),on.callSDKFunction("adUnitsReady",e)}),dn.subscribe(Dn+".NoMoreOffers",function(e){on.log("BC currently has no more offers",on.LogLevels.info),on.callSDKFunction("adUnitsReady",e)}),dn.subscribe(Dn+".AllOffersVast",function(e){on.log("RV rest of the feed is Vast",on.LogLevels.info),on.callSDKFunction("adUnitsReady",e)}),dn.subscribe(An+".CacheReady",function(e){on.log("Succeeded to init IS with:"+JSON.stringify(e),on.LogLevels.info),on.callSDKFunction("adUnitsReady",e)}),dn.subscribe(An+".NoMoreOffers",function(e){on.log("IS currently has no more offers",on.LogLevels.info),on.callSDKFunction("adUnitsReady",e)}),dn.subscribe("SDKController.GetConfig",function(e){e&&e.productType&&dn.publish(e.productType+".GetConfig",[e])}),dn.subscribe("SDKController.ActionClick",function(e){e&&e.productType&&dn.publish(e.productType+".ActionClick",[e])}),dn.subscribe("SDKController.OpenUrl",function(e){return Rt(["url","method"],e,"openUrl").didSucceed?(on.log("Request to open external url",on.LogLevels.info),void zt(e)):void on.log("error calling open url with "+JSON.stringify(e),on.LogLevels.error)}),dn.subscribe("SDKController.PreloadAppInstallPage",function(e){return Rt(["appId"],e,"preloadAppInstallPage").didSucceed?(on.log("Request to open external url",on.LogLevels.info),void Ht(e)):void on.log("error calling preload App install page with "+JSON.stringify(e),on.LogLevels.error)}),dn.subscribe("SDKController.nativePixel",function(e){return Rt(["url"],e,"nativePixel").didSucceed?(on.log("Request to send click in native api",on.LogLevels.info),void Q(e.url)):void on.log("error sending safe click "+JSON.stringify(e),on.LogLevels.error)}),dn.subscribe("SDKController.FirePixel",function(e){return Rt(["url"],e,"FirePixel").didSucceed?(on.log("Request to fire pixel from controller",on.LogLevels.info),void("native"===e.type?Q(e.url)||q(e):q(e))):void on.log("error firing pixel "+JSON.stringify(e),on.LogLevels.error)}),dn.subscribe("SDKController.hideClose",function(e){var n=Wt(Qi(e),e);if(!n)return void on.log("line[1196]: ERROR",on.LogLevels.error);var t=Qt(n);t.data("close",!1),pi(t)&&Jt()}),dn.subscribe("SDKController.AdClose",function(e){e.ignoreClick?hi():mi()}),dn.subscribe("SDKController.SetForceClose",function(e){var n=un.isDefined(e.isEnable)?e.isEnable:!0;n?_n.changeMode("Neutral"):_n.disableForceClose()}),dn.subscribe("SDKController.closeAdunit",function(){Bt(),oi(!1)}),dn.subscribe("SDKController.setBackButtonState",function(e){if(e&&e.state&&e.productType){var n="default"===e.state?Xn.defaultBehavior:Xn[e.state];e.demandSourceName?ft[e.productType][e.demandSourceName]=n:ft[e.productType]=n}}),dn.subscribe("SDKController.setCloseButtonState",function(e){L(e)}),dn.subscribe("SDKController.ScrollHeight",function(e){var t,i;n.Utils.isDefined(e.value)&&(t=e.value,on.log("scroll height is: "+t,on.LogLevels.info),sn.when(cn.getScreenSize()).then(function(e){i=fn&&un.isDefined(fn.productType)&&"application"===rt[fn.productType]&&"portrait"===Bn.mobileSDKSettings.appOrientation?Math.max(e.height,e.width):fn&&un.isDefined(fn.productType)&&"application"===rt[fn.productType]&&"landscape"===Bn.mobileSDKSettings.appOrientation?Math.min(e.height,e.width):e.height,i>t&&(t=i),on.log("min scroll height is: "+i+"scroll height was set to: "+t+" screen height: "+e.height,on.LogLevels.verbose),ut.scrollHeight=t,Bn.mobileSDKSettings.deviceOs!==H.deviceOs.android&&sn("body").css("height",ut.scrollHeight)}))}),dn.subscribe("SDKController.scrollTop",function(){on.log("scrollTop",on.LogLevels.verbose),setTimeout(function(){sn("html,body").scrollTop(0)},1e3)}),dn.subscribe("SDKController.showNoConnectionMessage",function(){var e={productType:In,message:"You are not connected to the internet, please connect and try again.",yes:"close",no:"OK"};on.alert(e)})},jt=function(){sn("body").append(Lt+Tt+Ut+Ot);for(var e="",n=10,t=0;n>t;t++)e+=Pt;sn(".loaderOW .offers").prepend(e),bi()},Nt=function(){cn.init(),X.init($,sn,on.Cache),Y.init($,Bn.mobileSDKSettings,sn,on.Cache,wi(),Z,X,on.getEnv()),on.RewardedVideo.init(),on.Interstitial=on.InterstitialFactory.create(),on.Interstitial.init(),on.OfferWall.init(),on.HTTPService.init(!on.isLegacy(Un.nativeHttpEngine))},Et=function(e){var n=new sn.Deferred;on.log("Products info received: "+JSON.stringify(e),on.LogLevels.info);var t,i,r,a=Fn.length,o=[];for(t=0;a>t;t++)un.isDefined(e[Fn[t]])||(Bn.applicationSettings[Fn[t]]=null);for(i in e)e.hasOwnProperty(i)&&i.match(/^custom/)&&o.push(i);return Li(o),r=Di(e,xn,Bn.applicationSettings),r.didSucceed?n.resolve():n.reject(r.errMsg),n.promise()},Kt=function(e){sn.each(e.products,function(e,t){n.hasOwnProperty(t)&&un.isFunction(n[t].init)&&n[t].init()})},Wt=function(e,n){var t=null;return sn.each(vn,function(){return Qi(this)!=e||this.productType!==n.productType||n.demandSourceName&&this.demandSourceName!==n.demandSourceName?!0:(t=this,!1)
  7. }),t},Qt=function(e){var n,t=Qi(e),i=null;return n=x(e).selector,sn.each(sn(n),function(){return sn(this).data("id")==t?(i=sn(this),!1):!0}),i},qt=function(){var e=sn("#displayedFrame");return e&&e.length>0?e:null},Jt=function(){jn.addClass("ssaOnAdUnitCloseVisible")},Gt=function(){jn.removeClass("ssaOnAdUnitCloseVisible")},_t=function(e,n){var t;e&&un.isVisible(En)?En.fadeOut(100,function(){sn(".dialogBox").css("visibility","hidden"),sn("#ssaDialogBoxOverlay").fadeOut(100,function(){un.isFunction(n)&&n.call(),t=qt(),t&&ni("showFrame")})}):(sn(".dialogBox").css("visibility","hidden"),sn("#ssaDialogBoxOverlay").css("display","none"),un.isFunction(n)&&n.call(),t=qt(),t&&ni("showFrame"))},Ht=function(e){on.isLegacy({ios:"5.17",android:"99"})||on.callSDKFunction("preLoadAppPage",{appId:e.appId,viewUniqueId:e.viewUniqueId},"preloadAppInstallPageSuccess","preloadAppInstallPageFailure")},zt=function(e,n){function t(){fn&&dn.publish("SDKController.AdOpened",[{productType:fn.productType}]),n&&n.call(null)}var i,r=[],a=null,o=null;o=dn.subscribe(yn+".openUrlFailure",function(e){clearTimeout(i),Mt(r),dn.unsubscribe(o);var n=un.isDefined(e.errMsg)?e.errMsg:"Unknown reason for error",t=fn?fn.productType:"";Nn.trackEvent(Ft.openUrlError,{generalMessage:n},{productType:t}),on.log("line[1502]: SDK failed to open url",on.LogLevels.verbose)}),a=Bn.mobileSDKSettings.deviceOs===H.deviceOs.ios&&"webview"===e.method?dn.subscribe(yn+".openUrlSuccess",function(){clearTimeout(i),Mt(r),e.controls&&$t(),t()}):dn.subscribe(yn+".viewableChange",function(e){clearTimeout(i),Mt(r),!un.isDefined(e.isViewable)||e.isViewable||Bn.mobileSDKSettings.deviceOs===H.deviceOs.android&&"main"!==e.webview||t()}),r.push(o),r.push(a),"storeKit"===e.method&&(e.method=Bn.mobileSDKSettings.deviceOs!==H.deviceOs.ios||on.isLegacy({ios:"5.17",android:"99"})?"external_browser":"store"),"webview"===e.method&&e.controls?Bn.mobileSDKSettings.deviceOs===H.deviceOs.android?on.callSDKFunction("openUrl",{url:e.url,method:"webview"},"openUrlSuccess","openUrlFailure"):on.callSDKFunction("openUrl",{url:e.url,method:e.method,controlFrames:ot},"openUrlSuccess","openUrlFailure"):on.callSDKFunction("openUrl",{url:e.url,method:e.method,appId:e.appId,viewUniqueId:e.viewUniqueId},"openUrlSuccess","openUrlFailure"),i=setTimeout(function(){dn.unsubscribe(a),"ios"===on.getApiData({deviceOs:1}).deviceOs&&parseFloat(on.getOsVersion())<8&&n&&n.call(null)},500)},$t=function(){var e=sn("#ssaNavigator");sn("body").css("height",""),di("WebControls"),Oi("WebControls"),_n.changeMode("Navigation"),qt().addClass("hidden"),Pi(),on.callSDKFunction("setBackButtonState",{state:at.device}),_t(!1,null),Xt(),e.removeClass("defaultNavigation").addClass("webNavigation"),on.callSDKFunction("navigationModeChange",{state:!0})},Yt=function(){var e=sn("#ssaNavigator");Bn.mobileSDKSettings.deviceOs!==H.deviceOs.android&&sn("body").css("height",ut.scrollHeight),Oi(fn.productType),di(fn.productType),qt().removeClass("hidden"),on.callSDKFunction("setBackButtonState",{state:at.controller}),_t(!1,null),_n.changeMode("Neutral"),Zt(),e.removeClass("webNavigation").addClass("defaultNavigation"),setTimeout(function(){on.callSDKFunction("navigationModeChange",{state:!1})},70)},Xt=function(){jn.unbind("touchend").bind("touchend",function(e){e.stopPropagation(),e.preventDefault(),sn("#ssaNavigatorBackButton").unbind("touchend"),on.callSDKFunction("controlSecondaryWebView",{action:"close"}),on.callSDKFunction("removeCloseEventHandler"),Yt()}),sn("#ssaNavigatorBackButton").unbind("touchend").bind("touchend",function(e){e.stopPropagation(),e.preventDefault(),on.callSDKFunction("removeCloseEventHandler"),on.callSDKFunction("controlSecondaryWebView",{action:"back"})})},Zt=function(){jn.unbind("touchend").bind("touchend",mi),ei(Zn.close),Wn.unbind("click").bind("click",function(e){e.stopPropagation(),e.preventDefault(),_t(!0)})},ei=function(e){Kn.unbind("click").bind("click",function(n){n.stopPropagation(),n.preventDefault();var t=mn?e:Zn.close;switch(t){case Zn.nextFrame:ni("moveToNextFrame"),_t(!0);break;case Zn.close:fn?fn.productType===In?(ni("confirmCloseClicked"),_t(!0)):(Bt(),oi(!0)):oi(!0)}})},ni=function(e,t){if(on.log("postAdUnitEvent | should be posting to ad unit: "+e,on.LogLevels.verbose),t)on.log("postAdUnitEvent | posting to ALL ad unit frames: "+e,on.LogLevels.verbose),sn.each(sn(".ssaAdUnit"),function(){n.Msg.postMessage(e,"*",this.contentWindow)});else{var i=qt();fn&&i?(on.log("postAdUnitEvent | posting to DISPLAYED ad unit: "+e,on.LogLevels.verbose),n.Msg.postMessage(e,"*",qt()[0].contentWindow)):on.log("postAdUnitEvent | error in currentDisplayedAd: "+e,on.LogLevels.verbose)}},ti=function(e,n){var t=sn.Deferred(),i=qt();return ei(Zn.close),_n.display(e),sn.when(gi()).then(function(){c(e),n&&xi(e.productType),i&&(on.log("line[1636]: ad unit open error",on.LogLevels.verbose),i.addClass("hidden").attr("id","")),t.resolve()}),t.promise()},ii=function(e,n){on.log("line[1639]:display without loader, frame "+e.data("id")+" close "+e.data("close"),on.LogLevels.verbose),Pi(),Jt(),fn=n,e.removeClass("hidden").attr("id","displayedFrame"),ai()},ri=function(e,n){return e.data("loaded")?void ii(e,n):(on.log("line[1659]: display with loader, frame "+e.data("id"),on.LogLevels.verbose),void(fn&&fn.productType&&(Gt(),xi(fn.productType),e.attr("id","displayedFrame"))))},ai=function(){qn=!0,on.log("line[2062]: onAdVisible",on.LogLevels.verbose),dn.publish("SDKController.AdVisible",[fn]),ni("adVisible$$productType="+fn.productType)},oi=function(e,n){var t=!0,i=fn;n&&(t=!1),ut.scrollHeight="",sn("body").css("height",ut.scrollHeight),_t(e,function(){var e=function(){};fn=null,n&&xi(i.productType),on.callSDKFunction("setBackButtonState",{state:at.controller}),t?e=si.bind(this,i):Gt(),i?Ji(i,{preloadNextInBG:!n},e):(_n.unloadProduct(),e())})},si=function(e){on.log("line[2114]: ad unit close done",on.LogLevels.verbose),setTimeout(function(){on.log("line[2115]: closing webview with currentAd "+JSON.stringify(e),on.LogLevels.verbose),_n.hide(e)},250)},ci=function(e){sn.each(vn,function(n){return Qi(this)==e?(vn.splice(n,1),!1):!0})},li=function(e){var n=Qi(e);sn.each(vn,function(){return Qi(this)==n?!0:!1})},ui=function(e){var n=un.isDefined(e)&&un.isDefined(e.productType)?rt[e.productType]:rt.general;e.ext&&e.ext.forceOrientation?n=e.ext.forceOrientation.toLowerCase():e&&e.settings&&un.isDefined(e.settings.orientation)&&(n=e.settings.orientation),on.callSDKFunction("setOrientation",{orientation:n})},di=function(e){on.callSDKFunction("setWebviewBackgroundColor",{color:nt[e]})},fi=function(){on.callSDKFunction("setStoreSearchKeys",{searchKeys:lt[Bn.mobileSDKSettings.deviceOs]})},gi=function(){var e,n=new sn.Deferred;return Qn?n.resolve():e=dn.subscribe(yn+".viewableChange",function(t){t&&un.isDefined(t.isViewable)&&t.isViewable&&(on.log("viewableChange(screenVisible) to:"+t.isViewable,on.LogLevels.info),dn.unsubscribe(e),n.resolve())}),n.promise()},pi=function(e){var n=qt();return e&&n&&e[0]===n[0]},vi=function(e){var n=Qt(Wt(Qi(e),e));return n.data("loaded")?void on.log("line[1753]: We already received the loaded event for this frame",on.LogLevels.verbose):(n.data("loaded",!0),on.log("line[1705]:ad loaded: "+Qi(e)+"/"+pi(n)+"/"+x(e).selector,on.LogLevels.verbose),void(pi(n)&&ii(n,e)))},hi=function(){on.callSDKFunction("removeCloseEventHandler",on.ViewsManager.getDisplayWebViewParams(!1))},mi=function(){Pi(),hi();var e=fn&&fn.productType,n=fn&&fn.demandSourceName;if(!e)return Bt(),void oi(!1);var t=l(e);switch(t){case Tn.close:on.ViewsManager.waitForAllViews().then(function(){Bt(),oi(!1)});break;case Tn.confirm:ei(Zn.close),on.alert(u(e,n));break;case Tn.confirmNextFrame:ei(Zn.nextFrame),on.alert(u(e,n));break;case Tn.nextFrame:ni("moveToNextFrame");break;case Tn.ignore:}},bi=function(){jn=sn("#ssaNavigatorCloseButton"),En=sn("#ssaDialogBox"),Kn=sn("#ssaDialogConfirmBtn"),Wn=sn("#ssaDialogCancelBtn"),Vn=sn("#ssaViewWrap"),Zt()},Si=function(){var e,n=sn("head");e=Bn.mobileSDKSettings.rootPath+Mn,sn("#ssaMobileControllerCss").length>0?sn("#ssaMobileControllerCss").attr("href",e):(n.prepend('<link rel="stylesheet" id="ssaMobileControllerCss" type="text/css" />'),sn("#ssaMobileControllerCss").attr("href",e))},yi=function(){return!0},Ci=function(){var e=!0;return sn.each(Bn.mobileSDKSettings,function(n,t){return n.match(/^deviceIds/)&&un.isDefined(t)&&t&&(e=!1),e}),e},Di=function(e,n,t){var i,r,a,o=[],s=n.length;for(a=0;s>a;a++)un.isDefined(e[n[a]])||("applicationUserId"!==n[a]||Ci())&&o.push(n[a]);return o.length>0?(i={errMsg:wn.missing+JSON.stringify(o)},{didSucceed:!1,errMsg:i}):r=z(e,t)},Ii=function(e){on.log(e,on.LogLevels.error)},Ai=function(e){var n,t={};return un.isString(e)?(n=e.split(/\?(.+)/),t.name=n[0],t.parameters=e.split(/parameters=(.+)/)[1],t):null},wi=function(){return Bn.mobileSDKSettings.deviceOs===H.deviceOs.android?"supersonicads":"SSAPublisher"},Li=function(e){sn.each(Bn.applicationSettings,function(n){n.match(/^custom/)&&-1===sn.inArray(n,e)&&delete Bn.applicationSettings[n]})},Ti=function(){var e={};return sn.each(Bn.applicationSettings,function(n){n.match(/^custom/)&&(e[n]=Bn.applicationSettings[n])}),e},Ui=function(e){var n=Bn.mobileSDKSettings.protocol+"//"+Bn.mobileSDKSettings.domain+"/l/?type={{logType}}&count={{count}}&applicationKey={{applicationKey}}&applicationUserId={{applicationUserId}}&SDKVersion={{SDKVersion}}&deviceOs={{deviceOs}}&deviceOSVersion={{deviceOSVersion}}&{{customQueryString}}",t=new Image,i={},r={logType:"",count:1,applicationKey:Bn.applicationSettings.applicationKey,applicationUserId:Bn.applicationSettings.applicationUserId,SDKVersion:Bn.mobileSDKSettings.SDKVersion,deviceOs:Bn.mobileSDKSettings.deviceOs,deviceOSVersion:Bn.mobileSDKSettings.deviceOSVersion,customQueryString:""};e=sn.extend({"deviceIds[OpenUDID]":Bn.mobileSDKSettings["deviceIds[OpenUDID]"],"deviceIds[IFA]":Bn.mobileSDKSettings["deviceIds[IFA]"],"deviceIds[IDFV]":Bn.mobileSDKSettings["deviceIds[IDFV]"],"deviceIds[SERIAL]":Bn.mobileSDKSettings["deviceIds[SERIAL]"],"deviceIds[AndroidID]":Bn.mobileSDKSettings["deviceIds[AndroidID]"],"deviceIds[IMEI]":Bn.mobileSDKSettings["deviceIds[IMEI]"]},r,e),sn.each(e,function(e,n){un.isDefined(r[e])||(i[e]=n)}),sn.isEmptyObject(i)||(e.customQueryString+=un.serialize(i)),t.src=un.renderTemplate(n,e)},Oi=function(e){var n=un.isDefined(et[e])?et[e]:et.general;sn("body").css("background",n)},Pi=function(){var e=sn(".loaderOW");e.addClass("loaderOWFadeOut"),setTimeout(function(){sn(".loaderOW").addClass("hidden"),e[0].offsetWidth=e[0].offsetWidth},600),sn("#ssaLoaderWrap").addClass("hidden")},xi=function(e){e===In?sn(".loaderOW").removeClass("loaderOWFadeOut hidden"):sn("#ssaLoaderWrap").removeClass("hidden")},Fi=function(){var e,n=new sn.Deferred,t=[],i=0,r=[];return sn.each(tt,function(a,o){e=sn("."+o.split("/").pop().split(".")[0]),e.is("img")?e=e[0]:(e=new Image,r.push(a)),t.push(e),t[a].onload=function(){i++,on.log("loaded: "+t[a].src,on.LogLevels.verbose),-1!==r.indexOf(a)&&(e=o.split("/").pop().split(".")[0],sn("."+e).css("background","url("+t[a].src+")"+it[e])),i===tt.length&&(on.log("finished loading controller images",on.LogLevels.verbose),n.resolve())},t[a].src=Bn.mobileSDKSettings.imagePath+o}),n.promise()},Bi=function(){var e=0;return sn.each($n,function(n,t){t()&&(e|=zn[n])}),e},Ri=function(e){var n="";return un.isDefined(e)||(e=Bn),sn.each(e,function(e,t){return e.match(/^deviceIds/)&&un.isDefined(t)&&null!==t?(n=t,!1):!0}),n},Mi=function(){var e=Bn.mobileSDKSettings;if(e.deviceScreenScale)try{var n=parseInt(e["deviceScreenSize[width]"])/(e.deviceOs!==H.deviceOs.ios?e.deviceScreenScale:1),t=parseInt(e["deviceScreenSize[height]"])/(e.deviceOs!==H.deviceOs.ios?e.deviceScreenScale:1);e.deviceHeightDP=parseInt(t),e.deviceWidthDP=parseInt(n)}catch(i){on.log("Failed to parse screen DP",on.LogLevels.error)}},Vi=function(){var t=new sn.Deferred,i=["com.google.market","com.android.vending"],r=!1,a=Bn.mobileSDKSettings,o=e("../../components/CampaignsFilter.js")(n,on).factory("Controller");return o.checkIfAppInstallOnDevice(i).then(function(e){sn.each(e,function(e,n){n.isInstalled&&(r=!0)}),a.gpi=r,t.resolve()},function(){a.gpi=r,t.reject("Unable to check if Google play services is installed on the device")}),t.promise()},ki=function(){var e,n,t,i=[],r=new sn.Deferred;return e=dn.subscribe(yn+".parseDeviceStatus",function(e,n){Mt(i),on.log("Device status received: "+JSON.stringify(e),on.LogLevels.info),t=Di(e,Pn,Bn.mobileSDKSettings),t.didSucceed?(on.callSDKFunction(n),Mi(),Xi(Bn.mobileSDKSettings),r.resolve()):r.reject(t.errMsg)}),i.push(e),n=dn.subscribe(yn+".getDeviceStatusFailed",function(e){Mt(i),Ii(e),r.reject(wn.device)}),i.push(n),on.callSDKFunction("getDeviceStatus",{},"parseDeviceStatus","getDeviceStatusFailed"),r.promise()},ji=function(){var e,n,t=[],i=new sn.Deferred;return on.isLegacy(Un.androidIsVersion)||(e=dn.subscribe(yn+".handleAppsInstallTimeSuccess",function(e){Mt(t),d(e)}),t.push(e),n=dn.subscribe(yn+".handleAppsInstallTimeFailed",function(e){Mt(t);var n=un.isDefined(e.errMsg)?e.errMsg:"Unknown reason for error";Nn.trackEvent(Ft.appsInstallTimeFailed,{generalMessage:n})}),t.push(n),on.callSDKFunction("getAppsInstallTime",{systemApps:"false"},"handleAppsInstallTimeSuccess","handleAppsInstallTimeFailed")),i.resolve()},Ni=function(e){return un.isDefined(Bn[e])&&null!==Bn[e]||un.isDefined(Bn.applicationSettings[e])&&null!==Bn.applicationSettings[e]||un.isDefined(Bn.mobileSDKSettings[e])&&null!==Bn.mobileSDKSettings[e]||un.isDefined(Bn.controllerConfig[e])&&null!==Bn.controllerConfig[e]||un.isDefined(Bn.configMapping[e])&&null!==Bn.configMapping[e]()},Ei=function(e){return un.isDefined(Rn[e])},Ki=function(e){var n;return un.isDefined(Bn[e])?n=Bn[e]:un.isDefined(Bn.applicationSettings[e])?n=Bn.applicationSettings[e]:un.isDefined(Bn.mobileSDKSettings[e])?n=Bn.mobileSDKSettings[e]:un.isDefined(Bn.controllerConfig[e])?n=Bn.controllerConfig[e]:un.isDefined(Bn.configMapping[e])?n=Bn.configMapping[e]():"customParam"===e&&(n=Ti()),n},Wi=function(){var e,n,t=[],i=new sn.Deferred;return e=dn.subscribe(yn+".parseCachedFilesMap",function(e,n){var t,r,a,o={};return a=Rt(["path"],e,"parseCachedFileMap"),a.didSucceed?(t=decodeURIComponent(e.path).split("/"),""!==e.path?(r=t[t.length-1],o[r]=un.isDefined(e[r])?e[r]:e):o=e,on.log("successfully received files map:"+JSON.stringify(e),on.LogLevels.info),delete e.path,void f(o).then(function(e){return on.log("Finished purging cache on controller init, calling init with sorted:"+JSON.stringify(ln.cachePriorityArray),on.LogLevels.verbose),on.log("The file map after:"+JSON.stringify(e),on.LogLevels.verbose),on.Cache.init(e,ln.cachePriorityArray)}).then(function(){on.log("Cache module initiated",on.LogLevels.info),on.callSDKFunction(n),i.resolve()}).fail(function(e){e="Cache module failed to initiated",on.log(e,on.LogLevels.error),i.reject(e)})):void i.reject(a.errMsg)}),t.push(e),n=dn.subscribe(yn+".getCachedFilesMapFailed",function(e){on.log("failed to receive files map:"+e,on.LogLevels.error),i.reject(wn.filemap)}),t.push(n),on.callSDKFunction("getCachedFilesMap",{path:""},"parseCachedFilesMap","getCachedFilesMapFailed"),i.promise()},Qi=function(e){if(!e)return void on.log("line[2584]: entering getAdId with no ad",on.LogLevels.verbose);var n=e.bannerId||e.bannerID||e.crid||e.id;return n&&n.toString()},qi=function(e,n){on.log("line[2254]:loading ad to frame: "+Qi(e)+e.productType,on.LogLevels.verbose);var t=x(e)["class"];return n&&(t+="hidden "),sn("<iframe />",{"class":t,src:e.url}).data("id",Qi(e)).data("close",!0).appendTo("body")},Ji=function(e,t,i){t=t||{preloadNextInBG:!0,reload:!1},on.log("line[2262]:unloading ad from frame: "+Qi(e)+e.productType,on.LogLevels.verbose),sn.each(sn(x(e).selector),function(n,t){return sn(t).data("id")==Qi(e)?(e.engaged=pi(sn(t)),e.engaged&&t.removeAttribute("id"),e.productType===In?setTimeout(function(){t&&t.parentNode&&t.parentNode.removeChild(t)},0):t&&t.parentNode&&t.parentNode.removeChild(t),!1):!0}),ci(Qi(e));var r,a=P(e);try{a.prepareAdToEngageEnd(e).then(function(){r=a.getNextAd({regardSettings:!1,userEngaged:!t.preloadNextInBG})})}catch(o){r=!1}on.log("engageEnd on controller with :"+e.engage,on.LogLevels.verbose),n.PubSub.publish("SDKController.engageEnd",[e,function(){if(e.engaged&&_n.unloadProduct(e),r||t.reload)try{a.preloadNext({userEngaged:!t.preloadNextInBG})}catch(n){on.log("Cannot preload next",on.LogLevels.verbose)}i&&i(),rn.getState()===Ln.play&&rn.handleOnEngageEnd(e)}])},Gi=function(){on.callSDKFunction("toggleUDIA",{toggle:Bi()})},_i=function(){on.callSDKFunction("getUDIA",{getByFlag:Bi(),2:1},"parseUDIA","getUDIAFailed")},Hi=function(){var e=at.controller;return Bn.mobileSDKSettings.deviceOs===H.deviceOs.android&&10==Bn.mobileSDKSettings.deviceOSVersion&&(e=at.device),e},zi=function(e){return $i(e),Yi(e),e&&e.applicationKey&&(Bn.applicationSettings.applicationKey=e.applicationKey),Di(e,xn,Bn.applicationSettings)},$i=function(e){var n,t=Fn.length;for(n=0;t>n;n++)un.isDefined(e[Fn[n]])||(Bn.applicationSettings[Fn[n]]=null)},Yi=function(e){var n,t=[];for(n in e)e.hasOwnProperty(n)&&n.match(/^custom/)&&t.push(n);Li(t)};window.addEventListener("resize",function(){var e=h();xt&&xt.updateBaseData&&xt.updateBaseData({appOrientation:e})});var Xi=function(e){e.deviceOs!==H.deviceOs.ios||-1!==un.versionCompare(e.deviceOSVersion,"10")&&"false"!==e.isLimitAdTrackingEnabled||(e["deviceIds[IDFV]"]=null)},Zi={adUnitGlobals:Y,adUnitLibs:X,adUnitUrl:Z,LogLevels:{none:0,error:1,info:2,verbose:3},featureMap:Un,debugMsg:$.debugMsg,decideUrlProtocolAccordingToHTTPSCompliance:O,msgHandler:p,jQuery:function(){return sn},api:function(){return Bn.mobileSDKSettings.protocol+"//"+Bn.mobileSDKSettings.domain},apiWithCdn:function(){return Bn.mobileSDKSettings.protocol+"//"+("www.supersonicads.com"===Bn.mobileSDKSettings.domain?Bn.mobileSDKSettings.serviceCdn:Bn.mobileSDKSettings.domain)},getBaseCdnUrl:function(){return Bn.mobileSDKSettings.protocol+"//"+Bn.mobileSDKSettings.cdn},getBaseServerUrl:function(){return Bn.mobileSDKSettings.baseServerUrl&&on.getEnv()!==H.environment.develop?Bn.mobileSDKSettings.protocol+"//"+Bn.mobileSDKSettings.baseServerUrl:""},getServerType:function(){return Bn.mobileSDKSettings.serverType||"new"},init:function(e){return on=this,sn=window.jQuery,hn||(sn.extend(Bn.mobileSDKSettings,e.mobileSDKSettings),sn.extend(Bn.controllerConfig,e.controllerConfig),Bn.mobileSDKSettings.overrideDebug&&(Bn.mobileSDKSettings.debug=Bn.mobileSDKSettings.defaultDebug),window.initStartTime=Date.now(),a(),o(),i(),Vt(),jt(),Nt(),kt(),t(),window.initStartPrecacheTime=Date.now(),Fi().then(function(){window.initEndPrecacheTime=Date.now(),Si(),on.callSDKFunction("initController",{stage:"loaded"}),on.log("Controller initiated",on.LogLevels.info),sn.when(W(Dn),W(An)).then(function(){sn.when(ki(),Wi()).then(function(){window.initEndTime=Date.now(),Y.setProtocol(O()),on.callSDKFunction("initController",{stage:"ready"}),M(!0)},function(e){window.initEndTime=Date.now(),on.callSDKFunction("initController",{stage:"failed",errMsg:e}),M(!1)}).then(D).then(function(){sn.when(on._getApplicationConfigurationFromServer(),N(),Vi(),ji())}).fail(function(e){e?on.log(e,on.LogLevels.verbose):on.log("failed promise on get app config",on.LogLevels.verbose)})}),Gi(),_i()},function(e){window.initEndTime=Date.now(),on.log(e,on.LogLevels.error),on.callSDKFunction("initController",{stage:"failed",errMsg:e}),M(!1)}),hn=!0),hn},initProducts:function(e){sn.each(e.products,function(n,t){on[t].init(e[t])})},getAPIRequiredData:function(){var e=tn.getCommonRequiredData(),t=on.getApiData(e),i=new sn.Deferred;return t&&t!=={}?n.Utils.isDefined(t.errMsg)?i.reject(t.errMsg):i.resolve(t):i.reject("Failed to get required parameters"),i.promise()},getApiData:function(e){var n,t={};for(n in e)if(e.hasOwnProperty(n)){if(1===e[n]&&!Ni(n)&&!Ei(n)){t={errMsg:wn.missing+n};break}Ni(n)?t[n]=Ki(n):"customParams"===n?sn.extend(t,Ti()):Ei(n)&&(t[n]=Rn[n]())}return t},runFunction:function(e,t,i){var r,a=Ai(e),o=!0;r=un.parseJSON(a.parameters);try{un.isDefined(a.name)&&n.PubSub.publish(yn+"."+a.name,[r,t,i])}catch(s){on.log("error running function:"+a.name+", error:"+s,on.LogLevels.error),o=!1}return o},callSDKFunction:function(e,n,t,i){if(un.isString(e)&&""!==e){var r=un.isDefined(t)&&un.isString(t)?t:"",a=un.isDefined(i)&&un.isString(i)?i:"";on.postMessage({eventName:e,parameters:sn.extend({success:r,fail:a},n)})}},postMessage:function(e,n,t){e.prefix=bn,un.isDefined(e.parameters)||(e.parameters={}),sn.extend(e.parameters,{acknowledgeWith:un.isDefined(n)?n:Sn,declineWith:un.isDefined(t)?t:"errorTest"}),kn.postMessage(e)},acknowledgeMessage:function(e){kn.acknowledgeMessage(e)},getApplicationInfo:function(e,n){var t,i,r=sn.Deferred(),a=function(e,n){Mt([t,i]),e?r.resolve(Bn):r.reject(wn.appInfo,n)};if(t=dn.subscribe(yn+".parseApplicationInfo",function(n,t,i){if(un.isDefined(n.productType)&&n.productType!==e.productType&&n.demandSourceName!==e.demandSourceName)return void on.log("application info send for the wrong product",on.LogLevels.verbose);on.log("App info received: "+JSON.stringify(n),on.LogLevels.info);var r;delete n.productType,delete n.demandSourceName,r=zi(n),r.didSucceed?(un.isDefined(t)&&on.callSDKFunction(t),a(!0)):(un.isDefined(i)&&on.callSDKFunction(i,{errMsg:r.errMsg}),a(!1,r.errMsg))}),i=dn.subscribe(yn+".getApplicationInfoFailed",function(e){Ii(e),a(!1,"Failed retrieving application info")}),un.isDefined(n)&&n){var o=zi(n);o.didSucceed?a(!0):(on.log(o.errMsg,on.LogLevels.error),a(!1,o.errMsg))}else on.callSDKFunction("getApplicationInfo",e,"parseApplicationInfo","getApplicationInfoFailed");return r.promise()},setCloseButtonState:L,getEnv:function(){var e=H.environment.production;return e=Bn.mobileSDKSettings.debug&&parseInt(Bn.mobileSDKSettings.debug)>0&&Bn.mobileSDKSettings.domain!==H.domainUrls.prod?Bn.mobileSDKSettings.domain===H.domainUrls.local?H.environment.develop:H.environment.stage:H.environment.production},getProtocol:function(){return Bn.mobileSDKSettings.protocol},isLegacy:function(e){var n=-1;try{var t="android"===Bn.mobileSDKSettings.deviceOs?e.android:e.ios;n=un.versionCompare(Bn.mobileSDKSettings.SDKVersion,t)}catch(i){on.log(i,on.LogLevels.error)}return on.log("isLegacy: "+(0>n)+" Feature: "+JSON.stringify(e),on.LogLevels.verbose),0>n},getFixedUserIdForCache:function(){return"UniqueUser"},setFixedUserIdForCache:K,cacheAdUnitAssets:function(e,n){var t,i=n.assets,r=n.lastUpdateTime,a=i.length,o=new sn.Deferred,s=[],c=0;for(0===a&&o.resolve(0),t=0;a>t;t++)s.push(on.cacheAsset(e,i[t],r));return sn.when.apply(null,s).always(function(){var n=arguments;for(t in n)on.log("path: "+e+" res: "+n[t],3),n[t]&&c++;o.resolve(c)}),o.promise()},cacheAsset:function(e,n,t,i){var r,a,o,s=[],c=new sn.Deferred;if(un.isString(n)&&(n=[n]),"device"===Bn.applicationSettings.preCache){var l,u={path:un.isString(e)?e:e.toString(),overrideExistingFile:i},d=-1,f=function(e){c.reject(e),Mt(s)},g=function(){on.log("trying to save file: "+u.file+". To path: "+decodeURIComponent(u.path),on.LogLevels.info),on.callSDKFunction("saveFile",u,"preCacheFileSuccess","preCacheFileFailed")},p=function(e){return d++,d>=n.length?void f(e||"Index error in array assets url"):(l=n[d],u.file=an?un.changeUrlProtocol(l,H.protocol.https):l,void g())};un.isDefined(t)&&(u.lastUpdateTime=t.toString()),r=dn.subscribe(yn+".assetCached",function(n){return Rt(["path","file"],n,"preCacheFileSuccess").didSucceed?void(decodeURIComponent(n.path)===e&&l.match(n.file)&&(Mt(s),on.log("successfully saved file: "+decodeURIComponent(n.path)+"/"+n.file,on.LogLevels.info),c.resolve(!0))):(on.log("error calling assetCached "+JSON.stringify(n),on.LogLevels.error),void f("error calling assetCached"))}),a=dn.subscribe(yn+".assetCachedFailed",function(n){decodeURIComponent(n.path)===e&&l.match(n.file)&&(on.log("failed saved file: "+decodeURIComponent(n.path)+"/"+n.file,on.LogLevels.info),p("failed saved file"))}),o=dn.subscribe(yn+".preCacheFileFailed",function(n){decodeURIComponent(n.path)===e&&l.match(n.file)&&(on.log("failed to create connection to save file:"+decodeURIComponent(n.path)+"/"+n.file,on.LogLevels.error),p("failed to create connection to save file"))}),s.push(r),s.push(a),s.push(o),p()}else c.resolve(!0);return c.promise()},deleteFolder:function(e){un.isString(e)||e.toString(),on.callSDKFunction("deleteFolder",{path:e},"deleteFolderSuccess","deleteFolderFailed")},deleteAsset:function(e,n){var t,i,r=new sn.Deferred,a=[];return un.isString(e)||e.toString(),un.isString(n)||n.toString(),t=dn.subscribe(yn+".deleteFileSuccess",function(t){return Rt(["path","file"],t,"deleteFileSuccess").didSucceed?void(decodeURIComponent(t.path)===e&&n.match(t.file)&&(Mt(a),on.log("successfully deleted file: "+decodeURIComponent(t.path)+"/"+t.file,on.LogLevels.info),r.resolve())):(on.log("error calling deleteFileSuccess "+JSON.stringify(t),on.LogLevels.error),r.reject("failed to delete file: "+t.file),void Mt(a))}),a.push(t),i=dn.subscribe(yn+".deleteFileFailed",function(t){return Rt(["path","file"],t,"deleteFileFailed").didSucceed?void(decodeURIComponent(t.path)===e&&n.match(t.file)&&(Mt(a),on.log("failed to delete file: "+t.file,on.LogLevels.info),r.reject("failed to delete file: "+t.file))):(on.log("error calling deleteFileFailed "+JSON.stringify(t),on.LogLevels.error),r.reject("failed to delete file: "+t.file),void Mt(a))}),a.push(i),on.callSDKFunction("deleteFile",{path:e,file:n},"deleteFileSuccess","deleteFileFailed"),r.promise()},setBackButtonState:function(e){var n=e?Hi():at.none;on.callSDKFunction("setBackButtonState",{state:n})},addAdToLoadedCreatives:function(e){return e&&!li(e)?(vn.push(e),!0):!1},loadAdUnitUrl:function(e,n,t,i){var r,a=!0,o=!1;return U(e,n,t,i),on.log("line[2717]: load ad unit url",on.LogLevels.verbose),r=Qt(e),qn=!1,r||(r=qi(e,i.preload),on.addAdToLoadedCreatives(e),on.log("line[2723]:"+JSON.stringify(vn),on.LogLevels.verbose)),e.settings&&!e.settings.preload&&(r.data("loaded")?(on.log("line[2735]:",on.LogLevels.verbose),sn.when(ti(e,!a)).done(function(){ii(r,e)}),o=!0):(on.log("line[2742]:",on.LogLevels.verbose),fn=e,on.log("line[1644]:setting current displayed ad with "+JSON.stringify(fn),on.LogLevels.verbose),sn.when(ti(e,a)).done(function(){ri(r,e)}))),o},updateAdUnitUrl:function(e,n,t,i){var r;U(e,n,t,i),r=Qt(e),r?(on.log("line[3054]: updated iframe url for product "+t.productType,on.LogLevels.verbose),r[0].src=e.url):i.forceCreation?(on.log("Cannot find iframe to update, creating new one",on.LogLevels.verbose),on.loadAdUnitUrl(e,n,t,i)):on.log("line[3051]: cannot find iframe to update url",on.LogLevels.verbose)},onAdLoaded:function(e){var n=function(){on.log("line[2787]: ad loaded mismatch",on.LogLevels.error),Gn>Jn&&(dn.publish("SDKController.AdLoadError",[e]),Jn++)};if(!e||!e.productType)return void n();var t=Wt(Qi(e),e);return t?void vi(e):(on.log("mismatch from not being in loadedcreatives",3),void n())},removeAdUnit:function(e){s(fn);var n=P(fn);if(fn&&Qi(fn)===Qi(e)){var t=n&&un.isFunction(n.getNextAd)?n.getNextAd({regardSettings:!1,userEngaged:!0}):!1;Bt(),oi(!1,t)}else Ji(Wt(Qi(e),e),{preloadNextInBG:!0})},reloadAdUnit:function(e){on.log("line[2810]: ERROR",on.LogLevels.error),Ji(e,{preloadNextInBG:!0,reload:!0})},unloadFramesByProduct:function(e){var n,t=qt();on.log("line[2822]: removing all current"+e.productType+" frames",on.LogLevels.verbose),t&&t.hasClass(x(e)["class"])&&fn&&(Bt(),oi()),sn.each(sn(x(e).selector),function(e,t){n=sn(t).data("id"),ci(n),t.parentNode.removeChild(t)})},isRootFolder:function(e){return Bn.mobileSDKSettings.deviceOs===H.deviceOs.ios?"SSAPublisher"===e:"supersonicads"===e},getCurrentDisplayedAd:function(){return fn?fn:null},getCurrentDisplayedAdType:function(){return fn?fn.productType:null},getGlobalAppData:function(){var e,n,t,i,r=new sn.Deferred;return e=dn.subscribe(yn+".parseGlobalData",function(t){return i="string"==typeof t.ssaGlobalAppData?un.parseJSON(decodeURIComponent(t.ssaGlobalAppData)):t.ssaGlobalAppData,on.log("Full global app data is: "+JSON.stringify(i),on.LogLevels.verbose),i?(r.resolve(i),void Mt([e,n])):(r.reject("Invalid Global Data response"),void Mt([e,n]))}),n=dn.subscribe(yn+".getGlobalDataFailed",function(i){t=Rt(["errMsg"],i,"getGlobalDataFailed").didSucceed?i.errMsg:Rt(["errMsg"],i,"getGlobalDataFailed").errMsg,r.reject(t),Mt([e,n])}),on.callSDKFunction("getUserData",{key:"ssaGlobalAppData"},"parseGlobalData","getGlobalDataFailed"),r.promise()},setCachePriorityArrayKey:function(e,t){return t?on.getGlobalAppData().then(function(n){return n.cachePriorityArray=n.cachePriorityArray||{},n.cachePriorityArray[e.cacheBase]=t,on.setGlobalAppData(n)}):n.Utils.returnResolvedPromise()},setGlobalAppData:function(e){var n,t,i,r=new sn.Deferred;return n=dn.subscribe(yn+".setGlobalDataSuccess",function(){r.resolve(),Mt([n,t])}),t=dn.subscribe(yn+".setGlobalDataFailed",function(e){i=Rt(["errMsg"],e,"setGlobalDataFailed").didSucceed?e.errMsg:Rt(["errMsg"],e,"setGlobalDataFailed").errMsg,r.reject(i),Mt([n,t])}),on.callSDKFunction("setUserData",{key:"ssaGlobalAppData",value:JSON.stringify(e)},"setGlobalDataSuccess","setGlobalDataFailed"),r.promise()},getUserData:function(e,n){var t,i,r,a,o=new sn.Deferred;return un.isDefined(n)&&!un.isDefined(e)?(o.reject("Missing info to retrieve user data."),o.promise()):(t=dn.subscribe(yn+".parseUserData",function(s){return Rt(["ssaUserData"],s,"parseUserData").didSucceed?(a="string"==typeof s.ssaUserData?un.parseJSON(decodeURIComponent(s.ssaUserData)):s.ssaUserData,on.log("Full user data is: "+JSON.stringify(a),on.LogLevels.verbose),a?(un.isDefined(e)&&(a=a[e]||{},un.isDefined(n)&&(a=a[n]||{})),on.log("Get user data response: "+JSON.stringify(a)+" for appKey "+e+" and userId "+n+" (if no specific user return all)",on.LogLevels.verbose),o.resolve(a),void Mt([t,i])):(o.reject("Invalid User Data response"),void Mt([t,i]))):(r=Rt(["errMsg"],s,"parseUserData").errMsg,o.reject(r),void Mt([t,i]))}),i=dn.subscribe(yn+".getUserDataFailed",function(e){r=Rt(["errMsg"],e,"getUserDataFailed").didSucceed?e.errMsg:Rt(["errMsg"],e,"getUserDataFailed").errMsg,o.reject(r),Mt([t,i])}),on.callSDKFunction("getUserData",{key:"ssaUserData"},"parseUserData","getUserDataFailed"),o.promise())},setUserData:function(e,n,t){var i,r,a,o,s=new sn.Deferred;return un.isDefined(e)&&un.isDefined(n)?(sn.when(on.getUserData()).then(function(c){o=c,un.isDefined(o[e])||(o[e]={}),un.isDefined(o[e][n])||(o[e][n]={}),t==={}?o[e][n]={}:sn.extend(o[e][n],t),i=dn.subscribe(yn+".setUserDataSuccess",function(){s.resolve(),Mt([i,r])}),r=dn.subscribe(yn+".setUserDataFailed",function(e){a=Rt(["errMsg"],e,"setUserDataFailed").didSucceed?e.errMsg:Rt(["errMsg"],e,"setUserDataFailed").errMsg,s.reject(a),Mt([i,r])}),on.callSDKFunction("setUserData",{key:"ssaUserData",value:JSON.stringify(o)},"setUserDataSuccess","setUserDataFailed")},function(e){s.reject(e)}),s.promise()):(s.reject("Missing info to set user data."),s.promise())},getConfig:function(){return Bn},getApplicationExternalConfig:function(){return nn},isSupportedOsVersion:function(e){return null===Bn.mobileSDKSettings.deviceOSVersion.match(ct[e][Bn.mobileSDKSettings.deviceOs])},getOsVersion:function(){return this.getApiData({deviceOSVersion:1}).deviceOSVersion},checkRequiredCallbackParams:function(e,n,t,i){return Rt(e,n,t,i)},fireEvent:function(e,n){switch(on.log("received event: "+e+" sendCloseRequest: "+JSON.stringify(Hn),on.LogLevels.verbose),e){case"close":_n.shouldNotifyClose(n)&&(dn.publish("SDKController.onAdWindowsClosed",[F({},n)]),on.callSDKFunction("onAdWindowsClosed",F({},n)));break;default:on.log("received event: "+e,on.LogLevels.verbose)}},clearHandlers:function(e){Mt(e)},alert:function(e){var t,i=sn("#ssaDialogText"),r=sn(".dialogBox"),a=_(),o=J(a),s=G(a),c=!1,l=sn("#ssaDialogConfirmBtnText"),u=sn("#ssaDialogCancelBtnText"),d=sn("#ssaDialogBtns");r.removeAttr("style"),r.css("display","block"),(!Qn||e&&e.alwaysClose)&&(Pi(),Gt(),Qn||_n.display(e),c=!0);
  8. var f=qt();if(f&&n.Msg.postMessage("hideFrame","*",f[0].contentWindow),d.removeClass("singleBtn"),"object"==typeof e&&(Wn.removeClass("hidden").removeAttr("style"),Kn.removeClass("hidden").removeAttr("style"),un.isDefined(e.close)?(t=e.close,l.text(e.yes),u.text(e.no),Kn.textWidth()>s.minDialogBtnWidth||Wn.textWidth()>s.minDialogBtnWidth?(Wn.css({width:s.maxDialogBtnWidth+"px",left:"20px"}),Kn.css({width:s.maxDialogBtnWidth+"px",right:"20px"})):(Wn.css({width:s.baseDialogBtnWidth+"px",left:"55px"}),Kn.css({width:s.baseDialogBtnWidth+"px",right:"55px"})),(Kn.textWidth()>s.maxDialogBtnTextWidth||Wn.textWidth()>s.maxDialogBtnTextWidth||-1!==sn.inArray(" ",e.yes)||-1!==sn.inArray(" ",e.no))&&(l.textfill2(o.buttonText),o.buttonText.parentContainer=Wn,u.textfill2(o.buttonText))):un.isDefined(e.message)?(t=e.message,un.isDefined(e.yes)&&l.text(e.yes),un.isDefined(e.no)&&u.text(e.no)):t=JSON.stringify(e),c)){d.addClass("singleBtn"),Wn.addClass("hidden");var g=Kn[0].offsetWidth/2;Kn.css("margin-left",-1*g+"px")}i.text(t),i.textfill2(o.dialogText),r.css("visibility","visible");var p=sn("#ssaDialogBoxOverlay");p.fadeIn(100),p.bind("click",function(e){e.preventDefault()}),En.fadeIn(300)},log:$.log,logEvent:function(e){Ui(e)},openUrl:function(e,n){zt(e,n)},postAdUnitEvent:function(e,n){ni(e,n)},MRAID:cn,initEventics:v,getOfferWallConfiguration:w,getFormattedDeviceData:T};return sn.extend(Zi,{_getApplicationConfigurationFromServer:I,_parseReceivedApplicationConfiguration:A}),on=Zi,Zi}n.exports=function(n,t){var r=e("../Cache.js"),a=e("../InterstitialFactory.js"),o=e("../OfferWall.js"),s=e("../RewardedVideo/RewardedVideo.js"),c=e("../SDKInterface.js"),l=e("../../components/HTTPService.js"),u=e("../../components/HybridService.js"),d=e("../../components/ViewsManager.js"),f=e("../../components/PixelTrackingService.js"),g=new i(n);return g.Cache=new r(n,g),g.InterstitialFactory=new a(n,g),g.OfferWall=new o(n,g),g.RewardedVideo=g.BrandConnect=new s(n,g),g.SDKInterface=new c(n,g,t),g.HTTPService=new l(n,g),g.HybridService=new u(n,g),g.ViewsManager=new d(n),g.PixelTrackingService=new f(g),g}},{"../../components/APIConfigurations.js":2,"../../components/CampaignsFilter.js":3,"../../components/Constants.js":4,"../../components/ExternalConfig":5,"../../components/HTTPService.js":8,"../../components/HybridService.js":9,"../../components/Logger.js":10,"../../components/PixelTrackingService.js":13,"../../components/ViewsManager.js":17,"../Cache.js":21,"../InterstitialFactory.js":23,"../OfferWall.js":24,"../RewardedVideo/RewardedVideo.js":27,"../SDKInterface.js":40,"../adUnitUrl.js":43,"./AdUnitGlobals.js":34,"./AdUnitLibs.js":35,"./configurationValidator.js":37,"./mainConfig.js":38,"./videoStateHandler.js":39}],37:[function(e,n){function t(e,n,t){function i(e,n,t){t[e]=n}function r(n,r){var o,s=!0,c=null;for(o in n){if(e.isDefined(a[o])&&a[o](n[o])===!1){c=t.invalid+o,s=!1;break}i(o,n[o],r)}return{didSucceed:s,errMsg:c}}var a={v:function(e){var n=/^[0-9]+?[.]?[0-9]+?[.]?[0-9]+$/;return e.match(n)},appOrientation:function(e){var n=e;return n=n.toLowerCase(),"portrait"===n||"landscape"===n||"none"===n},connectionType:function(e){var n=decodeURIComponent(e);return n=n.toLowerCase(),"wifi"===n||n.match(/^mobile\[.+\]$/)||"3g"===n||"none"===n},iphoneAppOnIpadDevice:function(e){var n=parseInt(e);return 0===n||1===n},deviceOs:function(e){return e&&""!==e},SDKVersion:function(e){return e&&""!==e},deviceOSVersion:function(e){return e&&""!==e},bundleId:function(e){return e&&""!==e},"deviceIds[OpenUDID]":function(n){return e.isDefined(n)},"deviceIds[IFA]":function(n){return e.isDefined(n)},"deviceIds[SERIAL]":function(n){return e.isDefined(n)},"deviceIds[AndroidID]":function(n){return e.isDefined(n)},"deviceIds[IMEI]":function(n){return e.isDefined(n)},"deviceIds[AID]":function(n){return e.isDefined(n)},deviceScreenScale:function(){return!0},"deviceScreenSize[width]":function(){return!0},"deviceScreenSize[height]":function(){return!0},diskFreeSize:function(e){var n=parseInt(e);return!isNaN(n)&&n>=0},showDeliveryLimitationsLog:function(){return!0},country:function(e){return e&&""!==e},debug:function(t){return e.isDefined(n[t])},disableCache:function(e){var n=parseInt(e);return 0===n||1===n},disableSession:function(e){var n=parseInt(e);return 0===n||1===n},applicationKey:function(e){return e&&""!==e},applicationUserId:function(e){return e&&""!==e},applicationUserGender:function(e){return"unknown"===e||"female"===e||"females"===e||"male"===e||"males"===e||"both"===e},applicationUserAgeGroup:function(e){var n=parseInt(e);return n>=0&&9>=n},applicationUserCreationDate:function(e){var n=/^(19|20)\d\d([- \/.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])$/;return e.match(n)},maxVideoLength:function(e){var n=parseInt(e);return!isNaN(n)&&n>=0},itemCount:function(e){var n=parseInt(e);return!isNaN(n)&&n>0},minimumOfferCommission:function(e){var n=parseFloat(e);return!isNaN(n)&&n>=0},demoCampaigns:function(e){var n=parseInt(e);return 0===n||1===n},mraid:function(e){var n=parseInt(e);return 0===n||1===n},numOfCampaigns:function(e){var n=parseInt(e);return!isNaN(n)&&n>=0},campaignId:function(e){var n=parseInt(e);return!isNaN(n)&&n>0},pageSize:function(e){var n=parseInt(e);return!isNaN(n)&&n>=0},landingId:function(e){var n=parseInt(e);return!isNaN(n)&&n>0},page:function(e){var n=parseInt(e);return!isNaN(n)&&n>0},admin:function(e){var n=parseInt(e);return 0===n||1===n},useClientSideCallbacks:function(e){var n=e.toString();return"true"===n||"false"===n},unLocked:function(e){var n=e.toString();return"true"===n||"false"===n},isLimitAdTrackingEnabled:function(n){return e.isDefined(n)},placementId:function(e){var n=parseInt(e);return!isNaN(n)&&n>=0},allowArbitraryLoads:function(e){var n=e.toString();return"true"===n||"false"===n},allowArbitraryLoadsInWebContent:function(e){var n=e.toString();return"true"===n||"false"===n}};return r}n.exports=t},{}],38:[function(e,n){function t(){return{deviceDataRequestObject:{deviceOs:1,SDKVersion:1,deviceOSVersion:1}}}n.exports=t},{}],39:[function(e,n){function t(n,t){function i(){t.log("VideoStateHandler | handleOnEngageEnd onVideoStatusChanged stopped from engaged end",t.LogLevels.verbose),c=o.none,t.callSDKFunction("onVideoStatusChanged",{status:"stopped",productType:s})}function r(){return c}var a=e("../../components/Constants.js"),o=a.videoStates,s=a.BC,c=o.none,l=t.isLegacy(t.featureMap.MDS);return s=l?a.BC:a.RV,n.subscribe("SDKController.AdStarted",function(){t.log("VideoStateHandler | AdStarted",t.LogLevels.verbose),c=o.play,t.callSDKFunction("onVideoStatusChanged",{status:"started",productType:s})}),n.subscribe("SDKController.AdPlaying",function(){t.log("VideoStateHandler | AdPlaying",t.LogLevels.verbose),c=o.play,t.callSDKFunction("onVideoStatusChanged",{status:"playing",productType:s})}),n.subscribe("SDKController.AdPaused",function(){t.log("VideoStateHandler | AdPaused",t.LogLevels.verbose),c=o.stop,t.callSDKFunction("onVideoStatusChanged",{status:"paused",productType:s})}),n.subscribe("SDKController.AdVideoEnded",function(){t.log("VideoStateHandler | AdVideoEnded",t.LogLevels.verbose),c=o.stop,t.callSDKFunction("onVideoStatusChanged",{status:"ended",productType:s})}),{handleOnEngageEnd:i,getState:r}}var i;n.exports=function(e,n){return i||(i=new t(e,n)),i}},{"../../components/Constants.js":4}],40:[function(e,n){var t=e("./iOSSDKInterface.js"),i=e("./iOSSDKInterface_WK.js"),r=e("./androidSDKInterface.js");n.exports=function(e,n,a){"use strict";return{Ios:new t(e,n,a),Ios_WK:new i(e,n,a),_Android:new r(e,a)}}},{"./androidSDKInterface.js":44,"./iOSSDKInterface.js":45,"./iOSSDKInterface_WK.js":46}],41:[function(e,n,t){function i(e){var n,t,i={},r={},a=!1,o=function(a){var o=null;i=n.Utils,r=n.PubSub,r.init(),i.isDefined(a.mobileSDKSettings)&&(t=n.SDKController,o=t.init(a)),e.when(o).then(function(){a.products&&e.each(a.products,function(e){i.isDefined(e.init)&&e.init(a[e])})},function(){console.log("Failed to initiate controller")})},s={init:function(e){return n=this,o(e),a=!0},log:function(e,n){t&&t.log&&t.log(e,n||t.LogLevels.error)}};return s}n.exports=function(n,t,r,a){var o=e("../components/Utils.js"),s=e("../components/PubSub.js"),c=e("../components/Msg.js"),l=e("./AdAssets.js"),u=e("./VastUtils.js"),d=e("./AdUtils.js"),f=t.Eventics,g=new i(n),p={};g.Utils=new o(g,t,r,a),g.PubSub=new s(g),g.Msg=new c,g.AdAssets=new l,g.VastUtils=new u(g.AdAssets),g.AdUtils=new d(g.AdAssets);var v,h=["ironBeastEventicsProvider"];return t.SuperSonicGlobalConfig&&t.SuperSonicGlobalConfig.mobileSDKSettings&&"www.supersonicads.com"!==t.SuperSonicGlobalConfig.mobileSDKSettings.domain?(h.push("QAEventicsProvider"),v=1):v=Math.random(),t.SuperSonicGlobalConfig&&t.SuperSonicGlobalConfig.mobileSDKSettings&&t.SuperSonicGlobalConfig.mobileSDKSettings.protocol&&(p.isSecured="https:"===t.SuperSonicGlobalConfig.mobileSDKSettings.protocol),g.Eventics=f(v),g.Eventics.setProvidersHandlers(h),g.Eventics.setProvidersConfig(p),g}},{"../components/Msg.js":11,"../components/PubSub.js":14,"../components/Utils.js":15,"./AdAssets.js":19,"./AdUtils.js":20,"./VastUtils.js":42}],42:[function(e,n){function t(e){function n(e){return e?!e.controllerSpace||e.controllerSpace.viewCount:void 0}function t(e,n){return e?(e.controllerSpace||(e.controllerSpace={}),e.controllerSpace.viewCount=n,e):e}function i(e){e&&r(e)&&e.ext.vastExhaustIndex>0&&t(e,e.ext.vastExhaustIndex)}function r(n){return n?e.extractVastSource(n).length>0||n.ext.videoData&&n.ext.videoData.isVast&&n.ext.videoData.isVast===!0:!1}function a(e){return e?r(e)&&e.ext.vastExhaustIndex&&n(e)<e.ext.vastExhaustIndex:!1}function o(e){if(!e||!jQuery.isArray(e))return!1;for(var n=!1,t=0;t<e.length;t++)if(r(e[t])){n=!0;break}return n}function s(e){if(!e||!jQuery.isArray(e))return!1;for(var n=!0,t=0;t<e.length;t++)if(!r(e[t])){n=!1;break}return n}function c(e){return e&&r(e)?(e.controllerSpace||(e.controllerSpace={}),e.controllerSpace.viewCount=e.controllerSpace.viewCount?e.controllerSpace.viewCount+1:1,e.controllerSpace.viewCount):!1}return{getVastViewCount:n,setVastViewCount:t,setMaxVastCount:i,isVastCampaign:r,isThereVastCampaign:o,areAllCampaignTypesAreVast:s,incrementVastViewCount:c,isVastCanPlayAgain:a}}n.exports=t},{}],43:[function(e,n,t){function i(e){var n,t,i=function(){return n},r=function(e){n=e},a=function(){var e=null;return n&&(e=n.replace(/^.*[\\\/]/,"")),e},o=function(){return t},s=function(e){t=e},c=function(e,n){var t=e?o():i();return t+=n&&n.productType?"#?productType="+n.productType:"",t+=n&&n.demandSourceName?"&demandSourceName="+n.demandSourceName:""},l=function(n){var t=null;return n&&n.html&&(t=e.getStaticGlobalsUrl()+n.html),t},u=function(e,n){jQuery.each(n,function(n,t){return"string"==typeof t&&t.match(/.*\.html/)?(s(e+t.replace(/^.*[\\\/]/,"")),!1):void 0})},d={getAdunitUrl:c,getRemoteAdunitUrl:i,setRemoteAdunitUrl:r,getRemoteAdunitFileName:a,getLocalAdunitUrl:o,setLocalAdunitUrl:s,getAdunitUrlFromAssetsJSON:l,setLocalAdunitUrlFromCache:u};return d}n.exports=i},{}],44:[function(e,n,t){function i(e,n){var t={postMessage:function(n,t){if("undefined"!=typeof Android&&Android[n])try{Android[n](JSON.stringify(t))}catch(i){e.SDKController.log("Error running function "+n+" error:"+JSON.stringify(i),e.SDKController.LogLevels.error)}else e.SDKController.log("Error calling SDK function "+n,e.SDKController.LogLevels.error)},log:function(e){console.log(e.message)}},i={postMessage:function(e){typeof e.eventName!==n&&typeof e.prefix!==n&&typeof e.parameters!==n&&("function"==typeof t[e.eventName]?t[e.eventName](e.parameters):t.postMessage(e.eventName,e.parameters))},acknowledgeMessage:function(){return!0}};return i}n.exports=i},{}],45:[function(e,n,t){function i(e){var n=function(e,n,t){var r,a=e+"://"+n+"?";jQuery.each(t,function(e,n){"object"==typeof n&&(t[e]=JSON.stringify(n))}),r=a+jQuery.param(t),i(r)},t=function(e){var n=document.createElement("IFRAME");n.setAttribute("src",e),document.documentElement.appendChild(n),n.parentNode.removeChild(n),n=null},i=function(e){0===a.length?(a.push("1"),t(e)):a.push(e)},r={postMessage:function(e,t,i){n(e,t,i)}},a=[],o={postMessage:function(n){typeof n.eventName!==e&&typeof n.prefix!==e&&typeof n.parameters!==e&&("function"==typeof r[n.eventName]?r[n.eventName](n.parameters):r.postMessage(n.prefix,n.eventName,n.parameters))},acknowledgeMessage:function(){if(0!==a.length){var e=a.shift();"1"===e&&0!==a.length&&(e=a.shift()),void 0!==e&&"1"!==e&&t(e)}}};return o}n.exports=i},{}],46:[function(e,n,t){function i(e){var n=function(e,n,t){var r,a=e+"://"+n+"?";jQuery.each(t,function(e,n){"object"==typeof n&&(t[e]=JSON.stringify(n))}),r=a+jQuery.param(t),i(r)},t=function(e){"undefined"!=typeof window.webkit.messageHandlers&&"undefined"!=typeof window.webkit.messageHandlers.supersonicMainMsgHandler&&window.webkit.messageHandlers.supersonicMainMsgHandler.postMessage(e)},i=function(e){0===a.length?(a.push("1"),t(e)):a.push(e)},r={postMessage:function(e,t,i){n(e,t,i)}},a=[],o={postMessage:function(n){typeof n.eventName!==e&&typeof n.prefix!==e&&typeof n.parameters!==e&&("function"==typeof r[n.eventName]?r[n.eventName](n.parameters):r.postMessage(n.prefix,n.eventName,n.parameters))},acknowledgeMessage:function(){if(0!==a.length){var e=a.shift();"1"===e&&0!==a.length&&(e=a.shift()),void 0!==e&&"1"!==e&&t(e)}}};return o}n.exports=i},{}]},{},[1]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement