// Prebid-header JS generator v6.1.0 - prebid 9.40 - interstitial missena min.js / PPID individual_id var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; var googletag_ref; var PREBID_TIMEOUT = 2000; var FAILSAFE_TIMEOUT = 3000; var N14_TIMEOUT = 600; // UAM vars // load the apstag.js library !function(a9,a,p,s,t,A,g){if(a[a9])return;function q(c,r){a[a9]._Q.push([c,r])}a[a9]={init:function(){q("i",arguments)},fetchBids:function(){q("f",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]},_Q:[]};A=p.createElement(s);A.async=!0;A.src=t;g=p.getElementsByTagName(s)[0];g.parentNode.insertBefore(A,g)}("apstag",window,document,"script","//c.amazon-adsystem.com/aax2/apstag.js"); // initialize the apstag.js library on the page to allow bidding apstag.init({ pubID: '4d82ee98-0c5b-4c96-a74c-68b0a5395433', //enter your pub ID here as shown above, it must within quotes adServer: 'googletag' ,schain: { complete: 1, ver: '1.0', nodes: [ { "asi":"next14.com", "sid":"23598", "hp":1 } ] } }); var adsSlots; function printSlots() { var slots = googletag.pubads().getSlots() for (s in slots) { var slot = slots[s]; var sizes = new Array(); for (z in slot.getSizes()) { var size = slot.getSizes()[z]; sizes.push(new Array(size.l,size.j)); } console.log("Slot '" + slot.getAdUnitPath() + "' -> div '" + slot.getSlotElementId() + "' -> sizes: " + JSON.stringify(sizes)); } } function zdk_isMobile() { return (screen.width <= 1024); } // <@@@> function findContextForFunction(functionName) { var curr = null; var i=0; do { try { i++; if (curr == null) curr = window; else curr = curr.parent; if (typeof curr[functionName] === 'function') return curr; } catch(err) { console.log("fcff_e", err); } } while (curr !== window.top && i<20); //avoid infinite loop return false; } function disableOldFunctions() { console.log("DISABLE oz_enable_gpt() if exists"); var ctx = findContextForFunction('oz_enable_gpt'); if (ctx) { console.log("got oz_enable_gpt!", ctx.oz_enable_gpt); ctx.oz_enable_gpt = function () { console.log("@@@ oz_enable_gpt(). do nothing"); } console.log("oz_enable_gpt disabled"); } else { console.log("oz_enable_gpt not found"); } } // function zdkFindCMP() { // <@@@> return findContextForFunction('__tcfapi'); } /* returns [adUnits, adsSlots] */ function aplus_buildAdUnits(googletag) { var slots = new Array(); // parse google slots definition var g_slots = googletag.pubads().getSlots() for (s in g_slots) { var slot = g_slots[s]; var sizes = new Array(); for (z in slot.getSizes()) { var size = slot.getSizes()[z]; sizes.push(new Array(size.l,size.j)); } slots.push({"slot":slot.getAdUnitPath(),"div":slot.getSlotElementId(),"sizes":sizes}); } // generate the adunits & adsSlots var adUnits = new Array(); var adsSlots = new Array(); for (s in slots) { var googleSlot = slots[s]; var aplus_slot_found = aplus_slots.filter(function(el){ return (el.slot==googleSlot.slot); }); if (!aplus_slot_found || aplus_slot_found.length<1) { console.log("slot: "+googleSlot.slot+" not matched"); continue; } var pl_id = (zdk_isMobile())?aplus_slot_found[0].plm:aplus_slot_found[0].pld; var aplus_placement_found = aplus_placements.filter(function(el){ return (el.pl==pl_id); }); if (!aplus_placement_found || aplus_placement_found.length<1) { console.log("placement: "+pl_id+" not found"); continue; } //console.log("found ["+JSON.stringify(aplus_slot_found[0])+"] -> "+JSON.stringify(aplus_placement_found[0])); // add to adUnits var adUnitObj = { code: googleSlot.slot, mediaTypes: { banner: { sizes: aplus_placement_found[0].sizes } }, bids: aplus_placement_found[0].bids }; // if interstitial is enabled, i'll have renderer declared on z_interstitial var // NOTE: if both adUnit.renderer and adUnit.bids[].renderer are set, adUnit.renderer gets executed, // contrary to what is in the documentation. so, place rebderer only at bidder level. if (aplus_slot_found[0].interstitial) { if (typeof z_interstitial !== "undefined") { for (bi in aplus_placement_found[0].bids) { var b = aplus_placement_found[0].bids[bi]; if (b.bidder === "missena") { // leave default renderer } else { // set z_interstitial renderer for this bidder b.renderer = z_interstitial.renderer; } console.log("interstitial slot: "+googleSlot.slot+", bidder: "+b.bidder+" -> renderer: ", b.renderer); } } else { console.log("WARN - z_interstitial not defined"); } } adUnits.push(adUnitObj); console.log("slot: "+googleSlot.slot+" - adUnitObj: ",adUnitObj); // add to adsSlots adsSlots.push({ slotID: googleSlot.div, slotName: googleSlot.slot, sizes: aplus_placement_found[0].sizes }); } //console.log("--- slots recreated:"); //console.log(adUnits); //console.log(adsSlots); return [adUnits,adsSlots]; } const zCallback = (tcData, success) => { //console.log("__tcfapi ST: "+tcData.eventStatus); if (success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')) { console.log("__tcfapi ok"); // <@@@> console.log("@@@ cmp done. call engine start"); cmp_done = true; zEngineStart(); // remove the ourself to not get called more than once var cmp_layer = zdkFindCMP(); // @LLY-IF if (cmp_layer) { // @LLY-IF console.log("__tcfapi - removeEventListener"); cmp_layer.__tcfapi('removeEventListener', 2, (success) => {}, tcData.listenerId); // @LLY-IF } // @LLY-IF } else { // useless events } } // ***** parallel UAM+criteo+pbjs ***** // config/sync object function cleanADStatus() { // @LLY-CL console.log("cleanADStatus - init"); window.hb_status = { n_adserver_callback: [], adserverRequestSent: false, // true once everything has been completed prebidTargetingSet: false }; //if i don't have criteo / uam integration, just set them already done window.hb_status.n_adserver_callback.push("criteo"); // <@@@> - if PPID is not required, set n14_done=true oz_cfg_done = false; // if i've already found a cmp, i shouldn't be waiting for it another time // cmp_done = false; n14_done = (window.individual_id != null ) || false; zEngineStarted = false; } // @LLY-CL function zEngineStart() { // PPID - if CMP done, i can set the timeout for the n14 PPID script if (cmp_done && !n14_done) { setTimeout(_n14callback,N14_TIMEOUT,{detail:null, timeout: true}); } // <@@@> // check if every call back has been completed if (!oz_cfg_done || !n14_done || !cmp_done) { console.log("@@@ skip engine start as i've to wait for someone. already done: CFG="+oz_cfg_done+", PPID="+n14_done+", CMP="+cmp_done); return; } if (zEngineStarted) { //avoid to do it twice console.log("@@@ engine already started before"); return; } zEngineStarted = true; console.log("@@@ all callbacks ok! start the engine!"); googletag.cmd.push(function() { // Passing of PPID to GPT tag if (window.individual_id) googletag.pubads().setPublisherProvidedId(window.individual_id); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); console.log("@@@ engine started. (ppid = "+window.individual_id+")"); pbjs.que.push(function() { console.log("on pbjs PUSH request bids"); // // ===== APS request console.log("===== set aps(UAM) callback"); apstag.fetchBids({ slots: adsSlots, timeout: PREBID_TIMEOUT },function(bids) { console.log("aps handler"); adServerCallback('aps'); }); // ===== Prebid callback console.log("===== set Prebid callback"); pbjs.requestBids({ bidsBackHandler: function() { console.log("prebid handler"); adServerCallback('prebid'); }, timeout: PREBID_TIMEOUT }); // ===== Safety timeout console.log("===== set Safety timeout "); setTimeout(function() { adServerCallback('timeout'); }, FAILSAFE_TIMEOUT); // }); } // ===== Combined callback (this callback will be called by Prebid, Criteo, or timeout) function adServerCallback(source) { console.log("ON adServerCallback ",source); if (window.hb_status.adserverRequestSent) return; // add source to the processed list window.hb_status.n_adserver_callback.push(source); // add this source as "bidderDone" if (source == 'aps') { googletag.cmd.push(function() { console.log("aps SET TARGETING"); apstag.setDisplayBids(); }); } else if (source == 'prebid') { // got prebid config request googletag.cmd.push(function() { pbjs.que.push(function() { console.log("pbjs SET TARGETING"); pbjs.setTargetingForGPTAsync(); // configure targeting for prebid window.hb_status.prebidTargetingSet = true; }); }); } else if (source == 'criteo') { // got criteo config request googletag.cmd.push(function() { console.log("criteo SET TARGETING"); Criteo.SetDFPKeyValueTargeting(); // This will append Criteo keywords to the adserver call }); } // check if i've completed if (window.hb_status.n_adserver_callback.length >= 3) { // if all bids have been completed googletag.pubads().refresh(); window.hb_status.adserverRequestSent = true; googletag.cmd.push(function() { console.log("REFRESH for bidders done"); googletag.pubads().refresh(); // this will will trigger the adserver calls }); } else if ("timeout" == source) { // got timeout (one of prebid or criteo or aps didn't finish in time) window.hb_status.adserverRequestSent = true; googletag.cmd.push(function() { // pbjs.setTargetingForGPTAsync(); MUST be done ANYWAY before googletag.pubads().refresh(); if (!window.hb_status.prebidTargetingSet) { pbjs.que.push(function() { console.log("setTargetingForGPTAsync on timeout"); pbjs.setTargetingForGPTAsync(); // configure targeting for prebid }); } console.log("REFRESH for timeout"); googletag.pubads().refresh(); // this will will trigger the adserver calls }); }; } //called by the html page just before "googletag.enableServices()" and after googletag.defineSlot(...)s function oz_config(googletag) { cleanADStatus(); // @LLY-CL // <@@@> disableOldFunctions(); googletag_ref = googletag; googletag_ref.pubads().disableInitialLoad(); googletag_ref.pubads().enableSingleRequest(); adUnits_adsSlots = aplus_buildAdUnits(googletag_ref); adUnits = adUnits_adsSlots[0]; adsSlots = adUnits_adsSlots[1]; console.log("adUnits & adsSlots:"); console.log(adUnits_adsSlots); pbjs.que.push(function() { // pbjs 1/2 (cfg) configurePBJS(); bidderSettingsPBJS(); // pbjs.destroyAdUnits(); - may be needed for single page applications console.log("cleanADStatus - removing adUnits before adding them"); pbjs.removeAdUnit(); // @LLY-CL pbjs.addAdUnits(adUnits); console.log("addAdUnits done"); }); // check whether start the engine or wait for CMP approval/refuse var cmp_layer = zdkFindCMP(); // @LLY-IF if (cmp_layer) { // @LLY-IF console.log("__tcfapi - set listener"); cmp_layer.__tcfapi('addEventListener', 2, zCallback); // @LLY-IF //zEngineStart() will be called after CMP approval/refusal } else { // CMP not found console.log("__tcfapi not found - load normally"); cmp_done = true; // <@@@> // zEngineStart(); } //googletag.enableServices() MUST be done in publisher's page. if PPID is integrated, a custom code should be used //googletag_ref.enableServices(); // <@@@> oz_cfg_done = true; console.log("@@@ config done. call engine start"); // <@@@> zEngineStart(); } // <@@@> - if PPID is not required, set n14_done=true window.individual_id = window.individual_id || null; var oz_cfg_done = false; var cmp_done = false; var n14_done = (window.individual_id != null ) || false; /*PPID required*/ var zEngineStarted = false; function _n14callback(event) { console.log("@@@ _n14callback.", event); // Access the parameter passed to the event if (event.detail) window.individual_id = event.detail; // Process the parameter console.log("@@@ _n14 done. call engine start", window.individual_id); n14_done = true; zEngineStart(); } // only if PPID is integrated, add the event listener to the document or any specific element document.removeEventListener('next_id_event_x2a', _n14callback); document.addEventListener('next_id_event_x2a', _n14callback); // // try to find firstPartyData hints from browser's ua var listOfEntropyValues = null; try { navigator.userAgentData.getHighEntropyValues([ "architecture", "model", "platformVersion", "fullVersionList", ]).then((values) => { listOfEntropyValues = Object.keys(values); console.log("got ua entropy values: "+listOfEntropyValues); }); } catch (error) { console.log("cannot get ua entropy values. leave it blank"); } // NOCMP based on CMP in page detection + userSync iframe enabled with filters function configurePBJS() { /* pbjsConfig */ if (listOfEntropyValues!=null) { console.log("setting ua entropy values: "+listOfEntropyValues); pbjs.setConfig({ firstPartyData: { uaHints: listOfEntropyValues } }); } pbjs.setConfig({ userSync: { filterSettings: { iframe: { bidders: '*', // '*' means all bidders filter: 'include' } } }, gptPreAuction: { enabled: true, // enabled by default }, useBidCache: true, eventHistoryTTL: 60, // maximum time (in seconds) that events should be kept in memory priceGranularity: "dense", firstPartyData: { uaHints: [ "architecture", "model", "platform", "platformVersion", "fullVersionList" ] }, enableTIDs: true, currency: { // enables currency feature "adServerCurrency": "EUR", //"granularityMultiplier": 1, // 0.50 increment up to 5 is fine for GBP... what is that?!?! // until bidder adapters are updated to define the bid currency // the system assumes bids are in USD. This can be overridden, for instance: "bidderCurrencyDefault": { "openx": "EUR" }, "conversionRateFile": "//currency.prebid.org/latest.json" // prebid's lib bug fix - this way allows both http and https }, consentManagement: { gdpr: { cmpApi: 'iab', timeout: 8000, // allowAuctionWithoutConsent: true, defaultGdprScope: true } }, improvedigital: { usePrebidSizes: true }, //rubicon new config: Single-Request optimization rubicon: {singleRequest: true} }); pbjs.setConfig({ "schain": { "validation": "strict", "config": { "ver":"1.0", "complete": 1, "nodes": [ { "asi":"next14.com", "sid":"23598", "hp":1 } ] } } }); // specific adasta stuff) pbjs.setBidderConfig({ "bidders": ['adasta'], "config": { "schain": { "config": { "ver":"1.0", "complete": 1, "nodes" : [ { "asi":"next14.com", "sid":"23598", "hp":1 } ].concat([{"asi":"adasta.it","sid":"13","hp":1}]) } } } }, true); // = merge existing (add to global config) if (!zdkFindCMP()) { // no CMP inside the publiser's page. set "NOCMP" parameters overriding consentManagement console.log("znocmp"); pbjs.setConfig({ consentManagement: { gdpr: { cmpApi: 'static', consentData: { getConsentData: { 'gdprApplies': false } } } } }); } else { console.log("zcmp"); } /* /pbjsConfig */ } function bidderSettingsPBJS() { //console.log("bidderSettings pbjs"); //ssps price adjustment pbjs.bidderSettings = { standard: { storageAllowed: true }, adf: { bidCpmAdjustment : function(bidCpm){ bidCpm = bidCpm * 0.90; return bidCpm; } }, pubmatic: { bidCpmAdjustment : function(bidCpm){ bidCpm = bidCpm * 0.92; return bidCpm; } }, adasta: { bidCpmAdjustment : function(bidCpm){ bidCpm = bidCpm * 0.7; return bidCpm; } } }; pbjs.aliasBidder('appnexus', 'turbo'); pbjs.aliasBidder('appnexus', 'adasta'); pbjs.aliasBidder('ix', 'ix1'); } /* interstitial default properties */ var z_interstitial = { renderer: { url: 'https://dvagh3p3rk8xj.cloudfront.net/interstitial/prebidInter_oz.unmin.js', render: function(prebidBid) { this.push(() => { window.interstitial.renderAd({ ozindex: 99999999999, // it will be set (by the browser) as max 2147483647 (2^31-1) fullBids: prebidBid, // required, please don't edit or change! overlayColor: "black", // optional, color of the overlay. overlayOpacity: 0.5, // optional, value between 0 and 1 defining the opacity of the overlay. // closeTime: "10", // optional, time in second before the user can close the interstitial. showCloseButtonAfterSeconds: 0 // optional. Time in seconds before the close button appears. }); }); } } }; /* this will be different for each publisher/site */ var aplus_slots = [ {slot:"/57491254/dagospia.it/arte/Textbox_1",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/arte/Textbox_2",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/cafonal/Textbox_1",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/cafonal/Textbox_2",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/cronache/Textbox_1",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/cronache/Textbox_2",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/homepage/Textbox_1",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/homepage/Textbox_2",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/ros_no_hp/Textbox_1",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/ros_no_hp/Textbox_2",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/video/Textbox_1",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/video/Textbox_2",plm:91640,pld:91634}, {slot:"/57491254/dagospia.it/arte/MPU_Top",plm:91641,pld:91635}, {slot:"/57491254/dagospia.it/cafonal/MPU_Top",plm:91641,pld:91635}, {slot:"/57491254/dagospia.it/cronache/MPU_Top",plm:91641,pld:91635}, {slot:"/57491254/dagospia.it/homepage/MPU_Top",plm:91641,pld:91635}, {slot:"/57491254/dagospia.it/ros_no_hp/MPU_Top",plm:91641,pld:91635}, {slot:"/57491254/dagospia.it/Speciali_Minisiti/speciale_covid19_2020/MPU_Top",plm:91641,pld:91635}, {slot:"/57491254/dagospia.it/video/MPU_Top",plm:91641,pld:91635}, {slot:"/57491254/dagospia.it/arte/MPU_Middle",plm:91642,pld:91636}, {slot:"/57491254/dagospia.it/cafonal/MPU_Middle",plm:91642,pld:91636}, {slot:"/57491254/dagospia.it/cronache/MPU_Middle",plm:91642,pld:91636}, {slot:"/57491254/dagospia.it/homepage/MPU_Middle",plm:91642,pld:91636}, {slot:"/57491254/dagospia.it/ros_no_hp/MPU_Middle",plm:91642,pld:91636}, {slot:"/57491254/dagospia.it/Speciali_Minisiti/speciale_covid19_2020/MPU_Middle",plm:91642,pld:91636}, {slot:"/57491254/dagospia.it/video/MPU_Middle",plm:91642,pld:91636}, {slot:"/57491254/dagospia.it/arte/MPU_Bottom",plm:91643,pld:91637}, {slot:"/57491254/dagospia.it/cafonal/MPU_Bottom",plm:91643,pld:91637}, {slot:"/57491254/dagospia.it/cronache/MPU_Bottom",plm:91643,pld:91637}, {slot:"/57491254/dagospia.it/homepage/MPU_Bottom",plm:91643,pld:91637}, {slot:"/57491254/dagospia.it/ros_no_hp/MPU_Bottom",plm:91643,pld:91637}, {slot:"/57491254/dagospia.it/Speciali_Minisiti/speciale_covid19_2020/MPU_Bottom",plm:91643,pld:91637}, {slot:"/57491254/dagospia.it/video/MPU_Bottom",plm:91643,pld:91637}, {slot:"/57491254/dagospia.it/arte/MaxTicker",plm:96854,pld:91638}, {slot:"/57491254/dagospia.it/cafonal/MaxTicker",plm:96854,pld:91638}, {slot:"/57491254/dagospia.it/cronache/MaxTicker",plm:96854,pld:91638}, {slot:"/57491254/dagospia.it/homepage/MaxTicker",plm:96854,pld:91638}, {slot:"/57491254/dagospia.it/ros_no_hp/MaxTicker",plm:96854,pld:91638}, {slot:"/57491254/dagospia.it/video/MaxTicker",plm:96854,pld:91638}, {slot:"/57491254/dagospia.it/business/MaxTicker",plm:96854,pld:91707}, {slot:"/57491254/dagospia.it/politica/MaxTicker",plm:96854,pld:91707}, {slot:"/57491254/dagospia.it/sport/MaxTicker",plm:96854,pld:91707}, {slot:"/57491254/dagospia.it/business/MPU_Bottom",plm:91702,pld:91708}, {slot:"/57491254/dagospia.it/politica/MPU_Bottom",plm:91702,pld:91708}, {slot:"/57491254/dagospia.it/sport/MPU_Bottom",plm:91702,pld:91708}, {slot:"/57491254/dagospia.it/business/MPU_Middle",plm:91703,pld:91709}, {slot:"/57491254/dagospia.it/politica/MPU_Middle",plm:91703,pld:91709}, {slot:"/57491254/dagospia.it/sport/MPU_Middle",plm:91703,pld:91709}, {slot:"/57491254/dagospia.it/business/MPU_Top",plm:91704,pld:91710}, {slot:"/57491254/dagospia.it/politica/MPU_Top",plm:91704,pld:91710}, {slot:"/57491254/dagospia.it/sport/MPU_Top",plm:91704,pld:91710}, {slot:"/57491254/dagospia.it/business/Textbox_1",plm:91705,pld:91711}, {slot:"/57491254/dagospia.it/business/Textbox_2",plm:91705,pld:91711}, {slot:"/57491254/dagospia.it/politica/Textbox_1",plm:91705,pld:91711}, {slot:"/57491254/dagospia.it/politica/Textbox_2",plm:91705,pld:91711}, {slot:"/57491254/dagospia.it/sport/Textbox_1",plm:91705,pld:91711}, {slot:"/57491254/dagospia.it/sport/Textbox_2",plm:91705,pld:91711}, {slot:"/57491254/dagospia.it/homepage/Overlay",plm:96699,interstitial:true}, {slot:"/57491254/dagospia.it/cronache/Overlay",plm:96699,interstitial:true}, {slot:"/57491254/dagospia.it/ros_no_hp/Overlay",plm:96699,interstitial:true}, {slot:"/57491254/dagospia.it/politica/Overlay",plm:96699,interstitial:true}, {slot:"/57491254/dagospia.it/sport/Overlay",plm:96699,interstitial:true}, {slot:"/57491254/dagospia.it/cafonal/Overlay",plm:96699,interstitial:true}, {slot:"/57491254/dagospia.it/business/Overlay",plm:96699,interstitial:true} ]; var aplus_placements = [ {pl:91640,sizes:[[300, 100]],bids:[{bidder:'appnexus', params:{placementId:'20604024'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'919617',rcur:'USD'}}]}, {pl:91634,sizes:[[300, 100]],bids:[{bidder:'appnexus', params:{placementId:'20603966'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'919605',rcur:'USD'}}]}, {pl:91641,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20604029'}},{bidder:'ogury', params:{adUnitId:'wm-hb-iart-dagosp-nextp-micneozuajnt',assetKey: 'OGY-2B271BDB2A55'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'919618',rcur:'USD'}}]}, {pl:91635,sizes:[[300, 250],[300, 600]],bids:[{bidder:'appnexus', params:{placementId:'20603975'}},{bidder:'ogury', params:{adUnitId:'wd-hb-stdb-dagosp-nextp-ugzangqudgkf',assetKey: 'OGY-2B271BDB2A57'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'919607',rcur:'USD'}}]}, {pl:91642,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20604035'}},{bidder:'ogury', params:{adUnitId:'wm-hb-iart-dagosp-nextp-v5mxawsz40sc',assetKey: 'OGY-2B271BDB2A55'}},{bidder:'adf', params:{mid:'919619',rcur:'USD'}}]}, {pl:91636,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20603982'}},{bidder:'ogury', params:{adUnitId:'wd-hb-stdb-dagosp-nextp-5e7uqhpj1qsb',assetKey: 'OGY-2B271BDB2A56'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'919609',rcur:'USD'}}]}, {pl:91643,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20604039'}},{bidder:'adf', params:{mid:'919620',rcur:'USD'}}]}, {pl:91637,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20603988'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'919611',rcur:'USD'}}]}, {pl:96854,sizes:[[320, 100],[320, 50]],bids:[{bidder:'appnexus', params:{placementId:'36416399'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'missena', params:{apiKey: 'PA-24836742', placement: 'header'}},{bidder:'rubicon', params:{accountId:'13258',siteId:'70942',zoneId:'3887648',sizes:[117,43]}},{bidder:'adf', params:{mid:'2167571',rcur:'USD'}}]}, {pl:91638,sizes:[[728, 90],[970, 250],[990, 250],[990, 30]],bids:[{bidder:'appnexus', params:{placementId:'20604008'}},{bidder:'ogury', params:{adUnitId:'wd-hb-stdb-dagosp-nextp-o2xuexha6vhu',assetKey: 'OGY-2B271BDB2A55'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'919615',rcur:'USD'}}]}, {pl:91707,sizes:[[728, 90]],bids:[{bidder:'appnexus', params:{placementId:'20672670'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928062',rcur:'USD'}}]}, {pl:91702,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20672638'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928067',rcur:'USD'}}]}, {pl:91708,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20672671'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928063',rcur:'USD'}}]}, {pl:91703,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20672640'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928068',rcur:'USD'}}]}, {pl:91709,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20672672'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928064',rcur:'USD'}}]}, {pl:91704,sizes:[[300, 250]],bids:[{bidder:'appnexus', params:{placementId:'20672642'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928069',rcur:'USD'}}]}, {pl:91710,sizes:[[300, 250],[300, 600]],bids:[{bidder:'appnexus', params:{placementId:'20672681'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928065',rcur:'USD'}}]}, {pl:91705,sizes:[[300, 100]],bids:[{bidder:'appnexus', params:{placementId:'20672646'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928071',rcur:'USD'}}]}, {pl:91711,sizes:[[300, 100]],bids:[{bidder:'appnexus', params:{placementId:'20672683'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'adf', params:{mid:'928066',rcur:'USD'}}]}, {pl:96699,sizes:[[320, 480]],bids:[{bidder:'appnexus', params:{placementId:'34222598'}},{bidder:'criteo', params:{networkId:6093, pubid: '100838'}},{bidder:'missena', params:{apiKey: 'PA-24836742', placement: 'prestitial'}},{bidder:'rubicon', params:{accountId:'13258',siteId:'70942',zoneId:'3583086',sizes:[67]}},{bidder:'adf', params:{mid:'2000912',rcur:'USD'}}]} ];