CM – It’s time for movies to get really, really awesome again

0

“I hope you will want to love and want to do something other than love. You can also touch it, ”said Tunisian director Leyla Bouzid before the premiere of her latest film“ Une Histoire d’Amour et de Désir ”(A Tale of Love and Desire) on July 14th at the Cannes Film Festival’s Critics’ Week 2021. What followed was nearly two hours of intense sexual tension between the two main characters in the film – complete with nudity, masturbation, and warmly lit sex scenes.

After a year-long hiatus, the Cannes Film Festival has its doors to hundreds of filmmakers, critics, industry professionals Reopened to celebrities and tourists who want to see some of the most anticipated films of the year. As with every major event during the “new normal”, the specter of the coronavirus is great: guests have to take mandatory PCR tests every 48 hours, ticketing is completely online, and for example, a mask is required everywhere. Yet the impact of the pandemic on the biggest film event of the year seems to go well beyond the festival’s protocols. After seeing dozens of films across the festival, it’s clear that filmmakers are embracing the Hot Person Summer. And if the outdoor art installation, which focuses on cinematic smooching, and the increasing nudity in the films are any clues, they’re hornier than ever.

Maybe it’s the fact that much of the world is starving to death this year has spent; Maybe we’ve seen so few new movies in the past year that such a focus now feels like an anomaly. Or maybe I just tend to watch the exact same brand of indie movies that a 7 minute sex scene would include. Whatever it is, it feels like a lot of the movies that played on the Croisette this year featured long, drawn-out sex scenes. And it’s not just free sex either. What unfortunately still feels unusual, many of these films at least try to show sensual and intimate sex on the screen, based on mutual desire and pleasure of both parties.

In all of these sex-obsessed films, bodies can be seen in full (though some bodies more than others). And even the films I’ve seen that don’t have sex scenes seem to ensure that some type of nudity, mostly female, appears, and probably only because they can.

Take the director’s Mother Sunday for example Eva Husson shot entirely during the pandemic. The wafer-thin time film, which premiered in Cannes on July 9th, is divided into three acts: the first and most important of them follows the maid and aspiring writer Jane (Odessa Young) and the charming son of a neighboring middle-class family, Paul Sheringham (Josh O’Connor) while they meet for a secret afternoon rendezvous. Although they only meet a few days before Paul plans to marry another woman, the empty property in Sheringham gives the couple space to trade freely. Through uncensored, long-lasting close-ups of the nude lovers in the nudes, Mothering Sunday creates a breathtaking portrait of intimacy that feels especially strong after more than a year of isolation. As the story unfolds in flashbacks and overlapping timelines, the sex scenes serve as an anchor for a grieving Jane. Mia Hansen-Løves Bergman Island similarly shows sex between two unfaithful lovers; Where the scenes from Mother Sunday were obviously the focus of attention throughout the film, those from Bergman Island took a back seat. Still, they carry the film as it explores the complex themes of jealousy and perception.

Other films with prominent sex scenes, such as Annette by Leos Carax and Benedetta by Paul Verhoeven, are less successful at creating that real sense of sexiness , but they prove to be noteworthy mentions nonetheless. They too use sex as an instrument of action that symbolizes the relationships between desire and control or pain and religion. But in both films, which were directed by male directors, the passionate sex scenes are carried by the characters’ almost insatiable hunger one after the other as well as by the male gaze.

Annette’s Marion Cottillard and Adam Driver unreservedly play the role of intoxicating and poisonous lovers and give their gender a camp-like aesthetic prepared for voyeurism. (One particular scene of the two in an unexpectedly erotic performance quickly became the most talked-about part of the film after the premiere.) The film also contains a largely undeserved, unnecessary reference to Driver’s character, controversial comedian Henry McHenry, who is implicated # MeToo scandal, in which the allegations hardly have an effect or are taken into account. More than anything, this shot left the impression that Carax was just trying to tick a box without facing the reality of sexual violence. And he’s not the only male directors in Cannes this year who have made cumbersome and unsuccessful attempts to combat sexual assault: Sean Penn’s Flag Day also features an ill-considered rape scene in which there is no consequence for the perpetrator. He is simply never seen again, which leads to a disturbing trivialization of sexual assault.

Verhoeven’s happy fixation on two nuns who risk their lives for passionate, shameless sex in Benedetta feels similarly performative to Annette. Although the relationship between the two women is no more vivid than in other films, it seems almost exploitative in its excess and stereotyping of lesbian relationships. Verhoeven and Carax largely fail to restore the same kind of authentic intimacy in which Husson and Hansen-Løve were so excellent, sometimes to the extreme – but the focus on mutual enjoyment still largely resonates.

After more than a year Having spent indoors with most of our interpersonal relationships limited to screens, texts, and zoom calls, watching movies with such a focus on physical connection feels surprisingly cathartic. Focusing on sex of all things, an act that invites both physical and emotional closeness, is a much-needed escape from the loneliness and general distance that has characterized much of the past 18 months, presented in a way that feels powerful at the moment .

« )); var p = g (h [i.size_id] .split ( » x « ). map (function (e) {return Number (e)}), 2); f.width = p [0], f.height = p [1]} f.rubiconTargeting = (Array.isArray (i.targeting)? i.targeting: []). reduce (function (e, t) {return e [t. key] = t. values ​​[0], e}, {rpfl_elemid: l.adUnitCode}), t.push (f)} else n.logError (« Rubicon: bidRequest undefined at index position: ». concat (o), r , e); return t}, []). sort (function (e, t) {return (t.cpm || 0) – (e.cpm || 0)})}, getUserSyncs: function (e, t , r, n) {if (! B&&e.iframeEnabled) {var i = «  »; return r&& « string » == typeof r.consentString&& (« boolean » == typeof r.gdpr = « .pplies? ipr = » .pplies? concat (Number r.gdprApplies), « &gdpr_consent = »). concat (rc onsentString): i = « ? gdpr_consent = ». concat (r.consentString)), n&& (i = «  ». concat (i? « & »: « ? », « us_privacy = »). concat (encodeURIComponent (n) )), B =! 0, {type: « iframe », url: « https: // » .concat (y.syncHost || « eus », « .rubiconproject.com / usync.html ») i}}} , transformBidParams: function (e, t) {return n.convertTypes ({acc ountId: « number », siteId: « number », zoneId: « number »}, e)}}; function S (e, t) {var r = obgetConfig (« pageUrl »); return e.params.referrer? r = e.params.referrer: r || (r = t.refererInfo.referer), e.params.secure? r.replace (/ ^ http: / i, « https: »): r} Function A (e ) {var t, r = document.getElementById (e.adUnitCode); (t = r.querySelector (« div [id ^ = ‘google_ads’] »)) &&t.style.setProperty (« display », « none ») , function (e) {var t = e.querySelector (« script [id ^ = ‘sas_script’] »), r = t&&t.nextSibling; r&& « iframe » === r.localName&CSSEAND « PertyR. , « none »)} (r); var n = e.renderer.getConfig (); e.renderer.push (function () {window.MagniteApex.renderAd ({width: e.width, height: e.height, vastUrl: e.vastUrl, placement: {attachTo: « # ». concat (e.adUnitCode), align: n.align || « center », position: n.position || « append »}, closeButton: n.closeButton ||! 1, label: n.label || void 0, collapse: n.collapse ||! 0})})} Function I (e, t) {var r = e.params; if (« video » = == t) {var i = []; return r.video&CSSEANDCH ARr.video.playerWidth&&r.video.playerHeight? i = [r.video.playerWidth, r.video.playerHeight]: Array.isAr ray (n.deepAccess (e, « mediaTypes.video.playerSize »)) &&1 === e .mediaTypes.video.playerSize.length? i = e.mediaTypes.video.playerSize [0]: Array.isArray (e. sizes) &&e.sizes.length> 0&&Array.isArray (e.sizes [0]) &&e.sizes [0] .length> 1&& (i = e.sizes [0], i} return o .isArray (r.sizes)? o = r.sizes: void 0! == n.deepAccess (e, « mediaTypes.banner.sizes »)? o = O (e.mediaTypes.banner.sizes): Array.isArray (e.sizes) &&e.sizes.length> 0? o = O (e.sizes): n.logWarn (« Rubicon: No sizes were set up or found »), x (o)} function E (e, t , r) {var i = {user: {ext: {data: f ({}, e. params.visitor)}}, site: {ext: {data: f ({}, e.params.inventory)}}}; e.params.keywords&& (i.site.keywords = n.isArray (e.params. keywords)? e.params.keywords.join (« , »): e.params.keywords); var s = n.mergeDeep ({}, obgetConfig (« ortb2 ») | | {}, i), c = n .deepAccess (e.ortb2Imp, « ext.data ») || {}, d = {user: [3], site: [1,2]}, u = {user: « tg_v. », site: « tg_i . « , adserver: » tg_i.dfp_ad_unit_code « , pbadslot: » tg_i.pbadslot « , keywords: » kw « }, l = function (e, t, r) {if ( » data « === t&&Array.isArray (e )) return e.filter (function (e) {return e.segment&&n.deepAccess (e, « ext.segtax ») &&d [r] &&-1! == d [r] .indexOf (n.deepAccess (e, « ext.segtax »))}). map (function (e) {var t = e.segment.filter (function (e) {return e.id}). reduce (function (e, t) {return e. push (t.id), e}, []); if (t.length> 0) return t.toString ()}). toString (); if (« object »! == v (e) || array .isArray (e)) {if (void 0! == e) return Array.isArray (e)? e.filter (function (e) {if (« Object »! = = v (e) &&void 0! == e) return e.to String (); n.logWarn (« Rubicon: Filtered value: », e, « for key », t, « : Expected value is String, Integer, or an array of Strings / Ints »)}). ToString (): e.toString ()} else n.logWarn (« Rubicon: Filtered FPD key: », t, « : Expected value is String, Integer, or an array of Strings / Ints »)}, p = function (e, t , n) {var i =! (arguments.length> 3&&void 0! == arguments [3]) || arguments [3], o = l (e, n, t), a = u [n] &&i?  » « .concat (u [n]): » data « === n? » « . concat (u [t], » iab « ): » « . concat (u [t]). concat (n); r [a] = r [a]? r [a] .concat (« , », o): o}; Object.keys (c) .forEach (function (e) {« adserver » === e? [ » name « , » adslot « ]. forEach (function (t) {c [e] [t] && (c [e] [t] = c [e] [t] .toString (). replace (/ ^ / /, «  »))}): « pbadslot » === e&& (c [e] = c [e] .toString (). replace (/ ^ / /, » »)))),t===ab?([« site », »user » Autovermietung ).forEach(function(e){Object.keys(s[e]).forEach (function (t) {« site » === e&& « content » === t&&s [e] [t] .data? p (s [e] [t] .data, e, « data »): « ext « ! == t? p (s [e] [t], e, t): s [e] [t] .data&&Object.keys (s [e] .ext.data) .forEach (function (t) { p (s [e] .ext.data [t], e, t,! 1)})})}), Object.keys (c) .forEach (function (e) {« adserver » === e? p (c [e] .adslot, name, e): p (c [e], « site », e)})) 🙁 Object.keys (c) .length&&n.merg eDeep (r.imp [0] .ext, {data: c}), n.mergeDeep (r, s))} function O (e) {return n.parseSizesInput (e) .reduce (function (e, t) {var r = parseInt (h [ t], 10); return r&&e.push (r), e}, [])} function T (e) {return « object » === v (n.deepAccess (e, « params.video »)) &&void 0! == n.deepAccess (e, « mediaTypes. ». Concat (ad))} function C (e) {var t = arguments.length> 1&&void 0! == arguments [1] &&Argumente [1]; T ( e) return? -1 === [« outstream », « instream »]. indexOf (n.deepAccess (e , « mediaTypes. ». concat (ad, « . context »)))? void (t&&n.logError (« Rubicon: mediaTypes.video.context must be outstream or instream »)): I (e, « video »). length-1 || i> -1? -1 === n? 1: -1 === i? -1: ni: er})} function j (e) {var t = parseInt (n.deepAccess ( e, « params.video.size_id »)); return isNaN (t)? « outstream » === n.deepAccess (e, « mediaTypes. ». concat (ad, « . context »))? 203: 201: t} Function P (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 D (e) {var t =! 0, r = Object.prototype. toString.call ([]), i = {mimes: r, protocols: r, linearity: Object.prototype.toString.call (0), api: r}; return Object.keys (i) .forEach (function (r ) {Object.prototype.toStri ng.call (n.deepAccess (e, « mediaTypes.video. » r))! == i [r] && (t =! 1, n.logError (« Rubicon: mediaTypes.video. » r « is required and must be of the type: « i [r]))}), t} Function k (e) {var t =! 1, r = [ » asi « , » sid « , » hp « ]; return e.nodes? ((t = e.nodes.reduce (function (e, t) {return e? r.every (function (e) {return t.hasOwnProperty (e)}): e} ,! 0)) || n. logError (« Rubicon: required Schain parameters are missing »), t): t} Function R (e, t) {return « rp_schain » === e? « rp_schain = ». concat (t): «  ». concat ( e, « = »). concat (encodeURIComponent (t))} var B =! 1; Object t (i.registerBidder) (_)}}, [622]), pbjsChunk ([101], {658: function ( e, t, r) {e.exports = r (659)}, 659: function (e, t, r) {Object.defineProperty (t, « __ esModule », {value:! 0}), rd (t, « spec », function () {return m}), rd (t, « _ isInbounds », function () {return _}), t._getPlatform = S; var n = r (1), i = r (0) , o = r (2), a = r (3), s = r (13), c = r (55); function d (e, t) {return function (e) {if (Array.isArray (e) ) Return e} (e) || function (e, t) {var r = null = = e? Null: « undefined »! = Type of symbol&&e [symbol.iter ator] || e [« @@ iterator »]; if (null! = r) {var n, i, o = [], a =! 0, s =! 1; try {for (r = r.call (e);! (a = (n = r.next ()). done) && (o.push (n.value) ,! t || o.length! == t); a =! 0);} catch (e) {s =! 0, i = e} finally {try {a || null == r.return || r.return () } finally {if (s) throw i}} return o}} (e, t) || function (e, t) {if (e) {if (« String » == type of e) return u (e, t); var r = Object.prototype.toString.call (e) .slice (8, -1); return « Object » === r&&e.constructor&& (r = e.constructor.name), « Map » == = r || « Set » === r? Array.from (e): « Arguments » === r || / ^ (?: Ui | I) nt (?: 8 | 1 6 | 32) (? : Clamped)? Array $ /. Test (r)? U (e, t): void 0}} (e, t) || function () {throw new TypeError (« Invalid attempt at destructuring non-iterable instance. NTo iterable to , non-array objects must have a [Symbol.iterator] () method. « )} ()} Function u (e, t) {(null == t || t> e.length) && (t = e.length); for (var r = 0, n = new Array (t); r0) {var s = Object (i.deepClone) (e [0] .userId); s.id5id&& (s.id5id = Object (i.deepAccess) (s, « id5id.uid »)), o.userid = JSON.stringify (s)} var d = Object (i.deepAccess) (e [0] , « userIdAsEids »); Array.isArray (d) &&d.length> 0&& (o.eids = JSON.stringify (d)); var u = e [0] .params.keywords; if (u&& = .) u), t&&t.uspConsent&& (o.us_privacy = t.uspConsent),! 0 === abgetConfig (« coppa »)? o.coppa = 1: o.coppa = 0, Object (i.isEmpty) (n )) return null; var m = « https://apex.go.sonobi.com/trinity.json »; return Object (i.deepAccess) (e [0], « params.bid_request_url ») && (m = Object (i.deepAccess) (e [0], « params.bid_request_url »)), {method: « GET », url: m, withCredentials:! 0, data: o, bidderRequests: e}}, interpretResponse: function (e , t) {var r = e.body, n = [], o = t.data.ref; return 0 === Object.keys (r.slots) .length || Object.keys (r.slots). forEach (function (e) {var a = r.slots [e], c = e.split (« | »). slice (-1) [0], u = function (e, t) {for (var r = 0; r2&&void 0! = = Arguments [2]? Argu mente [2]: {}, n = sainstall ({id: t.aid, url: « https://mtrx.go.sonobi.com/sbi_outstream_renderer.js », config: r, load:! 1, adUnitCode: e}); try {n.setRender (A)} catch (e) {Object (i.logWarn) (« Prebid error when calling setRender on renderer », e)} return n.setEventHandlers ({impression: function () {return Object (i.logMessage) (« Sonobi Outstream Video Impression Event »)}, loaded: function () {return Object (i.logMessage) (« Sonobi Outstream Video Loaded Event »)}, ended: function () {Object (i.logMessage) (« Sonobi Outstream Renderer Video Event »)}}), n} (including adUnitCode, _, Object (i.deepAccess) (u, « renderer.options »)); var S = Object ( i.deepAccess) (u, « params.sizes »); Array.isArray (S) CS SEANDCHAR&Array.isArray (S [0]) && (S = S [0]), S&& (_. width = S [0] , _. height = S [1])} n.push (_)}}), n}, getUserSyncs: function (e, t, r, n) {var i = []; try {e.pixelEnabled&&t [0 ] .body.sbi_px.forEach (function (e) {i.push ({type: e .type, url: e.url})})} catch (e) {} return i}}; function b (e) {return Object (i.deepAcc ess) (e, « mediaTypes.video »)? «  »: e.params.sizes? Object (i.parseSizesInput) (e.params.sizes) .join (« , »): Object (i.deepAccess) (e , « mediaTypes.banner.sizes »)? Object (i.parseSizesInput) (Object (i.deepAccess) (e, « mediaTypes.banner.sizes »)). join (« , »): e.sizes? Object (i .parseSizesInput) (e.sizes) .join (« , »): void 0} function v (e) {return e.params.floor, «  »} function y (e) {var t = Object (i.deepAccess) (e, « ortb2Imp.ext.data.pbadslot ») || Object (i.deepAccess) (Object (i.getGptSlotInfoForAdUnitCode) (e.adUnitCode), « gptSlot ») || e.params.ad_unit; return t? « | Gpid = ». Concat (t): «  »} var h = function (e, t) {return function (r, n) {return « video » === e || « outstream » === e? function (e, t, r) {return « https: // » .konz at (e, « apex.go.sonobi.com/vast.xml?vid = »). concat (t, « &ref = »). concat (encodeURIComponent (r))} (r, n, t):  »}}, _ = function () {var e = arguments.length> 0&&void 0! == arguments [0]? arguments [0]: window; return function () {var t = arguments. length> 0&&void 0! == arguments [0]? arguments [0]: 0, r = arguments.length> 1&&void 0! == arguments [1]? arguments [1]: Number.MAX_SAFE_INTEGER; return e.innerWidth> = t&CSSEAND innerWidth 0&&void 0! == arguments [0]? arguments [0]: window, t = _ (e), r = 992, n = 768 ; return t (0.768)? « mobile »: t (n, r)? « tablet »: « desktop »} function A (e) {e.renderer.push (function () {var t = d (e.getSize ( ) .split (« x »), 2), r = t [0], n = t [1], i = new window.SbiOutstreamRenderer; i.init ({vastUrl: e.vastUrl, height: n, width: r}), i.setRootElement (e.adUnitCode)})} Object (n.registerBidder) (m)}}, [658]), pbjsChunk ([100], {666: function (e, t, r) { e.exports = r (667)}, 667: function (e, t, r) {Object.defineProperty (t, « __ esM odule », {value:! 0}), rd (t, « GOOGLE_CONSENT », function ( ) {return d}), rd (t, « spec », function () {return u}); var n = r (0), i = r (3), o = r (13), a = r ( 1), s = r (2); function c (e) {return (c = « function » == symbol type&& « 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 d = {approved_providers: [« 3 « , » 7 « , » 11 « , » 12 « , » 15 « , » 20 « , » 22 « , » 35 « , » 43 « , » 46 « , » 48 « , » 55 « , » 57 « , « 61 », « 62 », « 66 », « 70 », « 80 », « 83 », « 85 », « 86 », « 89 », « 93 », « 108 » « , » 122 « , » 124 « , » 125 « , » 126 « , » 131 « , » 134 « , » 135 « , » 136 « , » 143 « , » 144 « , » 147 « , » 149 « , « 153 », « 154 », « 159 », « 161 », « 162 », « 165 », « 167 », « 171 », « 178 », « 184 », « 188 », « 192 », « 195 « , » 196 « , » 202 « , » 209 « , » 211 « , » 218 « , » 221 « , » 228 « , » 229 « , » 230 « , » 236 « , » 239 « , » 241 « , « 253 », « 255 », « 259 », « 266 », « 271 », « 272 », « 274 », « 286 », « 291 », « 294 », « 303 », « 308 », « 310 » « , » 311 « , » 313 « , » 314 « , » 316 « , » 317 « , » 322 « , » 323 « , » 327 « , » 336 « , » 338 « , » 340 « , » 348 « , « 350 », « 358 », « 359 », « 363 », « 36 7 », « 370 », « 371 », « 384 », « 385 », « 389 », « 393 », « 394 »,  » 397 « , » 398 « , » 407 « , » 414 « , » 415 « , » 424 « , » 429 « , » 430 « , » 432 « , » 436 « , » 438 « , » 440 « , » 442  » , « 443 », « 445 », « 448 », « 449 », « 453 », « 459 », « 479 », « 482 », « 486 », « 491 », « 492 », « 494 »,  » 495 « , » 503 « , » 505 « , » 510 « , » 522 « , » 523 « , » 528 « , » 537 « , » 540 « , » 550 « , » 559 « , » 560 « , » 568  » , « 571 », « 574 », « 575 », « 576 », « 584 », « 585 », « 587 », « 588 », « 590 », « 591 », « 592 », « 595 »,  » 609 « , » 621 « , » 624 « , » 723 « , » 725 « , » 733 « , » 737 « , » 776 « , » 780 « , » 782 « , » 787 « , » 797 « , » 798  » , « 802 », « 803 », « 814 », « 817 », « 820 », « 821 », « 827 », « 829 », « 839 », « 853 », « 864 », « 867 »,  » 874 « , » 899 « , » 904 « , » 922 « , » 926 « , » 931 « , » 932 « , » 933 « , » 938 « , » 955 « , » 973 « , » 976 « , » 979  » , « 981 », « 985 »,  » 987 « , » 991 « , » 1003 « , » 1024 « , » 1025 « , » 1027 « , » 1028 « , » 1029 « , » 1033 « , » 1034 « , » 1040 « , » 1047 « , » 1048  » , « 1051 », « 1052 », « 1053 », « 1054 », « 1062 », « 1063 », « 1067 », « 1072 », « 1085 », « 1092 », « 1095 », « 1097 »,  » 1099 « , » 1100 « , » 1107 « , » 1126 « , » 1127 « , » 1143 « , » 1149 « , » 1152 « , » 1162 « , » 1166 « , » 1167 « , » 1170 « , » 1171  » , « 1172 », « 1188 », « 1192 », « 1199 », « 1201 », « 1204 », « 1205 », « 1211 », « 1212 », « 1215 », « 1220 », « 1225 »,  » 1226 « , » 1227 « , » 1230 « , » 1232 « , » 1236 « , » 1241 « , » 1248 « , » 1250 « , » 1252 « , » 126 8 « , » 1275 « , » 1276 « , » 1284 « , » 1286 « , » 1298 « , » 1301 « , » 1307 « , » 1312 « , » 1313 « , » 1317 « , » 1329 « , » 1336 « , » 1344 « , » 1345 « , » 1356 « , « 1362 », « 1365 », « 1375 », « 1403 », « 1409 », « 1411 », « 1415 », « 1416 », « 1419 », « 1423 », « 1440 », « 1442 », « 1449 » « , » 1451 « , » 1455 « , » 1456 « , » 1468 « , » 1496 « , » 1503 « , » 1509 « , » 1512 « , » 1514 « , » 1517 « , » 1520 « , » 1525 « , « 1540 », « 1547 », « 1548 », « 1555 », « 1558 », « 1570 », « 1575 », « 1577 », « 1579 », « 1583 », « 1584 », « 1591 », « 1598 « , » 1603 « , » 1608 « , » 1613 « , » 1616 « , » 1626 « , » 1631 « , » 1633 « , » 1638 « , » 1642 « , » 1648 « , » 1651 « , » 1652 « , « 1653 », « 1660 », « 1665 », « 1667 », « 1669 », « 1671 », « 1674 », « 1677 », « 1678 », « 1682 », « 1684 », « 1697 », « 1703 « , » 1705 « , » 1716 « , » 1720 « , » 172 1 « , » 1722 « , » 1725 « , » 1732 « , » 1733 « , » 1735 « , » 1739 « , » 1741 « , » 1745 « , » 1750 « , » 1753 « , » 1760 « , » 1765  » , « 1769 », « 1776 », « 1780 », « 1782 », « 1786 », « 1791 », « 1794 », « 1799 », « 1800 », « 1801 », « 1810 », « 1827 »,  » 1831 « , » 1832 « , » 1834 « , » 1837 « , » 1840 « , » 1843 « , » 1844 « , » 1845 « , » 1858 « , » 1859 « , » 1863 « , » 1866 « , » 1870  » , « 1872 », « 1875 », « 1878 », « 1880 », « 1882 », « 1883 », « 1889 », « 1892 », « 1896 », « 1898 », « 1899 », « 1902 »,  » 1905 « , » 1911 « , » 1922 « , » 1928 « , » 1929 « , » 1934 « , » 1942 « , » 1943 « , » 1944 « , » 1945 « , » 1958 « , » 19 60 « , » 1962 « , » 1963 « , » 1964 « , » 1967 « , » 1968 « , » 1978 « , » 1985 « , » 1986 « , » 1987 « , » 1998 « , » 2003 « , » 2007 « , » 2012 « , « 2013 », « 2027 », « 2035 », « 2038 », « 2039 », « 2044 », « 2047 », « 2052 », « 2056 », « 2059 », « 2062 », « 2064 », « 2068 « , » 2070 « , » 2072 « , » 2078 « , » 2079 « , » 2084 « , » 2088 « , » 2090 « , » 2095 « , » 2100 « , » 2103 « , » 2107 « , » 2109 « , « 2113 », « 2115 », « 2121 », « 2127 », « 2130 », « 2133 », « 2137 », « 2140 », « 2141 », « 2145 », « 2147 », « 2150 », « 2156 « , » 2166 « , » 2170 « , » 2171 « , » 2176 « , » 2177 « , » 2179 « , » 2183 « , » 2186 « , » 2192 « , » 2198 « , » 2202 « , » 2205 « , « 2214 », « 2216 », « 2219 », « 2220 », « 2222 », « 2223 », « 2224 », « 2225 », « 2227 », « 2228 », « 2234 », « 2238 », « 2247 « , » 2251 « , » 2253 « , » 2262 « , » 2264 « , » 2271 « , » 2276 « , » 2278 « , » 2279 « , » 2282 « , » 2290 « , » 2292 « , » 2295 « , » 2299 « , » 2305 « , » 2306 « , » 2310 « , « 2311 », « 2312 », « 2315 », « 2320 », « 2325 », « 2328 », « 2331 », « 2334 », « 2335 », « 2336 », « 2337 », « 2343 », « 2346 » « , » 2354 « , » 2357 « , » 2358 « , » 2359 « , » 2366 « , » 2370 « , » 2373 « , » 2376 « , » 2377 « , » 2380 « , » 2382 « , » 2387 « , « 2389 », « 2392 », « 2394 », « 2400 », « 2403 », « 2405 », « 2406 », « 2407 », « 2410 », « 2411 », « 2413 », « 2414 », « 2415 « , » 2416 « , » 2418 « , » 2422 « , » 2425 « , » 2427 « , » 2435 « , » 2437 « , » 2440 « , » 2441 « , » 2447 « , » 2453 « , » 2459 « , « 2 461 », « 2462 », « 2464 », « 2467 », « 2468 », « 2472 », « 2477 », « 2481 », « 2484 », « 2486 », « 2492 », « 2493 »,  » 2496 « , » 2497 « , » 2498 « , » 2499 « , » 2504 « , » 2506 « , » 2510 « , » 2511 « , » 2512 « , » 2517 « , » 2526 « , » 2527 « , » 2531  » , « 2532 », « 2534 », « 2542 », « 2544 », « 2552 », « 2555 », « 2559 », « 2563 », « 2564 », « 2567 », « 2568 », « 2569 »,  » 2571 « , » 2572 « , » 2573 « , » 2575 « , » 2577 « , » 2579 « , » 2583 « , » 2584 « , » 2586 « , » 2589 « , » 2595 « , » 2596 « , » 2597  » , « 2601 », « 2604 », « 2605 », « 2609 », « 2610 », « 2612 », « 2614 », « 2621 », « 2622 », « 2624 », « 2628 », « 2629 »,  » 2632 « , » 2634 « , » 2636 « , » 2639 « , » 2643 « , » 2645 « , » 2646 « , » 2647 « , » 2649 « , » 2650 « , » 2651 « , » 2652 « , » 2656  » , « 2657 », « 2658 », « 2660 », « 2661 » , « 2662 », « 2663 », « 2664 », « 2669 », « 2670 », « 2673 », « 2676 », « 2677 », « 2678 », « 2681 », « 2682 », « 2684 »,  » 2685 « , » 2686 « , » 2689 « , » 2690 « , » 2691 « , » 2695 « , » 2698 « , » 2699 « , » 2702 « , » 2704 « , » 2705 « , » 2706 « , » 2707  » , « 2709 », « 2710 », « 2713 », « 2714 », « 2727 », « 2729 », « 2739 », « 2758 », « 2765 », « 2766 », « 2767 », « 2768 »,  » 2770 « , » 2771 « , » 2772 « , » 2776 « , » 2777 « , » 2778 « , » 2779 « , » 2780 « , » 2783 « , » 2784 « , » 2786 « , » 2787 « , » 2791  » , « 2792 », « 2793 », « 2797 », « 2798 », « 2801 », « 2802 », « 2803 », « 2805 », « 2808 », « 2809 », « 2810 », « 2811 »,  » 2812 « , » 2813 « , » 2814 « , » 2817 « , » 2818 « , » 2824 « , » 2826 « , » 2827 « , » 2829 « , » 2830 « , » 2831 « , » 2832 « , » 2834  » , « 2836 », « 2838 », « 2840 », « 2842 », « 2843 », « 2844 », « 2850 », « 2851 », « 2852 », « 2854 », « 2858 », « 2860 »,  » 2862 « , » 2864 « , » 2865 « , » 2866 « , » 2867 « , » 2868 « , » 2869 « , » 2871 « ]}, u = {code: » spotx « , gvlid: 165, aliase: [ » spotx « ], supportedMediaTypes: [sd], isBidRequestValid: function (e) {if (e&& » object « ! == c (e.params)) return n.logError ( » spotx: params is not defined or wrong in the bidder settings . « ) ,! 1; if (! N.deepAccess (e, » mediaTypes.video « )) return n.logError ( » spotx: mediaType s.video is not available in the bidder settings. « ) ,! 1; var t = n.deepAccess (e, » mediaTypes.video.playerSize « ); if (! t ||! n.isArray (t)) return n .logError (« spotx: mediaTypes.video.playerSize is not defined in the bidder settings. ») ,! 1; if (! n.getBidIdParameter (« channel_id », e.params)) return n.logError (« spotx: channel_id is not available in bidder parameters « ) ,! 1; if (( » outstream « == n.deepAccess (e, » mediaTypes.video.context « ) || » outstream « == n.deepAccess (e, » params.ad_unit  » )) &CSSE ANDCHAR! N.getBidIdParameter (« outstream_function », e.params)) {if (! N.getBidIdParameter (« outstream_options », e.params)) return n.logError (« spotx: please define or overwrite outstream_options parameters You can use the standard SpotX outstreamX rendering by defining your own outstream function with the field outstream_function. « ) ,! 1; if (! N.getBidIdParameter ( » slot « , e.params.outstream_options)) return n.logError ( » spotx: please define the parameter slot in the outstream_options object in the configura tion. « ) ,! 1} return! 0}, buildRequests: function (e, t) {var r = t.refererInfo.referer, o = !! r.match (/ ^ https: /); return e .map (function (e) {var a; a = n.getBidIdParameter (« page », e.params)? n.getBidIdParameter (« page », e.params): ibgetConfig (« pageUrl »)? ibgetConfig (« pageUrl ») : r; var s = n.getBidIdParameter (« channel_id », e.params), c = null, u = n.deepAccess (e, « mediaTypes.video.playerSize »), l = u [0] [0], f = u [0] [1], p = o || (n.getBidIdParameter (« secure », e.params)? 1: 0), g = {sdk_name: « Prebid 1 », versionOrtb: « 2.3 »} ; if («  »! = n.getBidIdParameter (« hide_skin », e.params) CSSEANDCH AR& (g.hide_skin = !! n.getBidIdParameter (« hide_skin », e.params)), «  »! = n.getBidIdParameter ( « ad_volume », e.params) && (g.ad_volume = n.getBidIdParameter (« ad_volume », e.params)), «  »! = n.getBidIdParameter (« ad_unit », e.params) && (g n.getBidIdParameter (« ad_unit », e.params)), «  »! = n. getBidIdParameter (« outstream_options », e.params) && (g.outstream_options = n.getBidIdParameter (« outstream_options », e.params)), «  »! = n.getBidIdParameter (« outstream_function », e.CHARCSS. &CSS. outstream_function = n.getBidIdParameter (« outstream_function », e.params)), «  »! = n.getBidIdParameter (« custom », e.params) && (g.custom = n.getBidIdParameter (« custom », e.params) ), «  »! = n.getBidIdParameter (« pre_market_bids », e.params) &&n.isArray (n.getBidIdParameter (« pre_market_bids », e.params))) {var m = n.getBidIdParameter (« pre_market_bids », e. params); for (var b in g.pre_market_bids = [], m) {var v = m [b], y = «  »; v.vast_url? y = ‘ ‘v.vast_url » « : v.vast_string&& (y = v.vast_string), g.pre_market_bids.push ({id: v.deal_id, seatbid: [{bid: [{impid: Date.now (), dealid: v.deal_id, price: v.price, adm: y}]}], cur: v.currency, ext: {event_log : [{}]}})}} var h = n.getBidIdParameter (« mime s « , e.params) || [ » application / javascript « , » video / mp4 « , » video / webm « ], _ = {id: e.bidId, secure: p, video: {w: l, h : f, ext: g, mimes: h}}; «  »! = n.getBidIdParameter (« start_delay », e.params) && (_. video.startdelay = 0 Boolean (n.getBidIdParameter (« start_delay », e. params))), «  »! = n.getBidIdParameter (« min_duration », e.params) && (_. video.minduration = n.getBidIdParameter (« min_duration », e.params)), «  »! = n.getBidIdParameter (« max_duration », e.params) && (_. video.maxduration = n.getBidIdParameter (« max_duration », e.params)), «  »! = n.getBidIdParameter (« placement_type », e.params) && (_ .video.ext.placement = n.getBidIdParameter (« placement_type », e.params)), «  »! = n. getBidIdParameter (« position », e.params) && (_. video.ext.pos = n.getBidIdParameter (« position », e.params)), e.crumbs&&e.crumbs.pubcid&CSSEidcrumb )s.pubc = e.p. ; var S = navigator.language? « language »: « userLanguage », A = {id: s, imp: _, site: {id: «  », page: a, content: « content »}, device: {h : screen.height, w: screen.width, dnt: n.getDNT ()? 1: 0, language: navigator [S] .split (« -« ) [0], make: navigator.vendor? navigator.vendor: «  », ua: navigator.userAgent}, ext: {wrap_response: 1}}; ibgetConfig (« cache ») &&i.b.getConfig (« cache.url ») &&! 0 === ibgetConfig (« cache. ignoreBidderCacheKey »  » ) && (A.ext.wrap_response = 0), n.getBidIdParameter (« number_of_ads », e.params) && (A.ext.number_of_ads = n.getBidIdParameter (« number_of_ads) », e.para .m = {}; return 1 == n.getBidIdParameter (« spotx_all_google_consent », e.params) && (I.consented_providers_settings = d), t&&t.gdprConsent&CSSEANDC HAR ( I.consent = t.gdprConsent.consentString, void 0! == t.gdprConsent.gdprApplies&&n.deepSetValue (A, « regs.ext.gdpr », t.gdprConsent.gdprApplies? 1: 0, .deApplies? 1: 0)) « regs.ext.us_privacy », t.uspConsent), n.deepAccess (e, « userId.id5id.uid ») && (I.eids = I.eids || [], I.eids. push ({source: « id5-sync.com », uids: [{id: e.userId.id5id.uid, ext: e.userId.id5id.ext || {}}]})), c&& (I. fpc = c), e&&e.schain&& (A.source = {ext: {schain: e.schain}}), e&&e.userId&&e.userId.tdid&CeSSAND (I. push .org « , uids: [{id: e.userId.tdid, ext: {rtiPartner: » TDID « }}]})), n.isEmpty (I) || (A.user = {ext: I}) , {method: « POST », url: « https://search.spotxchange.com/openrtb/2.3/dados/ » s « ? src_sys = prebid », data: A, bidRequest: t}})}, interpretResponse: function (e, t) {var r = [], a = e.body; return a&&n.isArray (a.se atbid) &&n._each (a.seatbid, function (e) {n._each (e.bid, function (e) {var c = {}; for (var d in t.bidRequest.bids) e.impid == t.bidRequest.bids [d] .bidId&& (c = t.bidRequest.bids [d]); n._each (c.params.pre_market_bids, function (t) {t.deal_id == e.id&& (e.price = t.price, a.cur = t.currency)}); var u = {requestId: c .bidId, currency : a.cur || « USD », cpm: e.price, creativeId: e.crid || «  », dealId: e.dealid || «  », ttl: 360, netRevenue:! 0, channel_id: a.id, mediaType: sd, width: ew, height: eh}; ibgetConfig (« cache ») &&i. b.getConfig (« cache.url ») &&! 0 === ibgetConfig (« cache.ignoreBidderCacheKey »)? u.vastXml = e.adm: (u.cache_key = e.ext.cache_key, u.vastUrl = « https : //search.spotxchange.com/ad/vast.html? key = « e.ext.cache_key, u.videoCacheKey = e.ext.cache_key), u.meta = u.meta || {}, e&&e. adomain&&e.adomain.length> 0&& (and meta.advertiserDomains = e.adomain); var f = n.deepAccess (c, « mediaTypes.video.context »), p = n.de epAccess (c, « params.ad_unit « ); if ( » outstream « == f || » outstream « == p) {var g = n.deepAccess (c, » mediaTypes.video.playerSize « ), m = oa install ({id: 0, url : « / », config: {adText: « SpotX outstream video ad via Prebid.js », player_width: g [0] [0], player_height: g [0] [1], content_page_url: n.deepAccess (t,  » data.site.page « ), ad_mute: !! n.deepAccess (c, » params.ad_mute « ), hide_skin: !! n.deepAccess (c, » params.hide_skin « ), outstream_options: n.deepAccess (c, « params.outstream_options »), outstream_function: n.deepAccess (c, « params.outstream_function »)}}); try {m.setRender (l), m.setEventHandlers ({impression: function () {return n.logMessage ( « SpotX Outstream Video Impression Event »)}, loaded: function () {return n.logMessage (« SpotX Outstream Video Loaded Event »)}, ended: function () {n.logMessage (« SpotX Outstream Renderer Video Event ») )}})} catch (e) {n.logWarn (« Prebid Error calling s etRender or setEventHandlers on renderer « , e)} u.renderer = m} r.push (u)})}), r}}; function l (e) {var t = function (e) {var t = n. getBidIdParameter (« slot », e.renderer.config.outstream_opt ionen); n.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 i = {}; i [« data-spotx_channel_id » ] = «  » e.channel_id, i [« data-spotx_vast_url »] = «  » e.vastUrl, i [« data-spotx_content_page_url »] = e.renderer.config.content_page_url, i [« data-spotx_ad_unit »] =  » incontent « , n.logMessage ( » [SPOTX] [renderer] standard behavior « ), n.getBidIdParameter ( » ad_mute « , e.renderer.config.outstream_options) && (i [ » data-spotx_ad_mute « ] = » 1 « ), i [« data-spotx_collapse »] = « 0 », i [« data-spotx_autoplay »] = « 1 », i [« data-spotx_blocked_autoplay_override_mode »] = « 1 », i [« data-spotx_video_slot_can_autoplay »] = « 1 « ; var o = n.getBidIdParameter ( » playersize_auto_adapt « , e.renderer.config.outstream_options); if (o& &n.isBoolean (o) &&! 0 === o) {var a = e.width&&n.isNumber (e.width) &&e.heightCSSEAND. e .width / e.height: 4/3, s = window.document.getElementById (t) .clientWidth, c = e.renderer.config.player_width, d = e.renderer.config.player_height, u = 0, l = 0; s <c&& (d = (c = s) / a), a = 0? r.connection.downlink.toString (): «  »), timeToFirstByte: s (window), data: n, deviceWidth: screen.width, hb_version:  » 5.2.0 « }; e [0] .schain&& (i.schain = e [0] .schain); var o = t.gdprConsent; if (t&&o) {var d = » boolean « == typeof o.gdprApplies, u = « string » == typeof o.consentString, l = d? function (e, t, r) {var n = 12; return e? function (e, t) {return e&&1 === t? e.hasGlobalScope || e.hasGlobalConsent:! (! e || 2! == t || e.isServiceSpecific)} (t, r) && (n = 11): n = 0, n} (o.gdprApplies, o.vendorData , o.apiVersion): 22; i.gdpr_iab = {consent: u? o.consentString: «  », status: l, apiVersion: o.apiVersion}} return t&&t.uspConsent&& (i.us_privacy = t.uspConsent), { method: « POST », url: « https://a.teads.tv/hb/bid-request » , data: JSON.s tringify (i)}}, interpretResponse: function (e, t) {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, meta: {advertiserDomains: e&&e.adomain? e.adomain: []}, ad: e.ad, requestId: e.bidId, creativeId: e.creativeId, placementId: e.placementId}; e.dealId&& (t.dealId = e.dealId), r.push (t)}), r}}; function a (e) {var t = «  »; return e&&e.refererInfo&&e.refererInfo.referer&& (t = e.refererInfo.referer), t} Function s (e) {var t = e.performance ||Perform || e.msPerformance || e.mozPerformance, r = t&& « function » == typeof t.getEntriesByType&& « [object Function] » === Object.prototype.toString.call (t.getyTriesByByType.getEAND « CSSEAND » [0] &&t.getEntriesByType (« navigation ») [0] .responseStart&&t.get EntriesByType (« navigation ») [0] .requestStart&&t.getCHAR&t.getCHAR&t. [0] .requestStart> 0&&Math.round (t (get « EntriesBy ») [0] .responseStart-t.getEntriesByType (« navigation ») [0] .requestStart); if (r) return r.toString (); var n = t&&t.timing.responseStart&&t.timing.requestStart&&t .timing.requestStart> 0&TCHAR&t.timing} function? }, r = i.getValue (e.params, « placementId »), n = i.getValue (e.params, « pa geId « ); return t.sizes = function (e) {return i.parseSizesInput (function (e) {var t = i.deepAccess (e, » mediaTypes.video.playerSize « ), r = i.deepAccess (e, « mediaTypes.video.sizes »), n = i.deepAccess (e, « mediaTypes.banner.sizes »); return i.isArray (n) || i.isArray (t) || i.isArray (r)? [n, r, t] .reduce (function (e, t) {retur n i.isArray (t) && (i.isArray (t [0])? t.forEach (function (t) {e.push ( t)}): e.push (t)), e}, []): e.sizes} (e)} (e), t.bidId = i.getBidIdParameter (« bidId », e), t.bidderRequestId = i.getBidIdParameter (« bidderRequestId », e), t.placementId = parseInt (r, 10), t.pageId = parseInt (n, 10), t.adUnitCode = i.getBidIdParameter (« adUnitCode », e), t .auctionId = i.getBidIdParameter (« auctionId », e), t.transactionId = i.getBidIdParameter (« transactionId », e), t} Function d (e) {return parseInt (e)> 0} Object (n.registerBidder ) (o)}}, [682]), pbjsChunk ([87], {696: function (e, t, r) {e.exports = r (697)}, 697: function (e, t, r) {Object.defineProperty (t, « __ esModule », {value:! 0}), rd (t, « tripleliftAdapterSpec », function () {return b}); var n = r (2), i = r (1) , o = r (0), a = r ( 3); function s () {return (s = Object.assign || 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 c (e) {return (c = "function" == Symboltyp&CSSEANDCH AR "symbol" == _ typeof (Symbol.iterator)? Function (e) {return _typeof (e)}: function (e) {return e&& "function" == typeof Symbol&&e.constructor === Symbol! ==&e . Prototype? "Symbol": _ typeof (e)}) (e)} Function d (e, t) {var r = Object.keys (e); if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols (e ); t&& (n = n.filter (function (t) {return Object.getOwnPropertyDescriptor (e, t) .enumerable})), r.push.apply (r, n)} return r} function u (e) { for (var t = 1; t e.length) && (t = e.length); for (var r = 0, n = new array (t); r 0&& (t.user = {ext: {eids: i}}); var c = function (e, t) {var r = {}; return o.isEmpty (e) || (r.schain = u ({}, e)), o.isEmpty (t) || (r.fpd = u ({}, t)), r} (r, n); back o. isEmpty (c) || ​​(t.ext = c), t} (e); if (r = o.tryAppendQueryString (r, « lib »,  » prebid « ), r = o.tryAppendQueryString (r, » v « , » 5.2.0 « ), t&&t.refererInfo) {var i = t.refererInfo.referer; r = o.tryAppendQueryString (r, » referrer « , i )} return t&&t.timeout&& (r = o.tryAppendQueryString (r = o.tryAppendQueryString (« tmax », t.timeout)), t&&t.gdprCHARConsentCSSEAND! dprConsent.gdprApplies&& (g = t.gdprConsent.gdprApplies, r = o.tryAppendQueryString () « , g. » g)), void 0! == t.gdprConsent.consentString, rtring.CHARdCSS .tryAppendQueryString (r, « cmp_cs », m))), t&&t.uspConsentChart, « us_privacy », t.uspConsent)) ,! 0 === abgetConfig (« coppa ») && (rend = o.QueryString (rend = o.QueryString) « coppa »,! 0)), r.lastIndexOf (« & ») === r.length-1&& (r = r.substring (0, r.length-1)), o.logMessage (« tlCall request created: « r), {method: » POST « , url: r, data: n, bidderRequest: t}}, interpretResponse: function (e, t) {var r = t.bidderRequest; return (e. body.bids || []). map (function (e) {return function (e, t) {var r = {}, n = t.width || 1, i = t.height || 1, o = t.deal_id || «  », a = t.crid || «  », s = e.bids [t.imp_id]; return 0! = t.cpm&&t.ad&& (r = {requestId: s.bidId, cpm: t.cpm, width: n, height: i, netRevenue:! 0, ad: t.ad, creativeId: a, dealId: o, currency: « USD », ttl: 300, tl_source: t.tl_source, meta: { }}, v (s) && (r.vastXml = t.ad, r.mediaType = « video »), t.advertiser_name&& (r.meta.advertiserName = t.advertiser_name), t.adomain&&t.adomain&&t .advertiserDomains = t.adomain), t.tl_source&& « hdx » == t.tl_source&& (r.meta.mediaType = « banner »), t.tl_sourceCSSEANDmedia=CSSE ANDCHAR = tlx « native »)), r} (r, e)})}, getUserSyncs: function (e, t, r, n) {var i = function (e) {if (e) return e.iframeEnabled? « iframe » : e.pixelEnabled? « image »: void 0} (e); if (i) {var a = « https://eb2.3lift.com / sync? »; return « image » === iCSSEANDCHA R& (a = o.tryAppendQueryString (a, « px », 1), a = o.tryAppendQueryString (a, « src », « prebid »)), null! = = M&& (a = o.tryAppendQueryString (a,  » gdpr « , g), a = o.tryAppendQueryString (a, » cmp_cs « , m)), n&& (a = o.tryAppendQueryString (a, » us_privacy « , n)), [{type: i, url: a} ]}}}; Function v (e) {return !! e.mediaTypes.video&& !! e.mediaTypes.video.context&& « instream » === e.mediaTypes. video.context.toLowerCase ()} function y (e) {var t = null; if (« function » == typeof e.getFloor) {var r = e.getFloor ({currency: « USD », mediaType: v ( e)? « video »: « banner », size: « * »}); « object »! == c (r) || « USD »! == r.currency || isNaN (parseFloat (r.floor) ) || (t = parseFloat (r.floor))} return null! == t? t: e.params.floor} Function h (e, t) {o.isEmpty (t) || Object.keys (t ) .forEach (function (r) {null! = t [r] && (e [r] = t [r])})} function _ (e, t, r, n) {return e.map (function ( e) {return function (t) {return t&&t.userId&&t.userId [e]}} (t)). filter (function (e) {return!! e}). map (function (e, t) {return function (r) {return {source: e, uids: [{id: r, ext: {rtiPartner: t}}]}}} (r, n))} Function S (e) {return e.filter (A) .map (function (e) {return {w: e [0], h: e [1]}})} Function A (e) {return 2 === e.length&& « number » == typeof e [0 ] && « number » == typeof e [1]} Object (i.registerBidder) (b)}}, [696]), pbjsChunk ([7], {21: function (e, t, r) {tb = function (e) {var t = []; for (var r in e) if (e.hasOwnProperty (r)) if ( « pubProvidedId » == = r) t = t.concat (e.pubProvidedId); else {var n = o (e [r], r); n&&t.push (n)} return t}, ta = function (e ) {var t = []; return e.filter (function (e) {return n.isPlainObject (e.idObj) &&Object.keys (e.idObj) .length}). forEach (function (e) {Object.keys (e.idObj) .forEach (function n (r) {n.deepAccess (e, « config.bidders ») &&Array.isArray (e.config.bidders) &&n.deepAccess (i, r « .source ») &CSSEAND. push ({source: i [r] .source, bidders: e.config.bidders})})}), t}; var n = r (0), i = {intentIqId: {source: « intentiq.com » , atype: 1}, pubcid: {source: « pubcid.org », atype: 1}, tdid: {source: « adserver.org », atype: 1, getUidExt: function () {return {rtiPartner: « TDID » }}}, id5id: {getValue: function (e) {return e.uid}, source: « id5-sync.com », atype: 1, getUidExt: function (e) {if (e.ext) return e. ext}}, parrableId: {source: « parrable.com », atype: 1, getValue: function (e) {return e.eid? e.eid: e.ccpaOptout? « : null}, getUidExt: function (e) {var t = n.pick (e, [« ibaOptout », « ccpaOptout »]); if (Object.keys (t) .length) return t}}, idl_env: {source: « liveramp.com », atype: 3}, lipb: {getValue: function (e) {return e.lipbid}, source: « liveintent.com », atype: 3, getEidExt: function (e) {if (Array.isArray (e.segments) &&e.segments.length) return {segments: e.segments}}}, britepoolid: {source:  » britepool.com « , atype e: 3}, dmdId: {source: » hcn.health « , atype: 3}, lotamePanoramaId: {source: » crwdcntrl.net « , atype: 1}, criteoId: {source: » criteo .com « , atype: 1}, merkleId: {source: » merkleinc.com « , atype: 3, getValue: function (e) {return e.id}, getUidExt: function (e) {return e&&e.keyID? { keyID: e.keyID}: void 0}}, netId: {source: « netid.de », atype: 1}, IDP: {source: « zeotap.com », atype: 1}, haloId: {source:  » audigent.com « , atype: 1}, quantcastId: {source: » quantcast.com « , atype: 1}, nextrollId: {source: » nextroll.com « , atype: 1}, idx: {source: » idx. lat « , atype: 1}, connectid: {source: » verizonmedia.com « , atype: 3}, fabrickId: {source: » neustar.biz « , atype: 1}, mwOpenLinkId: {source: » mediawallahscript.com  » , atype: 1}, tapadId: {source: « tapad. com « , atype: 1}, novatiq: {getValue: function (e) {return e.snowflake}, source: » novatiq.com « , atype: 1}, uid2: {source: » uidapi.com « , atype: 3, getValue: function (e) {return e.id}}, deepintentId: {source: « deepintent.com », atype: 3}, admixerId: {source: « admixer.net », atype: 3}, amxId: {source: « amxrtb.com », atype: 1}}; function o (e, t) {var r = i [t]; if (rC SSEANDCHAR&e) {var o = {}; o.source = r.source ; var a = n.isFn (r.getValue)? r.getValue (e): e; if (n.isStr (a)) {var s = {id: a, atype: r.atype}; if (n .isFn (r.getUidExt)) {var c = r.getUidExt (e); c&& (s.ext = c)} if (o.uids = [s], n.isFn (r.getEidExt)) {var d = r.getEidExt (e); d&& (o.ext = d)} return o}} return null}}, 716: function (e, t, r) {e.exports = r (717)}, 717: function (e, t, r) {Object.defineProperty (t, « __ esModule », {value:! 0}), rd (t, « PBJS_USER_ID_OPTOUT_NAME », function () {return w}), rd (t, « coreStorage » , function () {return x}), rd (t, « syncDelay », function () {return S}), rd (t, « auctionDelay », function () {return A}), t.setSubmoduleRegistry = function ( e) {R = e}, t.setStoredValue = B, t.set StoredConsentData = M, t.findRootDomain = F, t.requestBidsHook = G, rd (t, « validateGdprEnforcement », function () {return Q}), t.attachIdSystem = $, t.init = Z; var n = r ( 11), i = rn (n), o = r (3), a = r (9), s = rn (a), c = r (0), d = r (16), u = r (7 ), l = r (5), f = rn (l), p = r (10), g = r (21), m = r (8), b = r (12), v = rn (b) ; Function y (e, t) {(null == t || t> e.length) && (t = e.length); for (var r = 0, n = new array (t); r 1&&void 0! == arguments [1]? argume nts [1] : void 0, n = r? «  ». concat (e.name, « _ »). concat (r): e.name; try {if (e.type === E) t = x .getCookie (n ); else if (e.type === O) {var i = x.getDataFromLocalStorage («  ». concat (e.name, « _ exp »)); «  » === i? t = x .getDataFromLocalStorage (n ): i&&new Date (i) .getTime () – Date.now ()> 0&& (t = decodeURIComponent (x.getDataFromLocalStorage (n)))} « string » == typeof t&&. {=== t&&. trim (). charAt (0) CSSEANDCH AR& (t = JSON.parse (t))} catch (e) {c.logError (e)} return t} function N (e) {var t = {consentString: «  », gdprApplies:! 1, apiVersion: 0 }; return e&& (t.consentString = e.consentString, t.gdprApplies = e.gdprApplies, t.apiVersion = e.apiVersion), c.cyrb53Hash (JSON.stringify (t))} Function M (e) {try { var t = new Date (Date.now () 864e5 * C) .toUTCString (); x.setCookie (T, N (e), t, « Lax »)} catch (e) {c.logError (e)} } Function q () {try {return x.getCookie (T)} catch (e) {c.logError (e)}} Function z (e) {if (e&& « boolean » == type of e.gdprApplies&&e.gdprApplies ) {if (! e.consentStri ng) return! 1; if (1 === e.apiVersion&&! 1 === c.deepAccess (e, « vendorData.purposeConsents.1 »)) return! 1; if (2 === e.apiVersion&&! 1 === c.deepAccess (e, « vendorData.purpose.consents.1 »)) return! 1} return! 0} function F () {var e = arguments.length> 0&&void 0 ! == arguments [0]? arguments [0]: window.location.hostname; if (! x.cookiesAreEnabled ()) return e; var t, r, n = e.split (« . »); if (2 == n.length) return e ; var i = -2, o = « _ rdc » .concat (Date.now ()), a = « writeable »; do {t = n.slice (i) .join (« . »); var s = new Date (c.timestamp () 1e4) .toUTCString (); x.setCookie (o, a, s, « Lax », t, void 0), x.getCookie (o, void 0) === a? (R =! 1, x.setCookie (o, «  », « Thu, 01 Jan 1970 00:00:01 GMT », void 0, t, void 0)) 🙁 i = -1, r = Math.abs (i ) 0) {t =! 0; var n =! 1, i = function () {n || (n =! 0, e ())}; c.logInfo («  ». concat (I, « – auction delayed by ») .concat (A, « at most to retrieve IDs ») ), _ = setTimeout (i, A), L (r, i)} else saon (faEVENTS.AUCTION_END, function e () {saoff (faEVENTS.AUCTION_END, e), S> 0? setTimeout (function () {L (r)}, S): L (r)})} e&&! t&&e ()} function G (e, t) {V (function () {(function (e, t) {[e] .some (function (e) {return! Array.isArray (e) ||! e.length}) || e. forEach (function (e) {e.bids&&c.isArray (e.bids) &&e.bids.forEach (function (e ) {var r = function (e, t) {return Array.isArray (e) &&e.length&&t? .filter (function (e) {return! e.config.bidders ||! c.isArray (e.config.bidders ) || v () (e.config.bidders, t)}). filter (function (e) {return c.isPlainObject (e.idObj) &&Object.keys (e.idObj) .length}). reduce (function (e, t) {return Object.keys (t.idObj) .for Each (function (r) {e [r] = t.idObj [r]}), e}, {}): {}} (t, e.bieter); Object.key s (r) .length&& (e .userId = r, e.userIdAsEids = Object (gb) (r))})})}) (t.adUnits || Object (da) (). adUnits, h), e .call (this, t)} )} function K () {return V (), W (h)} function H () {return V (), Object (gb) (W (h))} function J (e, t) {var r = e ? e.submoduleNames: null; r || (r = []), V (function () {var e = u.gdprDataHandler.getConsentData (), n = Q (D, e), i = n.userIdModules; if (n.hasValidated || z (e)) {var o = q (); M (e); var a, s = [], d = function (e, t) {var r = « undefined »! = type of the symbol&&e [Symbol.iterator] || e [« @@ iterator »]; if (! r) {if (Array.isArray (e) || (r = function (e, t) {if (e) {if (« string » == typeof e) return y (e, t); var r = Object.prototype.toString.call (e) .slice (8, -1); return « Object » === r&&e.constructor&& ( r = e.constructor.name), « Map » === r || « Set » === r? Array.from (e): « Arguments » === r || / ^ (?: Ui | I ) nt (?: 8 | 16 | 32) (?: Clamped)? Array $ /. test (r)? y (e, t): void 0}} (e)) || t&&e&& « number » == typeof e.length) {r&& (e = r); var n = 0, i = function () {}; return {s: i, n: function () {return n> = e .length? {done:! 0}: {done:! 1, value: e [n]}}, e: function (e) {throw e}, f: i}} throw new TypeError (« Invalid attempt to retrieve a iterate non-iterable instance. nTo be iterable, non-array objects must have a [Symbol.iterator] () method. « )} var o, a =! 0, s =! 1; return {s: function () {r = r.call (e)}, n: function () {var e = r.next (); return a = e.done, e}, e: function (e) {s =! 0 , o = e}, f: function () {try {a || null == r.return || r.return ()} finally {if (s) throw o}}}} (i); try {for (ds ();! (a = dn ()). done;) {var l = a.value; r.length> 0&&-1 === r.indexOf (l.submodule. name) || (c. logInfo («  ». concat (I, « – refreshing ») .concat (l.submodule.name)), Y (l, e, o,! 0), c.isFn (l. callback) &&s.push (l ))}} catch (e) {de (e)} finally {df ()} s.length> 0&&L (s), t&&t ()} else c.logWarn («  ». concat (I, « – gdpr authorization not G Valid for local storage or cookies, exit module « ))})} var Q = Object (pb) ( » sync « , function (e, t) {return {userIdModules: e, hasValidated: t&&t .hasValidated}} », ValidateGdprEnforcement « ); Function Y (e, t, r, n) {if (e.config.storage) {var i, o = U (e.config.storage), a =! 1; if ( » number « = = typeof e.config.storage.refreshInSeconds) {var s = new Date (U (e.config.storage, « last »)); a = s&&Date.now () – s.getTime ()> 1e3 * e.config .storage.refreshInSeconds}! o || a || n ||! function (e, t) {return null! = r&&r === N (t)} (0, t)? i = e.submodule.getId ( e.config, t, o): « function » == typeof e.submodule.extendId&& (i = e.submodule.extendId (e.config, t, o)), c.isPlainObject (i) && (i.id&& (B (e, i.id), o = i.id), « function » == typeof i.callback&& (e.callback = i.callback)), o&& (e.idObj = e.submodule.decode (o , e.config))} else if (e.config.value) e.idObj = e.config.value; else {var d = e.submodule.getId (e.config, t, void 0); c.isP lainObject (d) && (« function » == typeof d.callback&& (e.callback = d.callback), d.id&& (e.idObj = e.submodule.decode (d.id, e.config)))} } Function X () {var e = function (e, t, r) {return Array.isArray (e)? E.reduce (function (e, t) {return! T || c.isEmptyStr (t.name) || (! t.storage || c.isEmptyStr (t.storage.type) || c.isEmptyStr (t.storage.name) || -1 === r.indexOf (t.storage.type)? c.isPlainObject (t.value)? e.push (t): t.storage || t.value || e.push (t): e.push (t)), e}, []): [] } (k, 0, j); if (e.length) {var t = R.filter (function (e) {return! i () (D, function (t) {return t.name === e. name})}); D = t.map (function (t) {var r = i () (e, function (e) {return e.name&& (e.name.toLowerCase () === t.name. toLowerCase () || t.aliasName&&e.name.toLowerCase () === t.aliasName.toLowerCase ())}); return r&&t.name! == r.name&& (r.name), t. findRootDomain = F, r? {submodule: t, config: r, callback: void 0, idObj: void 0}: null}). filter (function (e) {return null! == e}),! P&&D.length&& (Object (da) (). RequestBids.before (G, 40), c.logInfo («  ». Concat (I, « – usersync configuration updated for ») .concat (D.length, « sub-modules: »), D.map (function (e) {return e.submodule.name})), P =! 0)}} function $ (e) {i () (R, function (t) {return t.name === e.name}) || (R.push (e), X ())} Function Z (e) {D = [], k = [], P =! 1, h = void 0, -1! = = (j = [x.localStorageIsEnabled ()? O : null, x.cookiesAreEnabled ()? E: null] .filter (function (e) {return null! == e})). indexOf (E) &&x.getCookie (w)? c.logInfo («  ». concat (I, « – Opt-Out-Cookie found, Exit-Modul »)): – 1! == j.indexOf (O) &&x.getDataFromLocalStorage (w)? C.logInfo («  » .concat (I, « – Opt-out localStorage found, exit module « )) 🙁 e.getConfig (function (e) {var t = e.userSync; t&&t.userIds&& (k = t.userIds, S = c.isNumber (t.syncDelay)? t.syncDelay: 500, A = c.isNumber (t.auctionDelay)? t.auctionDelay: 0, X ())}), Object (da) (). getUserIds = K, Object (da) (). getUserIdsAsEids = H, Object (da) (). RefreshUserIds = J)} Z (ob), Object (pc) (« userId », $)}}, [716]), pbjs. processQueue ();
}, {}];
window.modules [« visibility.legacy »] = [function (require, module, exports) {« use strict »; DS.service (« $ visibility », [« $ document », « $ window », « _ throttle », « Eventify », function (e, t, n, i) {var o, r, h = []; function s (e, t) {return e t? e: t} function d (e, t, n) {! e.preload&&e.preloadThreshhold&&function (e, t, n, i) {return t.top = e .shownThreshold&&! e.seen? (e.seen =! 0, setTimeout (function () {e.trigger (« shown », new r (« shown », t))}, 15)) :(! n || i 1&& (h = e (r, Math.floor (n / o), i-1, o)), h}, this. getVerticallyVisiblePixels = f, this.getViewportHeight = function () {return t.innerHeight || e.documentElement.clientHeight || e.body.clientHeight}, this.getViewportWidth = function () {return t.innerWidth || e.documentElement. clientWidth || e.body.clientWidth}, this.isElementNotHidden = u, this.isElementInViewport = function (n) {var i = n.getBoundingClientRect (); return i.top> = 0&&i.left> = 0&&i (t.innerHeight || e.documentElement.clientHeight) &&i.right <= (t.innerWidth || e.documentElement.clientWidth)}, this.Visible = o}]);
}, {}];
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 '" o "'"); 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 <r.length; o) s (r [o]); return s}) (window.modules, {}, []);
'use strictly';
/ **
* Include legacy services from _global.js, if available
* /

Function _createForOfIteratorHelper (o, allowArrayLike) {var it; if (symbol type === « undefined » || o [Symbol.iterator] == null) {if (Array.isArray (o) || (it = _unsupportedIterableToArray (o)) || allowArrayLike && o && typeof o. length === « number ») {if (es) o = es; vari = 0; var F = function F () {}; return {s: F, n: function n () {if (i> = o.length) return {done: true}; return {done: false, value: o [i]}; }, e: function e (_e) {throw _e; }, f: F}; } throw new TypeError (« Invalid attempt to iterate non-iterable instances. nTo be iterable, non-array objects must have a [Symbol.iterator] () method. »); } var normalCompletion = true, didErr = false, err; return {s: function s () {it = o [symbol.iterator] (); }, n: function n () {var step = it.next (); normalCompletion = step.done; Return step; }, e: function e (_e2) {didErr = true; Error = _e2; }, f: function f () {try {if (! normalCompletion && it.return! = null) it.return (); } finally {if (didErr) throw err; }}}; }

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 » || n === « Set ») return Array.from (o); if (n === « Arguments » || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray (o, minLen); }

function _arrayLikeToArray (arr, len) {if (len == null || 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 type of the key === ‘string’ && key.match (/ . Legacy $ /);
}). forEach (function (key) {
Return window.require (key);
});
}

Function tryToMount (fn, el, name) {
To attempt {
fn (el); // initialize controller
} catch (e) {
var elementTag = el.outerHTML.slice (0, el.outerHTML.indexOf (el.innerHTML));
console.error (« Error initializing controller for  » « . concat (name, » « on  » « ). concat (elementTag, » «  »), e);
}
}
/ **
* mount client.js component controller
* /

Function mountComponentModules () {
Object.keys (window.modules) .filter (function (key) {
Return type of the key === ‘string’ && key.match (/ . Client $ /);
}). forEach (function (key) {
var controllerFn = window.require (key);

if (control type Fn === ‘function’) {
var name = key.replace (‘. client’,  »),
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;

To attempt {
for (_iterator.s ();! (_ step = _iterator.n ()). done;) {
var el = _step.value;
tryToMount (controllerFn, el, name);
}
} catch (err) {
_iterator.e (err);
} in the end {
_iterator.f ();
}

var _iterator2 = _createForOfIteratorHelper (default values),
_Step 2;

To attempt {
for (_iterator2.s ();! (_ step2 = _iterator2.n ()). done;) {
var _el = _step2.value;
tryToMount (controllerFn, _el, name);
}
} catch (err) {
_iterator2.e (err);
} in the end {
_iterator2.f ();
}
}
});
} // Make sure there is a `window.process.env.NODE_ENV` available in the client for all dependencies,
// Services or components that might require it
// Note: The value «  is exchanged for the actual environment variable in /lib/cmd/compile/scripts.js

Window.process = window.process || {};
window.process.env = window.process.env || {};

if (! window.process.env.NODE_ENV) {
window.process.env.NODE_ENV =  »;
} // Note: Legacy controllers that need legacy services (e.g. Dollar-Slice) must
// wait for DOMContentLoaded to initialize itself, since the files themselves have to be mounted first

mountLegacyServices ();
mountComponentModules ();
//]]

Keywords:

Cannes Film Festival,Film festival,2021,Cannes Film Festival, Film festival, 2021,,Cannes 2021,Film,Festivals,Culture,World news,Sean Penn,Wes Anderson,,france, sex,

Donnez votre avis et abonnez-vous pour plus d’infos

[gs-fb-comments]

[comment]

[supsystic-newsletter-form id=4]

Vidéo du jour: