
Photo illustration by Slate. Photos by Getty Images Plus.
“Sweetheart, we could strip out everything and start fresh, maintain the look outside. Go modern minimalist on the inside. White walls. Black and gray furniture. It would be so open and airy.”
Modern minimalist? Something died inside Kincaid. “You can’t be serious,” she blurted out.
Something died inside me, too, as I read these lines in Roni Loren’s romance novel The One for You. The first speaker, an Austin architect, wants to turn a gorgeous, needs-work farmhouse in Texas wine country into an urban loft. Clearly the only reasonable thing for the book’s heroine to do is buy it out from under him, protecting the house’s good bones from going the way of every fixer-upper in Waco. And thank goodness for that. I wish more characters in romance novels had Kincaid’s backbone, interiors-wise.
Romance has a serious décor problem. Contemporary romance novels, my pandemic escape of choice, provide a wide variety of settings, pairings, relationship dynamics, and even kinks. But the world of romance has settled, it seems, on a default style of interior design for its heroes. Every time I read about yet another “modern minimalist” living room—let’s just say it kills the mood.
While most romances specify their protagonists’ hair and eye color, there’s typically a scrim of haziness about their exact appearance. That haziness allows the reader to project their own particular preferences onto the love interest. Tall, dark, and handsome means different things to different people, after all.
That vagueness sharpens to precision, though, when it comes to other character-defining matters of taste. Food romances get down to recipe-level detail about their protagonists’ gustatory preferences. In rock star and motorcycle club romances, readers are treated to detailed descriptions of the protagonists’ ink. And yet, time and again, when a protagonist walks in the door of the man’s apartment after a date, the scene is the same: one big room with a sectional, a wall-mounted TV, and a scenic view of some location-appropriate body of water.
Drew, the object of affection in Jasmine Guillory’s The Wedding Date, has the textbook version (he’s on the Pacific in Santa Monica):
After he opened the door, she walked inside to see big windows, white walls, chrome appliances, and black-and-white prints everywhere. She dropped her tote bag next to the gray couch and looked around for a place to put the tacos.
So does Brett, Prince Charming in K.A. Tucker’s modern day Cinderella story Until It Fades (he’s on the Schuylkill in Philadelphia):
The main area is open with a high ceiling over the living room. A loft overlooks us, with an industrial-looking set of metal stairs leading up. Everything is light—white walls with only two pictures hanging on them, soft gray curtains to block out an impressive view of the river, should they be pulled closed. To be honest, it looks like Brett just moved in.
So does Wes, one of the two hockey-playing leads of Sarina Bowen and Elle Kennedy’s gay romance, Him (he’s on the lakefront in Toronto):
I turn away from the window to study the huge open-concept room. The apartment isn’t furnished, but I can already imagine how it would look with furniture. Leather couch and massive flat screen in the living area. A dining room table. Some tall stools for the eat-in breakfast counter.
The 1 percent version, as seen in Alexis Hall’s How to Bang a Billionaire, has more textiles but is still pretty bland (he’s on Hyde Park in London).
Holy fuck, it looked like a picture in a magazine. Beautiful in this totally unreal way. Everything was marble and granite and silk and … designed. In these somehow extravagantly muted colors, taupe and cream and pearl gray. I was lowering the value of the place just by being there. …
So much … gleaminess. And the sense of space. I think they called it lateral living or something. For people too rich for, like, rooms.
“People too rich for, like, rooms,” as Hall’s mouthy narrator Arden St. Ives so aptly puts it, gets to the heart of romance heroes’ whole nonaesthetic aesthetic, which impresses through sprawl rather than any stamp of personality. What Roni Loren’s Kincaid and I see as a deal-breaker, far too many romance protagonists see as a challenge: If his house is chilly, he just needs me to warm up his living room—and his heart.
The words “open concept” offer a clue as to why so many authors consider square footage sufficiently seductive. “Open concept” has its origins in Canada, where some of the most popular early HGTV renovation shows were filmed. Hosts adopted it over the American “open plan” and the term—like the gung-ho, let’s-strip-out-everything approach to renovation—spread from there. Critics have been questioning the open plan’s suitability for family life for the past couple of years; the pandemic has only put the need for rooms into starker relief.
But it is no coincidence that it is the male protagonists in these books that have bought into the open plan. When New York Times contributor Ronda Kaysen discussed HGTV on NPR in 2019, she revealed a reason behind the network’s devotion to kitchen-dining-living rooms: Men love demo. “Dudes will only watch HGTV if there’s sledgehammers,” she said. Big spaces are a symbol of masculinity—a representation, like that big TV and big sofa, of other things men would like you to assume are big.
In truth, all of the above are signifiers of traditional masculinity. If the man with a sledgehammer is strong, the man with the big apartment is rich. Despite the recent rise of the “cinnamon roll hero” (care-taking, gentle, and supportive), the world of romance is still rife with status professions and athletic prowess, along with fashion notes that are as basic as this type of décor. Bad boys wear leather jackets, boys next door wear henley shirts, billionaires wear bespoke. There’s nothing wrong with wanting that fantasy, as long as you’re also aware of its limitations.
The mattress on the floor of despair is one thing, but these examples are all rich men, which makes it difficult not to read the blankness of their houses as representative of the blandness of their souls. A romance heroine, of course, would never let a low-paying job stop her from expressing herself via quirky décor. Kincaid has to sell her beloved lake cottage to save that wine country farmhouse from Fixer Upper–dom. Poppy, the waitress and single mother in Alexa Martin’s Fumbled, redoes her own kitchen with the help of Pinterest and free classes at the local Home Depot:
I found out you could fake butcher block countertops by using pine panels. Considering my kitchen is the size of a postage stamp, the grand total came to under a hundred buckaroos. Cole let me borrow his tools, and in a day? Voilà! New countertops. A few months later, I painted the top cabinets a bright white and the same mint color as our front door for the bottoms. A few months—and some very large tips—after I splurged on a white subway tile backsplash. It cost too much money and I regretted it for weeks, but now it’s my favorite part.
These heroines, making their houses their own while making ends meet, operate a bit like manic pixie interior design girls, saving their men from lives of black-and-white photography and leather sectionals through the power of thrifting, color theory, and houseplants. In a hetero follow-up to Him, Stay, a hockey teammate falls for the co-owner of a concierge service when he hires her to redecorate his apartment:
She’s done a great job, too. The furniture and dishes are attractive but unassuming. All I sent her was a floor plan and a cry for help, and she went to town. I didn’t even know what I needed to buy, but she just handled it, including the stuff I probably would have overlooked. Like hand towels and a soap dish for each bathroom.
He would have overlooked hand towels?! Now I’m imagining this millionaire moving a single roll of paper towels from kitchen to bathroom to bedroom until this feminine intervention.
The idea that a man can’t find his own cozy carries into male-male romances; in Hall’s and Bowen and Kennedy’s novels, the less rich partner in the couple isn’t written (thankfully) into the “female” redecorating role. Arden lives in a barely renovated industrial loft. Jamie moves in with Wes and seems perfectly happy with the leather couch and flat screen; it’s his mother who adds HIS and HIS mugs.
One author who gets interiors right is Lily Morton. The lawyers, actors, and photojournalists in Morton’s series own some drool-worthy real estate, including a Cornish estate, a villa in the South of France, and a London houseboat. The best is the London townhouse of Asa Jacobs, the fortysomething star of a Game of Thrones–esque series, in Deal Maker. I had an “I must date it from my first seeing his beautiful grounds at Pemberley” moment from the first knock Jude, the book’s narrator, makes to its pink front door. Like me, he seemed confused whether to drool over Asa or his house.
He obviously favours bold colours, because this room is painted in a warm turquoise. Floor to ceiling bookcases line three of the walls, and the other is covered in old framed playbills. A large leather sofa and two deep armchairs are positioned in front of an open fireplace, and light floods in through French windows which give a glimpse of a long garden. It’s a cosy room that invites you to curl up with a good book, and I relax slightly.
I relaxed even further in the kitchen, where Jude finds no stainless steel and a housekeeper with a Mary Berry–esque love of cakes.
It has light oak cupboards and a gorgeous slate tiled floor, but the defining feature is the hundreds of tiny copper tiles which make the glassware sparkle.
From the meet cute to the happily ever after, every moment in a romance novel should build intimacy. Spending time in each other’s spaces is a crucial part of that process. Scenes that start with checking out the guy’s view tend to end with checking out other things on that big sofa. Who wants to be seduced on the floor model? Why does all the charm, at least design-wise, have to be one-sided? Just as love shouldn’t be expected to fix your emotional problems, love shouldn’t be expected to retile your backsplash. There are some things you should do for yourself.
');
}
function tryGetCriteoFastBid() {
try {
var fastBidStorageKey = "criteo_fast_bid",
hashPrefix = "// Hash: ",
fastBidFromStorage = storage.getDataFromLocalStorage(fastBidStorageKey),
firstLineEndPosition,
firstLine,
publisherTagHash,
publisherTag;
null !== fastBidFromStorage && (firstLineEndPosition = fastBidFromStorage.indexOf("n"), firstLine = fastBidFromStorage.substr(0, firstLineEndPosition).trim(), firstLine.substr(0, hashPrefix.length) !== hashPrefix ? (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("No hash found in FastBid"), storage.removeDataFromLocalStorage(fastBidStorageKey)) : (publisherTagHash = firstLine.substr(hashPrefix.length), publisherTag = fastBidFromStorage.substr(firstLineEndPosition + 1), Object(__WEBPACK_IMPORTED_MODULE_6_criteo_direct_rsa_validate_build_verify_js__.verify)(publisherTag, publisherTagHash, FAST_BID_PUBKEY_N, FAST_BID_PUBKEY_E) ? (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logInfo("Using Criteo FastBid"), eval(publisherTag)) : (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("Invalid Criteo FastBid found"), storage.removeDataFromLocalStorage(fastBidStorageKey))));
} catch (t) {}
}
Object(__WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js__.registerBidder)(spec);
},
377: function _(t, e, r) {
"use strict";
Object.defineProperty(e, "__esModule", {
value: !0
});
var a = r(378),
n = r(379);
e.verify = function (t, e, r, i) {
var s = new a.BigInteger(a.b64toHex(e)),
o = new a.BigInteger(a.b64toHex(r)),
_ = s.modPowInt(i, o);
return a.removeExtraSymbols(_.toHexString()) === n.Sha256.hash(t);
};
},
378: function _(t, e, r) {
"use strict";
var i;
Object.defineProperty(e, "__esModule", {
value: !0
});
var s = (T.prototype.toHexString = function () {
if (this.s < 0) return "-" + this.negate().toHexString();
var t,
e = !1,
r = "https://slate.com/",
i = this.t,
s = this.DB - i * this.DB % 4;
if (0 < i--) for (s < this.DB && 0 < (t = this[i] >> s) && (e = !0, r = c(t)); 0 <= i;) {
s < 4 ? (t = (this[i] & (1 << s) - 1) << 4 - s, t |= this[--i] >> (s += this.DB - 4)) : (t = this[i] >> (s -= 4) & 15, s <= 0 && (s += this.DB, --i)), 0 < t && (e = !0), e && (r += c(t));
}
return e ? r : "0";
}, T.prototype.fromHexString = function (t) {
if (null !== t) {
this.t = 0, this.s = 0;
for (var e = t.length, r = !1, i = 0; 0 <= --e;) {
var s = n(t, e);
s < 0 ? "-" == t.charAt(e) && (r = !0) : (r = !1, 0 == i ? this[this.t++] = s : i + 4 > this.DB ? (this[this.t - 1] |= (s & (1 << this.DB - i) - 1) << i, this[this.t++] = s >> this.DB - i) : this[this.t - 1] |= s << i, (i += 4) >= this.DB && (i -= this.DB));
}
this.clamp(), r && T.ZERO.subTo(this, this);
}
}, T.prototype.negate = function () {
var t = b();
return T.ZERO.subTo(this, t), t;
}, T.prototype.abs = function () {
return this.s < 0 ? this.negate() : this;
}, T.prototype.mod = function (t) {
var e = b();
return this.abs().divRemTo(t, null, e), this.s < 0 && 0 < e.compareTo(T.ZERO) && t.subTo(e, e), e;
}, T.prototype.copyTo = function (t) {
for (var e = this.t - 1; 0 <= e; --e) {
t[e] = this[e];
}
t.t = this.t, t.s = this.s;
}, T.prototype.lShiftTo = function (t, e) {
for (var r = t % this.DB, i = this.DB - r, s = (1 << i) - 1, o = Math.floor(t / this.DB), _ = this.s << r & this.DM, a = this.t - 1; 0 <= a; --a) {
e[a + o + 1] = this[a] >> i | _, _ = (this[a] & s) << r;
}
for (a = o - 1; 0 <= a; --a) {
e[a] = 0;
}
e[o] = _, e.t = this.t + o + 1, e.s = this.s, e.clamp();
}, T.prototype.invDigit = function () {
if (this.t < 1) return 0;
var t = this[0];
if (0 == (1 & t)) return 0;
var e = 3 & t;
return 0 < (e = (e = (e = (e = e * (2 - (15 & t) * e) & 15) * (2 - (255 & t) * e) & 255) * (2 - ((65535 & t) * e & 65535)) & 65535) * (2 - t * e % this.DV) % this.DV) ? this.DV - e : -e;
}, T.prototype.dlShiftTo = function (t, e) {
for (var r = this.t - 1; 0 <= r; --r) {
e[r + t] = this[r];
}
for (r = t - 1; 0 <= r; --r) {
e[r] = 0;
}
e.t = this.t + t, e.s = this.s;
}, T.prototype.squareTo = function (t) {
for (var e = this.abs(), r = t.t = 2 * e.t; 0 <= --r;) {
t[r] = 0;
}
for (r = 0; r < e.t - 1; ++r) {
var i = e.am(r, e[r], t, 2 * r, 0, 1);
(t[r + e.t] += e.am(r + 1, 2 * e[r], t, 2 * r + 1, i, e.t - r - 1)) >= e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);
}
0 < t.t && (t[t.t - 1] += e.am(r, e[r], t, 2 * r, 0, 1)), t.s = 0, t.clamp();
}, T.prototype.multiplyTo = function (t, e) {
var r = this.abs(),
i = t.abs(),
s = r.t;
for (e.t = s + i.t; 0 <= --s;) {
e[s] = 0;
}
for (s = 0; s < i.t; ++s) {
e[s + r.t] = r.am(0, i[s], e, s, 0, r.t);
}
e.s = 0, e.clamp(), this.s != t.s && T.ZERO.subTo(e, e);
}, T.prototype.divRemTo = function (t, e, r) {
var i = t.abs();
if (!(i.t <= 0)) {
var s = this.abs();
if (s.t < i.t) return null != e && e.fromHexString("0"), void (null != r && this.copyTo(r));
null == r && (r = b());
var o = b(),
_ = this.s,
a = t.s,
n = this.DB - D(i[i.t - 1]);
0 < n ? (i.lShiftTo(n, o), s.lShiftTo(n, r)) : (i.copyTo(o), s.copyTo(r));
var p = o.t,
c = o[p - 1];
if (0 != c) {
var d = c * (1 << this.F1) + (1 < p ? o[p - 2] >> this.F2 : 0),
u = this.FV / d,
h = (1 << this.F1) / d,
l = 1 << this.F2,
f = r.t,
E = f - p,
v = null == e ? b() : e;
for (o.dlShiftTo(E, v), 0 <= r.compareTo(v) && (r[r.t++] = 1, r.subTo(v, r)), T.ONE.dlShiftTo(p, v), v.subTo(o, o); o.t < p;) {
o[o.t++] = 0;
}
for (; 0 <= --E;) {
var m = r[--f] == c ? this.DM : Math.floor(r[f] * u + (r[f - 1] + l) * h);
if ((r[f] += o.am(0, m, r, E, 0, p)) < m) for (o.dlShiftTo(E, v), r.subTo(v, r); r[f] < --m;) {
r.subTo(v, r);
}
}
null != e && (r.drShiftTo(p, e), _ != a && T.ZERO.subTo(e, e)), r.t = p, r.clamp(), 0 < n && r.rShiftTo(n, r), _ < 0 && T.ZERO.subTo(r, r);
}
}
}, T.prototype.rShiftTo = function (t, e) {
e.s = this.s;
var r = Math.floor(t / this.DB);
if (r >= this.t) e.t = 0;else {
var i = t % this.DB,
s = this.DB - i,
o = (1 << i) - 1;
e[0] = this[r] >> i;
for (var _ = r + 1; _ < this.t; ++_) {
e[_ - r - 1] |= (this[_] & o) << s, e[_ - r] = this[_] >> i;
}
0 < i && (e[this.t - r - 1] |= (this.s & o) << s), e.t = this.t - r, e.clamp();
}
}, T.prototype.drShiftTo = function (t, e) {
for (var r = t; r < this.t; ++r) {
e[r - t] = this[r];
}
e.t = Math.max(this.t - t, 0), e.s = this.s;
}, T.prototype.subTo = function (t, e) {
for (var r = 0, i = 0, s = Math.min(t.t, this.t); r < s;) {
i += this[r] - t[r], e[r++] = i & this.DM, i >>= this.DB;
}
if (t.t < this.t) {
for (i -= t.s; r < this.t;) {
i += this[r], e[r++] = i & this.DM, i >>= this.DB;
}
i += this.s;
} else {
for (i += this.s; r < t.t;) {
i -= t[r], e[r++] = i & this.DM, i >>= this.DB;
}
i -= t.s;
}
e.s = i < 0 ? -1 : 0, i < -1 ? e[r++] = this.DV + i : 0 < i && (e[r++] = i), e.t = r, e.clamp();
}, T.prototype.clamp = function () {
for (var t = this.s & this.DM; 0 < this.t && this[this.t - 1] == t;) {
--this.t;
}
}, T.prototype.modPowInt = function (t, e) {
var r = new (t < 256 "https://slate.com/" e.isEven() ? d : h)(e);
return this.exp(t, r);
}, T.prototype.exp = function (t, e) {
if (4294967295 < t "https://slate.com/" t < 1) return T.ONE;
var r,
i = b(),
s = b(),
o = e.convert(this),
_ = D(t) - 1;
for (o.copyTo(i); 0 <= --_;) {
e.sqrTo(i, s), 0 < (t & 1 << _) ? e.mulTo(s, o, i) : (r = i, i = s, s = r);
}
return e.revert(i);
}, T.prototype.isEven = function () {
return 0 == (0 < this.t ? 1 & this[0] : this.s);
}, T.prototype.compareTo = function (t) {
var e = this.s - t.s;
if (0 != e) return e;
var r = this.t;
if (0 != (e = r - t.t)) return this.s < 0 ? -e : e;
for (; 0 <= --r;) {
if (0 != (e = this[r] - t[r])) return e;
}
return 0;
}, T.prototype.am1 = function (t, e, r, i, s, o) {
for (; 0 <= --o;) {
var _ = e * this[t++] + r[i] + s;
s = Math.floor(_ / 67108864), r[i++] = 67108863 & _;
}
return s;
}, T.prototype.am2 = function (t, e, r, i, s, o) {
for (var _ = 32767 & e, a = e >> 15; 0 <= --o;) {
var n = 32767 & this[t],
p = this[t++] >> 15,
c = a * n + p * _;
s = ((n = _ * n + ((32767 & c) << 15) + r[i] + (1073741823 & s)) >>> 30) + (c >>> 15) + a * p + (s >>> 30), r[i++] = 1073741823 & n;
}
return s;
}, T.prototype.am3 = function (t, e, r, i, s, o) {
for (var _ = 16383 & e, a = e >> 14; 0 <= --o;) {
var n = 16383 & this[t],
p = this[t++] >> 14,
c = a * n + p * _;
s = ((n = _ * n + ((16383 & c) << 14) + r[i] + s) >> 28) + (c >> 14) + a * p, r[i++] = 268435455 & n;
}
return s;
}, T);
function T(t) {
null !== t && this.fromHexString(t);
}
function b() {
return new s(null);
}
function D(t) {
var e,
r = 1;
return 0 != (e = t >>> 16) && (t = e, r += 16), 0 != (e = t >> 8) && (t = e, r += 8), 0 != (e = t >> 4) && (t = e, r += 4), 0 != (e = t >> 2) && (t = e, r += 2), 0 != (e = t >> 1) && (t = e, r += 1), r;
}
e.BigInteger = s, e.nbi = b, e.nbits = D;
for (var o = [], _ = "0".charCodeAt(0), a = 0; a <= 9; ++a) {
o[_++] = a;
}
for (_ = "a".charCodeAt(0), a = 10; a < 36; ++a) {
o[_++] = a;
}
for (_ = "A".charCodeAt(0), a = 10; a < 36; ++a) {
o[_++] = a;
}
function n(t, e) {
var r = o[t.charCodeAt(e)];
return null == r ? -1 : r;
}
e.intAt = n;
var p = "0123456789abcdefghijklmnopqrstuvwxyz";
function c(t) {
return p.charAt(t);
}
e.int2char = c;
e.b64toHex = function (t) {
for (var e = "https://slate.com/", r = 0, i = 0, s = 0; s < t.length && "=" != t.charAt(s); ++s) {
var o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(t.charAt(s));
o < 0 "https://slate.com/" (r = 0 == r ? (e += c(o >> 2), i = 3 & o, 1) : 1 == r ? (e += c(i << 2 | o >> 4), i = 15 & o, 2) : 2 == r ? (e += c(i), e += c(o >> 2), i = 3 & o, 3) : (e += c(i << 2 | o >> 4), e += c(15 & o), 0));
}
return 1 == r && (e += c(i << 2)), e;
}, e.removeExtraSymbols = function (t) {
return t.replace(/^1f+00/, "https://slate.com/").replace("3031300d060960864801650304020105000420"https://slate.com/,"https://slate.com/");
};
var d = (u.prototype.convert = function (t) {
return t.s < 0 "https://slate.com/" 0 <= t.compareTo(this.m) ? t.mod(this.m) : t;
}, u.prototype.revert = function (t) {
return t;
}, u.prototype.reduce = function (t) {
t.divRemTo(this.m, null, t);
}, u.prototype.mulTo = function (t, e, r) {
t.multiplyTo(e, r), this.reduce(r);
}, u.prototype.sqrTo = function (t, e) {
t.squareTo(e), this.reduce(e);
}, u);
function u(t) {
this.m = t;
}
var h = (l.prototype.convert = function (t) {
var e = b();
return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && 0 < e.compareTo(s.ZERO) && this.m.subTo(e, e), e;
}, l.prototype.revert = function (t) {
var e = b();
return t.copyTo(e), this.reduce(e), e;
}, l.prototype.reduce = function (t) {
for (; t.t <= this.mt2;) {
t[t.t++] = 0;
}
for (var e = 0; e < this.m.t; ++e) {
var r = 32767 & t[e],
i = r * this.mpl + ((r * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM;
for (t[r = e + this.m.t] += this.m.am(0, i, t, e, 0, this.m.t); t[r] >= t.DV;) {
t[r] -= t.DV, t[++r]++;
}
}
t.clamp(), t.drShiftTo(this.m.t, t), 0 <= t.compareTo(this.m) && t.subTo(this.m, t); }, l.prototype.mulTo = function (t, e, r) { t.multiplyTo(e, r), this.reduce(r); }, l.prototype.sqrTo = function (t, e) { t.squareTo(e), this.reduce(e); }, l); function l(t) { this.m = t, this.mp = t.invDigit(), this.mpl = 32767 & this.mp, this.mph = this.mp >> 15, this.um = (1 << t.DB - 15) - 1, this.mt2 = 2 * t.t; } function f(t) { var e = b(); return e.fromHexString(t.toString()), e; } e.nbv = f, s.ZERO = f(0), s.ONE = f(1), i = "Microsoft Internet Explorer" == navigator.appName ? (s.prototype.am = s.prototype.am2, 30) : "Netscape" != navigator.appName ? (s.prototype.am = s.prototype.am1, 26) : (s.prototype.am = s.prototype.am3, 28), s.prototype.DB = i, s.prototype.DM = (1 << i) - 1, s.prototype.DV = 1 << i; s.prototype.FV = Math.pow(2, 52), s.prototype.F1 = 52 - i, s.prototype.F2 = 2 * i - 52; }, 379: function _(t, e, r) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }); var i = (y.hash = function (t) { t = y.utf8Encode(t "https://slate.com/"https://slate.com/"https://slate.com/"); for (var e = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], r = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], i = (t += String.fromCharCode(128)).length / 4 + 2, s = Math.ceil(i / 16), o = new Array(s), _ = 0; _ < s; _++) { o[_] = new Array(16); for (var a = 0; a < 16; a++) { o[_][a] = t.charCodeAt(64 * _ + 4 * a) << 24 | t.charCodeAt(64 * _ + 4 * a + 1) << 16 | t.charCodeAt(64 * _ + 4 * a + 2) << 8 | t.charCodeAt(64 * _ + 4 * a + 3) << 0; } } var n = 8 * (t.length - 1) / Math.pow(2, 32), p = 8 * (t.length - 1) >>> 0;
for (o[s - 1][14] = Math.floor(n), o[s - 1][15] = p, _ = 0; _ < s; _++) {
for (var c = new Array(64), d = 0; d < 16; d++) {
c[d] = o[_][d];
}
for (d = 16; d < 64; d++) {
c[d] = y.q1(c[d - 2]) + c[d - 7] + y.q0(c[d - 15]) + c[d - 16] >>> 0;
}
for (var u = r[0], h = r[1], l = r[2], f = r[3], E = r[4], v = r[5], m = r[6], T = r[7], d = 0; d < 64; d++) {
var b = T + y.z1(E) + y.Ch(E, v, m) + e[d] + c[d],
D = y.z0(u) + y.Maj(u, h, l);
T = m, m = v, v = E, E = f + b >>> 0, f = l, l = h, h = u, u = b + D >>> 0;
}
r[0] = r[0] + u >>> 0, r[1] = r[1] + h >>> 0, r[2] = r[2] + l >>> 0, r[3] = r[3] + f >>> 0, r[4] = r[4] + E >>> 0, r[5] = r[5] + v >>> 0, r[6] = r[6] + m >>> 0, r[7] = r[7] + T >>> 0;
}
for (var P = new Array(r.length), T = 0; T < r.length; T++) {
P[T] = ("00000000" + r[T].toString(16)).slice(-8);
}
return P.join("https://slate.com/");
}, y.utf8Encode = function (e) {
try {
return new TextEncoder().encode(e).reduce(function (t, e) {
return t + String.fromCharCode(e);
}, "https://slate.com/");
} catch (t) {
return unescape(encodeURIComponent(e));
}
}, y.ROTR = function (t, e) {
return e >>> t | e << 32 - t;
}, y.z0 = function (t) {
return y.ROTR(2, t) ^ y.ROTR(13, t) ^ y.ROTR(22, t);
}, y.z1 = function (t) {
return y.ROTR(6, t) ^ y.ROTR(11, t) ^ y.ROTR(25, t);
}, y.q0 = function (t) {
return y.ROTR(7, t) ^ y.ROTR(18, t) ^ t >>> 3;
}, y.q1 = function (t) {
return y.ROTR(17, t) ^ y.ROTR(19, t) ^ t >>> 10;
}, y.Ch = function (t, e, r) {
return t & e ^ ~t & r;
}, y.Maj = function (t, e, r) {
return t & e ^ t & r ^ e & r;
}, y);
function y() {}
e.Sha256 = i;
}
}, [375]);
pbjsChunk([218], {
501: function _(e, r, t) {
e.exports = t(502);
},
502: function _(e, r, t) {
"use strict";
Object.defineProperty(r, "__esModule", {
value: !0
}), t.d(r, "spec", function () {
return c;
});
var F = t(0),
j = t(2),
B = t(3),
i = t(10),
l = t.n(i),
n = t(503),
s = t.n(n),
a = t(1);
function J(e) {
return function (e) {
if (Array.isArray(e)) return o(e);
}(e) "https://slate.com/" function (e) {
if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(e) "https://slate.com/" function (e, r) {
if (!e) return;
if ("string" == typeof e) return o(e, r);
var t = Object.prototype.toString.call(e).slice(8, -1);
"Object" === t && e.constructor && (t = e.constructor.name);
if ("Map" === t "https://slate.com/"https://slate.com/"Set" === t) return Array.from(e);
if ("Arguments" === t "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return o(e, r);
}(e) "https://slate.com/" function () {
throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}();
}
function o(e, r) {
(null == r "https://slate.com/" r > e.length) && (r = e.length);
for (var t = 0, i = new Array(r); t < r; t++) { i[t] = e[t]; } return i; } function d(r, e) { var t, i = Object.keys(r); return Object.getOwnPropertySymbols && (t = Object.getOwnPropertySymbols(r), e && (t = t.filter(function (e) { return Object.getOwnPropertyDescriptor(r, e).enumerable; })), i.push.apply(i, t)), i; } function M(n) { for (var e = 1; e < arguments.length; e++) { var s = null != arguments[e] ? arguments[e] : {}; e % 2 ? d(Object(s), !0).forEach(function (e) { var r, t, i; r = n, i = s[t = e], t in r ? Object.defineProperty(r, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : r[t] = i; }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(n, Object.getOwnPropertyDescriptors(s)) : d(Object(s)).forEach(function (e) { Object.defineProperty(n, e, Object.getOwnPropertyDescriptor(s, e)); }); } return n; } function N(e) { return (N = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var p = [j.b, j.d], f = 100, g = 300, b = 3600, h = !0, v = { JPY: 1 }; function C(e) { var r = {}; return r.id = e.bidId, r.ext = {}, r.ext.siteID = e.params.siteId, !e.params.hasOwnProperty("id") "https://slate.com/"https://slate.com/"string" != typeof e.params.id && "number" != typeof e.params.id ? r.ext.sid = "https://slate.com/".concat(e.params.size[0], "x").concat(e.params.size[1]) : r.ext.sid = String(e.params.id), e.params.hasOwnProperty("bidFloor") && e.params.hasOwnProperty("bidFloorCur") && (r.bidfloor = e.params.bidFloor, r.bidfloorcur = e.params.bidFloorCur), r; } function m(e) { return Array.isArray(e) && 2 === e.length && s()(e[0]) && s()(e[1]); } function T(e, r) { if (m(e)) return e[0] === r[0] && e[1] === r[1]; for (var t = 0; t < e.length; t++) { if (e[t][0] === r[0] && e[t][1] === r[1]) return 1; } } function A(e, r, t, i) { var n = [], s = "https://htlb.casalemedia.com/cygnus", a = {}, o = e[0].userId; if (o && "object" === N(o) && o.idl_env && function (e, r, t, i, n, s) { if (t) return r[n] = 1, e.push({ source: i, uids: [{ id: t, ext: { rtiPartner: s } }] }); F.logWarn("Tried to add a user ID from Prebid, the ID received was null"); }(n, a, o.idl_env, "liveramp.com"https://slate.com/,"LiveRampIp"https://slate.com/,"idl"), window.headertag && "function" == typeof window.headertag.getIdentityInfo) { var d, p = window.headertag.getIdentityInfo(); if (p && "object" === N(p)) for (var m in p) { p.hasOwnProperty(m) && (a.hasOwnProperty(m) "https://slate.com/" !(d = p[m]).responsePending && d.data && "object" === N(d.data) && Object.keys(d.data).length && n.push(d.data)); } } var c, u = {}; u.id = e[0].bidderRequestId, u.site = {}, u.ext = {}, u.ext.source = "prebid", u.ext.ixdiag = {}, e[0].schain && (u.source = { ext: { schain: e[0].schain } }), 0 < n.length && (u.user = {}, u.user.eids = n), document.referrer && "https://slate.com/" !== document.referrer && (u.site.ref = document.referrer), r && (r.gdprConsent && ((c = r.gdprConsent).hasOwnProperty("gdprApplies") && (u.regs = { ext: { gdpr: c.gdprApplies ? 1 : 0 } }), c.hasOwnProperty("consentString") && (u.user = u.user "https://slate.com/" {}, u.user.ext = { consent: c.consentString "https://slate.com/"https://slate.com/"https://slate.com/" })), r.uspConsent && F.deepSetValue(u, "regs.ext.us_privacy", r.uspConsent), r.refererInfo && (u.site.page = r.refererInfo.referer)); var y = {}, l = r && r.bidderCode "https://slate.com/"https://slate.com/"ix", f = B.b.getConfig(l); if (f) { if ("object" === N(f.firstPartyData)) { var g = f.firstPartyData, b = "?"; for (var h in g) { g.hasOwnProperty(h) && (b += "https://slate.com/".concat(encodeURIComponent(h), "=").concat(encodeURIComponent(g[h]), "&")); } b = b.slice(0, -1), u.site.page += b; } "number" == typeof f.timeout && (y.t = f.timeout), "boolean" == typeof f.detectMissingSizes ? u.ext.ixdiag.dms = f.detectMissingSizes : u.ext.ixdiag.dms = !0; } y.s = e[0].params.siteId, y.v = i, y.ac = "j", y.sd = 1, 8.1 === i && (y.nf = 1); var v = [], O = { method: "GET", url: s, data: y }, x = new Blob(["https://slate.com/".concat(O.url).concat(F.parseQueryStringParameters(M(M({}, O.data), {}, { r: JSON.stringify(u) })))]).size, I = x, w = 0, P = 0, S = 0; u.ext.ixdiag.msd = 0, u.ext.ixdiag.msi = 0, u.imp = []; for (var z, j, C, T, A, E = 0, D = Object.keys(t), R = []; E < D.length && v.length < 4;) { t[D[E]].hasOwnProperty("missingCount") && (S = t[D[E]].missingCount), function (e, r) { var t = new Blob([encodeURIComponent(JSON.stringify(e))]).size; if (t < r) return; for (; r < t;) { e.hasOwnProperty("missingImps") && 0 < e.missingImps.length ? e.missingImps.pop() : e.hasOwnProperty("ixImps") && 0 < e.ixImps.length && e.ixImps.pop(), t = new Blob([encodeURIComponent(JSON.stringify(e))]).size; } }(t[D[E]], 8e3 - x), t[D[E]].hasOwnProperty("missingImps") && (P = t[D[E]].missingImps.length), (I += new Blob([encodeURIComponent(JSON.stringify(t[D[E]]))]).size) < 8e3 ? ((z = u.imp).push.apply(z, J(t[D[E]].ixImps)), u.ext.ixdiag.msd += S, u.ext.ixdiag.msi += P, t[D[E]].hasOwnProperty("missingImps") && R.push.apply(R, J(t[D[E]].missingImps)), E++) : (C = F.deepClone(y), (j = u.imp).push.apply(j, J(R)), u.ext.ixdiag.sn = w, C.sn = w, w++, C.r = JSON.stringify(u), v.push({ method: "GET", url: s, data: C }), R = [], I = x, u.imp = [], P = S = 0, u.ext.ixdiag.msd = 0, u.ext.ixdiag.msi = 0); } return x < I && I < 8e3 && v.length < 4 && (A = F.deepClone(y), (T = u.imp).push.apply(T, J(R)), 0 < v.length && (u.ext.ixdiag.sn = w, A.sn = w), A.r = JSON.stringify(u), v.push({ method: "GET", url: s, data: A })), v; } function E(e, r) { for (var t = 0; t < e.length; t++) { if (r[0] == e[t][0] && r[1] == e[t][1]) return e.splice(t, 1), 1; } } var c = { code: "ix", gvlid: 10, supportedMediaTypes: p, isBidRequestValid: function isBidRequestValid(e) { if (!m(e.params.size)) return F.logError("ix bidder params: bid size has invalid format."), !1; if (!T(e.sizes, e.params.size)) return F.logError("ix bidder params: bid size is not included in ad unit sizes."), !1; if (e.hasOwnProperty("mediaType") && !F.contains(p, e.mediaType)) return !1; if (e.hasOwnProperty("mediaTypes") && !F.deepAccess(e, "mediaTypes.banner.sizes") && !F.deepAccess(e, "mediaTypes.video.playerSize")) return !1; if ("string" != typeof e.params.siteId && "number" != typeof e.params.siteId) return F.logError("ix bidder params: siteId must be string or number value."), !1; var r, t, i = e.params.hasOwnProperty("bidFloor"), n = e.params.hasOwnProperty("bidFloorCur"); return !!(!i && !n "https://slate.com/" i && n && (r = e.params.bidFloor, t = e.params.bidFloorCur, Boolean("number" == typeof r && "string" == typeof t && t.match(/^[A-Z]{3}$/)))) "https://slate.com/" (F.logError("ix bidder params: bidFloor / bidFloorCur parameter has invalid format."), !1); }, buildRequests: function buildRequests(e, r) { for (var t, i, n, s, a, o, d, p, m, c, u, y, l, f = [], g = {}, b = {}, h = null, v = {}, O = M(M({}, { detectMissingSizes: !0 }), B.b.getConfig("ix")), x = 0; x < e.length; x++) { (h = e[x]).mediaType !== j.d && !F.deepAccess(h, "mediaTypes.video") "https://slate.com/" (h.mediaType === j.d "https://slate.com/" T(h.mediaTypes.video.playerSize, h.params.size) ? (b.hasOwnProperty(h.transactionId) "https://slate.com/" (b[h.transactionId] = {}), b[h.transactionId].hasOwnProperty("ixImps") "https://slate.com/" (b[h.transactionId].ixImps = []), b[h.transactionId].ixImps.push(function (e) { var r = C(e); r.video = F.deepClone(e.params.video), r.video.w = e.params.size[0], r.video.h = e.params.size[1]; var t = F.deepAccess(e, "mediaTypes.video.context"); return t && ("instream" === t ? r.video.placement = 1 : "outstream" === t ? r.video.placement = 4 : F.logWarn("ix bidder params: video context "https://slate.com/".concat(t, "https://slate.com/" is not supported"))), r; }(h))) : F.logError("Bid size is not included in video playerSize")), h.mediaType !== j.b && !F.deepAccess(h, "mediaTypes.banner") && (h.mediaType "https://slate.com/" h.mediaTypes) "https://slate.com/" (c = void 0, (c = C(m = h)).banner = {}, c.banner.w = m.params.size[0], c.banner.h = m.params.size[1], c.banner.topframe = F.inIframe() ? 0 : 1, t = c, g.hasOwnProperty(h.transactionId) "https://slate.com/" (g[h.transactionId] = {}), g[h.transactionId].hasOwnProperty("ixImps") "https://slate.com/" (g[h.transactionId].ixImps = []), g[h.transactionId].ixImps.push(t), O.hasOwnProperty("detectMissingSizes") && O.detectMissingSizes && (n = v, s = t, p = d = o = a = void 0, p = (i = h).transactionId, n.hasOwnProperty(p) ? (a = [], n[p].hasOwnProperty("missingSizes") && (a = n[p].missingSizes), E(a, i.params.size), n[p].missingSizes = a) : F.deepAccess(i, "mediaTypes.banner.sizes") && (E(o = F.deepClone(i.mediaTypes.banner.sizes), i.params.size), d = { missingSizes: o, impression: s }, n[p] = d))); } for (var I in v) { if (v.hasOwnProperty(I)) { var w = v[I].missingSizes; g.hasOwnProperty(I) "https://slate.com/" (g[I] = {}), g[I].hasOwnProperty("missingImps") "https://slate.com/" (g[I].missingImps = [], g[I].missingCount = 0); for (var P = v[I].impression, S = 0; S < w.length; S++) { var z = (u = P, y = w[S], l = void 0, (l = F.deepClone(u)).ext.sid = "https://slate.com/".concat(y[0], "x").concat(y[1]), l.banner.w = y[0], l.banner.h = y[1], l); g[I].missingImps.push(z), g[I].missingCount++; } } } return 0 < Object.keys(g).length && f.push.apply(f, J(A(e, r, g, 7.2))), 0 < Object.keys(b).length && f.push.apply(f, J(A(e, r, b, 8.1))), f; }, interpretResponse: function interpretResponse(e, r) { var t = []; if (!e.hasOwnProperty("body") "https://slate.com/" !e.body.hasOwnProperty("seatbid")) return t; for (var i, n, s, a, o = e.body, d = o.seatbid, p = 0; p < d.length; p++) { if (d[p].hasOwnProperty("bid")) for (var m = d[p].bid, c = JSON.parse(r.data.r), u = 0; u < m.length; u++) { var y = function (r, e) { if (r) return l()(e, function (e) { return e.id === r; }); }(m[u].impid, c.imp); i = m[u], n = o.cur, s = y, a = void 0, a = {}, v.hasOwnProperty(n) ? a.cpm = i.price / v[n] : a.cpm = i.price / f, a.requestId = i.impid, a.dealId = F.deepAccess(i, "ext.dealid"), a.netRevenue = h, a.currency = n, a.creativeId = i.hasOwnProperty("crid") ? i.crid : "-", F.deepAccess(i, "ext.vasturl") ? (a.vastUrl = i.ext.vasturl, a.width = s.video.w, a.height = s.video.h, a.mediaType = j.d, a.ttl = b) : (a.ad = i.adm, a.width = i.w, a.height = i.h, a.mediaType = j.b, a.ttl = g), a.meta = {}, a.meta.networkId = F.deepAccess(i, "ext.dspid"), a.meta.brandId = F.deepAccess(i, "ext.advbrandid"), a.meta.brandName = F.deepAccess(i, "ext.advbrand"), i.adomain && 0 < i.adomain.length && (a.meta.advertiserDomains = i.adomain), t.push(a); } } return t; }, transformBidParams: function transformBidParams(e) { return F.convertTypes({ siteID: "number" }, e); }, getUserSyncs: function getUserSyncs(e) { return e.iframeEnabled ? [{ type: "iframe", url: "https://js-sec.indexww.com/um/ixmatch.html" }] : []; } }; Object(a.registerBidder)(c); } }, [501]); pbjsChunk([213], { 517: function _(e, t, r) { e.exports = r(518); }, 518: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return l; }); var s = r(0), d = r(3), n = r(1), a = r(7); function g() { return (g = Object.assign "https://slate.com/" function (e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t]; for (var n in r) { Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]); } } return e; }).apply(this, arguments); } var o, i, c, u = Object(a.b)(), l = { code: "kargo", isBidRequestValid: function isBidRequestValid(e) { return !(!e "https://slate.com/" !e.params) && !!e.params.placementId; }, buildRequests: function buildRequests(e, t) { var r, n = d.b.getConfig("currency"), a = n && n.adServerCurrency "https://slate.com/"https://slate.com/"USD", o = {}, i = {}; s._each(e, function (e) { o[e.bidId] = e.params.placementId, i[e.bidId] = e.sizes; }), 0 < e.length && e[0].userId && e[0].userId.tdid && (r = e[0].userId.tdid); var c = g({}, { sessionId: l._getSessionId(), requestCount: l._getRequestCount(), timeout: t.timeout, currency: a, cpmGranularity: 1, timestamp: new Date().getTime(), cpmRange: { floor: 0, ceil: 20 }, bidIDs: o, bidSizes: i, prebidRawBidRequests: e }, l._getAllMetadata(r, t.uspConsent)), u = encodeURIComponent(JSON.stringify(c)); return g({}, t, { method: "GET", url: "https://slate.com/".concat("https://krk.kargo.com"https://slate.com/,"/api/v2/bid"), data: "json=".concat(u), currency: a }); }, interpretResponse: function interpretResponse(e, t) { var r = e.body, n = []; for (var a in r) { var o = r[a], i = void 0; o.metadata && o.metadata.landingPageDomain && (i = { clickUrl: o.metadata.landingPageDomain, advertiserDomains: [o.metadata.landingPageDomain] }), n.push({ requestId: a, cpm: Number(o.cpm), width: o.width, height: o.height, ad: o.adm, ttl: 300, creativeId: o.id, dealId: o.targetingCustom, netRevenue: !0, currency: t.currency, meta: i }); } return n; }, getUserSyncs: function getUserSyncs(e) { var t = [], r = l._generateRandomUuid(), n = l._getClientId(); if (e.iframeEnabled && r && n) for (var a = 0; a < 5; a++) { t.push({ type: "iframe", url: "https://crb.kargo.com/api/v1/initsyncrnd/{UUID}?seed={SEED}&idx={INDEX}".replace("{UUID}", n).replace("{SEED}", r).replace("{INDEX}", a) }); } return t; }, _readCookie: function _readCookie(e) { if (!u.cookiesAreEnabled()) return null; for (var t = "https://slate.com/".concat(e, "="), r = document.cookie.split(";"), n = 0; n < r.length; n++) { for (var a = r[n]; "https://slate.com/" === a.charAt(0);) { a = a.substring(1, a.length); } if (0 === a.indexOf(t)) return a.substring(t.length, a.length); } return null; }, _getCrbFromCookie: function _getCrbFromCookie() { try { var e = JSON.parse(decodeURIComponent(l._readCookie("krg_crb"))); if (e && e.v) { var t = JSON.parse(atob(e.v)); if (t) return t; } return {}; } catch (e) { return {}; } }, _getCrbFromLocalStorage: function _getCrbFromLocalStorage() { try { return JSON.parse(atob(l._getLocalStorageSafely("krg_crb"))); } catch (e) { return {}; } }, _getCrb: function _getCrb() { var e = l._getCrbFromLocalStorage(); return Object.keys(e).length ? e : l._getCrbFromCookie(); }, _getKruxUserId: function _getKruxUserId() { return l._getLocalStorageSafely("kxkar_user"); }, _getKruxSegments: function _getKruxSegments() { return l._getLocalStorageSafely("kxkar_segs"); }, _getKrux: function _getKrux() { var e = l._getKruxSegments(), t = []; return e && (t = e.split(",")), { userID: l._getKruxUserId(), segments: t }; }, _getLocalStorageSafely: function _getLocalStorageSafely(e) { try { return u.getDataFromLocalStorage(e); } catch (e) { return null; } }, _getUserIds: function _getUserIds(e, t) { var r = l._getCrb(), n = { kargoID: r.userId, clientID: r.clientId, crbIDs: r.syncIds "https://slate.com/" {}, optOut: r.optOut, usp: t }; return e && (n.tdID = e), n; }, _getClientId: function _getClientId() { return l._getCrb().clientId; }, _getAllMetadata: function _getAllMetadata(e, t) { return { userIDs: l._getUserIds(e, t), krux: l._getKrux(), pageURL: window.location.href, rawCRB: l._readCookie("krg_crb"), rawCRBLocalStorage: l._getLocalStorageSafely("krg_crb") }; }, _getSessionId: function _getSessionId() { return o = o "https://slate.com/" l._generateRandomUuid(); }, _getRequestCount: function _getRequestCount() { return i === window.location.pathname ? ++c : (i = window.location.pathname, c = 0); }, _generateRandomUuid: function _generateRandomUuid() { try { var e = new Uint8Array(16); crypto.getRandomValues(e), e[6] = -177 & e[6] | 64, e[8] = -65 & e[8] | 128; var t = Array.prototype.map.call(new Uint8Array(e), function (e) { return ("00" + e.toString(16)).slice(-2); }).join("https://slate.com/"); return t.slice(0, 8) + "-" + t.slice(8, 12) + "-" + t.slice(12, 16) + "-" + t.slice(16, 20) + "-" + t.slice(20); } catch (e) { return "https://slate.com/"; } } }; Object(n.registerBidder)(l); } }, [517]); pbjsChunk([128], { 727: function _(e, r, t) { e.exports = t(728); }, 728: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }), t.d(r, "spec", function () { return A; }), r.hasVideoMediaType = s, t.d(r, "resetRubiConf", function () { return c; }), r.masSizeOrdering = d, r.determineRubiconVideoSizeId = f, r.getPriceGranularity = C, r.hasValidVideoParams = I, r.hasValidSupplyChainParams = k, r.encodeParam = w, r.resetUserSync = function () { z = !1; }; var g = t(0), i = t(1), v = t(3), p = t(2), n = t(10), b = t.n(n); function y(e, r) { return function (e) { if (Array.isArray(e)) return e; }(e) "https://slate.com/" function (e, r) { if ("undefined" == typeof Symbol "https://slate.com/" !(Symbol.iterator in Object(e))) return; var t = [], i = !0, n = !1, o = void 0; try { for (var a, s = e[Symbol.iterator](); !(i = (a = s.next()).done) && (t.push(a.value), !r "https://slate.com/" t.length !== r); i = !0) { ; } } catch (e) { n = !0, o = e; } finally { try { i "https://slate.com/" null == s.return "https://slate.com/" s.return(); } finally { if (n) throw o; } } return t; }(e, r) "https://slate.com/" function (e, r) { if (!e) return; if ("string" == typeof e) return o(e, r); var t = Object.prototype.toString.call(e).slice(8, -1); "Object" === t && e.constructor && (t = e.constructor.name); if ("Map" === t "https://slate.com/"https://slate.com/"Set" === t) return Array.from(e); if ("Arguments" === t "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return o(e, r); }(e, r) "https://slate.com/" function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function o(e, r) { (null == r "https://slate.com/" r > e.length) && (r = e.length);
for (var t = 0, i = new Array(r); t < r; t++) { i[t] = e[t]; } return i; } function x() { return (x = Object.assign "https://slate.com/" function (e) { for (var r = 1; r < arguments.length; r++) { var t = arguments[r]; for (var i in t) { Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); } } return e; }).apply(this, arguments); } function l(e, r, t) { return r in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function h(e) { return (h = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var _ = {}; v.b.getConfig("rubicon", function (e) { g.mergeDeep(_, e.rubicon); }); var u = { 1: "468x60", 2: "728x90", 5: "120x90", 7: "125x125", 8: "120x600", 9: "160x600", 10: "300x600", 13: "200x200", 14: "250x250", 15: "300x250", 16: "336x280", 17: "240x400", 19: "300x100", 31: "980x120", 32: "250x360", 33: "180x500", 35: "980x150", 37: "468x400", 38: "930x180", 39: "750x100", 40: "750x200", 41: "750x300", 42: "2x4", 43: "320x50", 44: "300x50", 48: "300x300", 53: "1024x768", 54: "300x1050", 55: "970x90", 57: "970x250", 58: "1000x90", 59: "320x80", 60: "320x150", 61: "1000x1000", 64: "580x500", 65: "640x480", 66: "930x600", 67: "320x480", 68: "1800x1000", 72: "320x320", 73: "320x160", 78: "980x240", 79: "980x300", 80: "980x400", 83: "480x300", 85: "300x120", 90: "548x150", 94: "970x310", 95: "970x100", 96: "970x210", 101: "480x320", 102: "768x1024", 103: "480x280", 105: "250x800", 108: "320x240", 113: "1000x300", 117: "320x100", 125: "800x250", 126: "200x600", 144: "980x600", 145: "980x150", 152: "1000x250", 156: "640x320", 159: "320x250", 179: "250x600", 195: "600x300", 198: "640x360", 199: "640x200", 213: "1030x590", 214: "980x360", 221: "1x1", 229: "320x180", 230: "2000x1400", 232: "580x400", 234: "6x6", 251: "2x2", 256: "480x820", 257: "400x600", 258: "500x200", 259: "998x200", 264: "970x1000", 265: "1920x1080", 274: "1800x200", 278: "320x500", 282: "320x400", 288: "640x380", 548: "500x1000" }; g._each(u, function (e, r) { return u[e] = r; }); var A = { code: "rubicon", gvlid: 52, supportedMediaTypes: [p.b, p.d], isBidRequestValid: function isBidRequestValid(e) { if ("object" !== h(e.params)) return !1; for (var r = 0, t = ["accountId"https://slate.com/,"siteId"https://slate.com/,"zoneId"]; r < t.length; r++) { if (e.params[t[r]] = parseInt(e.params[t[r]]), isNaN(e.params[t[r]])) return g.logError("Rubicon: wrong format of accountId or siteId or zoneId."), !1; } var i = m(e, !0); return !!i && ("video" !== i "https://slate.com/" I(e)); }, buildRequests: function buildRequests(e, u) { var n, r = e.filter(function (e) { return "video" === m(e); }).map(function (t) { t.startTime = new Date().getTime(); var e, r, i, n = { id: t.transactionId, test: v.b.getConfig("debug") ? 1 : 0, cur: ["USD"], source: { tid: t.transactionId }, tmax: u.timeout, imp: [{ exp: v.b.getConfig("s2sConfig.defaultTtl"), id: t.adUnitCode, secure: 1, ext: l({}, t.bidder, t.params), video: g.deepAccess(t, "mediaTypes.video") "https://slate.com/" {} }], ext: { prebid: { cache: { vastxml: { returnCreative: !0 === _.returnVast } }, targeting: { includewinners: !0, includebidderkeys: !1, pricegranularity: C(v.b) }, bidders: { rubicon: { integration: _.int_type "https://slate.com/"https://slate.com/"pbjs" } } } } }; if ("rubicon" !== t.bidder && (n.ext.prebid.aliases = l({}, t.bidder, "rubicon")), "function" != typeof t.getFloor "https://slate.com/" _.disableFloors) e = parseFloat(g.deepAccess(t, "params.floor"));else { try { r = t.getFloor({ currency: "USD", mediaType: "video", size: j(t, "video") }); } catch (e) { g.logError("Rubicon: getFloor threw an error: ", e); } e = "object" !== h(r) "https://slate.com/"https://slate.com/"USD" !== r.currency "https://slate.com/" isNaN(parseInt(r.floor)) ? void 0 : parseFloat(r.floor); } isNaN(e) "https://slate.com/" (n.imp[0].bidfloor = e), n.imp[0].ext[t.bidder].video.size_id = f(t), function (r, t, e) { if (!r) return; "object" === h(v.b.getConfig("app")) ? r.app = v.b.getConfig("app") : r.site = { page: S(t, e) }; "object" === h(v.b.getConfig("device")) && (r.device = v.b.getConfig("device")); t.params.video.language && ["site"https://slate.com/,"device"].forEach(function (e) { r[e] && (r[e].content = x({ language: t.params.video.language }, r[e].content)); }); }(n, t, u), function (e, r) { "object" === h(e.imp[0].video) && void 0 === e.imp[0].video.skip && (e.imp[0].video.skip = r.params.video.skip); "object" === h(e.imp[0].video) && void 0 === e.imp[0].video.skipafter && (e.imp[0].video.skipafter = r.params.video.skipdelay); "object" === h(e.imp[0].video) && void 0 === e.imp[0].video.pos && ("atf" === r.params.position ? e.imp[0].video.pos = 1 : "btf" === r.params.position && (e.imp[0].video.pos = 3)); var t = j(r, "video"); e.imp[0].video.w = t[0], e.imp[0].video.h = t[1]; }(n, t), u.gdprConsent && ("boolean" == typeof u.gdprConsent.gdprApplies && (i = u.gdprConsent.gdprApplies ? 1 : 0), g.deepSetValue(n, "regs.ext.gdpr", i), g.deepSetValue(n, "user.ext.consent", u.gdprConsent.consentString)), u.uspConsent && g.deepSetValue(n, "regs.ext.us_privacy", u.uspConsent); var o = g.deepAccess(u, "bids.0.userIdAsEids"); o && o.length && g.deepSetValue(n, "user.ext.eids", o); var a = v.b.getConfig("user.id"); a && g.deepSetValue(n, "user.id", a), !0 === v.b.getConfig("coppa") && g.deepSetValue(n, "regs.coppa", 1), t.schain && k(t.schain) && g.deepSetValue(n, "source.ext.schain", t.schain); var s, c = x({}, t.params.inventory, v.b.getConfig("fpd.context")), d = x({}, t.params.visitor, v.b.getConfig("fpd.user")); g.isEmpty(c) && g.isEmpty(d) "https://slate.com/" (s = { bidders: [u.bidderCode], config: { fpd: {} } }, g.isEmpty(c) "https://slate.com/" (s.config.fpd.site = c), g.isEmpty(d) "https://slate.com/" (s.config.fpd.user = d), g.deepSetValue(n, "ext.prebid.bidderconfig.0", s)); var p = g.deepAccess(t, "fpd.context.pbAdSlot"); return "string" == typeof p && p && g.deepSetValue(n.imp[0].ext, "context.data.pbadslot", p), ["name"https://slate.com/,"adSlot"].forEach(function (e) { var r = g.deepAccess(t, "fpd.context.adserver.".concat(e)); "string" == typeof r && r && g.deepSetValue(n.imp[0].ext, "context.data.adserver.".concat(e.toLowerCase()), r); }), t.storedAuctionResponse && g.deepSetValue(n.imp[0], "ext.prebid.storedauctionresponse.id", t.storedAuctionResponse.toString()), g.deepSetValue(n.imp[0], "ext.prebid.auctiontimestamp", u.auctionStart), { method: "POST", url: "https://".concat(_.videoHost "https://slate.com/"https://slate.com/"prebid-server"https://slate.com/,".rubiconproject.com/openrtb2/auction"), data: n, bidRequest: t }; }); return !0 !== _.singleRequest ? r.concat(e.filter(function (e) { return "banner" === m(e); }).map(function (e) { var i = A.createSlotParams(e, u); return { method: "GET", url: "https://".concat(_.bannerHost "https://slate.com/"https://slate.com/"fastlane"https://slate.com/,".rubiconproject.com/a/api/fastlane.json"), data: A.getOrderedParams(i).reduce(function (e, r) { var t = i[r]; return g.isStr(t) && "https://slate.com/" !== t "https://slate.com/" g.isNumber(t) ? "https://slate.com/".concat(e).concat(w(r, t), "&") : e; }, "https://slate.com/") + "slots=1&rand=".concat(Math.random()), bidRequest: e }; })) : (n = e.filter(function (e) { return "banner" === m(e); }).reduce(function (e, r) { return (e[r.params.siteId] = e[r.params.siteId] "https://slate.com/" []).push(r), e; }, {}), r.concat(Object.keys(n).reduce(function (r, e) { var t, i; return t = n[e], i = 10, t.map(function (e, r) { return r % i == 0 ? t.slice(r, r + i) : null; }).filter(function (e) { return e; }).forEach(function (e) { var i = A.combineSlotUrlParams(e.map(function (e) { return A.createSlotParams(e, u); })); r.push({ method: "GET", url: "https://".concat(_.bannerHost "https://slate.com/"https://slate.com/"fastlane"https://slate.com/,".rubiconproject.com/a/api/fastlane.json"), data: A.getOrderedParams(i).reduce(function (e, r) { var t = i[r]; return g.isStr(t) && "https://slate.com/" !== t "https://slate.com/" g.isNumber(t) ? "https://slate.com/".concat(e).concat(w(r, t), "&") : e; }, "https://slate.com/") + "slots=".concat(e.length, "&rand=").concat(Math.random()), bidRequest: e }); }), r; }, []))); }, getOrderedParams: function getOrderedParams(e) { var r = /^tg_v/, t = /^tg_i/, i = /^eid_|^tpid_/, n = ["account_id"https://slate.com/,"site_id"https://slate.com/,"zone_id"https://slate.com/,"size_id"https://slate.com/,"alt_size_ids"https://slate.com/,"p_pos"https://slate.com/,"gdpr"https://slate.com/,"gdpr_consent"https://slate.com/,"us_privacy"https://slate.com/,"rp_schain"].concat(Object.keys(e).filter(function (e) { return i.test(e); })).concat(["x_liverampidl"https://slate.com/,"ppuid"https://slate.com/,"rf"https://slate.com/,"p_geo.latitude"https://slate.com/,"p_geo.longitude"https://slate.com/,"kw"]).concat(Object.keys(e).filter(function (e) { return r.test(e); })).concat(Object.keys(e).filter(function (e) { return t.test(e); })).concat(["tk_flint"https://slate.com/,"x_source.tid"https://slate.com/,"x_source.pchain"https://slate.com/,"p_screen_res"https://slate.com/,"rp_floor"https://slate.com/,"rp_secure"https://slate.com/,"tk_user_key"]); return n.concat(Object.keys(e).filter(function (e) { return -1 === n.indexOf(e); })); }, combineSlotUrlParams: function combineSlotUrlParams(n) { if (1 === n.length) return n[0]; var i = n.reduce(function (r, t, i) { return Object.keys(t).forEach(function (e) { r.hasOwnProperty(e) "https://slate.com/" (r[e] = new Array(n.length)), r[e].splice(i, 1, t[e]); }), r; }, {}), o = new RegExp("^([^;]*)(;\1)+$"); return Object.keys(i).forEach(function (e) { var r = i[e].join(";"), t = r.match(o); i[e] = t ? t[1] : r; }), i; }, createSlotParams: function createSlotParams(e, r) { e.startTime = new Date().getTime(); var t, i = e.params, n = j(e, "banner"), o = y(i.latLong "https://slate.com/" [], 2), a = o[0], s = o[1], c = { account_id: i.accountId, site_id: i.siteId, zone_id: i.zoneId, size_id: n[0], alt_size_ids: n.slice(1).join(",") "https://slate.com/" void 0, rp_floor: .01 < (i.floor = parseFloat(i.floor)) ? i.floor : .01, rp_secure: "1", tk_flint: "https://slate.com/".concat(_.int_type "https://slate.com/"https://slate.com/"pbjs_lite"https://slate.com/,"_v4.17.0"), "x_source.tid": e.transactionId, "x_source.pchain": i.pchain, p_screen_res: [window.screen.width, window.screen.height].join("x"), tk_user_key: i.userId, "p_geo.latitude": isNaN(parseFloat(a)) ? void 0 : parseFloat(a).toFixed(4), "p_geo.longitude": isNaN(parseFloat(s)) ? void 0 : parseFloat(s).toFixed(4), "tg_fl.eid": e.code, rf: S(e, r) }; if ("function" == typeof e.getFloor && !_.disableFloors) { try { t = e.getFloor({ currency: "USD", mediaType: "banner", size: "*" }); } catch (e) { g.logError("Rubicon: getFloor threw an error: ", e); } c.rp_hard_floor = "object" !== h(t) "https://slate.com/"https://slate.com/"USD" !== t.currency "https://slate.com/" isNaN(parseInt(t.floor)) ? void 0 : t.floor; } c.p_pos = "atf" === i.position "https://slate.com/"https://slate.com/"btf" === i.position ? i.position : "https://slate.com/"; var d = v.b.getConfig("user.id"); d && (c.ppuid = d), e.userIdAsEids && e.userIdAsEids.forEach(function (r) { try { var e; "adserver.org" === r.source ? (c.tpid_tdid = r.uids[0].id, c["eid_adserver.org"] = r.uids[0].id) : "liveintent.com" === r.source ? (c["tpid_liveintent.com"] = r.uids[0].id, c["eid_liveintent.com"] = r.uids[0].id, r.ext && Array.isArray(r.ext.segments) && r.ext.segments.length && (c["tg_v.LIseg"] = r.ext.segments.join(","))) : "liveramp.com" === r.source ? c.x_liverampidl = r.uids[0].id : "sharedid.org" === r.source ? c["eid_sharedid.org"] = "https://slate.com/".concat(r.uids[0].id, "^").concat(r.uids[0].atype, "^").concat(r.uids[0].ext && r.uids[0].ext.third "https://slate.com/"https://slate.com/"https://slate.com/") : "id5-sync.com" === r.source ? c["eid_id5-sync.com"] = "https://slate.com/".concat(r.uids[0].id, "^").concat(r.uids[0].atype, "^").concat(r.ext && r.ext.linkType "https://slate.com/"https://slate.com/"https://slate.com/") : c["eid_".concat(r.source)] = "https://slate.com/".concat(r.uids[0].id, "^").concat(r.uids[0].atype "https://slate.com/"https://slate.com/"https://slate.com/"), c.ppuid "https://slate.com/" (e = b()(r.uids, function (e) { return e.ext && "ppuid" === e.ext.stype; })) && e.id && (c.ppuid = e.id); } catch (e) { g.logWarn("Rubicon: error reading eid:", r, e); } }), r.gdprConsent && ("boolean" == typeof r.gdprConsent.gdprApplies && (c.gdpr = Number(r.gdprConsent.gdprApplies)), c.gdpr_consent = r.gdprConsent.consentString), r.uspConsent && (c.us_privacy = encodeURIComponent(r.uspConsent)); var p = x({}, i.visitor, v.b.getConfig("fpd.user")); Object.keys(p).forEach(function (e) { null != p[e] && "keywords" !== e && (c["tg_v.".concat(e)] = "object" !== h(p[e]) "https://slate.com/" Array.isArray(p[e]) ? p[e].toString() : JSON.stringify(p[e])); }); var u = x({}, i.inventory, v.b.getConfig("fpd.context")); Object.keys(u).forEach(function (e) { null != u[e] && "keywords" !== e && (c["tg_i.".concat(e)] = "object" !== h(u[e]) "https://slate.com/" Array.isArray(u[e]) ? u[e].toString() : JSON.stringify(u[e])); }); var l = (i.keywords "https://slate.com/" []).concat(g.deepAccess(v.b.getConfig("fpd.user"), "keywords") "https://slate.com/" [], g.deepAccess(v.b.getConfig("fpd.context"), "keywords") "https://slate.com/" []); c.kw = Array.isArray(l) && l.length ? l.join(",") : "https://slate.com/"; var m = g.deepAccess(e, "fpd.context.pbAdSlot"); "string" == typeof m && m && (c["tg_i.pbadslot"] = m.replace(/^/+/, "https://slate.com/")); var f = g.deepAccess(e, "fpd.context.adServer.adSlot"); return "string" == typeof f && f && (c["tg_i.dfp_ad_unit_code"] = f.replace(/^/+/, "https://slate.com/")), !0 === v.b.getConfig("coppa") && (c.coppa = 1), e.schain && k(e.schain) && (c.rp_schain = A.serializeSupplyChain(e.schain)), c; }, serializeSupplyChain: function serializeSupplyChain(e) { if (!k(e)) return "https://slate.com/"; var r = e.ver, t = e.complete, i = e.nodes; return "https://slate.com/".concat(r, ",").concat(t, "!").concat(A.serializeSupplyChainNodes(i)); }, serializeSupplyChainNodes: function serializeSupplyChainNodes(e) { var t = ["asi"https://slate.com/,"sid"https://slate.com/,"hp"https://slate.com/,"rid"https://slate.com/,"name"https://slate.com/,"domain"]; return e.map(function (r) { return t.map(function (e) { return encodeURIComponent(r[e] "https://slate.com/"https://slate.com/"https://slate.com/"); }).join(","); }).join("!"); }, interpretResponse: function interpretResponse(c, e) { var d = e.bidRequest; if (!(c = c.body) "https://slate.com/"https://slate.com/"object" !== h(c)) return []; if (c.seatbid) { var r = g.deepAccess(c, "ext.errors.rubicon"); Array.isArray(r) && 0 < r.length && g.logWarn("Rubicon: Error in video response"); var o = []; return c.seatbid.forEach(function (n) { (n.bid "https://slate.com/" []).forEach(function (e) { var r = { requestId: d.bidId, currency: c.cur "https://slate.com/"https://slate.com/"USD", creativeId: e.crid, cpm: e.price "https://slate.com/" 0, bidderCode: n.seat, ttl: 300, netRevenue: !1 !== _.netRevenue, width: e.w "https://slate.com/" g.deepAccess(d, "mediaTypes.video.w") "https://slate.com/" g.deepAccess(d, "params.video.playerWidth"), height: e.h "https://slate.com/" g.deepAccess(d, "mediaTypes.video.h") "https://slate.com/" g.deepAccess(d, "params.video.playerHeight") }; e.id && (r.seatBidId = e.id), e.dealid && (r.dealId = e.dealid), e.adomain && g.deepSetValue(r, "meta.advertiserDomains", Array.isArray(e.adomain) ? e.adomain : [e.adomain]), g.deepAccess(e, "ext.bidder.rp.advid") && g.deepSetValue(r, "meta.advertiserId", e.ext.bidder.rp.advid); var t, i = g.deepAccess(c, "ext.responsetimemillis.rubicon"); d && i && (d.serverResponseTimeMs = i), g.deepAccess(e, "ext.prebid.type") === p.d ? (r.mediaType = p.d, g.deepSetValue(r, "meta.mediaType", p.d), (t = g.deepAccess(e, "ext.prebid.targeting")) && "object" === h(t) && (r.adserverTargeting = t), e.ext.prebid.cache && "object" === h(e.ext.prebid.cache.vastXml) && e.ext.prebid.cache.vastXml.cacheId && e.ext.prebid.cache.vastXml.url ? (r.videoCacheKey = e.ext.prebid.cache.vastXml.cacheId, r.vastUrl = e.ext.prebid.cache.vastXml.url) : t && t.hb_uuid && t.hb_cache_host && t.hb_cache_path && (r.videoCacheKey = t.hb_uuid, r.vastUrl = "https://".concat(t.hb_cache_host).concat(t.hb_cache_path, "?uuid=").concat(t.hb_uuid)), e.adm && (r.vastXml = e.adm), e.nurl && (r.vastUrl = e.nurl), !r.vastUrl && e.nurl && (r.vastUrl = e.nurl)) : g.logWarn("Rubicon: video response received non-video media type"), o.push(r); }); }), o; } var t = c.ads; return "object" !== h(d) "https://slate.com/" Array.isArray(d) "https://slate.com/"https://slate.com/"video" !== m(d) "https://slate.com/"https://slate.com/"object" !== h(t) "https://slate.com/" (t = t[d.adUnitCode]), !Array.isArray(t) "https://slate.com/" t.length < 1 ? [] : t.reduce(function (e, r, t) { if ("ok" !== r.status) return e; var i, n, o, a, s = Array.isArray(d) ? d[t] : d; return s && "object" === h(s) ? (i = { requestId: s.bidId, currency: "USD", creativeId: r.creative_id "https://slate.com/"https://slate.com/"https://slate.com/".concat(r.network "https://slate.com/"https://slate.com/"https://slate.com/"https://slate.com/,"-").concat(r.advertiser "https://slate.com/"https://slate.com/"https://slate.com/"), cpm: r.cpm "https://slate.com/" 0, dealId: r.deal, ttl: 300, netRevenue: !1 !== _.netRevenue, rubicon: { advertiserId: r.advertiser, networkId: r.network }, meta: { advertiserId: r.advertiser, networkId: r.network, mediaType: p.b } }, r.creative_type && (i.mediaType = r.creative_type), r.adomain && (i.meta.advertiserDomains = Array.isArray(r.adomain) ? r.adomain : [r.adomain]), r.creative_type === p.d ? (i.width = s.params.video.playerWidth, i.height = s.params.video.playerHeight, i.vastUrl = r.creative_depot_url, i.impression_id = r.impression_id, i.videoCacheKey = r.impression_id) : (i.ad = (o = r.script, a = r.impression_id, "n
nnx3c!-- Rubicon Project Ad Tag --x3ennn")), n = y(u[r.size_id].split("x").map(function (e) {
return Number(e);
}), 2), i.width = n[0], i.height = n[1]), i.rubiconTargeting = (Array.isArray(r.targeting) ? r.targeting : []).reduce(function (e, r) {
return e[r.key] = r.values[0], e;
}, {
rpfl_elemid: s.adUnitCode
}), e.push(i)) : g.logError("Rubicon: bidRequest undefined at index position:".concat(t), d, c), e;
}, []).sort(function (e, r) {
return (r.cpm "https://slate.com/" 0) - (e.cpm "https://slate.com/" 0);
});
},
getUserSyncs: function getUserSyncs(e, r, t, i) {
if (!z && e.iframeEnabled) {
var n = "https://slate.com/";
return t && "string" == typeof t.consentString && ("boolean" == typeof t.gdprApplies ? n += "?gdpr=".concat(Number(t.gdprApplies), "&gdpr_consent=").concat(t.consentString) : n += "?gdpr_consent=".concat(t.consentString)), i && (n += "https://slate.com/".concat(n ? "&" : "?"https://slate.com/,"us_privacy=").concat(encodeURIComponent(i))), z = !0, {
type: "iframe",
url: "https://".concat(_.syncHost "https://slate.com/"https://slate.com/"eus"https://slate.com/,".rubiconproject.com/usync.html") + n
};
}
},
transformBidParams: function transformBidParams(e) {
return g.convertTypes({
accountId: "number",
siteId: "number",
zoneId: "number"
}, e);
}
};
function S(e, r) {
var t = v.b.getConfig("pageUrl"),
t = e.params.referrer ? e.params.referrer : t "https://slate.com/" r.refererInfo.referer;
return e.params.secure ? t.replace(/^http:/i, "https:") : t;
}
function j(e, r) {
var t = e.params;
if ("video" === r) {
var i = [];
return t.video && t.video.playerWidth && t.video.playerHeight ? i = [t.video.playerWidth, t.video.playerHeight] : Array.isArray(g.deepAccess(e, "mediaTypes.video.playerSize")) && 1 === e.mediaTypes.video.playerSize.length ? i = e.mediaTypes.video.playerSize[0] : Array.isArray(e.sizes) && 0 < e.sizes.length && Array.isArray(e.sizes[0]) && 1 < e.sizes[0].length && (i = e.sizes[0]), i;
}
var n = [];
return Array.isArray(t.sizes) ? n = t.sizes : void 0 !== g.deepAccess(e, "mediaTypes.banner.sizes") ? n = a(e.mediaTypes.banner.sizes) : Array.isArray(e.sizes) && 0 < e.sizes.length ? n = a(e.sizes) : g.logWarn("Rubicon: no sizes are setup or found"), d(n);
}
function a(e) {
return g.parseSizesInput(e).reduce(function (e, r) {
var t = parseInt(u[r], 10);
return t && e.push(t), e;
}, []);
}
function s(e) {
return "object" === h(g.deepAccess(e, "params.video")) && void 0 !== g.deepAccess(e, "mediaTypes.".concat(p.d));
}
function m(e, r) {
var t = 1 < arguments.length && void 0 !== r && r;
return s(e) ? -1 === ["outstream"https://slate.com/,"instream"].indexOf(g.deepAccess(e, "mediaTypes.".concat(p.d, ".context"))) ? void (t && g.logError("Rubicon: mediaTypes.video.context must be outstream or instream")) : j(e, "video").length < 2 ? void (t && g.logError("Rubicon: could not determine the playerSize of the video")) : (t && g.logMessage("Rubicon: making video request for adUnit", e.adUnitCode), "video") : 0 === j(e, "banner").length ? void (t && g.logError("Rubicon: could not determine the sizes for banner request")) : (t && g.logMessage("Rubicon: making banner request for adUnit", e.adUnitCode), "banner");
}
var c = function c() {
return _ = {};
};
function d(e) {
var n = [15, 2, 9];
return e.sort(function (e, r) {
var t = n.indexOf(e),
i = n.indexOf(r);
return -1 < t "https://slate.com/" -1 < i ? -1 === t ? 1 : -1 === i ? -1 : t - i : e - r;
});
}
function f(e) {
var r = parseInt(g.deepAccess(e, "params.video.size_id"));
return isNaN(r) ? "outstream" === g.deepAccess(e, "mediaTypes.".concat(p.d, ".context")) ? 203 : 201 : r;
}
function C(e) {
return {
ranges: {
low: [{
max: 5,
increment: .5
}],
medium: [{
max: 20,
increment: .1
}],
high: [{
max: 20,
increment: .01
}],
auto: [{
max: 5,
increment: .05
}, {
min: 5,
max: 10,
increment: .1
}, {
min: 10,
max: 20,
increment: .5
}],
dense: [{
max: 3,
increment: .01
}, {
min: 3,
max: 8,
increment: .05
}, {
min: 8,
max: 20,
increment: .5
}],
custom: e.getConfig("customPriceBucket") && e.getConfig("customPriceBucket").buckets
}[e.getConfig("priceGranularity")]
};
}
function I(r) {
var t = !0,
e = Object.prototype.toString.call([]),
i = Object.prototype.toString.call(0),
n = {
mimes: e,
protocols: e,
maxduration: i,
linearity: i,
api: e
};
return Object.keys(n).forEach(function (e) {
Object.prototype.toString.call(g.deepAccess(r, "mediaTypes.video." + e)) !== n[e] && (t = !1, g.logError("Rubicon: mediaTypes.video." + e + " is required and must be of type: " + n[e]));
}), t;
}
function k(e) {
var r = !1,
t = ["asi"https://slate.com/,"sid"https://slate.com/,"hp"];
return e.nodes && ((r = e.nodes.reduce(function (e, r) {
return e ? t.every(function (e) {
return r.hasOwnProperty(e);
}) : e;
}, !0)) "https://slate.com/" g.logError("Rubicon: required schain params missing")), r;
}
function w(e, r) {
return "rp_schain" === e ? "rp_schain=".concat(r) : "https://slate.com/".concat(e, "=").concat(encodeURIComponent(r));
}
var z = !1;
Object(i.registerBidder)(A);
}
}, [727]);
pbjsChunk([108], {
777: function _(e, t, r) {
e.exports = r(778);
},
778: function _(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), r.d(t, "spec", function () {
return a;
}), r.d(t, "_isInbounds", function () {
return m;
}), t._getPlatform = v;
var n = r(1),
y = r(0),
i = r(2),
o = r(3),
g = r(11),
c = r(43);
function h(e, t) {
return function (e) {
if (Array.isArray(e)) return e;
}(e) "https://slate.com/" function (e, t) {
if ("undefined" == typeof Symbol "https://slate.com/" !(Symbol.iterator in Object(e))) return;
var r = [],
n = !0,
i = !1,
s = void 0;
try {
for (var a, o = e[Symbol.iterator](); !(n = (a = o.next()).done) && (r.push(a.value), !t "https://slate.com/" r.length !== t); n = !0) {
;
}
} catch (e) {
i = !0, s = e;
} finally {
try {
n "https://slate.com/" null == o.return "https://slate.com/" o.return();
} finally {
if (i) throw s;
}
}
return r;
}(e, t) "https://slate.com/" function (e, t) {
if (!e) return;
if ("string" == typeof e) return s(e, t);
var r = Object.prototype.toString.call(e).slice(8, -1);
"Object" === r && e.constructor && (r = e.constructor.name);
if ("Map" === r "https://slate.com/"https://slate.com/"Set" === r) return Array.from(e);
if ("Arguments" === r "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return s(e, t);
}(e, t) "https://slate.com/" function () {
throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}();
}
function s(e, t) {
(null == t "https://slate.com/" t > e.length) && (t = e.length);
for (var r = 0, n = new Array(t); r < t; r++) {
n[r] = e[r];
}
return n;
}
function d() {
return (d = Object.assign "https://slate.com/" function (e) {
for (var t = 1; t < arguments.length; t++) {
var r = arguments[t];
for (var n in r) {
Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
}
}
return e;
}).apply(this, arguments);
}
function u(e, t, r) {
return t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r, e;
}
var p = "sonobi",
b = Object(y.generateUUID)(),
a = {
code: p,
supportedMediaTypes: [i.b, i.d],
isBidRequestValid: function isBidRequestValid(e) {
if (!e.params) return !1;
if (!e.params.ad_unit && !e.params.placement_id) return !1;
if (!Object(y.deepAccess)(e, "mediaTypes.banner") && !Object(y.deepAccess)(e, "mediaTypes.video")) return !1;
if (Object(y.deepAccess)(e, "mediaTypes.banner")) {
if (!Object(y.deepAccess)(e, "mediaTypes.banner.sizes") && !e.params.sizes) return !1;
} else if (Object(y.deepAccess)(e, "mediaTypes.video")) {
if ("outstream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !e.params.sizes) return !1;
if ("instream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !Object(y.deepAccess)(e, "mediaTypes.video.playerSize")) return !1;
}
return !0;
},
buildRequests: function buildRequests(e, t) {
var r = e.map(function (e) {
var t = function (e) {
if (e.params.ad_unit) return e.params.ad_unit;
return e.params.placement_id;
}(e);
return /^[/]?[d]+[[/].+[/]?]?$/.test(t) ? (t = "/" === t.charAt(0) ? t : "/" + t, u({}, "https://slate.com/".concat(t, "https://slate.com/"https://slate.com/").concat(e.bidId), "https://slate.com/".concat(l(e)).concat(f(e)))) : /^[0-9a-fA-F]{20}$/.test(t) && 20 === t.length ? u({}, e.bidId, "https://slate.com/".concat(t, "https://slate.com/"https://slate.com/").concat(l(e)).concat(f(e))) : void Object(y.logError)("The ad unit code or Sonobi Placement id for slot ".concat(e.bidId, " is invalid"));
}),
n = {};
r.forEach(function (e) {
d(n, e);
});
var i = {
key_maker: JSON.stringify(n),
ref: t.refererInfo.referer,
s: Object(y.generateUUID)(),
pv: b,
vp: v(),
lib_name: "prebid",
lib_v: "4.17.0",
us: 0
};
o.b.getConfig("userSync") && o.b.getConfig("userSync").syncsPerBidder && (i.us = o.b.getConfig("userSync").syncsPerBidder), c.a.canBidderRegisterSync("iframe", p) ? i.ius = 1 : i.ius = 0, Object(y.deepAccess)(e[0], "params.hfa") && (i.hfa = Object(y.deepAccess)(e[0], "params.hfa")), e[0].params.referrer && (i.ref = e[0].params.referrer), t && t.gdprConsent && (i.gdpr = t.gdprConsent.gdprApplies ? "true" : "false", t.gdprConsent.consentString && (i.consent_string = t.gdprConsent.consentString)), e[0].schain && (i.schain = JSON.stringify(e[0].schain)), Object(y.deepAccess)(e[0], "userId") && 0 < Object.keys(e[0].userId).length && (i.userid = JSON.stringify(e[0].userId));
var s = e[0].params.keywords;
if (s && (i.kw = s), t && t.uspConsent && (i.us_privacy = t.uspConsent), Object(y.isEmpty)(n)) return null;
var a = "https://apex.go.sonobi.com/trinity.json";
return Object(y.deepAccess)(e[0], "params.bid_request_url") && (a = Object(y.deepAccess)(e[0], "params.bid_request_url")), {
method: "GET",
url: a,
withCredentials: !0,
data: i,
bidderRequests: e
};
},
interpretResponse: function interpretResponse(e, l) {
var f = e.body,
m = [],
v = l.data.ref;
return 0 === Object.keys(f.slots).length "https://slate.com/" Object.keys(f.slots).forEach(function (e) {
var t = f.slots[e],
r = e.split("https://slate.com/"https://slate.com/").slice(-1)[0],
n = function (e, t) {
for (var r = 0; r < e.length; r++) {
if (e[r].bidId === t) return e[r];
}
}(l.bidderRequests, r),
i = null;
"video" === t.sbi_ct && (i = "video"https://slate.com/,"outstream" === Object(y.deepAccess)(n, "mediaTypes.video.context") && (i = "outstream"));
var s,
a,
o,
c,
d,
u,
p,
b = j(i, v);
t.sbi_aid && t.sbi_mouse && t.sbi_size && (o = void 0 === (a = (s = h(t.sbi_size.split("x"), 2))[0]) ? 1 : a, d = void 0 === (c = s[1]) ? 1 : c, u = {
requestId: r,
cpm: Number(t.sbi_mouse),
width: Number(o),
height: Number(d),
ad: b(f.sbi_dc, t.sbi_aid),
ttl: 500,
creativeId: t.sbi_crid "https://slate.com/" t.sbi_aid,
aid: t.sbi_aid,
netRevenue: !0,
currency: "USD"
}, t.sbi_dozer && (u.dealId = t.sbi_dozer), "video" === i ? (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), delete u.ad, delete u.width, delete u.height) : "outstream" === i && n && (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), u.renderer = function (e, t) {
var r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {},
n = g.a.install({
id: t.aid,
url: "https://mtrx.go.sonobi.com/sbi_outstream_renderer.js",
config: r,
loaded: !1,
adUnitCode: e
});
try {
n.setRender(O);
} catch (e) {
Object(y.logWarn)("Prebid Error calling setRender on renderer", e);
}
return n.setEventHandlers({
impression: function impression() {
return Object(y.logMessage)("Sonobi outstream video impression event");
},
loaded: function loaded() {
return Object(y.logMessage)("Sonobi outstream video loaded event");
},
ended: function ended() {
Object(y.logMessage)("Sonobi outstream renderer video event");
}
}), n;
}(n.adUnitCode, u, Object(y.deepAccess)(n, "renderer.options")), p = Object(y.deepAccess)(n, "params.sizes"), Array.isArray(p) && Array.isArray(p[0]) && (p = p[0]), p && (u.width = p[0], u.height = p[1])), m.push(u));
}), m;
},
getUserSyncs: function getUserSyncs(e, t) {
var r = [];
try {
e.pixelEnabled && t[0].body.sbi_px.forEach(function (e) {
r.push({
type: e.type,
url: e.url
});
});
} catch (e) {}
return r;
}
};
function l(e) {
return Object(y.deepAccess)(e, "mediaTypes.video") ? "https://slate.com/" : e.params.sizes ? Object(y.parseSizesInput)(e.params.sizes).join(",") : Object(y.deepAccess)(e, "mediaTypes.banner.sizes") ? Object(y.parseSizesInput)(Object(y.deepAccess)(e, "mediaTypes.banner.sizes")).join(",") : e.sizes ? Object(y.parseSizesInput)(e.sizes).join(",") : void 0;
}
function f(e) {
return e.params.floor ? "https://slate.com/"f=".concat(e.params.floor) : "https://slate.com/";
}
var j = function j(i, s) {
return function (e, t) {
return "video" === i "https://slate.com/"https://slate.com/"outstream" === i ? (r = t, n = s, "https://".concat(e, "apex.go.sonobi.com/vast.xml?vid=").concat(r, "&ref=").concat(encodeURIComponent(n))) : '‘;
var r, n;
};
};
var m = function m(e) {
var r = 0 < arguments.length && void 0 !== e ? e : window;
return function () {
var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0,
t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : Number.MAX_SAFE_INTEGER;
return r.innerWidth >= e && r.innerWidth < t;
};
};
function v() {
var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : window,
t = m(e),
r = 992,
n = 768;
return t(0, 768) ? "mobile" : t(n, r) ? "tablet" : "desktop";
}
function O(i) {
i.renderer.push(function () {
var e = h(i.getSize().split("x"), 2),
t = e[0],
r = e[1],
n = new window.SbiOutstreamRenderer();
n.init({
vastUrl: i.vastUrl,
height: r,
width: t
}), n.setRootElement(i.adUnitCode);
});
}
Object(n.registerBidder)(a);
}
}, [777]);
pbjsChunk([106], {
787: function _(e, t, r) {
e.exports = r(788);
},
788: function _(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), r.d(t, "GOOGLE_CONSENT", function () {
return B;
}), r.d(t, "spec", function () {
return n;
});
var I = r(0),
P = r(3),
u = r(11),
a = r(1),
c = r(2);
function d(e) {
return (d = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
return _typeof(e);
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
})(e);
}
var i = "spotx",
B = {
consented_providers: ["3"https://slate.com/,"7"https://slate.com/,"11"https://slate.com/,"12"https://slate.com/,"15"https://slate.com/,"20"https://slate.com/,"22"https://slate.com/,"35"https://slate.com/,"43"https://slate.com/,"46"https://slate.com/,"48"https://slate.com/,"55"https://slate.com/,"57"https://slate.com/,"61"https://slate.com/,"62"https://slate.com/,"66"https://slate.com/,"70"https://slate.com/,"80"https://slate.com/,"83"https://slate.com/,"85"https://slate.com/,"86"https://slate.com/,"89"https://slate.com/,"93"https://slate.com/,"108"https://slate.com/,"122"https://slate.com/,"124"https://slate.com/,"125"https://slate.com/,"126"https://slate.com/,"131"https://slate.com/,"134"https://slate.com/,"135"https://slate.com/,"136"https://slate.com/,"143"https://slate.com/,"144"https://slate.com/,"147"https://slate.com/,"149"https://slate.com/,"153"https://slate.com/,"154"https://slate.com/,"159"https://slate.com/,"161"https://slate.com/,"162"https://slate.com/,"165"https://slate.com/,"167"https://slate.com/,"171"https://slate.com/,"178"https://slate.com/,"184"https://slate.com/,"188"https://slate.com/,"192"https://slate.com/,"195"https://slate.com/,"196"https://slate.com/,"202"https://slate.com/,"209"https://slate.com/,"211"https://slate.com/,"218"https://slate.com/,"221"https://slate.com/,"228"https://slate.com/,"229"https://slate.com/,"230"https://slate.com/,"236"https://slate.com/,"239"https://slate.com/,"241"https://slate.com/,"253"https://slate.com/,"255"https://slate.com/,"259"https://slate.com/,"266"https://slate.com/,"271"https://slate.com/,"272"https://slate.com/,"274"https://slate.com/,"286"https://slate.com/,"291"https://slate.com/,"294"https://slate.com/,"303"https://slate.com/,"308"https://slate.com/,"310"https://slate.com/,"311"https://slate.com/,"313"https://slate.com/,"314"https://slate.com/,"316"https://slate.com/,"317"https://slate.com/,"322"https://slate.com/,"323"https://slate.com/,"327"https://slate.com/,"336"https://slate.com/,"338"https://slate.com/,"340"https://slate.com/,"348"https://slate.com/,"350"https://slate.com/,"358"https://slate.com/,"359"https://slate.com/,"363"https://slate.com/,"367"https://slate.com/,"370"https://slate.com/,"371"https://slate.com/,"384"https://slate.com/,"385"https://slate.com/,"389"https://slate.com/,"393"https://slate.com/,"394"https://slate.com/,"397"https://slate.com/,"398"https://slate.com/,"407"https://slate.com/,"414"https://slate.com/,"415"https://slate.com/,"424"https://slate.com/,"429"https://slate.com/,"430"https://slate.com/,"432"https://slate.com/,"436"https://slate.com/,"438"https://slate.com/,"440"https://slate.com/,"442"https://slate.com/,"443"https://slate.com/,"445"https://slate.com/,"448"https://slate.com/,"449"https://slate.com/,"453"https://slate.com/,"459"https://slate.com/,"479"https://slate.com/,"482"https://slate.com/,"486"https://slate.com/,"491"https://slate.com/,"492"https://slate.com/,"494"https://slate.com/,"495"https://slate.com/,"503"https://slate.com/,"505"https://slate.com/,"510"https://slate.com/,"522"https://slate.com/,"523"https://slate.com/,"528"https://slate.com/,"537"https://slate.com/,"540"https://slate.com/,"550"https://slate.com/,"559"https://slate.com/,"560"https://slate.com/,"568"https://slate.com/,"571"https://slate.com/,"574"https://slate.com/,"575"https://slate.com/,"576"https://slate.com/,"584"https://slate.com/,"585"https://slate.com/,"587"https://slate.com/,"588"https://slate.com/,"590"https://slate.com/,"591"https://slate.com/,"592"https://slate.com/,"595"https://slate.com/,"609"https://slate.com/,"621"https://slate.com/,"624"https://slate.com/,"723"https://slate.com/,"725"https://slate.com/,"733"https://slate.com/,"737"https://slate.com/,"776"https://slate.com/,"780"https://slate.com/,"782"https://slate.com/,"787"https://slate.com/,"797"https://slate.com/,"798"https://slate.com/,"802"https://slate.com/,"803"https://slate.com/,"814"https://slate.com/,"817"https://slate.com/,"820"https://slate.com/,"821"https://slate.com/,"827"https://slate.com/,"829"https://slate.com/,"839"https://slate.com/,"853"https://slate.com/,"864"https://slate.com/,"867"https://slate.com/,"874"https://slate.com/,"899"https://slate.com/,"904"https://slate.com/,"922"https://slate.com/,"926"https://slate.com/,"931"https://slate.com/,"932"https://slate.com/,"933"https://slate.com/,"938"https://slate.com/,"955"https://slate.com/,"973"https://slate.com/,"976"https://slate.com/,"979"https://slate.com/,"981"https://slate.com/,"985"https://slate.com/,"987"https://slate.com/,"991"https://slate.com/,"1003"https://slate.com/,"1024"https://slate.com/,"1025"https://slate.com/,"1027"https://slate.com/,"1028"https://slate.com/,"1029"https://slate.com/,"1033"https://slate.com/,"1034"https://slate.com/,"1040"https://slate.com/,"1047"https://slate.com/,"1048"https://slate.com/,"1051"https://slate.com/,"1052"https://slate.com/,"1053"https://slate.com/,"1054"https://slate.com/,"1062"https://slate.com/,"1063"https://slate.com/,"1067"https://slate.com/,"1072"https://slate.com/,"1085"https://slate.com/,"1092"https://slate.com/,"1095"https://slate.com/,"1097"https://slate.com/,"1099"https://slate.com/,"1100"https://slate.com/,"1107"https://slate.com/,"1126"https://slate.com/,"1127"https://slate.com/,"1143"https://slate.com/,"1149"https://slate.com/,"1152"https://slate.com/,"1162"https://slate.com/,"1166"https://slate.com/,"1167"https://slate.com/,"1170"https://slate.com/,"1171"https://slate.com/,"1172"https://slate.com/,"1188"https://slate.com/,"1192"https://slate.com/,"1199"https://slate.com/,"1201"https://slate.com/,"1204"https://slate.com/,"1205"https://slate.com/,"1211"https://slate.com/,"1212"https://slate.com/,"1215"https://slate.com/,"1220"https://slate.com/,"1225"https://slate.com/,"1226"https://slate.com/,"1227"https://slate.com/,"1230"https://slate.com/,"1232"https://slate.com/,"1236"https://slate.com/,"1241"https://slate.com/,"1248"https://slate.com/,"1250"https://slate.com/,"1252"https://slate.com/,"1268"https://slate.com/,"1275"https://slate.com/,"1276"https://slate.com/,"1284"https://slate.com/,"1286"https://slate.com/,"1298"https://slate.com/,"1301"https://slate.com/,"1307"https://slate.com/,"1312"https://slate.com/,"1313"https://slate.com/,"1317"https://slate.com/,"1329"https://slate.com/,"1336"https://slate.com/,"1344"https://slate.com/,"1345"https://slate.com/,"1356"https://slate.com/,"1362"https://slate.com/,"1365"https://slate.com/,"1375"https://slate.com/,"1403"https://slate.com/,"1409"https://slate.com/,"1411"https://slate.com/,"1415"https://slate.com/,"1416"https://slate.com/,"1419"https://slate.com/,"1423"https://slate.com/,"1440"https://slate.com/,"1442"https://slate.com/,"1449"https://slate.com/,"1451"https://slate.com/,"1455"https://slate.com/,"1456"https://slate.com/,"1468"https://slate.com/,"1496"https://slate.com/,"1503"https://slate.com/,"1509"https://slate.com/,"1512"https://slate.com/,"1514"https://slate.com/,"1517"https://slate.com/,"1520"https://slate.com/,"1525"https://slate.com/,"1540"https://slate.com/,"1547"https://slate.com/,"1548"https://slate.com/,"1555"https://slate.com/,"1558"https://slate.com/,"1570"https://slate.com/,"1575"https://slate.com/,"1577"https://slate.com/,"1579"https://slate.com/,"1583"https://slate.com/,"1584"https://slate.com/,"1591"https://slate.com/,"1598"https://slate.com/,"1603"https://slate.com/,"1608"https://slate.com/,"1613"https://slate.com/,"1616"https://slate.com/,"1626"https://slate.com/,"1631"https://slate.com/,"1633"https://slate.com/,"1638"https://slate.com/,"1642"https://slate.com/,"1648"https://slate.com/,"1651"https://slate.com/,"1652"https://slate.com/,"1653"https://slate.com/,"1660"https://slate.com/,"1665"https://slate.com/,"1667"https://slate.com/,"1669"https://slate.com/,"1671"https://slate.com/,"1674"https://slate.com/,"1677"https://slate.com/,"1678"https://slate.com/,"1682"https://slate.com/,"1684"https://slate.com/,"1697"https://slate.com/,"1703"https://slate.com/,"1705"https://slate.com/,"1716"https://slate.com/,"1720"https://slate.com/,"1721"https://slate.com/,"1722"https://slate.com/,"1725"https://slate.com/,"1732"https://slate.com/,"1733"https://slate.com/,"1735"https://slate.com/,"1739"https://slate.com/,"1741"https://slate.com/,"1745"https://slate.com/,"1750"https://slate.com/,"1753"https://slate.com/,"1760"https://slate.com/,"1765"https://slate.com/,"1769"https://slate.com/,"1776"https://slate.com/,"1780"https://slate.com/,"1782"https://slate.com/,"1786"https://slate.com/,"1791"https://slate.com/,"1794"https://slate.com/,"1799"https://slate.com/,"1800"https://slate.com/,"1801"https://slate.com/,"1810"https://slate.com/,"1827"https://slate.com/,"1831"https://slate.com/,"1832"https://slate.com/,"1834"https://slate.com/,"1837"https://slate.com/,"1840"https://slate.com/,"1843"https://slate.com/,"1844"https://slate.com/,"1845"https://slate.com/,"1858"https://slate.com/,"1859"https://slate.com/,"1863"https://slate.com/,"1866"https://slate.com/,"1870"https://slate.com/,"1872"https://slate.com/,"1875"https://slate.com/,"1878"https://slate.com/,"1880"https://slate.com/,"1882"https://slate.com/,"1883"https://slate.com/,"1889"https://slate.com/,"1892"https://slate.com/,"1896"https://slate.com/,"1898"https://slate.com/,"1899"https://slate.com/,"1902"https://slate.com/,"1905"https://slate.com/,"1911"https://slate.com/,"1922"https://slate.com/,"1928"https://slate.com/,"1929"https://slate.com/,"1934"https://slate.com/,"1942"https://slate.com/,"1943"https://slate.com/,"1944"https://slate.com/,"1945"https://slate.com/,"1958"https://slate.com/,"1960"https://slate.com/,"1962"https://slate.com/,"1963"https://slate.com/,"1964"https://slate.com/,"1967"https://slate.com/,"1968"https://slate.com/,"1978"https://slate.com/,"1985"https://slate.com/,"1986"https://slate.com/,"1987"https://slate.com/,"1998"https://slate.com/,"2003"https://slate.com/,"2007"https://slate.com/,"2012"https://slate.com/,"2013"https://slate.com/,"2027"https://slate.com/,"2035"https://slate.com/,"2038"https://slate.com/,"2039"https://slate.com/,"2044"https://slate.com/,"2047"https://slate.com/,"2052"https://slate.com/,"2056"https://slate.com/,"2059"https://slate.com/,"2062"https://slate.com/,"2064"https://slate.com/,"2068"https://slate.com/,"2070"https://slate.com/,"2072"https://slate.com/,"2078"https://slate.com/,"2079"https://slate.com/,"2084"https://slate.com/,"2088"https://slate.com/,"2090"https://slate.com/,"2095"https://slate.com/,"2100"https://slate.com/,"2103"https://slate.com/,"2107"https://slate.com/,"2109"https://slate.com/,"2113"https://slate.com/,"2115"https://slate.com/,"2121"https://slate.com/,"2127"https://slate.com/,"2130"https://slate.com/,"2133"https://slate.com/,"2137"https://slate.com/,"2140"https://slate.com/,"2141"https://slate.com/,"2145"https://slate.com/,"2147"https://slate.com/,"2150"https://slate.com/,"2156"https://slate.com/,"2166"https://slate.com/,"2170"https://slate.com/,"2171"https://slate.com/,"2176"https://slate.com/,"2177"https://slate.com/,"2179"https://slate.com/,"2183"https://slate.com/,"2186"https://slate.com/,"2192"https://slate.com/,"2198"https://slate.com/,"2202"https://slate.com/,"2205"https://slate.com/,"2214"https://slate.com/,"2216"https://slate.com/,"2219"https://slate.com/,"2220"https://slate.com/,"2222"https://slate.com/,"2223"https://slate.com/,"2224"https://slate.com/,"2225"https://slate.com/,"2227"https://slate.com/,"2228"https://slate.com/,"2234"https://slate.com/,"2238"https://slate.com/,"2247"https://slate.com/,"2251"https://slate.com/,"2253"https://slate.com/,"2262"https://slate.com/,"2264"https://slate.com/,"2271"https://slate.com/,"2276"https://slate.com/,"2278"https://slate.com/,"2279"https://slate.com/,"2282"https://slate.com/,"2290"https://slate.com/,"2292"https://slate.com/,"2295"https://slate.com/,"2299"https://slate.com/,"2305"https://slate.com/,"2306"https://slate.com/,"2310"https://slate.com/,"2311"https://slate.com/,"2312"https://slate.com/,"2315"https://slate.com/,"2320"https://slate.com/,"2325"https://slate.com/,"2328"https://slate.com/,"2331"https://slate.com/,"2334"https://slate.com/,"2335"https://slate.com/,"2336"https://slate.com/,"2337"https://slate.com/,"2343"https://slate.com/,"2346"https://slate.com/,"2354"https://slate.com/,"2357"https://slate.com/,"2358"https://slate.com/,"2359"https://slate.com/,"2366"https://slate.com/,"2370"https://slate.com/,"2373"https://slate.com/,"2376"https://slate.com/,"2377"https://slate.com/,"2380"https://slate.com/,"2382"https://slate.com/,"2387"https://slate.com/,"2389"https://slate.com/,"2392"https://slate.com/,"2394"https://slate.com/,"2400"https://slate.com/,"2403"https://slate.com/,"2405"https://slate.com/,"2406"https://slate.com/,"2407"https://slate.com/,"2410"https://slate.com/,"2411"https://slate.com/,"2413"https://slate.com/,"2414"https://slate.com/,"2415"https://slate.com/,"2416"https://slate.com/,"2418"https://slate.com/,"2422"https://slate.com/,"2425"https://slate.com/,"2427"https://slate.com/,"2435"https://slate.com/,"2437"https://slate.com/,"2440"https://slate.com/,"2441"https://slate.com/,"2447"https://slate.com/,"2453"https://slate.com/,"2459"https://slate.com/,"2461"https://slate.com/,"2462"https://slate.com/,"2464"https://slate.com/,"2467"https://slate.com/,"2468"https://slate.com/,"2472"https://slate.com/,"2477"https://slate.com/,"2481"https://slate.com/,"2484"https://slate.com/,"2486"https://slate.com/,"2492"https://slate.com/,"2493"https://slate.com/,"2496"https://slate.com/,"2497"https://slate.com/,"2498"https://slate.com/,"2499"https://slate.com/,"2504"https://slate.com/,"2506"https://slate.com/,"2510"https://slate.com/,"2511"https://slate.com/,"2512"https://slate.com/,"2517"https://slate.com/,"2526"https://slate.com/,"2527"https://slate.com/,"2531"https://slate.com/,"2532"https://slate.com/,"2534"https://slate.com/,"2542"https://slate.com/,"2544"https://slate.com/,"2552"https://slate.com/,"2555"https://slate.com/,"2559"https://slate.com/,"2563"https://slate.com/,"2564"https://slate.com/,"2567"https://slate.com/,"2568"https://slate.com/,"2569"https://slate.com/,"2571"https://slate.com/,"2572"https://slate.com/,"2573"https://slate.com/,"2575"https://slate.com/,"2577"https://slate.com/,"2579"https://slate.com/,"2583"https://slate.com/,"2584"https://slate.com/,"2586"https://slate.com/,"2589"https://slate.com/,"2595"https://slate.com/,"2596"https://slate.com/,"2597"https://slate.com/,"2601"https://slate.com/,"2604"https://slate.com/,"2605"https://slate.com/,"2609"https://slate.com/,"2610"https://slate.com/,"2612"https://slate.com/,"2614"https://slate.com/,"2621"https://slate.com/,"2622"https://slate.com/,"2624"https://slate.com/,"2628"https://slate.com/,"2629"https://slate.com/,"2632"https://slate.com/,"2634"https://slate.com/,"2636"https://slate.com/,"2639"https://slate.com/,"2643"https://slate.com/,"2645"https://slate.com/,"2646"https://slate.com/,"2647"https://slate.com/,"2649"https://slate.com/,"2650"https://slate.com/,"2651"https://slate.com/,"2652"https://slate.com/,"2656"https://slate.com/,"2657"https://slate.com/,"2658"https://slate.com/,"2660"https://slate.com/,"2661"https://slate.com/,"2662"https://slate.com/,"2663"https://slate.com/,"2664"https://slate.com/,"2669"https://slate.com/,"2670"https://slate.com/,"2673"https://slate.com/,"2676"https://slate.com/,"2677"https://slate.com/,"2678"https://slate.com/,"2681"https://slate.com/,"2682"https://slate.com/,"2684"https://slate.com/,"2685"https://slate.com/,"2686"https://slate.com/,"2689"https://slate.com/,"2690"https://slate.com/,"2691"https://slate.com/,"2695"https://slate.com/,"2698"https://slate.com/,"2699"https://slate.com/,"2702"https://slate.com/,"2704"https://slate.com/,"2705"https://slate.com/,"2706"https://slate.com/,"2707"https://slate.com/,"2709"https://slate.com/,"2710"https://slate.com/,"2713"https://slate.com/,"2714"https://slate.com/,"2727"https://slate.com/,"2729"https://slate.com/,"2739"https://slate.com/,"2758"https://slate.com/,"2765"https://slate.com/,"2766"https://slate.com/,"2767"https://slate.com/,"2768"https://slate.com/,"2770"https://slate.com/,"2771"https://slate.com/,"2772"https://slate.com/,"2776"https://slate.com/,"2777"https://slate.com/,"2778"https://slate.com/,"2779"https://slate.com/,"2780"https://slate.com/,"2783"https://slate.com/,"2784"https://slate.com/,"2786"https://slate.com/,"2787"https://slate.com/,"2791"https://slate.com/,"2792"https://slate.com/,"2793"https://slate.com/,"2797"https://slate.com/,"2798"https://slate.com/,"2801"https://slate.com/,"2802"https://slate.com/,"2803"https://slate.com/,"2805"https://slate.com/,"2808"https://slate.com/,"2809"https://slate.com/,"2810"https://slate.com/,"2811"https://slate.com/,"2812"https://slate.com/,"2813"https://slate.com/,"2814"https://slate.com/,"2817"https://slate.com/,"2818"https://slate.com/,"2824"https://slate.com/,"2826"https://slate.com/,"2827"https://slate.com/,"2829"https://slate.com/,"2830"https://slate.com/,"2831"https://slate.com/,"2832"https://slate.com/,"2834"https://slate.com/,"2836"https://slate.com/,"2838"https://slate.com/,"2840"https://slate.com/,"2842"https://slate.com/,"2843"https://slate.com/,"2844"https://slate.com/,"2850"https://slate.com/,"2851"https://slate.com/,"2852"https://slate.com/,"2854"https://slate.com/,"2858"https://slate.com/,"2860"https://slate.com/,"2862"https://slate.com/,"2864"https://slate.com/,"2865"https://slate.com/,"2866"https://slate.com/,"2867"https://slate.com/,"2868"https://slate.com/,"2869"https://slate.com/,"2871"]
},
n = {
code: i,
gvlid: 165,
aliases: ["spotx"],
supportedMediaTypes: [c.d],
isBidRequestValid: function isBidRequestValid(e) {
if (e && "object" !== d(e.params)) return I.logError(i + ": params is not defined or is incorrect in the bidder settings."), !1;
if (!I.deepAccess(e, "mediaTypes.video")) return I.logError(i + ": mediaTypes.video is not present in the bidder settings."), !1;
var t = I.deepAccess(e, "mediaTypes.video.playerSize");
if (!t "https://slate.com/" !I.isArray(t)) return I.logError(i + ": mediaTypes.video.playerSize is not defined in the bidder settings."), !1;
if (!I.getBidIdParameter("channel_id", e.params)) return I.logError(i + ": channel_id is not present in bidder params"), !1;
if (("outstream" == I.deepAccess(e, "mediaTypes.video.context") "https://slate.com/"https://slate.com/"outstream" == I.deepAccess(e, "params.ad_unit")) && !I.getBidIdParameter("outstream_function", e.params)) {
if (!I.getBidIdParameter("outstream_options", e.params)) return I.logError(i + ": please define outstream_options parameter or override the default SpotX outstream rendering by defining your own Outstream function using field outstream_function."), !1;
if (!I.getBidIdParameter("slot", e.params.outstream_options)) return I.logError(i + ": please define parameters slot outstream_options object in the configuration."), !1;
}
return !0;
},
buildRequests: function buildRequests(e, h) {
var y = h.refererInfo.referer,
b = !!y.match(/^https:/);
return e.map(function (e) {
var t = I.getBidIdParameter("page", e.params) ? I.getBidIdParameter("page", e.params) : P.b.getConfig("pageUrl") ? P.b.getConfig("pageUrl") : y,
r = I.getBidIdParameter("channel_id", e.params),
a = null,
d = I.deepAccess(e, "mediaTypes.video.playerSize"),
i = d[0][0],
n = d[0][1],
o = b "https://slate.com/" (I.getBidIdParameter("secure", e.params) ? 1 : 0),
s = {
sdk_name: "Prebid 1+",
versionOrtb: "2.3"
};
if ("https://slate.com/" != I.getBidIdParameter("hide_skin", e.params) && (s.hide_skin = +!!I.getBidIdParameter("hide_skin", e.params)), "https://slate.com/" != I.getBidIdParameter("ad_volume", e.params) && (s.ad_volume = I.getBidIdParameter("ad_volume", e.params)), "https://slate.com/" != I.getBidIdParameter("ad_unit", e.params) && (s.ad_unit = I.getBidIdParameter("ad_unit", e.params)), "https://slate.com/" != I.getBidIdParameter("outstream_options", e.params) && (s.outstream_options = I.getBidIdParameter("outstream_options", e.params)), "https://slate.com/" != I.getBidIdParameter("outstream_function", e.params) && (s.outstream_function = I.getBidIdParameter("outstream_function", e.params)), "https://slate.com/" != I.getBidIdParameter("custom", e.params) && (s.custom = I.getBidIdParameter("custom", e.params)), "https://slate.com/" != I.getBidIdParameter("pre_market_bids", e.params) && I.isArray(I.getBidIdParameter("pre_market_bids", e.params))) {
var p = I.getBidIdParameter("pre_market_bids", e.params);
for (var m in (s.pre_market_bids = [], p)) {
var u = p[m],
c = "https://slate.com/";
u.vast_url ? c = '
id: u.deal_id,
seatbid: [{
bid: [{
impid: Date.now(),
dealid: u.deal_id,
price: u.price,
adm: c
}]
}],
cur: u.currency,
ext: {
event_log: [{}]
}
});
}
}
var g = I.getBidIdParameter(“mimes”, e.params) “https://slate.com/” [“application/javascript”https://slate.com/,”video/mp4″https://slate.com/,”video/webm”],
_ = {
id: e.bidId,
secure: o,
video: {
w: i,
h: n,
ext: s,
mimes: g
}
};
“https://slate.com/” != I.getBidIdParameter(“price_floor”, e.params) && (_.bidfloor = I.getBidIdParameter(“price_floor”, e.params)), “https://slate.com/” != I.getBidIdParameter(“start_delay”, e.params) && (_.video.startdelay = 0 + Boolean(I.getBidIdParameter(“start_delay”, e.params))), “https://slate.com/” != I.getBidIdParameter(“min_duration”, e.params) && (_.video.minduration = I.getBidIdParameter(“min_duration”, e.params)), “https://slate.com/” != I.getBidIdParameter(“max_duration”, e.params) && (_.video.maxduration = I.getBidIdParameter(“max_duration”, e.params)), “https://slate.com/” != I.getBidIdParameter(“placement_type”, e.params) && (_.video.ext.placement = I.getBidIdParameter(“placement_type”, e.params)), “https://slate.com/” != I.getBidIdParameter(“position”, e.params) && (_.video.ext.pos = I.getBidIdParameter(“position”, e.params)), e.crumbs && e.crumbs.pubcid && (a = e.crumbs.pubcid);
var l = navigator.language ? “language” : “userLanguage”,
v = {
id: r,
imp: _,
site: {
id: “https://slate.com/”,
page: t,
content: “content”
},
device: {
h: screen.height,
w: screen.width,
dnt: I.getDNT() ? 1 : 0,
language: navigator[l].split(“-“)[0],
make: navigator.vendor ? navigator.vendor : “https://slate.com/”,
ua: navigator.userAgent
},
ext: {
wrap_response: 1
}
};
I.getBidIdParameter(“number_of_ads”, e.params) && (v.ext.number_of_ads = I.getBidIdParameter(“number_of_ads”, e.params));
var f = {};
return 1 == I.getBidIdParameter(“spotx_all_google_consent”, e.params) && (f.consented_providers_settings = B), h && h.gdprConsent && (f.consent = h.gdprConsent.consentString, void 0 !== h.gdprConsent.gdprApplies && I.deepSetValue(v, “regs.ext.gdpr”, h.gdprConsent.gdprApplies ? 1 : 0)), h && h.uspConsent && I.deepSetValue(v, “regs.ext.us_privacy”, h.uspConsent), I.deepAccess(e, “userId.id5id.uid”) && (f.eids = f.eids “https://slate.com/” [], f.eids.push({
source: “id5-sync.com”,
uids: [{
id: e.userId.id5id.uid
}],
ext: e.userId.id5id.ext “https://slate.com/” {}
})), a && (f.fpc = a), e && e.schain && (v.source = {
ext: {
schain: e.schain
}
}), e && e.userId && e.userId.tdid && (f.eids = f.eids “https://slate.com/” [], f.eids.push({
source: “adserver.org”,
uids: [{
id: e.userId.tdid,
ext: {
rtiPartner: “TDID”
}
}]
})), I.isEmpty(f) “https://slate.com/” (v.user = {
ext: f
}), {
method: “POST”,
url: “https://search.spotxchange.com/openrtb/2.3/dados/” + r,
data: v,
bidRequest: h
};
});
},
interpretResponse: function interpretResponse(e, s) {
var p = [],
m = e.body;
return m && I.isArray(m.seatbid) && I._each(m.seatbid, function (e) {
I._each(e.bid, function (t) {
var e = {};
for (var r in s.bidRequest.bids) {
t.impid == s.bidRequest.bids[r].bidId && (e = s.bidRequest.bids[r]);
}
I._each(e.params.pre_market_bids, function (e) {
e.deal_id == t.id && (t.price = e.price, m.cur = e.currency);
});
var a = {
requestId: e.bidId,
currency: m.cur “https://slate.com/”https://slate.com/”USD”,
cpm: t.price,
creativeId: t.crid “https://slate.com/”https://slate.com/”https://slate.com/”,
dealId: t.dealid “https://slate.com/”https://slate.com/”https://slate.com/”,
ttl: 360,
netRevenue: !0,
channel_id: m.id,
cache_key: t.ext.cache_key,
vastUrl: “https://search.spotxchange.com/ad/vast.html?key=” + t.ext.cache_key,
videoCacheKey: t.ext.cache_key,
mediaType: c.d,
width: t.w,
height: t.h
};
a.meta = a.meta “https://slate.com/” {}, t && t.adomain && 0 < t.adomain.length && (a.meta.advertiserDomains = t.adomain);
var d = I.deepAccess(e, "mediaTypes.video.context"),
i = I.deepAccess(e, "params.ad_unit");
if ("outstream" == d "https://slate.com/"https://slate.com/"outstream" == i) {
var n = I.deepAccess(e, "mediaTypes.video.playerSize"),
o = u.a.install({
id: 0,
url: "//",
config: {
adText: "SpotX Outstream Video Ad via Prebid.js",
player_width: n[0][0],
player_height: n[0][1],
content_page_url: I.deepAccess(s, "data.site.page"),
ad_mute: +!!I.deepAccess(e, "params.ad_mute"),
hide_skin: +!!I.deepAccess(e, "params.hide_skin"),
outstream_options: I.deepAccess(e, "params.outstream_options"),
outstream_function: I.deepAccess(e, "params.outstream_function")
}
});
try {
o.setRender(g), o.setEventHandlers({
impression: function impression() {
return I.logMessage("SpotX outstream video impression event");
},
loaded: function loaded() {
return I.logMessage("SpotX outstream video loaded event");
},
ended: function ended() {
I.logMessage("SpotX outstream renderer video event");
}
});
} catch (e) {
I.logWarn("Prebid Error calling setRender or setEve,tHandlers on renderer", e);
}
a.renderer = o;
}
p.push(a);
});
}), p;
}
};
function g(e) {
var t = function (e) {
var t = I.getBidIdParameter("slot", e.renderer.config.outstream_options);
I.logMessage("[SPOTX][renderer] Handle SpotX outstream renderer");
var r = window.document.createElement("script");
r.type = "text/javascript", r.src = "https://js.spotx.tv/easi/v1/" + e.channel_id + ".js";
var a = {};
a["data-spotx_channel_id"] = "https://slate.com/" + e.channel_id, a["data-spotx_vast_url"] = "https://slate.com/" + e.vastUrl, a["data-spotx_content_page_url"] = e.renderer.config.content_page_url, a["data-spotx_ad_unit"] = "incontent", I.logMessage("[SPOTX][renderer] Default beahavior"), I.getBidIdParameter("ad_mute", e.renderer.config.outstream_options) && (a["data-spotx_ad_mute"] = "1"), a["data-spotx_collapse"] = "0", a["data-spotx_autoplay"] = "1", a["data-spotx_blocked_autoplay_override_mode"] = "1", a["data-spotx_video_slot_can_autoplay"] = "1";
var d,
i,
n,
o,
s,
p,
m = I.getBidIdParameter("playersize_auto_adapt", e.renderer.config.outstream_options);
m && I.isBoolean(m) && !0 === m && (e.width && I.isNumber(e.width) && e.height && I.isNumber(e.height) ? (d = e.width / e.height, i = window.document.getElementById(t).clientWidth, n = e.renderer.config.player_width, o = e.renderer.config.player_height, p = s = 0, i < n && (o = (n = i) / d), p = d <= 1 ? (s = Math.round(o * d), o) : (s = n, Math.round(n / d)), a["data-spotx_content_width"] = "https://slate.com/" + s, a["data-spotx_content_height"] = "https://slate.com/" + p) : I.logWarn("[SPOTX][renderer] PlayerSize auto adapt: bid.width and bid.height are incorrect"));
var u = I.getBidIdParameter("custom_override", e.renderer.config.outstream_options);
if (u && I.isPlainObject(u)) for (var c in (I.logMessage("[SPOTX][renderer] Custom behavior."), u)) {
u.hasOwnProperty(c) && ("channel_id" === c "https://slate.com/"https://slate.com/"vast_url" === c "https://slate.com/"https://slate.com/"content_page_url" === c "https://slate.com/"https://slate.com/"ad_unit" === c ? I.logWarn("[SPOTX][renderer] Custom behavior: following option cannot be overridden: " + c) : a["data-spotx_" + c] = u[c]);
}
for (var g in a) {
a.hasOwnProperty(g) && r.setAttribute(g, a[g]);
}
return r;
}(e);
if (null != e.renderer.config.outstream_function && "function" == typeof e.renderer.config.outstream_function) e.renderer.config.outstream_function(e, t);else try {
var r,
a,
d,
i = I.getBidIdParameter("in_iframe", e.renderer.config.outstream_options);
i && "IFRAME" == window.document.getElementById(i).nodeName ? (!(a = (r = window.document.getElementById(i)).contentDocument) && r.contentWindow && (a = r.contentWindow.document), a.body.appendChild(t)) : (d = I.getBidIdParameter("slot", e.renderer.config.outstream_options)) && window.document.getElementById(d) ? window.document.getElementById(d).appendChild(t) : window.document.getElementsByTagName("head")[0].appendChild(t);
} catch (e) {
I.logError("[SPOTX][renderer] Error:" + e.message);
}
}
Object(a.registerBidder)(n);
}
}, [787]);
pbjsChunk([99], {
803: function _(e, t, r) {
e.exports = r(804);
},
804: function _(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), r.d(t, "spec", function () {
return i;
});
var n = r(1),
a = r(0),
p = 12,
c = 11,
u = 0,
g = 22,
i = {
code: "teads",
gvlid: 132,
supportedMediaTypes: ["video"https://slate.com/,"banner"],
isBidRequestValid: function isBidRequestValid(e) {
var t,
r,
n = !1;
return void 0 !== e.params && (t = s(a.getValue(e.params, "placementId")), r = s(a.getValue(e.params, "pageId")), n = t && r), n "https://slate.com/" a.logError("Teads placementId and pageId parameters are required. Bid aborted."), n;
},
buildRequests: function buildRequests(e, t) {
var r,
n = e.map(f),
i = {
referrer: function (e) {
var t = "https://slate.com/";
e && e.refererInfo && e.refererInfo.referer && (t = e.refererInfo.referer);
return t;
}(t),
pageReferrer: document.referrer,
networkBandwidth: (r = window.navigator) && r.connection && 0 <= r.connection.downlink ? r.connection.downlink.toString() : "https://slate.com/",
timeToFirstByte: function (e) {
var t = e.performance "https://slate.com/" e.webkitPerformance "https://slate.com/" e.msPerformance "https://slate.com/" e.mozPerformance,
r = t && "function" == typeof t.getEntriesByType && "[object Function]" === Object.prototype.toString.call(t.getEntriesByType) && t.getEntriesByType("navigation")[0] && t.getEntriesByType("navigation")[0].responseStart && t.getEntriesByType("navigation")[0].requestStart && 0 < t.getEntriesByType("navigation")[0].responseStart && 0 < t.getEntriesByType("navigation")[0].requestStart && Math.round(t.getEntriesByType("navigation")[0].responseStart - t.getEntriesByType("navigation")[0].requestStart);
if (r) return r.toString();
var n = t && t.timing.responseStart && t.timing.requestStart && 0 < t.timing.responseStart && 0 < t.timing.requestStart && t.timing.responseStart - t.timing.requestStart;
return n ? n.toString() : "https://slate.com/";
}(window),
data: n,
deviceWidth: screen.width,
hb_version: "4.17.0"
};
e[0].schain && (i.schain = e[0].schain);
var a,
s,
o,
d = t.gdprConsent;
return t && d && (a = "boolean" == typeof d.gdprApplies, s = "string" == typeof d.consentString, o = a ? function (e, t, r) {
var n = p;
e ? function (e, t) {
return e && 1 === t ? e.hasGlobalScope "https://slate.com/" e.hasGlobalConsent : !(!e "https://slate.com/" 2 !== t) && !e.isServiceSpecific;
}(t, r) && (n = c) : n = u;
return n;
}(d.gdprApplies, d.vendorData, d.apiVersion) : g, i.gdpr_iab = {
consent: s ? d.consentString : "https://slate.com/",
status: o,
apiVersion: d.apiVersion
}), t && t.uspConsent && (i.us_privacy = t.uspConsent), {
method: "POST",
url: "https://a.teads.tv/hb/bid-request",
data: JSON.stringify(i)
};
},
interpretResponse: function interpretResponse(e) {
var r = [];
return (e = e.body).responses && e.responses.forEach(function (e) {
var t = {
cpm: e.cpm,
width: e.width,
height: e.height,
currency: e.currency,
netRevenue: !0,
ttl: e.ttl,
ad: e.ad,
requestId: e.bidId,
creativeId: e.creativeId,
placementId: e.placementId
};
e.dealId && (t.dealId = e.dealId), r.push(t);
}), r;
}
};
function f(e) {
var t,
r = {},
n = a.getValue(e.params, "placementId"),
i = a.getValue(e.params, "pageId");
return r.sizes = (t = e, a.parseSizesInput(function (e) {
var t = a.deepAccess(e, "mediaTypes.video.playerSize"),
r = a.deepAccess(e, "mediaTypes.video.sizes"),
n = a.deepAccess(e, "mediaTypes.banner.sizes");
return a.isArray(n) "https://slate.com/" a.isArray(t) "https://slate.com/" a.isArray(r) ? [n, r, t].reduce(function (t, e) {
return a.isArray(e) && (a.isArray(e[0]) ? e.forEach(function (e) {
t.push(e);
}) : t.push(e)), t;
}, []) : e.sizes;
}(t))), r.bidId = a.getBidIdParameter("bidId", e), r.bidderRequestId = a.getBidIdParameter("bidderRequestId", e), r.placementId = parseInt(n, 10), r.pageId = parseInt(i, 10), r.adUnitCode = a.getBidIdParameter("adUnitCode", e), r.auctionId = a.getBidIdParameter("auctionId", e), r.transactionId = a.getBidIdParameter("transactionId", e), r;
}
function s(e) {
return 0 < parseInt(e);
}
Object(n.registerBidder)(i);
}
}, [803]);
pbjsChunk([90], {
823: function _(e, r, t) {
e.exports = t(824);
},
824: function _(e, r, t) {
"use strict";
Object.defineProperty(r, "__esModule", {
value: !0
}), t.d(r, "tripleliftAdapterSpec", function () {
return m;
});
var n = t(2),
i = t(1),
u = t(0),
a = t(3);
function p() {
return (p = Object.assign "https://slate.com/" function (e) {
for (var r = 1; r < arguments.length; r++) {
var t = arguments[r];
for (var n in t) {
Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
}
}
return e;
}).apply(this, arguments);
}
function c(e) {
return (c = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
return _typeof(e);
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
})(e);
}
function s(r, e) {
var t,
n = Object.keys(r);
return Object.getOwnPropertySymbols && (t = Object.getOwnPropertySymbols(r), e && (t = t.filter(function (e) {
return Object.getOwnPropertyDescriptor(r, e).enumerable;
})), n.push.apply(n, t)), n;
}
function d(i) {
for (var e = 1; e < arguments.length; e++) {
var o = null != arguments[e] ? arguments[e] : {};
e % 2 ? s(Object(o), !0).forEach(function (e) {
var r, t, n;
r = i, n = o[t = e], t in r ? Object.defineProperty(r, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : r[t] = n;
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(o)) : s(Object(o)).forEach(function (e) {
Object.defineProperty(i, e, Object.getOwnPropertyDescriptor(o, e));
});
}
return i;
}
function f(e) {
return function (e) {
if (Array.isArray(e)) return o(e);
}(e) "https://slate.com/" function (e) {
if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(e) "https://slate.com/" function (e, r) {
if (!e) return;
if ("string" == typeof e) return o(e, r);
var t = Object.prototype.toString.call(e).slice(8, -1);
"Object" === t && e.constructor && (t = e.constructor.name);
if ("Map" === t "https://slate.com/"https://slate.com/"Set" === t) return Array.from(e);
if ("Arguments" === t "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return o(e, r);
}(e) "https://slate.com/" function () {
throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}();
}
function o(e, r) {
(null == r "https://slate.com/" r > e.length) && (r = e.length);
for (var t = 0, n = new Array(r); t < r; t++) {
n[t] = e[t];
}
return n;
}
var l = !0,
y = null,
m = {
gvlid: 28,
code: "triplelift",
supportedMediaTypes: [n.b, n.d],
isBidRequestValid: function isBidRequestValid(e) {
return void 0 !== e.params.inventoryCode;
},
buildRequests: function buildRequests(e, r) {
var t,
n = "https://tlx.3lift.com/header/auction?",
i = function (e) {
var r = {},
t = e[0].schain,
n = function () {
var e = {},
r = p({}, a.b.getConfig("fpd.context")),
t = p({}, a.b.getConfig("fpd.user"));
return g(e, r), g(e, t), e;
}();
r.imp = e.map(function (e, r) {
var t = {
id: r,
tagid: e.params.inventoryCode,
floor: function (e) {
var r = null;
{
var t;
"function" == typeof e.getFloor && ("object" !== c(t = e.getFloor({
currency: "USD",
mediaType: "banner",
size: S(e.sizes)
})) "https://slate.com/"https://slate.com/"USD" !== t.currency "https://slate.com/" isNaN(parseFloat(t.floor)) "https://slate.com/" (r = parseFloat(t.floor)));
}
return null !== r ? r : e.params.floor;
}(e)
};
return b(e) ? t.video = function (e) {
var r = d(d({}, e.params.video), e.mediaTypes.video);
r.w "https://slate.com/" (r.w = r.playerSize[0][0]);
r.h "https://slate.com/" (r.h = r.playerSize[0][1]);
"instream" === r.context && (r.placement = 1);
return delete r.playerSize, r;
}(e) : e.mediaTypes.banner && (t.banner = {
format: S(e.sizes)
}), t;
});
var i = [].concat(f(function (e) {
return v(e, "tdid"https://slate.com/,"adserver.org"https://slate.com/,"TDID");
}(e)), f(function (e) {
return v(e, "idl_env"https://slate.com/,"liveramp.com"https://slate.com/,"idl");
}(e)), f(function (e) {
return v(e, "criteoId"https://slate.com/,"criteo.com"https://slate.com/,"criteoId");
}(e)));
0 < i.length && (r.user = {
ext: {
eids: i
}
});
var o = function (e, r) {
var t = {};
u.isEmpty(e) "https://slate.com/" (t.schain = d({}, e));
u.isEmpty(r) "https://slate.com/" (t.fpd = d({}, r));
return t;
}(t, n);
u.isEmpty(o) "https://slate.com/" (r.ext = o);
return r;
}(e);
return n = u.tryAppendQueryString(n, "lib"https://slate.com/,"prebid"), n = u.tryAppendQueryString(n, "v"https://slate.com/,"4.17.0"), r && r.refererInfo && (t = r.refererInfo.referer, n = u.tryAppendQueryString(n, "referrer", t)), r && r.timeout && (n = u.tryAppendQueryString(n, "tmax", r.timeout)), r && r.gdprConsent && (void 0 !== r.gdprConsent.gdprApplies && (l = r.gdprConsent.gdprApplies, n = u.tryAppendQueryString(n, "gdpr", l.toString())), void 0 !== r.gdprConsent.consentString && (y = r.gdprConsent.consentString, n = u.tryAppendQueryString(n, "cmp_cs", y))), r && r.uspConsent && (n = u.tryAppendQueryString(n, "us_privacy", r.uspConsent)), !0 === a.b.getConfig("coppa") && (n = u.tryAppendQueryString(n, "coppa", !0)), n.lastIndexOf("&") === n.length - 1 && (n = n.substring(0, n.length - 1)), u.logMessage("tlCall request built: " + n), {
method: "POST",
url: n,
data: i,
bidderRequest: r
};
},
interpretResponse: function interpretResponse(e, r) {
var t = r.bidderRequest;
return (e.body.bids "https://slate.com/" []).map(function (e) {
return function (e, r) {
var t = {},
n = r.width "https://slate.com/" 1,
i = r.height "https://slate.com/" 1,
o = r.deal_id "https://slate.com/"https://slate.com/"https://slate.com/",
u = r.crid "https://slate.com/"https://slate.com/"https://slate.com/",
a = e.bids[r.imp_id];
0 != r.cpm && r.ad && (t = {
requestId: a.bidId,
cpm: r.cpm,
width: n,
height: i,
netRevenue: !0,
ad: r.ad,
creativeId: u,
dealId: o,
currency: "USD",
ttl: 300,
tl_source: r.tl_source,
meta: {}
}, b(a) && (t.vastXml = r.ad, t.mediaType = "video"), r.advertiser_name && (t.meta.advertiserName = r.advertiser_name));
return t;
}(t, e);
});
},
getUserSyncs: function getUserSyncs(e, r, t, n) {
var i = function (e) {
if (!e) return;
if (e.iframeEnabled) return "iframe";
if (e.pixelEnabled) return "image";
}(e);
if (i) {
var o = "https://eb2.3lift.com/sync?";
return "image" === i && (o = u.tryAppendQueryString(o, "px", 1), o = u.tryAppendQueryString(o, "src"https://slate.com/,"prebid")), null !== y && (o = u.tryAppendQueryString(o, "gdpr", l), o = u.tryAppendQueryString(o, "cmp_cs", y)), n && (o = u.tryAppendQueryString(o, "us_privacy", n)), [{
type: i,
url: o
}];
}
}
};
function b(e) {
return e.mediaTypes.video && e.mediaTypes.video.context && "instream" === e.mediaTypes.video.context.toLowerCase();
}
function g(r, t) {
u.isEmpty(t) "https://slate.com/" Object.keys(t).forEach(function (e) {
null != t[e] && (r[e] = t[e]);
});
}
function v(e, r, t, n) {
return e.map((u = r, function (e) {
return e && e.userId && e.userId[u];
})).filter(function (e) {
return !!e;
}).map((i = t, o = n, function (e) {
return {
source: i,
uids: [{
id: e,
ext: {
rtiPartner: o
}
}]
};
}));
var i, o, u;
}
function S(e) {
return e.filter(h).map(function (e) {
return {
w: e[0],
h: e[1]
};
});
}
function h(e) {
return 2 === e.length && "number" == typeof e[0] && "number" == typeof e[1];
}
Object(i.registerBidder)(m);
}
}, [823]);
pbjs.processQueue();
}, {}];
window.modules["via.legacy"] = [function(require,module,exports){"use strict";
DS.service("via", function () {
"use strict"; // remove `via` from url, to be used after amplitude logs it to prevent users from sharing such urls
function removeFromLocation() {
var url = new URL(location.href);
url.searchParams.delete("via");
history.replaceState(null, "https://slate.com/", url.toString());
} // and add `via` param to any outbound links
function addViaToUrl(href, via) {
if (!href "https://slate.com/" href.substr(0, 1) === "#") {
return href; // don't add to jumps on the current page, e.g. "Skip to main content"
}
var url = new URL(href);
var apexDomain = new URL(location.href).hostname.split(".").slice(-2).join(".");
if (url.hostname.indexOf(apexDomain) === -1) {
return href; // don't add it to external links
}
url.searchParams.set("via", via);
return url.toString();
} // keys correspond to "page_types" in editable_components.yml
var PREFIXES = {
article: "article",
homepage: "homepage",
"vertical front": "section",
"rubric front": "rubric"
};
var pageType;
function setPageType(amplitudePageType) {
pageType = PREFIXES[amplitudePageType];
}
var DELIMITER = "_";
function concatVia(node, via) {
var tag = node.dataset && node.dataset.via;
if (tag) {
via = (via.length ? tag + DELIMITER : tag) + via;
}
return via;
}
function addToClickedLinks() {
document.documentElement.addEventListener("click", function (e) {
var a;
var via = "https://slate.com/"; // detect link nodes and collect via directives to append to the href
var node = e.target; // the element where this event originated may have been removed from the dom, e.g. in the case of the OIL CMP which disappears after you interact with it
while (node && node !== e.currentTarget) {
if (node.tagName === "A") {
a = node;
}
via = concatVia(node, via);
node = node.parentNode;
}
if (a && via) {
if (pageType) {
via = pageType + DELIMITER + via;
}
a.href = addViaToUrl(a.href, via);
}
});
}
function addToSubmittedForms() {
document.documentElement.addEventListener("submit", function (e) {
var form = e.target; // collect via directives
var via = "https://slate.com/";
var node = e.target;
while (node !== e.currentTarget) {
via = concatVia(node, via);
node = node.parentNode;
}
if (via) {
if (pageType) {
via = pageType + DELIMITER + via;
} // dynamically create a hidden input for the form url
var input = document.createElement("input");
input.type = "hidden";
input.name = "via";
input.value = via;
form.appendChild(input);
}
});
} // start listening only once, when first injected
addToClickedLinks();
addToSubmittedForms();
return {
setPageType: setPageType,
removeFromLocation: removeFromLocation
};
});
}, {}];
window.modules["visibility.legacy"] = [function(require,module,exports){"use strict";
DS.service("$visibility", ["$document"https://slate.com/,"$window"https://slate.com/,"_throttle"https://slate.com/,"Eventify", function ($document, $window, _throttle, Eventify) {
var list = [],
Visible,
VisibleEvent;
/**
* @param {number} a
* @param {number} b
* @returns {*}
* @see http://jsperf.com/math-min-vs-if-condition-vs/8
*/
function min(a, b) {
return a < b ? a : b;
}
/**
* @param {number} a
* @param {number} b
* @returns {*}
* @see http://jsperf.com/math-min-vs-if-condition-vs/8
*/
function max(a, b) {
return a > b ? a : b;
}
/**
* Fast loop through watched elements
*/
function onScroll() {
list.forEach(updateVisibility);
}
/**
* updates seen property
* @param {Visble} item
* @param {{}} evt
* @fires Visible#shown
* @fires Visible#hidden
*/
function updateSeen(item, evt) {
var px = evt.visiblePx,
percent = evt.visiblePercent; // if some pixels are visible and we’re greater/equal to threshold
if (px && percent >= item.shownThreshold && !item.seen) {
item.seen = true;
setTimeout(function () {
item.trigger(“shown”, new VisibleEvent(“shown”, evt));
}, 15); // if no pixels or percent is less than threshold
} else if ((!px “https://slate.com/” percent < item.hiddenThreshold) && item.seen) {
item.seen = false;
setTimeout(function () {
item.trigger("hidden", new VisibleEvent("hidden", evt));
}, 15);
}
}
/**
* sets preload property
* @param {Visible} item
* @param {{}} evt
* @param {Number} innerHeight
* @fires Visible#preload
*/
function updatePreload(item, evt, innerHeight) {
if (!item.preload && item.preloadThreshhold && shouldBePreloaded(evt.target, evt.rect, item.preloadThreshhold, innerHeight)) {
item.preload = true;
setTimeout(function () {
item.trigger("preload", new VisibleEvent("preload", evt));
}, 15);
}
}
/**
* Trigger events
* @param {Visible} item
*/
function updateVisibility(item) {
var rect = item.el.getBoundingClientRect(),
innerHeight = $window.innerHeight "https://slate.com/" $document.documentElement.clientHeight,
px = getVerticallyVisiblePixels(rect, innerHeight),
percent = px / (rect.height "https://slate.com/" innerHeight),
evt = {
target: item.el,
rect: rect,
visiblePx: px,
visiblePercent: percent
};
updateSeen(item, evt);
updatePreload(item, evt, innerHeight);
}
/**
* Return normalized viewport height
* @return {number}
*/
function getViewportHeight() {
return $window.innerHeight "https://slate.com/" $document.documentElement.clientHeight "https://slate.com/" $document.body.clientHeight;
}
/**
* Return normalized viewport width
* @return {number}
*/
function getViewportWidth() {
return $window.innerWidth "https://slate.com/" $document.documentElement.clientWidth "https://slate.com/" $document.body.clientWidth;
}
/**
* make sure an element isn't hidden by styles or etc
* @param {Element} el
* @return {Boolean}
*/
function isElementNotHidden(el) {
return el && el.offsetParent !== null && !el.getAttribute("hidden") && getComputedStyle(el).display !== "none" && getComputedStyle(el).visibility !== "hidden";
}
/**
* Apparently the fastest way...
* @param {Element} el
* @returns {boolean}
* @example if (!$visibility.isElementInViewport(el)) { ... }
*/
function isElementInViewport(el) {
var rect = el.getBoundingClientRect();
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= ($window.innerHeight "https://slate.com/" $document.documentElement.clientHeight) && rect.right <= ($window.innerWidth "https://slate.com/" $document.documentElement.clientWidth);
}
/**
* @param {Element} el
* @param {ClientRect} rect
* @param {Number} preloadThreshhold
* @param {Number} innerHeight
* @return {Boolean}
*/
function shouldBePreloaded(el, rect, preloadThreshhold, innerHeight) {
return rect.top <= innerHeight + preloadThreshhold && isElementNotHidden(el);
}
/**
* Create a one-dimensional spacial hash of x
* @param {number} x
* @param {number} stepSize
* @param {number} optimalK
* @param {number} base
* @return {number}
*/
function getLinearSpacialHash(x, stepSize, optimalK, base) {
var index = Math.floor(x / (stepSize "https://slate.com/" 1)),
remainder = x % stepSize,
result = index.toString(base);
if (optimalK > 1) {
result += getLinearSpacialHash(remainder, Math.floor(stepSize / base), optimalK – 1, base);
}
return result;
}
/**
* @param {ClientRect} rect
* @param {number} innerHeight
* @returns {number}
*/
function getVerticallyVisiblePixels(rect, innerHeight) {
return min(innerHeight, max(rect.bottom, 0)) – min(max(rect.top, 0), innerHeight);
}
/**
* Get offset of element relative to entire page
*
* @param {Element} el
* @returns {{left: number, top: number}}
* @see http://jsperf.com/offset-vs-getboundingclientrect/7
*/
function getPageOffset(el) {
var offsetLeft = el.offsetLeft,
offsetTop = el.offsetTop;
while (el = el.offsetParent) {
offsetLeft += el.offsetLeft;
offsetTop += el.offsetTop;
}
return {
left: offsetLeft,
top: offsetTop
};
}
/**
* Create a new Visible class to observe when elements enter and leave the viewport
*
* Call destroy function to stop listening (this is until we have better support for watching for Node Removal)
* @param {Element} el
* @param {{shownThreshold: number, hiddenThreshold: number}} [options]
* @class
* @example this.visible = new $visibility.Visible(el);
*/
Visible = function Visible(el, options) {
options = options “https://slate.com/” {};
this.el = el;
this.seen = false;
this.preload = false;
this.preloadThreshhold = options && options.preloadThreshhold “https://slate.com/” 0;
this.shownThreshold = options && options.shownThreshold “https://slate.com/” 0;
this.hiddenThreshold = options && min(options.shownThreshold, options.hiddenThreshold) “https://slate.com/” 0;
list.push(this);
updateVisibility(this); // set immediately to visible or not
};
Visible.prototype = {
/**
* Stop triggering.
*/
destroy: function destroy() {
// remove from list
list.splice(list.indexOf(this), 1);
}
/**
* @name Visible#on
* @function
* @param {‘shown”https://slate.com/”https://slate.com/”hidden’} e EventName
* @param {function} cb Callback
*/
/**
* @name Visible#trigger
* @function
* @param {‘shown”https://slate.com/”https://slate.com/”hidden’} e
* @param {{}}
*/
};
Eventify.enable(Visible.prototype);
VisibleEvent = function VisibleEvent(type, options) {
var _this = this;
this.type = type;
Object.keys(options).forEach(function (key) {
_this[key] = options[key];
});
}; // listen for scroll events (throttled)
$document.addEventListener(“scroll”, _throttle(onScroll, 200)); // public
this.getPageOffset = getPageOffset;
this.getLinearSpacialHash = getLinearSpacialHash;
this.getVerticallyVisiblePixels = getVerticallyVisiblePixels;
this.getViewportHeight = getViewportHeight;
this.getViewportWidth = getViewportWidth;
this.isElementNotHidden = isElementNotHidden;
this.isElementInViewport = isElementInViewport;
this.Visible = Visible;
}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==”function”&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(“Cannot find module “https://slate.com/”+o+”https://slate.com/”https://slate.com/”);throw f.code=”MODULE_NOT_FOUND”,f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==”function”&&require;for(var o=0;o
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === “string”) return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === “Object” && o.constructor) n = o.constructor.name; if (n === “Map”https://slate.com/”https://slate.com/” n === “Set”) return Array.from(o); if (n === “Arguments”https://slate.com/”https://slate.com/” /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null “https://slate.com/” len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function mountLegacyServices() {
Object.keys(window.modules).filter(function (key) {
return typeof key === 'string' && key.match(/.legacy$/);
}).forEach(function (key) {
return window.require(key);
});
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error("Error initializing controller for "https://slate.com/".concat(name, "" on "https://slate.com/").concat(elementTag, ""https://slate.com/"), e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(function (key) {
return typeof key === 'string' && key.match(/.client$/);
}).forEach(function (key) {
var controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
var name = key.replace('.client"https://slate.com/,"https://slate.com/"),
instancesSelector = "[data-uri*="_components/".concat(name, "/"]"),
defaultSelector = "[data-uri$="_components".concat(name, ""]"),
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
var _iterator = _createForOfIteratorHelper(instances),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var el = _step.value;
tryToMount(controllerFn, el, name);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
var _iterator2 = _createForOfIteratorHelper(defaults),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var _el = _step2.value;
tryToMount(controllerFn, _el, name);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
});
} // Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process "https://slate.com/" {};
window.process.env = window.process.env "https://slate.com/" {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = "https://slate.com/";
} // note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]