' : ""},a.getDefinedParams = function(n, e) {return e.filter((function(e) {return n[e]})).reduce((function(e, t) {return r(e, (function(e, t, n) {t in e ? Object.defineProperty(e, t, {value: n,enumerable: !0,configurable: !0,writable: !0}) : e[t] = n;return e})({}, t, n[t]))}), {})},a.isValidMediaTypes = function(e) {var t = ["banner", "native", "video"];if (!Object.keys(e).every((function(e) {return (0,u.default)(t, e)})))return !1;if (e.video && e.video.context)return (0,u.default)(["instream", "outstream"], e.video.context);return !0},a.getBidderRequest = function(e, t, n) {return (0,o.default)(e, (function(e) {return 0 > t / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, e)},a.getBidIdParameter = function(e, t) {return t && t[e] ? t[e] : ""},a.tryAppendQueryString = function(e, t, n) {return n ? e + (t + "=") + encodeURIComponent(n) + "&" : e},a.parseQueryStringParameters = function(e) {var t = "";for (var n in e)e.hasOwnProperty(n) && (t += n + "=" + encodeURIComponent(e[n]) + "&");return t},a.transformAdServerTargetingObj = function(t) {return t && 0 ';return t += ''},a.createTrackPixelIframeHtml = function(e) {var t = !(1 n ') : ""},a.getIframeDocument = function(e) {if (e) {var t = void 0;try {t = e.contentWindow ? e.contentWindow.document : e.contentDocument.document ? e.contentDocument.document : e.contentDocument} catch (e) {a.logError("Cannot get iframe document", e)}return t}},a.getValueString = function(e, t, n) {return null == t ? n : a.isStr(t) ? t : a.isNumber(t) ? t.toString() : void a.logWarn("Unsuported type for param: " + e + " required type: String")};a.getHighestCpm = U("timeToRespond", (function(e, t) {return t = u.syncsPerBidder)return c.logWarn('Number of user syncs exceeded for "' + t + '"');if (u.filterSettings) {if (function(e, t) {var n = u.filterSettings;if (function(e, t) {if (e.all && e[t])return c.logWarn('Detected presence of the "filterSettings.all" and "filterSettings.' + t + '" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.'),!1;var n = e.all ? e.all : e[t], r = e.all ? "all" : t;if (!n)return !1;var i = n.filter, o = n.bidders;if (i && "include" !== i && "exclude" !== i)return c.logWarn('UserSync "filterSettings.' + r + ".filter" setting '" + i + "' is not a valid option; use either 'include' or 'exclude'."),!1;return !!("*" === o || Array.isArray(o) && 0 n n n prebid.org wrappern n " + (n ? "" : "") + "n n n n "),ttlseconds: Number(e.ttl)}}},23: function(e, t) {var n = {}.toString;e.exports = function(e) {return n.call(e).slice(8, -1)}},24: function(e, t) {e.exports = function(e) {if (null == e)throw TypeError("Can't call method on " + e);return e}},25: function(e, t, n) {var r = n(60)("wks"), i = n(62), o = n(19).Symbol, a = "function" == typeof o;(e.exports = function(e) {return r[e] || (r[e] = a && o[e] || (a ? o : i)("Symbol." + e))}).store = r},26: function(e, t) {e.exports = function() {}},27: function(e, t, n) {"use strict";Object.defineProperty(t, "__esModule", {value: !0}),t.default = function(e) {var t = e;return {callBids: function() {},setBidderCode: function(e) {t = e},getBidderCode: function() {return t}}}},28: function(e, t, n) {"use strict";var r, i = n(7), o = (r = i) && r.__esModule ? r : {default: r}, a = (function(e) {{if (e && e.__esModule)return e;var t = {};if (null != e)for (var n in e)Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e,t}})(n(0));var d = {}, u = ["criteo"];function s(e, t) {var n = document.createElement("script");n.type = "text/javascript",n.async = !0,t && "function" == typeof t && (n.readyState ? n.onreadystatechange = function() {"loaded" !== n.readyState && "complete" !== n.readyState || (n.onreadystatechange = null,t())}: n.onload = function() {t()}),n.src = e;var r = document.getElementsByTagName("head");(r = r.length ? r : document.getElementsByTagName("body")).length && (r = r[0]).insertBefore(n, r.firstChild)}t.loadExternalScript = function(e, t) {if (t && e)if ((0,o.default)(u, t)) {if (!d[e]) {a.logWarn("module " + t + " is loading external JavaScript");var n = document.createElement("script");n.type = "text/javascript",n.async = !0,n.src = e,a.insertElement(n),d[e] = !0}} else a.logError(t + " not whitelisted for loading external JavaScript");else a.logError("cannot load external script without url and moduleCode")},t.loadScript = function(t, e, n) {t ? n ? d[t] ? e && "function" == typeof e && (d[t].loaded ? e() : d[t].callbacks.push(e)) : (d[t] = {loaded: !1,callbacks: []},e && "function" == typeof e && d[t].callbacks.push(e),s(t, (function() {d[t].loaded = !0;try {for (var e = 0; e t.max ? e : t}), {max: 0}), p = (0,v.default)(e.buckets, (function(e) {if (n > g.max * r) {var t = e.precision;void 0 === t && (t = y),i = (e.max * r).toFixed(t)} else if (n = e.min * r)return e}));return p && (t = n,a = r,d = void 0 !== (o = p).precision ? o.precision : y,u = o.increment * a,s = o.min * a,c = Math.pow(10, d + 2),f = (t * c - s * c) / (u * c),l = Math.floor(f) * u + s,i = (l = Number(l.toFixed(10))).toFixed(d)),i}function m(e) {if (o.isEmpty(e) || !e.buckets || !Array.isArray(e.buckets))return !1;var t = !0;return e.buckets.forEach((function(e) {void 0 !== e.min && e.max && e.increment || (t = !1)})),t}t.getPriceBucketString = function(e, t) {var n = 2 (0,S.timestamp)()},function(e) {return e && (e.status && !(0,A.default)([C.BID_STATUS.BID_TARGETING_SET, C.BID_STATUS.RENDERED], e.status) || !e.status)});function U(e, n) {var r = [], i = (0,S.groupBy)(e, "adUnitCode");return Object.keys(i).forEach((function(e) {var t = (0,S.groupBy)(i[e], "bidderCode");Object.keys(t).forEach((function(e) {return r.push(t[e].reduce(n))}))})),r}function u(n) {var g = {};function p(e) {return "string" == typeof e ? [e] : w.isArray(e) ? e : n.getAdUnitCodes() || []}function v() {return U(n.getBidsReceived().filter((function(e) {return "banner" !== e.mediaType || (0,a.sizeSupported)([e.width, e.height])})).filter(d).filter(t.isBidNotExpired), S.getOldestHighestCpmBid)}function y() {return n.getStandardBidderAdServerTargeting().map((function(e) {return e.key})).concat(R).filter(S.uniques)}function m(r, i, e, t) {return Object.keys(i.adserverTargeting).filter(o()).forEach((function(e) {var t, n;r.length && r.filter((n = e,function(e) {return e.adUnitCode === i.adUnitCode && e.adserverTargeting[n]})).forEach((t = e,function(e) {w.isArray(e.adserverTargeting[t]) || (e.adserverTargeting[t] = [e.adserverTargeting[t]]),e.adserverTargeting[t] = e.adserverTargeting[t].concat(i.adserverTargeting[t]).filter(S.uniques),delete i.adserverTargeting[t]}))})),r.push(i),r}function o() {var t = y();return function(e) {return -1 === t.indexOf(e)}}function b(t) {return _({}, t.adUnitCode, Object.keys(t.adserverTargeting).filter(o()).map((function(e) {return _({}, e.substring(0, O), [t.adserverTargeting[e]])})))}return g.resetPresetTargeting = function(e) {if ((0,S.isGptPubadsDefined)()) {var t = p(e), r = n.getAdUnits().filter((function(e) {return (0,A.default)(t, e.code)}));window.googletag.pubads().getSlots().forEach((function(n) {B.forEach((function(t) {r.forEach((function(e) {e.code !== n.getAdUnitPath() && e.code !== n.getSlotElementId() || n.setTargeting(t, null)}))}))}))}},g.getAllTargeting = function(e) {var r, t, i, n, o, a, d, u, s, c = 1 i && (r = !1)),!r})),r && e.run(),r}function u(e, t) {void 0 === e[t] ? e[t] = 1 : e[t]++}},addWinningBid: function(e) {o = o.concat(e),R.callBidWonBidder(e.bidder, e, f)},setBidTargeting: function(e) {R.callSetTargetingBidder(e.bidder, e)},getWinningBids: function() {return o},getTimeout: function() {return E},getAuctionId: function() {return m},getAuctionStatus: function() {return b},getAdUnits: function() {return s},getAdUnitCodes: function() {return l},getBidRequests: function() {return g},getBidsReceived: function() {return p}}},t.auctionCallbacks = W,t.getStandardBidderSettings = d,t.getKeyValueTargetingPairs = V,t.adjustBids = s;var _ = n(0), h = n(31), i = n(17), S = n(228), E = n(12), w = n(3), r = n(18), o = n(20), T = a(n(10)), C = a(n(7)), A = n(41);function a(e) {return e && e.__esModule ? e : {default: e}}var B = r.userSync.syncUsers, O = n(0), R = n(8), U = n(9), N = n(4), D = t.AUCTION_STARTED = "started", j = t.AUCTION_IN_PROGRESS = "inProgress", P = t.AUCTION_COMPLETED = "completed";U.on(N.EVENTS.BID_ADJUSTMENT, (function(e) {s(e)}));var k = 4, x = {}, M = {}, G = [];var q = t.addBidResponse = (0,o.createHook)("asyncSeries", (function(e, t) {this.auctionAddBidResponse(e, t)}), "addBidResponse");function W(e, p) {var v = 0, t = !1, n = (0,_.delayExecution)((function() {t = !0}), p.getBidRequests().length);function y() {v--,t && 0 === v && e()}return {addBidResponse: function(e, t) {v++;var n = p.getBidRequests(), r = p.getAuctionId(), i = (0,_.getBidderRequest)(n, t.bidderCode, e), o = (function(e) {var t = e.adUnitCode, n = e.bid, r = e.bidRequest, i = e.auctionId, o = r.start, a = b({}, n, {auctionId: i,responseTimestamp: (0,_.timestamp)(),requestTimestamp: o,cpm: parseFloat(n.cpm) || 0,bidder: n.bidderCode,adUnitCode: t});a.timeToRespond = a.responseTimestamp - a.requestTimestamp,U.emit(N.EVENTS.BID_ADJUSTMENT, a);var d = r.bids && (0,T.default)(r.bids, (function(e) {return e.adUnitCode == t})), u = d && d.renderer;u && u.url && (a.renderer = E.Renderer.install({url: u.url}),a.renderer.setRender(u.render));var s, c = w.config.getConfig("mediaTypePriceGranularity." + n.mediaType), f = (0,h.getPriceBucketString)(a.cpm, "object" === (void 0 === c ? "undefined" : m(c)) ? c : w.config.getConfig("customPriceBucket"), w.config.getConfig("currency.granularityMultiplier"));return a.pbLg = f.low,a.pbMg = f.med,a.pbHg = f.high,a.pbAg = f.auto,a.pbDg = f.dense,a.pbCg = f.custom,a.bidderCode && (0 e.getTimeout() + w.config.getConfig("timeoutBuffer") && e.executeCallback(!0)}function z(e, t) {U.emit(N.EVENTS.BID_RESPONSE, t),e.addBidReceived(t),I(e, t)}function d(e) {var t = w.config.getConfig("mediaTypePriceGranularity." + e), n = "string" == typeof e && t ? "string" == typeof t ? t : "custom" : w.config.getConfig("priceGranularity"), r = pbjs.bidderSettings;return r[N.JSON_MAPPING.BD_SETTING_STANDARD] || (r[N.JSON_MAPPING.BD_SETTING_STANDARD] = {}),r[N.JSON_MAPPING.BD_SETTING_STANDARD][N.JSON_MAPPING.ADSERVER_TARGETING] || (r[N.JSON_MAPPING.BD_SETTING_STANDARD][N.JSON_MAPPING.ADSERVER_TARGETING] = [{key: N.TARGETING_KEYS.BIDDER,val: function(e) {return e.bidderCode}}, {key: N.TARGETING_KEYS.AD_ID,val: function(e) {return e.adId}}, {key: N.TARGETING_KEYS.PRICE_BUCKET,val: function(e) {return n === N.GRANULARITY_OPTIONS.AUTO ? e.pbAg : n === N.GRANULARITY_OPTIONS.DENSE ? e.pbDg : n === N.GRANULARITY_OPTIONS.LOW ? e.pbLg : n === N.GRANULARITY_OPTIONS.MEDIUM ? e.pbMg : n === N.GRANULARITY_OPTIONS.HIGH ? e.pbHg : n === N.GRANULARITY_OPTIONS.CUSTOM ? e.pbCg : void 0}}, {key: N.TARGETING_KEYS.SIZE,val: function(e) {return e.size}}, {key: N.TARGETING_KEYS.DEAL,val: function(e) {return e.dealId}}, {key: N.TARGETING_KEYS.SOURCE,val: function(e) {return e.source}}, {key: N.TARGETING_KEYS.FORMAT,val: function(e) {return e.mediaType}}]),r[N.JSON_MAPPING.BD_SETTING_STANDARD]}function V(e, t) {if (!t)return {};var n = {}, r = pbjs.bidderSettings;r && (u(n, d(t.mediaType), t),e && r[e] && r[e][N.JSON_MAPPING.ADSERVER_TARGETING] && (u(n, r[e], t),t.sendStandardTargeting = r[e].sendStandardTargeting));return t.native && (n = b({}, n, (0,i.getNativeTargeting)(t))),n}function u(r, i, o) {var e = i[N.JSON_MAPPING.ADSERVER_TARGETING];return o.size = o.getSize(),O._each(e, (function(e) {var t = e.key, n = e.val;if (r[t] && O.logWarn("The key: " + t + " is getting ovewritten"),O.isFn(n))try {n = n(o)} catch (e) {O.logError("bidmanager", "ERROR", e)}(void 0 === i.suppressEmptyKeys || !0 !== i.suppressEmptyKeys) && t !== N.TARGETING_KEYS.DEAL || !O.isEmptyStr(n) && null != n ? r[t] = n : O.logInfo("suppressing empty key '" + t + "' from adserver targeting")})),r}function s(e) {var t = e.bidderCode, n = e.cpm, r = void 0;if (pbjs.bidderSettings && (t && pbjs.bidderSettings[t] && "function" == typeof pbjs.bidderSettings[t].bidCpmAdjustment ? r = pbjs.bidderSettings[t].bidCpmAdjustment : pbjs.bidderSettings[N.JSON_MAPPING.BD_SETTING_STANDARD] && "function" == typeof pbjs.bidderSettings[N.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment && (r = pbjs.bidderSettings[N.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment),r))try {n = r(e.cpm, b({}, e))} catch (e) {O.logError("Error during bid adjustment", "bidmanager.js", e)}0 (eg mediaTypes.banner.sizes)."), e.sizes = n);if (t && t.video) {var i = t.video;if (i.playerSize)if (Array.isArray(i.playerSize) && 1 === i.playerSize.length && i.playerSize.every(d)) e.sizes = i.playerSize;else if (d(i.playerSize)) {var o = [];o.push(i.playerSize),w.logInfo("Transforming video.playerSize from " + i.playerSize + " to " + o + " so it's in the proper format."),e.sizes = i.playerSize = o} else w.logError("Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request."), delete e.mediaTypes.video.playerSize}if (t && t.native) {var a = t.native;a.image && a.image.sizes && !Array.isArray(a.image.sizes) && (w.logError("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."),delete e.mediaTypes.native.image.sizes),a.image && a.image.aspect_ratios && !Array.isArray(a.image.aspect_ratios) && (w.logError("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."),delete e.mediaTypes.native.image.aspect_ratios),a.icon && a.icon.sizes && !Array.isArray(a.icon.sizes) && (w.logError("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."),delete e.mediaTypes.native.icon.sizes)}})),e},h.callBids = function(e, t, r, i, o, a) {if (t.length) {var n = t.reduce((function(e, t) {return e[Number(void 0 !== t.src && t.src === C.S2S.SRC)].push(t),e}), [[], []]), d = b(n, 2), u = d[0], s = d[1];if (s.length) {var c = (0,E.ajaxBuilder)(a, o ? {request: o.request.bind(null, "s2s"),done: o.done} : void 0), f = U.bidders, l = R[U.adapter], g = s[0].tid, p = s[0].adUnitsS2SCopy;if (l) {var v = {tid: g,ad_units: p};if (v.ad_units.length) {var y = s.map((function(e) {return e.start = (0,S.timestamp)(),i})), m = v.ad_units.reduce((function(e, t) {return e.concat((t.bids || []).reduce((function(e, t) {return e.concat(t.bidder)}), []))}), []);w.logMessage("CALLING S2S HEADER BIDDERS ==== " + f.filter((function(e) {return (0,A.default)(m, e)})).join(",")),s.forEach((function(e) {B.emit(C.EVENTS.BID_REQUESTED, e)})),l.callBids(v, s, r, (function() {return y.forEach((function(e) {return e()}))}), c)}}}u.forEach((function(e) {e.start = (0,S.timestamp)();var t = R[e.bidderCode];w.logMessage("CALLING BIDDER ======= " + e.bidderCode),B.emit(C.EVENTS.BID_REQUESTED, e);var n = (e.doneCbCallCount = 0,E.ajaxBuilder)(a, o ? {request: o.request.bind(null, e.bidderCode),done: o.done} : void 0);t.callBids(e, r, i, n)}))} else w.logWarn("callBids executed with no bidRequests. Were they filtered by labels or sizing?")},h.videoAdapters = [],h.registerBidAdapter = function(e, t) {var n = (2 n
n
n
n
Excerpt from:
Libya: UN-backed government condemns Tripoli airport ...