parenting advice from Care and Feeding. | #facebookdating | #tinder | #pof


Photo illustration by Slate. Photo by David De Lossy/iStock/Getty Images Plus.

Care and Feeding is Slate’s parenting advice column. Have a question for Care and Feeding? Submit it here or post it in the Slate Parenting Facebook group.

Dear Care and Feeding,

I am a childless woman in my late 30s who is dating a single dad with shared custody of his 5-year-old daughter. Things have been going great, and we are starting to discuss moving in together. My concern is with my role as a kind-of stepmom to a girl I genuinely love. I’m looking forward to helping to parent this child but both parents are VERY active in her life and I worry about overstepping, especially since I have little experience in this area. I think she is a great kid, but I worry that she is being coddled and catered to by both her parents. In my view, she can be a little oversensitive; she looks for immediate attention whenever anything upsets her, and her dad always provides it. For example, yesterday she bumped her head and her dad rushed over, picked her up and put an ice pack on her head, and held her while she cried for five or 10 minutes. She also expects (and gets) our undivided attention and participation in whatever activity she wants at any time (20 rounds of hide and seek!?). Maybe this is perfectly normal? I grew up with three siblings and busy parents who didn’t indulge us in this way, and have little experience with small children as an adult. But I don’t want to stand by and be part of raising a spoiled, entitled adult. I also don’t want to overstep and question parenting techniques when I am not sure there really is anything to address. My boyfriend is so proud of her, and I love his commitment to being a good dad, so I am hesitant to have an open conversation with him about this unless there is a real problem. Should I bite my tongue unless I see more clear evidence that there is an issue?

—Stepmom in Training

Dear SiT,

I am going to say this as nicely as I can (and even so I fear it’s going to hurt your feelings—so apologies in advance, because I hate to do that). This child has two parents who are thoroughly engaged in raising her. You are not her stepmother, and unless you and the gentleman you’re dating have already mutually decided that you will one day be his daughter’s stepmother, the way he and his ex are raising this little girl is none of your business. At this point you are only starting to talk about living together: Stepparenting seems to be a long way off.

So I have two pieces of advice for you: One is that you recognize that there are many good ways to raise a child, and they include both the way you were raised and the way your boyfriend is raising his. (And if you do become a stepmother—and/or a mother of another child—it will be a good idea to keep this in mind. Parents who insist that their way is the only good way are the kind of parents other parents can’t stand to be around.) I also want to mention—because I am well attuned to this sort of thing—that it’s possible you may be a little jealous of this child because she is getting so much more attention than you did. (I am not suggesting that you are conscious of this! But I think it’s worth taking a moment to consider whether this may play a part in your displeasure about her parents’ “catering to her.”) I feel honor-bound, too, to point out that an ice pack for a kid who’s hit her head, and five to 10 minutes of crying if she hit it hard (you don’t say how big a bump!), does not sound terribly excessive to me. Some kids are stoic when they get hurt; some are not—and neither reaction represents a character flaw.

The second bit of advice I have for you is that if you feel strongly that if you were to become the child’s stepmother, you would object to what you consider to be her parents’ overindulgence of a too-sensitive child, you ought to tell this to the guy you’re dating now. Because if he is thinking along the same lines you are, it’s only fair to let him know where you stand so that he can decide if this is a dealbreaker. I would speak up before you move in together, since that may well be Step 1 to making a lifelong commitment, not only to him but to his daughter. You would both be in for a whole lot of heartbreak later if you spring this on him only after you’re married. But speaking of things I feel honor-bound to tell you: that conversation is not likely to go well. So don’t start packing up your belongings just yet.

Help! How can I support Slate so I can keep reading all the advice from Dear Prudence, Care and Feeding, Ask a Teacher, and How to Do It? Answer: Join Slate Plus.

Dear Care and Feeding,

We are expecting our first child, and my husband has indicated that if we have a daughter he would like to name her after his late mother. I have many reservations about this suggestion, ranging from petty (I don’t like the name itself) to more significant (I don’t like his mother and don’t want to name my child after her). We have had multiple conversations about his wish to honor his late mother, and we have come to a tentative agreement: I’m willing to begrudgingly consider using her name as a middle name.

I am hoping that if I explain why I would prefer not to use her name at all, you will be able to help me understand whether I am being insensitive! My husband’s parents had an acrimonious divorce when he was very young due to infidelity on the part of his mother. She moved to a different country to be with her new partner, and although she did try to gain custody of the children, ultimately custody was granted to the father. After the relationship with the new partner broke down, she did not leave the country where she’d lived with him (although I can appreciate that her career likely played a part in her decision not to return). Growing up, my husband spent his summers with her, while his father was responsible for the school year, creating a “good cop/bad cop” dynamic. But I think what bothers me most about my husband’s childhood is that his mother apparently constantly tried to convince him to leave his father and move in with her, going so far as to suggest that he file to be an emancipated minor when he was 14 so that he could then make the choice on his own to live with her. Obviously, the thought of creating a rift that profound with his father, not to mention giving up his home and friends to move to a new country, was daunting for a teenager. My husband never pursued this idea. Sadly, his mother became sick and ended up dying when my husband was 18. He was left with horrible guilt that he could have had more time with her had he been braver, and it also drove a wedge of resentment between him and his father.

I never met my late mother-in-law. Everything I know about her I’ve learned through my husband’s stories. When we first started dating, he still had a tumultuous relationship with his father. Talking through his childhood with me helped him see his father in a more positive light and they have a much better relationship now, but my husband does not want to change his narrative about his mother, who remains on a pedestal. He has said that since she isn’t around for him to ask questions of, it is unfair to challenge the image he has of her. In any case, he has made it clear he will not do so. I hate that I have such a negative view of my husband’s mother, especially when he so adores her—and when I never had the opportunity to meet her in person and form a true opinion of her. Although I can acknowledge and accept that some women aren’t the maternal type, I seem unable to forgive my late mother-in-law for what I see as her abandoning her children and then guilting them into thinking the ongoing distance between them was their fault, not hers. This may be because I am a pediatrician and being a child advocate is a strong driving force in my career. I am just not sure how to reconcile my husband’s wish to honor his late mother—a woman who certainly must have more positive characteristics than I seem to be able to allow myself to grant her—with my repulsion at the thought of naming my child after an unfaithful, child-abandoning manipulator.

—Maybe It Will Be a Boy

Dear Maybe,

I feel you—I do. You love your husband, and it’s unbearable to think of him being hurt, especially as a child (and most especially by his own mother). But you have got to untangle your feelings from his. He has handled his relationship with his mother in the way he needs to; he feels what he feels about her and you cannot (and shouldn’t try to) “fix” that. Your outrage—and your ferocious dislike of someone you never met—is not helping him (or your marriage), and it may be actively doing harm. Let this go. This is his mother, his relationship, his legacy. Stop chewing over the details of this woman’s behavior (some of which, in any case, you seem to be making an effort to see in the worst possible light). Convincing your husband to “change his narrative” about his mother is neither healthy nor wise.

If the name itself is distasteful to you (what you call a petty reason for refusing him this wish to honor his late mother), then I think using it as a middle name is a reasonable compromise—and I think you should stop being so begrudging about it (and for God’s sake stop “considering” it and just say yes). Middle names are nothing—many people never use them (I can count on the fingers of one hand the number of people who know my middle name). They’re a good way to honor someone whose actual name you don’t like enough to grace your child with.

And you don’t have to forgive your mother-in-law. That’s for your husband to do, and it would seem that he has (and then some). Forgiveness of a parent’s flaws—no matter how unforgivable they may seem to others—is a gift, and in my experience it’s a rare one. Forgiving our parents allows us to live our lives without being consumed by bitterness and rage and bottomless sadness.

• If you missed Friday’s Care and Feeding column, read it here.

• Discuss this column in the Slate Parenting Facebook group!

Dear Care and Feeding,

My son is 19 and in his freshman year of college. Yesterday, my younger daughter showed me pictures from a Halloween party he went to. He dressed up like a Nazi, and posted the pictures on Instagram. I don’t think he did it out of hatred for Jews or anything, I think it was just a poor choice. I called him, but he refused to talk about it. He told me it was none of my business. He also won’t take down the pictures, and I’m worried that this could have consequences if future employers came across them. (It’s doubly frustrating, too, because I spent a LOT of time when he was in high school instilling the idea that the internet is forever and things you post there can have real-life consequences.) The trouble is, he’s my eldest child and I’m not used to parenting an adult. He’s halfway across the country for the first time, and I don’t know what I’m supposed to do. Should I just let it go?

—Worried Mom

Dear WM,

He’s an adult, all right, and he did something grotesque. And I am having a hard time understanding how the only two things of concern to you are that the pictures of him dressed as a Nazi may hurt his job prospects someday and that your efforts to teach him that the internet is forever came to naught. I fear that you may have spent too much of your energy on lessons about social media use and not enough on what it means to be a good human being. And your quick, casual willingness to dismiss the possibility that he knew exactly what he was doing, what that costume means, and how it would be interpreted (on the internet and otherwise) makes me wonder—and I am being as generous as I can here—if your priorities are in the right place.

Call him again. Don’t talk about how this “will look” and don’t talk about smart uses of social media. (And for heaven’s sake don’t remind him that you’ve told him a million times that “the internet is forever.”) Tell him you’re ashamed of him. Tell him that anti-Semitism, racism, bigotry of any kind, hate speech, and hate costuming are despicable. Tell him—and oh how I hope this is true—you taught him better than this. I hope he is ashamed, then. I hope he’s contrite. If he is, he’ll take the pictures down of his own accord. If he isn’t, the problem is much bigger than a social media gaffe or a “poor choice.”

Dear Care and Feeding,

My brother-in-law and his wife lost their third child this summer when the baby was stillborn at full term. My husband and I were heartbroken for them and attended a small graveside service that was for family only. When my sister-in-law was pregnant, I started knitting the baby a blanket, a gift I’ve given to their two other children. I’m just now finishing the blanket, and I’m unsure about whether or not I should send it to them, as I don’t want to dredge up feelings of grief months later. I’m also concerned that I would probably be mailing it to her due to COVID and wouldn’t be there to console her in person. I’d appreciate any guidance here. Thank you.

—Sad Aunt

Dear Sad,

Do not send her the blanket. Not because it would “dredge up” her grief months later—I’m sure she is still grieving and will still be grieving for some time to come—but because it would be insensitive to send a gift meant for a baby who didn’t live to be given it. Put the finished blanket away. Save it for a baby who is born alive. Perhaps your sister-in-law will have another child in time. If not, surely someone else will. You needn’t (please don’t) mention its provenance. This hand-knit baby blanket will be a lovely, thoughtful gift for someone, sometime later.

—Michelle

More Advice From Slate

My husband and I have a love story to rival a Disney princess’s. We communicate well, share the workload, go on plenty of dates, have fun with our two children (8 and 9 years old), and treat each other kindly. But there is one thing missing in our marriage: sex. I just can’t do it. He says he’s OK with this. Is this OK?

'; }, t.createTrackPixelIframeHtml = se, t.getValueString = de, t.uniques = fe, t.flatten = le, t.getBidRequest = function (n, e) { return n ? (e.some(function (e) { var t = c()(e.bids, function (t) { return ["bidId"https://slate.com/,"adId"https://slate.com/,"bid_id"].some(function (e) { return t[e] === n; }); }); return t && (r = t), t; }), r) : void 0; var r; }, t.getKeys = pe, t.getValue = ge, t.getKeyByValue = function (e, t) { for (var n in e) { if (e.hasOwnProperty(n) && e[n] === t) return n; } }, t.getBidderCodes = function () { return (0 t[n] ? -1 : 0; }; }, t.parseQS = Ie, t.formatQS = Ce, t.parseUrl = function (e, t) { var n = document.createElement("a"); t && "noDecodeWholeURL" in t && t.noDecodeWholeURL ? n.href = e : n.href = decodeURIComponent(e); var r = t && "decodeSearchAsString" in t && t.decodeSearchAsString; return { href: n.href, protocol: (n.protocol "https://slate.com/"https://slate.com/"https://slate.com/").replace(/:$/, "https://slate.com/"), hostname: n.hostname, port: +n.port, pathname: n.pathname.replace(/^(?!/)/, "/"), search: r ? n.search : k.parseQS(n.search "https://slate.com/"https://slate.com/"https://slate.com/"), hash: (n.hash "https://slate.com/"https://slate.com/"https://slate.com/").replace(/^#/, "https://slate.com/"), host: n.host "https://slate.com/" window.location.host }; }, t.buildUrl = function (e) { return (e.protocol "https://slate.com/"https://slate.com/"http") + "://" + (e.host "https://slate.com/" e.hostname + (e.port ? ":".concat(e.port) : "https://slate.com/")) + (e.pathname "https://slate.com/"https://slate.com/"https://slate.com/") + (e.search ? "?".concat(k.formatQS(e.search "https://slate.com/"https://slate.com/"https://slate.com/")) : "https://slate.com/") + (e.hash ? "#".concat(e.hash) : "https://slate.com/"); }, t.deepEqual = je, t.mergeDeep = we, t.cyrb53Hash = function (e) { for (var t, n = 1 >> 16, 2246822507) ^ r(o ^ o >>> 13, 3266489909), (4294967296 * (2097151 & (o = r(o ^ o >>> 16, 2246822507) ^ r(i ^ i >>> 13, 3266489909))) + (i >>> 0)).toString(); }; var r = n(3), i = n(158), o = n.n(i), a = n(10), c = n.n(a), u = n(12), s = n.n(u), d = n(159); n.d(t, "deepAccess", function () { return d.a; }); var f = n(160); function l(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 n = [], r = !0, i = !1, o = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t "https://slate.com/" n.length !== t); r = !0) { ; } } catch (e) { i = !0, o = e; } finally { try { r "https://slate.com/" null == c.return "https://slate.com/" c.return(); } finally { if (i) throw o; } } return n; }(e, t) "https://slate.com/" g(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 p(e) { return function (e) { if (Array.isArray(e)) return b(e); }(e) "https://slate.com/" function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(e) "https://slate.com/" g(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 g(e, t) { if (e) { if ("string" == typeof e) return b(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n "https://slate.com/"https://slate.com/"Set" === n ? Array.from(e) : "Arguments" === n "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? b(e, t) : void 0; } } function b(e, t) { (null == t "https://slate.com/" t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n n ')) : "https://slate.com/"; } function de(e, t, n) { return null == t ? n : Z(t) ? t : te(t) ? t.toString() : void k.logWarn("Unsuported type for param: " + e + " required type: String"); } function fe(e, t, n) { return n.indexOf(e) === t; } function le(e, t) { return e.concat(t); } function pe(e) { return Object.keys(e); } function ge(e, t) { return e[t]; } function be() { if (window.googletag && X(window.googletag.pubads) && X(window.googletag.pubads().getSlots)) return !0; } var ve = me("timeToRespond", function (e, t) { return t e.length) && (t = e.length); for (var n = 0, r = new Array(t); n o.lastUpdated + 24 * r * 60 * 60 * 1e3) && Object(p.a)(t.url, { success: function success(e) { try { e = JSON.parse(e); var t = { lastUpdated: Object(m.timestamp)(), mapping: e.mapping }; I.setDataInLocalStorage(i, JSON.stringify(t)); } catch (e) { Object(m.logError)("Failed to parse ".concat(n, " bidder translation mapping file")); } }, error: function error() { Object(m.logError)("Failed to load ".concat(n, " bidder translation file")); } }); } catch (e) { Object(m.logError)("Failed to parse ".concat(n, " bidder translation mapping file")); } } }), e.call(this, t); } function U(e, t, n) { function r(e) { return "Invalid bid from ".concat(t.bidderCode, ". Ignoring bid: ").concat(e); } return e ? t ? (i = Object.keys(t), C.every(function (e) { return l()(i, e) && !l()([void 0, null], t[e]); }) ? "native" !== t.mediaType "https://slate.com/" Object(o.f)(t, n) ? "video" !== t.mediaType "https://slate.com/" Object(a.d)(t, n) ? !("banner" === t.mediaType && !function (e, t, n) { if ((t.width "https://slate.com/" 0 === parseInt(t.width, 10)) && (t.height "https://slate.com/" 0 === parseInt(t.height, 10))) return t.width = parseInt(t.width, 10), t.height = parseInt(t.height, 10), 1; var r = Object(m.getBidderRequest)(n, t.bidderCode, e), i = r && r.bids && r.bids[0] && r.bids[0].sizes, o = Object(m.parseSizesInput)(i); if (1 === o.length) { var a = A(o[0].split("x"), 2), c = a[0], u = a[1]; return t.width = parseInt(c, 10), t.height = parseInt(u, 10), 1; } }(e, t, n)) "https://slate.com/" (Object(m.logError)(r("Banner bids require a width and height")), !1) : (Object(m.logError)(r("Video bid does not have required vastUrl or renderer property")), !1) : (Object(m.logError)(r("Native bid missing some required properties.")), !1) : (Object(m.logError)(r("Bidder ".concat(t.bidderCode, " is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params."))), !1)) : (Object(m.logWarn)("Some adapter tried to add an undefined bid for ".concat(e, ".")), !1) : (Object(m.logWarn)("No adUnitCode was supplied to addBidResponse."), !1); var i; } Object(b.a)("checkAdUnitSetup").before(B); }, 10: function _(e, t, n) { var r = n(96); e.exports = r; }, 100: function _(e, t, n) { function r(e, t) { var n = c[a(e)]; return n == s "https://slate.com/" n != u && ("function" == typeof t ? i(t) : !!t); } var i = n(30), o = /#|.prototype./, a = r.normalize = function (e) { return String(e).replace(o, ".").toLowerCase(); }, c = r.data = {}, u = r.NATIVE = "N", s = r.POLYFILL = "P"; e.exports = r; }, 101: function _(e, t, n) { var r = n(25), i = n(102), o = n(19)("species"); e.exports = function (e, t) { var n; return i(e) && ("function" == typeof (n = e.constructor) && (n === Array "https://slate.com/" i(n.prototype)) "https://slate.com/" r(n) && null === (n = n[o])) && (n = void 0), new (void 0 === n ? Array : n)(0 === t ? 0 : t); }; }, 102: function _(e, t, n) { var r = n(48); e.exports = Array.isArray "https://slate.com/" function (e) { return "Array" == r(e); }; }, 103: function _(e, t, n) { var r = n(24), i = n(31); e.exports = function (t, n) { try { i(r, t, n); } catch (e) { r[t] = n; } return n; }; }, 104: function _(e, t, n) { var r = n(75); e.exports = r && !Symbol.sham && "symbol" == _typeof(Symbol.iterator); }, 105: function _(e, t, n) { n(106); var r = n(52); e.exports = r("Array"https://slate.com/,"includes"); }, 106: function _(e, t, n) { "use strict"; var r = n(14), i = n(76).includes, o = n(51); r({ target: "Array", proto: !0, forced: !n(60)("indexOf", { ACCESSORS: !0, 1: 0 }) }, { includes: function includes(e, t) { return i(this, e, 1 i;) { a(r, n = t[i++]) && (~u(o, n) "https://slate.com/" o.push(n)); } return o; }; }, 119: function _(e, t, n) { var r = n(27); e.exports = r("document"https://slate.com/,"documentElement"); }, 12: function _(e, t, n) { var r = n(105); e.exports = r; }, 120: function _(e, t, n) { var i = n(84); e.exports = function (e, t, n) { for (var r in t) { n && n.unsafe && e[r] ? e[r] = t[r] : i(e, r, t[r], n); } return e; }; }, 121: function _(e, t, n) { "use strict"; function i() { return this; } var o = n(85).IteratorPrototype, a = n(82), c = n(46), u = n(64), s = n(38); e.exports = function (e, t, n) { var r = t + " Iterator"; return e.prototype = a(o, { next: c(1, n) }), u(e, r, !1, !0), s[r] = i, e; }; }, 122: function _(e, t, n) { var r = n(30); e.exports = !r(function () { function e() {} return e.prototype.constructor = null, Object.getPrototypeOf(new e()) !== e.prototype; }); }, 123: function _(e, t, n) { var i = n(15), o = n(124); e.exports = Object.setPrototypeOf "https://slate.com/" ("__proto__" in {} ? function () { var n, r = !1, e = {}; try { (n = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(e, []), r = e instanceof Array; } catch (e) {} return function (e, t) { return i(e), o(t), r ? n.call(e, t) : e.__proto__ = t, e; }; }() : void 0); }, 124: function _(e, t, n) { var r = n(25); e.exports = function (e) { if (!r(e) && null !== e) throw TypeError("Can't set " + String(e) + " as a prototype"); return e; }; }, 125: function _(e, t, n) { "use strict"; var r = n(27), i = n(33), o = n(19), a = n(29), c = o("species"); e.exports = function (e) { var t = r(e), n = i.f; a && t && !t[c] && n(t, c, { configurable: !0, get: function get() { return this; } }); }; }, 126: function _(e, t) {}, 127: function _(e, t, n) { function r(c) { return function (e, t) { var n, r, i = String(s(e)), o = u(t), a = i.length; return o = t.length ? { value: e.target = void 0, done: !0 } : "keys" == n ? { value: r, done: !1 } : "values" == n ? { value: t[r], done: !1 } : { value: [r, t[r]], done: !1 }; }, "values"), o.Arguments = o.Array, i("keys"), i("values"), i("entries"); }, 13: function _(e, t, n) { "use strict"; n.d(t, "b", function () { return a; }), n.d(t, "a", function () { return c; }), t.d = function (e, t) { var n = 2 e.length) && (t = e.length); for (var n = 0, r = new Array(t); n >> 0, o = 0; if (t) n = t;else { for (; o i && (r = !1)), !r; }), r && e.run(), r; } function g(e, t) { void 0 === e[t] ? e[t] = 1 : e[t]++; } p(e) "https://slate.com/" (N.logWarn("queueing auction due to limited endpoint capacity"), H.push(e)); } return { addBidReceived: function addBidReceived(e) { f = f.concat(e); }, addNoBid: function addNoBid(e) { l = l.concat(e); }, executeCallback: O, callBids: function callBids() { b = G, t = Date.now(); var e = P.makeBidRequests(y, t, p, m, s); N.logInfo("Bids Requested for Auction with id: ".concat(p), e), e.length e.getTimeout() + B.b.getConfig("timeoutBuffer") && e.executeCallback(!0); } function Q(e, t) { var n = e.getBidRequests(), r = U()(n, function (e) { return e.bidderCode === t.bidderCode; }); !function (t, e) { var n; { var r; t.bidderCode && (0 e.length) && (t = e.length); for (var n = 0, r = new Array(t); n = h.syncsPerBidder ? a.logWarn('Number of user syncs exceeded for "https://slate.com/".concat(t, "https://slate.com/"https://slate.com/")) : p.canBidderRegisterSync(e, t) ? (g[e].push([t, n]), (r = v)[i = t] ? r[i] += 1 : r[i] = 1, void (v = r)) : a.logWarn('Bidder "https://slate.com/".concat(t, "https://slate.com/" not permitted to register their "https://slate.com/").concat(e, "https://slate.com/" userSync pixels.')) : a.logWarn("Bidder is required for registering sync") : a.logWarn('User sync type "https://slate.com/".concat(e, "https://slate.com/" not supported')); var r, i; }, p.syncUsers = function () { var e = 0 e.length) && (t = e.length); for (var n = 0, r = new Array(t); n Object(S.timestamp)(); }, s = function s(e) { return e && (e.status && !O()([w.BID_STATUS.RENDERED], e.status) "https://slate.com/" !e.status); }; function U(e, r, t) { var i = 2 t.max ? e : t; }, { max: 0 }), g = 0, b = v()(e.buckets, function (e) { if (n > p.max * r) { var t = e.precision; void 0 === t && (t = y), i = (e.max * r).toFixed(t); } else { if (n " + e + "" + g + ">"; } var o, a = n(15), c = n(116), u = n(83), s = n(53), d = n(119), f = n(72), l = n(65), p = "prototype", g = "script", b = l("IE_PROTO"), _v = function v() { try { o = document.domain && new ActiveXObject("htmlfile"); } catch (e) {} var e, t; _v = o ? function (e) { e.write(i("https://slate.com/")), e.close(); var t = e.parentWindow.Object; return e = null, t; }(o) : ((t = f("iframe")).style.display = "none", d.appendChild(t), t.src = String("javascript:"), (e = t.contentWindow.document).open(), e.write(i("document.F=Object")), e.close(), e.F); for (var n = u.length; n--;) { delete _v[p][u[n]]; } return _v(); }; s[b] = !0, e.exports = Object.create "https://slate.com/" function (e, t) { var n; return null !== e ? (r[p] = a(e), n = new r(), r[p] = null, n[b] = e) : n = _v(), void 0 === t ? n : c(n, t); }; }, 83: function _(e, t) { e.exports = ["constructor"https://slate.com/,"hasOwnProperty"https://slate.com/,"isPrototypeOf"https://slate.com/,"propertyIsEnumerable"https://slate.com/,"toLocaleString"https://slate.com/,"toString"https://slate.com/,"valueOf"]; }, 84: function _(e, t, n) { var i = n(31); e.exports = function (e, t, n, r) { r && r.enumerable ? e[t] = n : i(e, t, n); }; }, 85: function _(e, t, n) { "use strict"; var r, i, o, a = n(86), c = n(31), u = n(26), s = n(19), d = n(16), f = s("iterator"), l = !1; [].keys && ("next" in (o = [].keys()) ? (i = a(a(o))) !== Object.prototype && (r = i) : l = !0), null == r && (r = {}), d "https://slate.com/" u(r, f) "https://slate.com/" c(r, f, function () { return this; }), e.exports = { IteratorPrototype: r, BUGGY_SAFARI_ITERATORS: l }; }, 86: function _(e, t, n) { var r = n(26), i = n(57), o = n(65), a = n(122), c = o("IE_PROTO"), u = Object.prototype; e.exports = a ? Object.getPrototypeOf : function (e) { return e = i(e), r(e, c) ? e[c] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? u : null; }; }, 87: function _(e, t, n) { "use strict"; var i = n(127).charAt, r = n(54), o = n(66), a = "String Iterator", c = r.set, u = r.getterFor(a); o(String, "String", function (e) { c(this, { type: a, string: String(e), index: 0 }); }, function () { var e, t = u(this), n = t.string, r = t.index; return r >= n.length ? { value: void 0, done: !0 } : (e = i(n, r), t.index += e.length, { value: e, done: !1 }); }); }, 88: function _(e, t, n) { var r = n(15), i = n(61); e.exports = function (e) { var t = i(e); if ("function" != typeof t) throw TypeError(String(e) + " is not iterable"); return r(t.call(e)); }; }, 89: function _(e, t, n) { var r = n(153); e.exports = r; }, 896: function _(e, t, n) { e.exports = n(68); }, 9: function _(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "gdprDataHandler", function () { return R; }), n.d(t, "uspDataHandler", function () { return k; }), t.setS2STestingModule = function (e) { I = e; }; var S = n(0), p = n(91), g = n(37), l = n(1), h = n(4), A = n(3), r = n(13), i = n(12), E = n.n(i), o = n(10), O = n.n(o), b = n(67), T = n(20); function m(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 n = [], r = !0, i = !1, o = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t "https://slate.com/" n.length !== t); r = !0) { ; } } catch (e) { i = !0, o = e; } finally { try { r "https://slate.com/" null == c.return "https://slate.com/" c.return(); } finally { if (i) throw o; } } return n; }(e, t) "https://slate.com/" function (e, t) { if (!e) return; if ("string" == typeof e) return a(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n "https://slate.com/"https://slate.com/"Set" === n) return Array.from(e); if ("Arguments" === n "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return a(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 a(e, t) { (null == t "https://slate.com/" t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n n n n prebid.org wrappern n ").concat(r, "n n n n ")), ttlseconds: Number(e.ttl) }; return o.b.getConfig("cache.vasttrack") && (i.bidder = e.bidder, i.bidid = e.requestId, a.isPlainObject(this) && this.hasOwnProperty("auctionStart") && (i.timestamp = this.auctionStart)), "string" == typeof e.customCacheKey && "https://slate.com/" !== e.customCacheKey && (i.key = e.customCacheKey), i; } }, 96: function _(e, t, n) { n(97); var r = n(52); e.exports = r("Array"https://slate.com/,"find"); }, 97: function _(e, t, n) { "use strict";

var r = n(14), i = n(56).find, o = n(51), a = n(60), c = "find", u = !0, s = a(c); c in [] && Array(1).find(function () { u = !1; }), r({ target: "Array", proto: !0, forced: u "https://slate.com/" !s }, { find: function find(e, t) { return i(this, e, 1 e.length) && (r = e.length);

for (var a = 0, t = new Array(r); a |

)/gm, "t").replace(/(

|

)/gm, "n").replace(/^
/gm, "https://slate.com/").replace(/(
n|
)/gm, "n").replace(/

(.*)

/gm, "nn===== $1 =====nn").replace(/(.*)[2-6]>/gm, "nn*** $1 ***nn").replace(/(]+)>)/gim, "https://slate.com/"), w.logMessage("https://console.appnexus.com/docs/understanding-the-debug-auction"), w.logMessage(a)), o; var t = "in response for ".concat(s.bidderCode, " adapter"); return e && e.error && (t += ": ".concat(e.error)), w.logError(t), o; }, getMappingFileInfo: function getMappingFileInfo() { return { url: "https://acdn.adnxs.com/prebid/appnexus-mapping/mappings.json", refreshInDays: 2 }; }, getUserSyncs: function getUserSyncs(e) { if (e.iframeEnabled) return [{ type: "iframe", url: "https://acdn.adnxs.com/dmp/async_usersync.html" }]; }, transformBidParams: function transformBidParams(a, e) { return a = w.convertTypes({ member: "string", invCode: "string", placementId: "number", keywords: w.transformBidderParamKeywords, publisherId: "number" }, a), e && (a.use_pmt_rule = "boolean" == typeof a.usePaymentRule && a.usePaymentRule, a.usePaymentRule && delete a.usePaymentRule, I(a.keywords) && a.keywords.forEach(P), Object.keys(a).forEach(function (e) { var r = w.convertCamelToUnderscore(e); r !== e && (a[r] = a[e], delete a[e]); })), a; }, onBidWon: function onBidWon(e) { e.native && function (e) { var r = function (e) { var r; if (w.isStr(e) && U(e)) r = e;else if (w.isArray(e)) for (var a = 0; a nfor (var i = 0; i ');
}

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 > s) && (e = !0, r = c(t)); 0 > (s += this.DB - 4)) : (t = this[i] >> (s -= 4) & 15, s this.DB ? (this[this.t - 1] |= (s & (1 > this.DB - i) : this[this.t - 1] |= s = 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 > i | _, _ = (this[a] & s) = e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);
}

0 > this.F2 : 0),
u = this.FV / d,
h = (1 = this.t) e.t = 0;else {
var i = t % this.DB,
s = this.DB - i,
o = (1 > i;

for (var _ = r + 1; _ > i;
}

0 >= this.DB;
}

if (t.t >= this.DB;
}

i += this.s;
} else {
for (i += this.s; r >= this.DB;
}

i -= t.s;
}

e.s = i > 15; 0 > 15,
c = a * n + p * _;
s = ((n = _ * n + ((32767 & c) >> 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 > 14,
c = a * n + p * _;
s = ((n = _ * n + ((16383 & c) > 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 > 2), i = 3 & o, 1) : 1 == r ? (e += c(i > 4), i = 15 & o, 2) : 2 == r ? (e += c(i), e += c(o >> 2), i = 3 & o, 3) : (e += c(i > 4), e += c(15 & o), 0));
}

return 1 == r && (e += c(i > 15) * this.mpl & this.um) = t.DV;) {
t[r] -= t.DV, t[++r]++;
}
}

t.clamp(), t.drShiftTo(this.m.t, t), 0 > 15, this.um = (1 >> 0;

for (o[s - 1][14] = Math.floor(n), o[s - 1][15] = p, _ = 0; _ >> 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 >> 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 >> t | e >> 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([214], {
496: function _(e, r, i) {
e.exports = i(497);
},
497: function _(e, r, i) {
"use strict";

Object.defineProperty(r, "__esModule", {
value: !0
}), i.d(r, "spec", function () {
return p;
});
var T = i(0),
S = i(2),
v = i(3),
t = i(10),
l = i.n(t),
a = i(498),
n = i.n(a),
s = i(1);

function g(e) {
return (g = "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 o = [S.b, S.d],
y = 100,
b = 300,
h = 3600,
w = !0,
x = {
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 d(e) {
return Array.isArray(e) && 2 === e.length && n()(e[0]) && n()(e[1]);
}

function A(e, r) {
if (d(e)) return e[0] === r[0] && e[1] === r[1];

for (var i = 0; i e.length) && (r = e.length);

for (var t = 0, i = new Array(r); t n

nnx3c!-- Rubicon Project Ad Tag --x3en
nn

nn