prebid.js 9.1.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/browsers.json +3 -3
  2. package/dist/33acrossAnalyticsAdapter.js +1 -1
  3. package/dist/33acrossBidAdapter.js +1 -1
  4. package/dist/33acrossIdSystem.js +1 -1
  5. package/dist/BTBidAdapter.js +1 -1
  6. package/dist/acuityadsBidAdapter.js +1 -1
  7. package/dist/adagioAnalyticsAdapter.js +1 -1
  8. package/dist/adagioBidAdapter.js +1 -1
  9. package/dist/adagioRtdProvider.js +1 -1
  10. package/dist/adagioUtils.js +1 -0
  11. package/dist/addefendBidAdapter.js +1 -1
  12. package/dist/adgenerationBidAdapter.js +1 -1
  13. package/dist/adlooxRtdProvider.js +1 -1
  14. package/dist/admanBidAdapter.js +1 -1
  15. package/dist/adnuntiusBidAdapter.js +1 -1
  16. package/dist/adpod.js +1 -1
  17. package/dist/adprimeBidAdapter.js +1 -1
  18. package/dist/adqueryBidAdapter.js +1 -1
  19. package/dist/adrelevantisBidAdapter.js +1 -1
  20. package/dist/adstirBidAdapter.js +1 -1
  21. package/dist/adtrgtmeBidAdapter.js +1 -1
  22. package/dist/adxcgAnalyticsAdapter.js +1 -1
  23. package/dist/adxcgBidAdapter.js +1 -1
  24. package/dist/adyoulikeBidAdapter.js +1 -1
  25. package/dist/agmaAnalyticsAdapter.js +1 -1
  26. package/dist/ajaBidAdapter.js +1 -1
  27. package/dist/amxBidAdapter.js +1 -1
  28. package/dist/amxIdSystem.js +1 -1
  29. package/dist/appierAnalyticsAdapter.js +1 -1
  30. package/dist/appnexusBidAdapter.js +1 -1
  31. package/dist/appnexusUtils.js +1 -1
  32. package/dist/asoBidAdapter.js +1 -1
  33. package/dist/autoplayDetection.js +1 -1
  34. package/dist/axisBidAdapter.js +1 -1
  35. package/dist/axonixBidAdapter.js +1 -1
  36. package/dist/beyondmediaBidAdapter.js +1 -1
  37. package/dist/bidglassBidAdapter.js +1 -1
  38. package/dist/big-richmediaBidAdapter.js +1 -1
  39. package/dist/bliinkBidAdapter.js +1 -1
  40. package/dist/boldwinBidAdapter.js +1 -1
  41. package/dist/bridBidAdapter.js +1 -1
  42. package/dist/bridgewellBidAdapter.js +1 -1
  43. package/dist/brightMountainMediaBidAdapter.js +1 -1
  44. package/dist/carodaBidAdapter.js +1 -1
  45. package/dist/chtnwBidAdapter.js +1 -1
  46. package/dist/chunk-core.js +1 -1
  47. package/dist/compassBidAdapter.js +1 -1
  48. package/dist/concertBidAdapter.js +1 -1
  49. package/dist/connectadBidAdapter.js +1 -1
  50. package/dist/consentManagement.js +1 -0
  51. package/dist/consentManagementGpp.js +1 -1
  52. package/dist/consentManagementTcf.js +1 -1
  53. package/dist/consumableBidAdapter.js +1 -1
  54. package/dist/contentexchangeBidAdapter.js +1 -1
  55. package/dist/conversantAnalyticsAdapter.js +1 -1
  56. package/dist/conversantBidAdapter.js +1 -1
  57. package/dist/copper6sspBidAdapter.js +1 -0
  58. package/dist/craftBidAdapter.js +1 -1
  59. package/dist/criteoBidAdapter.js +1 -1
  60. package/dist/cwireBidAdapter.js +1 -1
  61. package/dist/dailymotionBidAdapter.js +1 -1
  62. package/dist/dependencies.json +96 -6
  63. package/dist/dspxBidAdapter.js +1 -1
  64. package/dist/dxkultureBidAdapter.js +1 -1
  65. package/dist/e_volutionBidAdapter.js +1 -1
  66. package/dist/emtvBidAdapter.js +1 -1
  67. package/dist/eplanningBidAdapter.js +1 -1
  68. package/dist/euidIdSystem.js +1 -1
  69. package/dist/exadsBidAdapter.js +1 -1
  70. package/dist/feedadBidAdapter.js +1 -1
  71. package/dist/finativeBidAdapter.js +1 -1
  72. package/dist/freewheel-sspBidAdapter.js +1 -1
  73. package/dist/globalsunBidAdapter.js +1 -1
  74. package/dist/gmosspBidAdapter.js +1 -1
  75. package/dist/goldbachBidAdapter.js +1 -1
  76. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  77. package/dist/greenbidsRtdProvider.js +1 -1
  78. package/dist/gridBidAdapter.js +1 -1
  79. package/dist/gumgumBidAdapter.js +1 -1
  80. package/dist/h12mediaBidAdapter.js +1 -1
  81. package/dist/hypelabBidAdapter.js +1 -1
  82. package/dist/id5AnalyticsAdapter.js +1 -1
  83. package/dist/id5IdSystem.js +1 -1
  84. package/dist/illuminBidAdapter.js +1 -1
  85. package/dist/imdsBidAdapter.js +1 -1
  86. package/dist/improvedigitalBidAdapter.js +1 -1
  87. package/dist/insticatorBidAdapter.js +1 -1
  88. package/dist/intentIqIdSystem.js +1 -1
  89. package/dist/iqzoneBidAdapter.js +1 -1
  90. package/dist/ixBidAdapter.js +1 -1
  91. package/dist/jixieBidAdapter.js +1 -1
  92. package/dist/justpremiumBidAdapter.js +1 -1
  93. package/dist/kargoBidAdapter.js +1 -1
  94. package/dist/kimberliteBidAdapter.js +1 -1
  95. package/dist/kiviadsBidAdapter.js +1 -1
  96. package/dist/konduitAnalyticsAdapter.js +1 -1
  97. package/dist/krushmediaBidAdapter.js +1 -1
  98. package/dist/kueezBidAdapter.js +1 -1
  99. package/dist/kueezRtbBidAdapter.js +1 -1
  100. package/dist/lassoBidAdapter.js +1 -1
  101. package/dist/lifestreetBidAdapter.js +1 -1
  102. package/dist/liveIntentIdSystem.js +1 -1
  103. package/dist/logicadBidAdapter.js +1 -1
  104. package/dist/loglyliftBidAdapter.js +1 -1
  105. package/dist/loyalBidAdapter.js +1 -1
  106. package/dist/luceadBidAdapter.js +1 -1
  107. package/dist/lunamediahbBidAdapter.js +1 -1
  108. package/dist/mabidderBidAdapter.js +1 -1
  109. package/dist/magniteAnalyticsAdapter.js +1 -1
  110. package/dist/malltvAnalyticsAdapter.js +1 -1
  111. package/dist/marsmediaBidAdapter.js +1 -1
  112. package/dist/mathildeadsBidAdapter.js +1 -1
  113. package/dist/mediafuseBidAdapter.js +1 -1
  114. package/dist/medianetAnalyticsAdapter.js +1 -1
  115. package/dist/medianetBidAdapter.js +1 -1
  116. package/dist/mediasquareBidAdapter.js +1 -1
  117. package/dist/mgidBidAdapter.js +1 -1
  118. package/dist/mgidXBidAdapter.js +1 -1
  119. package/dist/minutemediaBidAdapter.js +1 -1
  120. package/dist/missenaBidAdapter.js +1 -1
  121. package/dist/mobfoxpbBidAdapter.js +1 -1
  122. package/dist/mobianRtdProvider.js +1 -1
  123. package/dist/nexx360BidAdapter.js +1 -1
  124. package/dist/nobidAnalyticsAdapter.js +1 -1
  125. package/dist/nobidBidAdapter.js +1 -1
  126. package/dist/not-for-prod/prebid.js +211 -204
  127. package/dist/oguryBidAdapter.js +1 -1
  128. package/dist/onetagBidAdapter.js +1 -1
  129. package/dist/ooloAnalyticsAdapter.js +1 -1
  130. package/dist/openwebBidAdapter.js +1 -1
  131. package/dist/openxBidAdapter.js +1 -1
  132. package/dist/optidigitalBidAdapter.js +1 -1
  133. package/dist/orakiBidAdapter.js +1 -0
  134. package/dist/orbidderBidAdapter.js +1 -1
  135. package/dist/ortbConverter.js +1 -1
  136. package/dist/outbrainBidAdapter.js +1 -1
  137. package/dist/ozoneBidAdapter.js +1 -1
  138. package/dist/paapi.js +1 -1
  139. package/dist/pairIdSystem.js +1 -1
  140. package/dist/pgamsspBidAdapter.js +1 -1
  141. package/dist/pixfutureBidAdapter.js +1 -1
  142. package/dist/playdigoBidAdapter.js +1 -1
  143. package/dist/prebidServerBidAdapter.js +1 -1
  144. package/dist/pubCircleBidAdapter.js +1 -1
  145. package/dist/publinkIdSystem.js +1 -1
  146. package/dist/publirBidAdapter.js +1 -1
  147. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  148. package/dist/pubmaticBidAdapter.js +1 -1
  149. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  150. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  151. package/dist/pxyzBidAdapter.js +1 -1
  152. package/dist/qtBidAdapter.js +1 -1
  153. package/dist/quantcastBidAdapter.js +1 -1
  154. package/dist/raynRtdProvider.js +1 -1
  155. package/dist/readpeakBidAdapter.js +1 -1
  156. package/dist/relaidoBidAdapter.js +1 -1
  157. package/dist/retailspotBidAdapter.js +1 -1
  158. package/dist/rhythmoneBidAdapter.js +1 -1
  159. package/dist/riseBidAdapter.js +1 -1
  160. package/dist/rubiconBidAdapter.js +1 -1
  161. package/dist/seedingAllianceBidAdapter.js +1 -1
  162. package/dist/seedtagBidAdapter.js +1 -1
  163. package/dist/setupadBidAdapter.js +1 -1
  164. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  165. package/dist/sharethroughBidAdapter.js +1 -1
  166. package/dist/shinezBidAdapter.js +1 -1
  167. package/dist/shinezRtbBidAdapter.js +1 -1
  168. package/dist/smaatoBidAdapter.js +1 -1
  169. package/dist/smartadserverBidAdapter.js +1 -1
  170. package/dist/smartxBidAdapter.js +1 -1
  171. package/dist/smartyadsBidAdapter.js +1 -1
  172. package/dist/smartyadsUtils.js +1 -0
  173. package/dist/smartytechBidAdapter.js +1 -1
  174. package/dist/smilewantedBidAdapter.js +1 -1
  175. package/dist/snigelBidAdapter.js +1 -1
  176. package/dist/sonobiBidAdapter.js +1 -1
  177. package/dist/sovrnBidAdapter.js +1 -1
  178. package/dist/sspBCBidAdapter.js +1 -1
  179. package/dist/stnBidAdapter.js +1 -1
  180. package/dist/stvBidAdapter.js +1 -1
  181. package/dist/sublimeBidAdapter.js +1 -1
  182. package/dist/taboolaBidAdapter.js +1 -1
  183. package/dist/tagorasBidAdapter.js +1 -1
  184. package/dist/tappxBidAdapter.js +1 -1
  185. package/dist/targetVideoBidAdapter.js +1 -1
  186. package/dist/teadsBidAdapter.js +1 -1
  187. package/dist/teqblazeUtils.js +1 -0
  188. package/dist/terceptAnalyticsAdapter.js +1 -1
  189. package/dist/themoneytizerBidAdapter.js +1 -1
  190. package/dist/topicsFpdModule.js +1 -1
  191. package/dist/trionBidAdapter.js +1 -1
  192. package/dist/tripleliftBidAdapter.js +1 -1
  193. package/dist/ttdBidAdapter.js +1 -1
  194. package/dist/twistDigitalBidAdapter.js +1 -1
  195. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  196. package/dist/uid2IdSystem.js +1 -1
  197. package/dist/underdogmediaBidAdapter.js +1 -1
  198. package/dist/undertoneBidAdapter.js +1 -1
  199. package/dist/unrulyBidAdapter.js +1 -1
  200. package/dist/userId.js +1 -1
  201. package/dist/vidazooBidAdapter.js +1 -1
  202. package/dist/vidazooUtils.js +1 -0
  203. package/dist/videobyteBidAdapter.js +1 -1
  204. package/dist/visiblemeasuresBidAdapter.js +1 -1
  205. package/dist/visxBidAdapter.js +1 -1
  206. package/dist/vuukleBidAdapter.js +1 -1
  207. package/dist/widespaceBidAdapter.js +1 -1
  208. package/dist/winrBidAdapter.js +1 -1
  209. package/dist/yahooAdsBidAdapter.js +1 -1
  210. package/dist/yieldmoBidAdapter.js +1 -1
  211. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  212. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  213. package/integrationExamples/gpt/raynRtdProvider_example.html +1 -0
  214. package/libraries/adagioUtils/adagioUtils.js +35 -0
  215. package/libraries/appnexusUtils/anUtils.js +1 -0
  216. package/libraries/autoplayDetection/autoplay.js +8 -1
  217. package/libraries/consentManagement/cmUtils.js +38 -0
  218. package/libraries/ortbConverter/converter.js +1 -1
  219. package/libraries/smartyadsUtils/getAdUrlByRegion.js +32 -0
  220. package/libraries/teqblazeUtils/bidderUtils.js +253 -0
  221. package/libraries/vidazooUtils/bidderUtils.js +481 -0
  222. package/libraries/vidazooUtils/constants.js +7 -0
  223. package/modules/.submodules.json +1 -0
  224. package/modules/acuityadsBidAdapter.js +5 -203
  225. package/modules/adagioBidAdapter.js +1 -17
  226. package/modules/adagioRtdProvider.js +41 -51
  227. package/modules/adagioRtdProvider.md +1 -0
  228. package/modules/addefendBidAdapter.js +1 -2
  229. package/modules/adlooxRtdProvider.js +1 -1
  230. package/modules/admanBidAdapter.js +31 -188
  231. package/modules/adnuntiusBidAdapter.js +1 -0
  232. package/modules/adprimeBidAdapter.js +28 -165
  233. package/modules/adxcgAnalyticsAdapter.js +1 -2
  234. package/modules/axisBidAdapter.js +33 -165
  235. package/modules/beyondmediaBidAdapter.js +5 -189
  236. package/modules/bliinkBidAdapter.js +3 -31
  237. package/modules/boldwinBidAdapter.js +21 -159
  238. package/modules/ceeIdSystem.js +1 -1
  239. package/modules/compassBidAdapter.js +5 -198
  240. package/modules/consentManagementGpp.js +2 -38
  241. package/modules/consentManagementTcf.js +7 -38
  242. package/modules/contentexchangeBidAdapter.js +5 -200
  243. package/modules/conversantAnalyticsAdapter.js +1 -2
  244. package/modules/conversantBidAdapter.js +1 -0
  245. package/modules/copper6sspBidAdapter.js +19 -0
  246. package/modules/copper6sspBidAdapter.md +79 -0
  247. package/modules/criteoBidAdapter.js +10 -3
  248. package/modules/e_volutionBidAdapter.js +4 -186
  249. package/modules/emtvBidAdapter.js +5 -198
  250. package/modules/globalsunBidAdapter.js +5 -199
  251. package/modules/id5AnalyticsAdapter.js +1 -2
  252. package/modules/id5IdSystem.js +31 -2
  253. package/modules/id5IdSystem.md +67 -2
  254. package/modules/intentIqIdSystem.js +408 -50
  255. package/modules/intentIqIdSystem.md +92 -0
  256. package/modules/iqzoneBidAdapter.js +5 -224
  257. package/modules/kiviadsBidAdapter.js +5 -199
  258. package/modules/krushmediaBidAdapter.js +25 -143
  259. package/modules/liveIntentIdSystem.js +2 -2
  260. package/modules/loyalBidAdapter.js +4 -178
  261. package/modules/lunamediahbBidAdapter.js +5 -118
  262. package/modules/mabidderBidAdapter.js +1 -2
  263. package/modules/mathildeadsBidAdapter.js +5 -198
  264. package/modules/medianetAnalyticsAdapter.js +1 -2
  265. package/modules/medianetBidAdapter.js +1 -1
  266. package/modules/mgidXBidAdapter.js +14 -207
  267. package/modules/mobfoxpbBidAdapter.js +4 -135
  268. package/modules/mobianRtdProvider.js +2 -2
  269. package/modules/nobidAnalyticsAdapter.js +2 -3
  270. package/modules/orakiBidAdapter.js +19 -0
  271. package/modules/orakiBidAdapter.md +79 -0
  272. package/modules/orbidderBidAdapter.js +4 -2
  273. package/modules/ozoneBidAdapter.js +117 -58
  274. package/modules/paapi.js +2 -1
  275. package/modules/pairIdSystem.js +27 -10
  276. package/modules/pgamsspBidAdapter.js +5 -240
  277. package/modules/pixfutureBidAdapter.js +1 -2
  278. package/modules/playdigoBidAdapter.js +4 -186
  279. package/modules/prebidServerBidAdapter/index.js +10 -3
  280. package/modules/pubCircleBidAdapter.js +5 -218
  281. package/modules/pubmaticAnalyticsAdapter.js +21 -8
  282. package/modules/pubxaiAnalyticsAdapter.js +1 -5
  283. package/modules/qtBidAdapter.js +5 -224
  284. package/modules/raynRtdProvider.js +36 -3
  285. package/modules/seedtagBidAdapter.js +5 -0
  286. package/modules/setupadBidAdapter.js +58 -140
  287. package/modules/smartadserverBidAdapter.js +3 -0
  288. package/modules/smartyadsBidAdapter.js +6 -110
  289. package/modules/smartytechBidAdapter.js +7 -2
  290. package/modules/snigelBidAdapter.js +1 -2
  291. package/modules/tappxBidAdapter.js +1 -2
  292. package/modules/terceptAnalyticsAdapter.js +1 -2
  293. package/modules/topicsFpdModule.js +1 -1
  294. package/modules/twistDigitalBidAdapter.js +1 -12
  295. package/modules/uid2IdSystem.js +0 -1
  296. package/modules/uid2IdSystem_shared.js +0 -1
  297. package/modules/userId/index.js +31 -21
  298. package/modules/vidazooBidAdapter.js +26 -468
  299. package/modules/visiblemeasuresBidAdapter.js +5 -199
  300. package/modules/yahooAdsBidAdapter.js +4 -1
  301. package/modules/yuktamediaAnalyticsAdapter.js +1 -2
  302. package/package.json +1 -1
  303. package/src/auction.js +5 -63
  304. package/src/utils/focusTimeout.js +41 -0
  305. package/src/utils/ttlCollection.js +2 -1
  306. package/src/utils.js +42 -0
  307. package/src/videoCache.js +72 -0
  308. package/test/mocks/videoCacheStub.js +1 -1
  309. package/test/spec/auctionmanager_spec.js +16 -1
  310. package/test/spec/fpd/gdpr_spec.js +24 -2
  311. package/test/spec/libraries/teqblazeUtils/bidderUtils_spec.js +519 -0
  312. package/test/spec/modules/acuityadsBidAdapter_spec.js +79 -43
  313. package/test/spec/modules/adagioRtdProvider_spec.js +62 -1
  314. package/test/spec/modules/admanBidAdapter_spec.js +370 -247
  315. package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -3
  316. package/test/spec/modules/adprimeBidAdapter_spec.js +225 -78
  317. package/test/spec/modules/axisBidAdapter_spec.js +78 -14
  318. package/test/spec/modules/beyondmediaBidAdapter_spec.js +80 -18
  319. package/test/spec/modules/bliinkBidAdapter_spec.js +8 -2
  320. package/test/spec/modules/boldwinBidAdapter_spec.js +221 -75
  321. package/test/spec/modules/compassBidAdapter_spec.js +130 -16
  322. package/test/spec/modules/contentexchangeBidAdapter_spec.js +134 -21
  323. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +1 -1
  324. package/test/spec/modules/conversantBidAdapter_spec.js +7 -0
  325. package/test/spec/modules/copper6sspBidAdapter_spec.js +514 -0
  326. package/test/spec/modules/e_volutionBidAdapter_spec.js +65 -3
  327. package/test/spec/modules/emtvBidAdapter_spec.js +131 -16
  328. package/test/spec/modules/globalsunBidAdapter_spec.js +130 -16
  329. package/test/spec/modules/id5IdSystem_spec.js +79 -3
  330. package/test/spec/modules/intentIqIdSystem_spec.js +264 -36
  331. package/test/spec/modules/iqzoneBidAdapter_spec.js +66 -12
  332. package/test/spec/modules/kiviadsBidAdapter_spec.js +131 -20
  333. package/test/spec/modules/krushmediaBidAdapter_spec.js +272 -90
  334. package/test/spec/modules/loyalBidAdapter_spec.js +114 -14
  335. package/test/spec/modules/lunamediahbBidAdapter_spec.js +221 -87
  336. package/test/spec/modules/mathildeadsBidAdapter_spec.js +87 -18
  337. package/test/spec/modules/mgidXBidAdapter_spec.js +11 -3
  338. package/test/spec/modules/mobfoxpbBidAdapter_spec.js +229 -91
  339. package/test/spec/modules/orakiBidAdapter_spec.js +510 -0
  340. package/test/spec/modules/ozoneBidAdapter_spec.js +192 -22
  341. package/test/spec/modules/paapi_spec.js +5 -5
  342. package/test/spec/modules/pgamsspBidAdapter_spec.js +83 -16
  343. package/test/spec/modules/playdigoBidAdapter_spec.js +38 -9
  344. package/test/spec/modules/prebidServerBidAdapter_spec.js +14 -0
  345. package/test/spec/modules/pubCircleBidAdapter_spec.js +82 -17
  346. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +52 -5
  347. package/test/spec/modules/qtBidAdapter_spec.js +15 -3
  348. package/test/spec/modules/raynRtdProvider_spec.js +25 -0
  349. package/test/spec/modules/seedtagBidAdapter_spec.js +29 -0
  350. package/test/spec/modules/setupadBidAdapter_spec.js +124 -97
  351. package/test/spec/modules/smartadserverBidAdapter_spec.js +7 -0
  352. package/test/spec/modules/smartyadsBidAdapter_spec.js +6 -83
  353. package/test/spec/modules/smartytechBidAdapter_spec.js +5 -1
  354. package/test/spec/modules/topicsFpdModule_spec.js +43 -59
  355. package/test/spec/modules/twistDigitalBidAdapter_spec.js +5 -3
  356. package/test/spec/modules/userId_spec.js +86 -47
  357. package/test/spec/modules/vidazooBidAdapter_spec.js +21 -23
  358. package/test/spec/modules/visiblemeasuresBidAdapter_spec.js +130 -16
  359. package/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  360. package/test/spec/ortbConverter/converter_spec.js +7 -3
  361. package/test/spec/unit/utils/focusTimeout_spec.js +60 -0
  362. package/test/spec/videoCache_spec.js +56 -53
@@ -23,6 +23,9 @@
23
23
  "chunk-core.js",
24
24
  "ortbConverter.js"
25
25
  ],
26
+ "acuityadsBidAdapter.js": [
27
+ "teqblazeUtils.js"
28
+ ],
26
29
  "adWMGAnalyticsAdapter.js": [
27
30
  "analyticsAdapter.js"
28
31
  ],
@@ -33,10 +36,12 @@
33
36
  "analyticsAdapter.js"
34
37
  ],
35
38
  "adagioBidAdapter.js": [
36
- "gptUtils.js"
39
+ "gptUtils.js",
40
+ "adagioUtils.js"
37
41
  ],
38
42
  "adagioRtdProvider.js": [
39
- "gptUtils.js"
43
+ "gptUtils.js",
44
+ "adagioUtils.js"
40
45
  ],
41
46
  "adfusionBidAdapter.js": [
42
47
  "chunk-core.js",
@@ -65,7 +70,11 @@
65
70
  "analyticsAdapter.js",
66
71
  "gptUtils.js"
67
72
  ],
73
+ "admanBidAdapter.js": [
74
+ "teqblazeUtils.js"
75
+ ],
68
76
  "adprimeBidAdapter.js": [
77
+ "teqblazeUtils.js",
69
78
  "keywords.js"
70
79
  ],
71
80
  "adrelevantisBidAdapter.js": [
@@ -140,12 +149,18 @@
140
149
  "automatadAnalyticsAdapter.js": [
141
150
  "analyticsAdapter.js"
142
151
  ],
152
+ "axisBidAdapter.js": [
153
+ "teqblazeUtils.js"
154
+ ],
143
155
  "beopBidAdapter.js": [
144
156
  "keywords.js"
145
157
  ],
146
158
  "betweenBidAdapter.js": [
147
159
  "sizeUtils.js"
148
160
  ],
161
+ "beyondmediaBidAdapter.js": [
162
+ "teqblazeUtils.js"
163
+ ],
149
164
  "bidmaticBidAdapter.js": [
150
165
  "chunk-core.js",
151
166
  "ortbConverter.js"
@@ -165,12 +180,18 @@
165
180
  "chunk-core.js",
166
181
  "ortbConverter.js"
167
182
  ],
183
+ "boldwinBidAdapter.js": [
184
+ "teqblazeUtils.js"
185
+ ],
168
186
  "byDataAnalyticsAdapter.js": [
169
187
  "analyticsAdapter.js"
170
188
  ],
171
189
  "ceeIdSystem.js": [
172
190
  "domainOverrideToRootDomain.js"
173
191
  ],
192
+ "compassBidAdapter.js": [
193
+ "teqblazeUtils.js"
194
+ ],
174
195
  "concertAnalyticsAdapter.js": [
175
196
  "analyticsAdapter.js"
176
197
  ],
@@ -181,15 +202,20 @@
181
202
  "urlUtils.js"
182
203
  ],
183
204
  "consentManagementGpp.js": [
184
- "cmp.js"
205
+ "cmp.js",
206
+ "consentManagement.js"
185
207
  ],
186
208
  "consentManagementTcf.js": [
187
209
  "chunk-core.js",
188
- "cmp.js"
210
+ "cmp.js",
211
+ "consentManagement.js"
189
212
  ],
190
213
  "consentManagementUsp.js": [
191
214
  "cmp.js"
192
215
  ],
216
+ "contentexchangeBidAdapter.js": [
217
+ "teqblazeUtils.js"
218
+ ],
193
219
  "conversantAnalyticsAdapter.js": [
194
220
  "analyticsAdapter.js"
195
221
  ],
@@ -197,6 +223,9 @@
197
223
  "chunk-core.js",
198
224
  "ortbConverter.js"
199
225
  ],
226
+ "copper6sspBidAdapter.js": [
227
+ "teqblazeUtils.js"
228
+ ],
200
229
  "craftBidAdapter.js": [
201
230
  "chunk-core.js",
202
231
  "keywords.js",
@@ -247,6 +276,9 @@
247
276
  "chunk-core.js",
248
277
  "ortbConverter.js"
249
278
  ],
279
+ "e_volutionBidAdapter.js": [
280
+ "teqblazeUtils.js"
281
+ ],
250
282
  "eightPodAnalyticsAdapter.js": [
251
283
  "analyticsAdapter.js"
252
284
  ],
@@ -254,6 +286,9 @@
254
286
  "chunk-core.js",
255
287
  "ortbConverter.js"
256
288
  ],
289
+ "emtvBidAdapter.js": [
290
+ "teqblazeUtils.js"
291
+ ],
257
292
  "eplanningBidAdapter.js": [
258
293
  "gptUtils.js"
259
294
  ],
@@ -274,6 +309,9 @@
274
309
  "genericAnalyticsAdapter.js": [
275
310
  "analyticsAdapter.js"
276
311
  ],
312
+ "globalsunBidAdapter.js": [
313
+ "teqblazeUtils.js"
314
+ ],
277
315
  "gmosspBidAdapter.js": [
278
316
  "urlUtils.js"
279
317
  ],
@@ -322,6 +360,9 @@
322
360
  "iqxBidAdapter.js": [
323
361
  "sizeUtils.js"
324
362
  ],
363
+ "iqzoneBidAdapter.js": [
364
+ "teqblazeUtils.js"
365
+ ],
325
366
  "ivsBidAdapter.js": [
326
367
  "chunk-core.js",
327
368
  "ortbConverter.js"
@@ -342,12 +383,18 @@
342
383
  "chunk-core.js",
343
384
  "ortbConverter.js"
344
385
  ],
386
+ "kiviadsBidAdapter.js": [
387
+ "teqblazeUtils.js"
388
+ ],
345
389
  "konduitAnalyticsAdapter.js": [
346
390
  "analyticsAdapter.js"
347
391
  ],
348
392
  "konduitWrapper.js": [
349
393
  "chunk-core.js"
350
394
  ],
395
+ "krushmediaBidAdapter.js": [
396
+ "teqblazeUtils.js"
397
+ ],
351
398
  "liveIntentAnalyticsAdapter.js": [
352
399
  "analyticsAdapter.js"
353
400
  ],
@@ -361,10 +408,16 @@
361
408
  "lm_kiviadsBidAdapter.js": [
362
409
  "sizeUtils.js"
363
410
  ],
411
+ "loyalBidAdapter.js": [
412
+ "teqblazeUtils.js"
413
+ ],
364
414
  "luceadBidAdapter.js": [
365
415
  "chunk-core.js",
366
416
  "ortbConverter.js"
367
417
  ],
418
+ "lunamediahbBidAdapter.js": [
419
+ "teqblazeUtils.js"
420
+ ],
368
421
  "mabidderBidAdapter.js": [
369
422
  "chunk-core.js",
370
423
  "ortbConverter.js"
@@ -375,6 +428,9 @@
375
428
  "malltvAnalyticsAdapter.js": [
376
429
  "analyticsAdapter.js"
377
430
  ],
431
+ "mathildeadsBidAdapter.js": [
432
+ "teqblazeUtils.js"
433
+ ],
378
434
  "mediafuseBidAdapter.js": [
379
435
  "chunk-core.js",
380
436
  "keywords.js",
@@ -388,6 +444,12 @@
388
444
  "medianetBidAdapter.js": [
389
445
  "gptUtils.js"
390
446
  ],
447
+ "mgidXBidAdapter.js": [
448
+ "teqblazeUtils.js"
449
+ ],
450
+ "mobfoxpbBidAdapter.js": [
451
+ "teqblazeUtils.js"
452
+ ],
391
453
  "multibid.js": [
392
454
  "chunk-core.js"
393
455
  ],
@@ -438,6 +500,9 @@
438
500
  "optoutBidAdapter.js": [
439
501
  "chunk-core.js"
440
502
  ],
503
+ "orakiBidAdapter.js": [
504
+ "teqblazeUtils.js"
505
+ ],
441
506
  "oxxionAnalyticsAdapter.js": [
442
507
  "analyticsAdapter.js"
443
508
  ],
@@ -454,6 +519,9 @@
454
519
  "chunk-core.js",
455
520
  "ortbConverter.js"
456
521
  ],
522
+ "pgamsspBidAdapter.js": [
523
+ "teqblazeUtils.js"
524
+ ],
457
525
  "pianoDmpAnalyticsAdapter.js": [
458
526
  "analyticsAdapter.js"
459
527
  ],
@@ -461,6 +529,9 @@
461
529
  "keywords.js",
462
530
  "appnexusUtils.js"
463
531
  ],
532
+ "playdigoBidAdapter.js": [
533
+ "teqblazeUtils.js"
534
+ ],
464
535
  "prebidServerBidAdapter.js": [
465
536
  "chunk-core.js",
466
537
  "ortbConverter.js",
@@ -479,6 +550,9 @@
479
550
  "programmaticaBidAdapter.js": [
480
551
  "chunk-core.js"
481
552
  ],
553
+ "pubCircleBidAdapter.js": [
554
+ "teqblazeUtils.js"
555
+ ],
482
556
  "pubmaticAnalyticsAdapter.js": [
483
557
  "analyticsAdapter.js",
484
558
  "gptUtils.js"
@@ -508,6 +582,9 @@
508
582
  "chunk-core.js",
509
583
  "ortbConverter.js"
510
584
  ],
585
+ "qtBidAdapter.js": [
586
+ "teqblazeUtils.js"
587
+ ],
511
588
  "r2b2BidAdapter.js": [
512
589
  "chunk-core.js",
513
590
  "ortbConverter.js",
@@ -573,6 +650,10 @@
573
650
  "schain.js": [
574
651
  "chunk-core.js"
575
652
  ],
653
+ "setupadBidAdapter.js": [
654
+ "chunk-core.js",
655
+ "ortbConverter.js"
656
+ ],
576
657
  "sharedIdSystem.js": [
577
658
  "domainOverrideToRootDomain.js"
578
659
  ],
@@ -598,6 +679,10 @@
598
679
  "smartyadsAnalyticsAdapter.js": [
599
680
  "analyticsAdapter.js"
600
681
  ],
682
+ "smartyadsBidAdapter.js": [
683
+ "teqblazeUtils.js",
684
+ "smartyadsUtils.js"
685
+ ],
601
686
  "snigelBidAdapter.js": [
602
687
  "chunk-core.js"
603
688
  ],
@@ -641,7 +726,8 @@
641
726
  "urlUtils.js"
642
727
  ],
643
728
  "twistDigitalBidAdapter.js": [
644
- "chunk.js"
729
+ "chunk.js",
730
+ "vidazooUtils.js"
645
731
  ],
646
732
  "ucfunnelAnalyticsAdapter.js": [
647
733
  "analyticsAdapter.js"
@@ -669,7 +755,8 @@
669
755
  "ortbConverter.js"
670
756
  ],
671
757
  "vidazooBidAdapter.js": [
672
- "chunk.js"
758
+ "chunk.js",
759
+ "vidazooUtils.js"
673
760
  ],
674
761
  "videoModule.js": [
675
762
  "video.js"
@@ -677,6 +764,9 @@
677
764
  "videojsVideoProvider.js": [
678
765
  "video.js"
679
766
  ],
767
+ "visiblemeasuresBidAdapter.js": [
768
+ "teqblazeUtils.js"
769
+ ],
680
770
  "visxBidAdapter.js": [
681
771
  "gptUtils.js"
682
772
  ],
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[63214],{85248:(e,r,t)=>{var n=t(7873),d=t(70433),i=t(91069),o=t(57377),a=t(71371),s=t(95789),p=t(15901);const c=["mimes","minduration","maxduration","protocols","w","h","startdelay","placement","plcmt","linearity","skip","skipmin","skipafter","sequence","battr","maxextended","minbitrate","maxbitrate","boxingallowed","playbackmethod","playbackend","delivery","pos","companionad","api","companiontype","ext"],l={code:"dspx",gvlid:602,aliases:[],supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:function(e){return!!e.params.placement},buildRequests:function(e,r){let t={};return e.map((e=>{const n=e.params,o=Math.floor(99999999999*Math.random()),s=r.refererInfo.page,l=e.bidId,u=e.adUnitCode||!1,g=e.auctionId||!1,y=n.devMode||!1;let h=y?"https://dcbuyer.dspx.tv/request/":"https://buyer.dspx.tv/request/",b=n.placement;y&&n.dev&&(h=n.dev.endpoint||h,b=n.dev.placement||b,void 0!==n.dev.pfilter&&(n.pfilter=n.dev.pfilter));let x=function(e){let r={};e.mediaTypes?Object.keys(e.mediaTypes).forEach((t=>{t===a.D4&&(r[t]=f(e)),t===a.G_&&(r[t]=function(e){return v((0,d.A)(e,"mediaTypes.video.playerSize")||e.sizes)}(e))})):r[a.D4]=f(e);return r}(e);var w;let I=x["banner"===(w=e).mediaType||(0,d.A)(w,"mediaTypes.banner")||!function(e){return"video"===e.mediaType||!!(0,d.A)(e,"mediaTypes.video")}(w)?a.D4:a.G_];if(t={_f:"auto",alternative:"prebid_js",inventory_item_id:b,srw:I?I[0].width:0,srh:I?I[0].height:0,idt:100,rnd:o,ref:s,bid_id:l,pbver:"9.1.0"},void 0!==n.pfilter&&(t.pfilter=n.pfilter),r&&r.gdprConsent&&(void 0!==t.pfilter?t.pfilter.gdpr_consent||(t.pfilter.gdpr_consent=r.gdprConsent.consentString,t.pfilter.gdpr=r.gdprConsent.gdprApplies):t.pfilter={gdpr_consent:r.gdprConsent.consentString,gdpr:r.gdprConsent.gdprApplies}),void 0!==n.bcat&&(t.bcat=(0,d.A)(r.ortb2Imp,"bcat")||n.bcat),void 0!==n.dvt&&(t.dvt=n.dvt),y&&(t.prebidDevMode=1),e.userId){e.userId.netId&&(t.did_netid=e.userId.netId),e.userId.id5id&&(t.did_id5=e.userId.id5id.uid||"0",void 0!==e.userId.id5id.ext.linkType&&(t.did_id5_linktype=e.userId.id5id.ext.linkType));let r=(0,d.A)(e,"userId.uid2.id");r&&(t.did_uid2=r);let n=(0,d.A)(e,"userId.sharedid.id");n&&(t.did_sharedid=n);let i=(0,d.A)(e,"userId.pubcid");i&&(t.did_pubcid=i);let o=(0,d.A)(e,"crumbs.pubcid");o&&(t.did_cpubcid=o)}if(e.schain&&(t.schain=e.schain),void 0===t.pfilter||!t.pfilter.floorprice){let r=function(e){if(!(0,i.isFn)(e.getFloor))return(0,d.A)(e,"params.bidfloor",0);try{return e.getFloor({currency:"EUR",mediaType:"*",size:"*"}).floor}catch(e){return 0}}(e);r>0&&(void 0!==t.pfilter?t.pfilter.floorprice=r:t.pfilter={floorprice:r})}if(g&&(t.auctionId=g),u&&(t.pbcode=u),t.media_types=function(e){let r={};return Object.keys(e).forEach((t=>{r[t]=e[t].map((e=>e.width+"x"+e.height)).join(",")})),r}(x),void 0!==x[a.G_]){t.vctx=function(e){return(0,d.A)(e,"mediaTypes.video.context")||"unknown"}(e),void 0!==n.vastFormat&&(t.vf=n.vastFormat),t.vpl={};let r=(0,d.A)(e,"mediaTypes.video");Object.keys(r).filter((e=>(0,p.mK)(c,e))).forEach((e=>t.vpl[e]=r[e]))}return{method:"GET",url:h,data:m(t)}}))},interpretResponse:function(e,r){(0,i.logMessage)("DSPx: serverResponse",e),(0,i.logMessage)("DSPx: bidRequest",r);const t=[],n=e.body,o=n.crid||0,a=n.cpm/1e6||0;if(0!==a&&0!==o){const e=n.dealid||"",p=n.currency||"EUR",c=void 0===n.netRevenue||n.netRevenue,l={requestId:n.bid_id,cpm:a,width:n.width,height:n.height,creativeId:o,dealId:e,currency:p,netRevenue:c,type:n.type,ttl:60,meta:{advertiserDomains:n.adomain||[]}};n.vastUrl&&(l.vastUrl=n.vastUrl,l.mediaType="video"),n.vastXml&&(l.vastXml=n.vastXml,l.mediaType="video"),n.renderer&&(l.renderer=function(e,r){(0,i.logMessage)("DSPx: newRenderer",e,r);const t=s.A4.install({id:r.renderer.id||r.bid_id,url:e.params&&e.params.rendererUrl||r.renderer.url,config:r.renderer.options||(0,d.A)(e,"renderer.options"),loaded:!1});try{t.setRender(y)}catch(e){(0,i.logWarn)("Prebid Error calling setRender on renderer",e)}return t}(r,n)),n.videoCacheKey&&(l.videoCacheKey=n.videoCacheKey),n.adTag&&(l.ad=n.adTag),n.bid_appendix&&Object.keys(n.bid_appendix).forEach((e=>{l[e]=n.bid_appendix[e]})),t.push(l)}return t},getUserSyncs:function(e,r,t,n){if(!r||0===r.length)return[];const d=[];let i="";return t&&(i="gdprApplies"in t&&"boolean"==typeof t.gdprApplies?`gdpr=${Number(t.gdprApplies)}&gdpr_consent=${t.consentString}`:`gdpr_consent=${t.consentString}`),r.length>0&&r[0].body.userSync&&(e.iframeEnabled&&r[0].body.userSync.iframeUrl.forEach((e=>d.push({type:"iframe",url:u(e,i)}))),e.pixelEnabled&&r[0].body.userSync.imageUrl.forEach((e=>d.push({type:"image",url:u(e,i)})))),d}};function u(e,r){return r?e+(-1!==e.indexOf("?")?"&":"?")+r:e}function m(e,r){let t,n=[];for(t in e)if(e.hasOwnProperty(t)){let d=r?r+"["+t+"]":t,i=e[t];n.push(null!==i&&"object"==typeof i?m(i,d):encodeURIComponent(d)+"="+encodeURIComponent(i))}return n.join("&")}function f(e){return v((0,d.A)(e,"mediaTypes.banner.sizes")||e.sizes)}function g(e){let r={};return r.width=parseInt(e[0],10),r.height=parseInt(e[1],10),r}function v(e){return Array.isArray(e[0])?e.map((e=>g(e))):[g(e)]}function y(e){(0,i.logMessage)("DSPx: outstreamRender bid:",e);const r=function(e){const r=window.document.createDocumentFragment();let t=window.document.createElement("div");t.innerHTML=(0,d.A)(e,"renderer.config.code",""),r.appendChild(t);for(var n=t.getElementsByTagName("script"),i=[],o=0;o<n.length;o++)i.push(n[o]);for(var a=0;a<i.length;a++){for(var s=i[a],p=document.createElement("script"),c=0;c<s.attributes.length;c++){var l=s.attributes[c];p.setAttribute(l.name,l.value)}p.appendChild(document.createTextNode(s.innerHTML)),s.parentNode.replaceChild(p,s)}return r}(e);try{const t=(0,i.getBidIdParameter)("iframe",e.renderer.config);if(t&&"IFRAME"===window.document.getElementById(t).nodeName){const n=window.document.getElementById(t);return(n.contentDocument||n.contentWindow&&n.contentWindow.document).body.appendChild(r),void("function"==typeof window.dspxRender?window.dspxRender(e):(0,i.logError)("[dspx][renderer] Error: dspxRender function is not found"))}const n=(0,i.getBidIdParameter)("slot",e.renderer.config)||e.adUnitCode;n&&window.document.getElementById(n)?(window.document.getElementById(n).appendChild(r),"function"==typeof window.dspxRender?window.dspxRender(e):(0,i.logError)("[dspx][renderer] Error: dspxRender function is not found")):n&&(0,i.logError)("[dspx][renderer] Error: slot not found")}catch(e){(0,i.logError)("[dspx][renderer] Error:"+e.message)}}(0,o.a$)(l),(0,n.E)("dspxBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return r=85248,e(e.s=r);var r}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[63214],{85248:(e,r,t)=>{var n=t(7873),d=t(70433),i=t(91069),o=t(57377),a=t(71371),s=t(95789),p=t(15901);const c=["mimes","minduration","maxduration","protocols","w","h","startdelay","placement","plcmt","linearity","skip","skipmin","skipafter","sequence","battr","maxextended","minbitrate","maxbitrate","boxingallowed","playbackmethod","playbackend","delivery","pos","companionad","api","companiontype","ext"],l={code:"dspx",gvlid:602,aliases:[],supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:function(e){return!!e.params.placement},buildRequests:function(e,r){let t={};return e.map((e=>{const n=e.params,o=Math.floor(99999999999*Math.random()),s=r.refererInfo.page,l=e.bidId,u=e.adUnitCode||!1,g=e.auctionId||!1,y=n.devMode||!1;let h=y?"https://dcbuyer.dspx.tv/request/":"https://buyer.dspx.tv/request/",b=n.placement;y&&n.dev&&(h=n.dev.endpoint||h,b=n.dev.placement||b,void 0!==n.dev.pfilter&&(n.pfilter=n.dev.pfilter));let x=function(e){let r={};e.mediaTypes?Object.keys(e.mediaTypes).forEach((t=>{t===a.D4&&(r[t]=f(e)),t===a.G_&&(r[t]=function(e){return v((0,d.A)(e,"mediaTypes.video.playerSize")||e.sizes)}(e))})):r[a.D4]=f(e);return r}(e);var w;let I=x["banner"===(w=e).mediaType||(0,d.A)(w,"mediaTypes.banner")||!function(e){return"video"===e.mediaType||!!(0,d.A)(e,"mediaTypes.video")}(w)?a.D4:a.G_];if(t={_f:"auto",alternative:"prebid_js",inventory_item_id:b,srw:I?I[0].width:0,srh:I?I[0].height:0,idt:100,rnd:o,ref:s,bid_id:l,pbver:"9.3.0"},void 0!==n.pfilter&&(t.pfilter=n.pfilter),r&&r.gdprConsent&&(void 0!==t.pfilter?t.pfilter.gdpr_consent||(t.pfilter.gdpr_consent=r.gdprConsent.consentString,t.pfilter.gdpr=r.gdprConsent.gdprApplies):t.pfilter={gdpr_consent:r.gdprConsent.consentString,gdpr:r.gdprConsent.gdprApplies}),void 0!==n.bcat&&(t.bcat=(0,d.A)(r.ortb2Imp,"bcat")||n.bcat),void 0!==n.dvt&&(t.dvt=n.dvt),y&&(t.prebidDevMode=1),e.userId){e.userId.netId&&(t.did_netid=e.userId.netId),e.userId.id5id&&(t.did_id5=e.userId.id5id.uid||"0",void 0!==e.userId.id5id.ext.linkType&&(t.did_id5_linktype=e.userId.id5id.ext.linkType));let r=(0,d.A)(e,"userId.uid2.id");r&&(t.did_uid2=r);let n=(0,d.A)(e,"userId.sharedid.id");n&&(t.did_sharedid=n);let i=(0,d.A)(e,"userId.pubcid");i&&(t.did_pubcid=i);let o=(0,d.A)(e,"crumbs.pubcid");o&&(t.did_cpubcid=o)}if(e.schain&&(t.schain=e.schain),void 0===t.pfilter||!t.pfilter.floorprice){let r=function(e){if(!(0,i.isFn)(e.getFloor))return(0,d.A)(e,"params.bidfloor",0);try{return e.getFloor({currency:"EUR",mediaType:"*",size:"*"}).floor}catch(e){return 0}}(e);r>0&&(void 0!==t.pfilter?t.pfilter.floorprice=r:t.pfilter={floorprice:r})}if(g&&(t.auctionId=g),u&&(t.pbcode=u),t.media_types=function(e){let r={};return Object.keys(e).forEach((t=>{r[t]=e[t].map((e=>e.width+"x"+e.height)).join(",")})),r}(x),void 0!==x[a.G_]){t.vctx=function(e){return(0,d.A)(e,"mediaTypes.video.context")||"unknown"}(e),void 0!==n.vastFormat&&(t.vf=n.vastFormat),t.vpl={};let r=(0,d.A)(e,"mediaTypes.video");Object.keys(r).filter((e=>(0,p.mK)(c,e))).forEach((e=>t.vpl[e]=r[e]))}return{method:"GET",url:h,data:m(t)}}))},interpretResponse:function(e,r){(0,i.logMessage)("DSPx: serverResponse",e),(0,i.logMessage)("DSPx: bidRequest",r);const t=[],n=e.body,o=n.crid||0,a=n.cpm/1e6||0;if(0!==a&&0!==o){const e=n.dealid||"",p=n.currency||"EUR",c=void 0===n.netRevenue||n.netRevenue,l={requestId:n.bid_id,cpm:a,width:n.width,height:n.height,creativeId:o,dealId:e,currency:p,netRevenue:c,type:n.type,ttl:60,meta:{advertiserDomains:n.adomain||[]}};n.vastUrl&&(l.vastUrl=n.vastUrl,l.mediaType="video"),n.vastXml&&(l.vastXml=n.vastXml,l.mediaType="video"),n.renderer&&(l.renderer=function(e,r){(0,i.logMessage)("DSPx: newRenderer",e,r);const t=s.A4.install({id:r.renderer.id||r.bid_id,url:e.params&&e.params.rendererUrl||r.renderer.url,config:r.renderer.options||(0,d.A)(e,"renderer.options"),loaded:!1});try{t.setRender(y)}catch(e){(0,i.logWarn)("Prebid Error calling setRender on renderer",e)}return t}(r,n)),n.videoCacheKey&&(l.videoCacheKey=n.videoCacheKey),n.adTag&&(l.ad=n.adTag),n.bid_appendix&&Object.keys(n.bid_appendix).forEach((e=>{l[e]=n.bid_appendix[e]})),t.push(l)}return t},getUserSyncs:function(e,r,t,n){if(!r||0===r.length)return[];const d=[];let i="";return t&&(i="gdprApplies"in t&&"boolean"==typeof t.gdprApplies?`gdpr=${Number(t.gdprApplies)}&gdpr_consent=${t.consentString}`:`gdpr_consent=${t.consentString}`),r.length>0&&r[0].body.userSync&&(e.iframeEnabled&&r[0].body.userSync.iframeUrl.forEach((e=>d.push({type:"iframe",url:u(e,i)}))),e.pixelEnabled&&r[0].body.userSync.imageUrl.forEach((e=>d.push({type:"image",url:u(e,i)})))),d}};function u(e,r){return r?e+(-1!==e.indexOf("?")?"&":"?")+r:e}function m(e,r){let t,n=[];for(t in e)if(e.hasOwnProperty(t)){let d=r?r+"["+t+"]":t,i=e[t];n.push(null!==i&&"object"==typeof i?m(i,d):encodeURIComponent(d)+"="+encodeURIComponent(i))}return n.join("&")}function f(e){return v((0,d.A)(e,"mediaTypes.banner.sizes")||e.sizes)}function g(e){let r={};return r.width=parseInt(e[0],10),r.height=parseInt(e[1],10),r}function v(e){return Array.isArray(e[0])?e.map((e=>g(e))):[g(e)]}function y(e){(0,i.logMessage)("DSPx: outstreamRender bid:",e);const r=function(e){const r=window.document.createDocumentFragment();let t=window.document.createElement("div");t.innerHTML=(0,d.A)(e,"renderer.config.code",""),r.appendChild(t);for(var n=t.getElementsByTagName("script"),i=[],o=0;o<n.length;o++)i.push(n[o]);for(var a=0;a<i.length;a++){for(var s=i[a],p=document.createElement("script"),c=0;c<s.attributes.length;c++){var l=s.attributes[c];p.setAttribute(l.name,l.value)}p.appendChild(document.createTextNode(s.innerHTML)),s.parentNode.replaceChild(p,s)}return r}(e);try{const t=(0,i.getBidIdParameter)("iframe",e.renderer.config);if(t&&"IFRAME"===window.document.getElementById(t).nodeName){const n=window.document.getElementById(t);return(n.contentDocument||n.contentWindow&&n.contentWindow.document).body.appendChild(r),void("function"==typeof window.dspxRender?window.dspxRender(e):(0,i.logError)("[dspx][renderer] Error: dspxRender function is not found"))}const n=(0,i.getBidIdParameter)("slot",e.renderer.config)||e.adUnitCode;n&&window.document.getElementById(n)?(window.document.getElementById(n).appendChild(r),"function"==typeof window.dspxRender?window.dspxRender(e):(0,i.logError)("[dspx][renderer] Error: dspxRender function is not found")):n&&(0,i.logError)("[dspx][renderer] Error: slot not found")}catch(e){(0,i.logError)("[dspx][renderer] Error:"+e.message)}}(0,o.a$)(l),(0,n.E)("dspxBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return r=85248,e(e.s=r);var r}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[42069],{30579:(e,r,t)=>{var n=t(7873),s=t(91069),i=t(63172),a=t(70433),o=t(57377),d=t(71371),l=t(95789),u=t(89766);const p="https://cdn.dxkulture.com/players/dxOutstreamPlayer.js",c=(0,u.A)({context:{netRevenue:!0,ttl:300},imp(e,r,t){const n=e(r,t);return n.bidfloor||(n.bidfloor=r.params.bidfloor||0,n.bidfloorcur=r.params.currency||"USD"),n},request(e,r,t,n){const a=e(r,t,n);return(0,s.mergeDeep)(a,{ext:{hb:1,prebidver:"9.1.0",adapterver:"1.0.0"}}),t.gdprConsent&&((0,i.J)(a,"user.ext.consent",t.gdprConsent.consentString),(0,i.J)(a,"regs.ext.gdpr",t.gdprConsent.gdprApplies?1:0)),t.uspConsent&&(0,i.J)(a,"regs.ext.us_privacy",t.uspConsent),a},bidResponse(e,r,t){let n;const{bidRequest:i}=t;n=r.adm?.trim().startsWith("<VAST")?d.G_:d.D4,t.mediaType=n,t.currency="USD",n===d.G_&&(t.vastXml=r.adm);const a=e(r,t);return n===d.G_&&"outstream"===i.mediaTypes.video.context&&(a.renderer=function(e){const r={width:e.width,height:e.height,vastTimeout:5e3,maxAllowedVastTagRedirects:3,allowVpaid:!1,autoPlay:!0,preload:!0,mute:!1},t=l.A4.install({id:e.adId,url:p,config:r,loaded:!1,targetId:e.adUnitCode,adUnitCode:e.adUnitCode});try{t.setRender((function(e){e.renderer.push((()=>{const{id:r,config:t}=e.renderer;window.dxOutstreamPlayer(e,r,t)}))}))}catch(e){(0,s.logWarn)("dxkulture: Prebid Error calling setRender on renderer",e)}return t}(a)),a}}),m={code:"dxkulture",VERSION:"1.0.0",supportedMediaTypes:[d.D4,d.G_],ENDPOINT:"https://ads.dxkulture.com/pbjs",isBidRequestValid:function(e){return function(e){if(!e.params)return!1;if(e.params.e2etest)return!0;if(!e.params.publisherId)return(0,s.logError)("dxkulture: Validation failed: publisherId not declared"),!1;if(!e.params.placementId)return(0,s.logError)("dxkulture: Validation failed: placementId not declared"),!1;if(!y(e)&&!f(e))return!1;return!0}(e)&&function(e){if(!f(e))return!0;const r=(0,a.A)(e,"mediaTypes.banner");if(!Array.isArray(r.sizes))return!1;return!0}(e)&&function(e){if(!y(e))return!0;const r=(0,a.A)(e,"mediaTypes.video",{}),t=(0,a.A)(e,"params.video",{}),n=(0,a.A)(e,"params",{});if(n&&n.e2etest)return!0;const i={...r,...t};if(!Array.isArray(i.mimes)||0===i.mimes.length)return(0,s.logError)("dxkulture: Validation failed: mimes are invalid"),!1;if(!Array.isArray(i.protocols)||0===i.protocols.length)return(0,s.logError)("dxkulture: Validation failed: protocols are invalid"),!1;if(!i.context)return(0,s.logError)("dxkulture: Validation failed: context id not declared"),!1;if("instream"!==i.context)return(0,s.logError)("dxkulture: Validation failed: only context instream is supported "),!1;if(void 0===i.playerSize||!Array.isArray(i.playerSize)||!Array.isArray(i.playerSize[0]))return(0,s.logError)("dxkulture: Validation failed: player size not declared or is not in format [[w,h]]"),!1;return!0}(e)},buildRequests:function(e,r){let t=d.D4;y(e)&&(t=d.G_);const n=c.toORTB({bidRequests:e,bidderRequest:r,context:{contextMediaType:t}});let i=e[0].params.publisherId,a=e[0].params.placementId;e[0].params.e2etest&&((0,s.logMessage)("dxkulture: E2E test mode enabled"),i="e2etest");let o=m.ENDPOINT+"?pid="+i;return a&&(o+="&placementId="+a),{method:"POST",url:o,data:n}},interpretResponse:function(e,r){return c.fromORTB({response:e.body,request:r.data}).bids},getUserSyncs:function(e,r,t,n){(0,s.logInfo)("dxkulture.getUserSyncs","syncOptions",e,"serverResponses",r);let i=[];return e.iframeEnabled||e.pixelEnabled?(r.forEach((r=>{const s=(0,a.A)(r,"body.ext.usersync");if(s){let r=[];Object.keys(s).forEach((e=>{const t=s[e];t.syncs&&t.syncs.length&&(r=r.concat(t.syncs))})),r.forEach((e=>{let r=[],s=e.url;"iframe"===e.type&&(t&&(r.push("gdpr="+(t.gdprApplies?1:0)),r.push("gdpr_consent="+encodeURIComponent(t.consentString||""))),n&&r.push("us_privacy="+encodeURIComponent(n)),s=`${e.url}${r.length>0?"?"+r.join("&"):""}`),i.push({type:"iframe"===e.type?"iframe":"image",url:s})})),e.iframeEnabled?i=i.filter((e=>"iframe"==e.type)):e.pixelEnabled&&(i=i.filter((e=>"image"==e.type)))}})),(0,s.logInfo)("dxkulture.getUserSyncs result=%o",i),i):i}};function f(e){return!!(0,a.A)(e,"mediaTypes.banner")}function y(e){return!!(0,a.A)(e,"mediaTypes.video")}(0,o.a$)(m),(0,n.E)("dxkultureBidAdapter")}},e=>{e.O(0,[60802,58498,51085],(()=>{return r=30579,e(e.s=r);var r}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[42069],{30579:(e,r,t)=>{var n=t(7873),s=t(91069),i=t(63172),a=t(70433),o=t(57377),d=t(71371),l=t(95789),u=t(89766);const p="https://cdn.dxkulture.com/players/dxOutstreamPlayer.js",c=(0,u.A)({context:{netRevenue:!0,ttl:300},imp(e,r,t){const n=e(r,t);return n.bidfloor||(n.bidfloor=r.params.bidfloor||0,n.bidfloorcur=r.params.currency||"USD"),n},request(e,r,t,n){const a=e(r,t,n);return(0,s.mergeDeep)(a,{ext:{hb:1,prebidver:"9.3.0",adapterver:"1.0.0"}}),t.gdprConsent&&((0,i.J)(a,"user.ext.consent",t.gdprConsent.consentString),(0,i.J)(a,"regs.ext.gdpr",t.gdprConsent.gdprApplies?1:0)),t.uspConsent&&(0,i.J)(a,"regs.ext.us_privacy",t.uspConsent),a},bidResponse(e,r,t){let n;const{bidRequest:i}=t;n=r.adm?.trim().startsWith("<VAST")?d.G_:d.D4,t.mediaType=n,t.currency="USD",n===d.G_&&(t.vastXml=r.adm);const a=e(r,t);return n===d.G_&&"outstream"===i.mediaTypes.video.context&&(a.renderer=function(e){const r={width:e.width,height:e.height,vastTimeout:5e3,maxAllowedVastTagRedirects:3,allowVpaid:!1,autoPlay:!0,preload:!0,mute:!1},t=l.A4.install({id:e.adId,url:p,config:r,loaded:!1,targetId:e.adUnitCode,adUnitCode:e.adUnitCode});try{t.setRender((function(e){e.renderer.push((()=>{const{id:r,config:t}=e.renderer;window.dxOutstreamPlayer(e,r,t)}))}))}catch(e){(0,s.logWarn)("dxkulture: Prebid Error calling setRender on renderer",e)}return t}(a)),a}}),m={code:"dxkulture",VERSION:"1.0.0",supportedMediaTypes:[d.D4,d.G_],ENDPOINT:"https://ads.dxkulture.com/pbjs",isBidRequestValid:function(e){return function(e){if(!e.params)return!1;if(e.params.e2etest)return!0;if(!e.params.publisherId)return(0,s.logError)("dxkulture: Validation failed: publisherId not declared"),!1;if(!e.params.placementId)return(0,s.logError)("dxkulture: Validation failed: placementId not declared"),!1;if(!y(e)&&!f(e))return!1;return!0}(e)&&function(e){if(!f(e))return!0;const r=(0,a.A)(e,"mediaTypes.banner");if(!Array.isArray(r.sizes))return!1;return!0}(e)&&function(e){if(!y(e))return!0;const r=(0,a.A)(e,"mediaTypes.video",{}),t=(0,a.A)(e,"params.video",{}),n=(0,a.A)(e,"params",{});if(n&&n.e2etest)return!0;const i={...r,...t};if(!Array.isArray(i.mimes)||0===i.mimes.length)return(0,s.logError)("dxkulture: Validation failed: mimes are invalid"),!1;if(!Array.isArray(i.protocols)||0===i.protocols.length)return(0,s.logError)("dxkulture: Validation failed: protocols are invalid"),!1;if(!i.context)return(0,s.logError)("dxkulture: Validation failed: context id not declared"),!1;if("instream"!==i.context)return(0,s.logError)("dxkulture: Validation failed: only context instream is supported "),!1;if(void 0===i.playerSize||!Array.isArray(i.playerSize)||!Array.isArray(i.playerSize[0]))return(0,s.logError)("dxkulture: Validation failed: player size not declared or is not in format [[w,h]]"),!1;return!0}(e)},buildRequests:function(e,r){let t=d.D4;y(e)&&(t=d.G_);const n=c.toORTB({bidRequests:e,bidderRequest:r,context:{contextMediaType:t}});let i=e[0].params.publisherId,a=e[0].params.placementId;e[0].params.e2etest&&((0,s.logMessage)("dxkulture: E2E test mode enabled"),i="e2etest");let o=m.ENDPOINT+"?pid="+i;return a&&(o+="&placementId="+a),{method:"POST",url:o,data:n}},interpretResponse:function(e,r){return c.fromORTB({response:e.body,request:r.data}).bids},getUserSyncs:function(e,r,t,n){(0,s.logInfo)("dxkulture.getUserSyncs","syncOptions",e,"serverResponses",r);let i=[];return e.iframeEnabled||e.pixelEnabled?(r.forEach((r=>{const s=(0,a.A)(r,"body.ext.usersync");if(s){let r=[];Object.keys(s).forEach((e=>{const t=s[e];t.syncs&&t.syncs.length&&(r=r.concat(t.syncs))})),r.forEach((e=>{let r=[],s=e.url;"iframe"===e.type&&(t&&(r.push("gdpr="+(t.gdprApplies?1:0)),r.push("gdpr_consent="+encodeURIComponent(t.consentString||""))),n&&r.push("us_privacy="+encodeURIComponent(n)),s=`${e.url}${r.length>0?"?"+r.join("&"):""}`),i.push({type:"iframe"===e.type?"iframe":"image",url:s})})),e.iframeEnabled?i=i.filter((e=>"iframe"==e.type)):e.pixelEnabled&&(i=i.filter((e=>"image"==e.type)))}})),(0,s.logInfo)("dxkulture.getUserSyncs result=%o",i),i):i}};function f(e){return!!(0,a.A)(e,"mediaTypes.banner")}function y(e){return!!(0,a.A)(e,"mediaTypes.video")}(0,o.a$)(m),(0,n.E)("dxkultureBidAdapter")}},e=>{e.O(0,[60802,58498,51085],(()=>{return r=30579,e(e.s=r);var r}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[64771],{47307:(e,t,n)=>{var a=n(7873),i=n(57377),o=n(71371),r=n(91069),s=n(70433),p=n(12449);function l(e){if(!(e.requestId&&e.cpm&&e.creativeId&&e.ttl&&e.currency))return!1;switch(e.mediaType){case o.D4:return Boolean(e.width&&e.height&&e.ad);case o.G_:return Boolean(e.vastUrl||e.vastXml);case o.s6:return Boolean(e.native&&e.native.impressionTrackers&&e.native.impressionTrackers.length);default:return!1}}function d(e){const{params:t,bidId:n,mediaTypes:a,transactionId:i,userIdAsEids:r}=e,s=e.schain||{},{placementId:p}=t,l=function(e){try{return e.getFloor({currency:"USD",mediaType:"*",size:"*"}).floor}catch(e){return 0}}(e),d={placementId:p,bidId:n,schain:s,bidfloor:l};return a&&a[o.D4]?(d.adFormat=o.D4,d.sizes=a[o.D4].sizes):a&&a[o.G_]?(d.adFormat=o.G_,d.playerSize=a[o.G_].playerSize,d.minduration=a[o.G_].minduration,d.maxduration=a[o.G_].maxduration,d.mimes=a[o.G_].mimes,d.protocols=a[o.G_].protocols,d.startdelay=a[o.G_].startdelay,d.plcmt=a[o.G_].plcmt,d.skip=a[o.G_].skip,d.skipafter=a[o.G_].skipafter,d.minbitrate=a[o.G_].minbitrate,d.maxbitrate=a[o.G_].maxbitrate,d.delivery=a[o.G_].delivery,d.playbackmethod=a[o.G_].playbackmethod,d.api=a[o.G_].api,d.linearity=a[o.G_].linearity):a&&a[o.s6]&&(d.native=a[o.s6],d.adFormat=o.s6),i&&(d.ext=d.ext||{},d.ext.tid=i),r&&r.length&&(d.eids=r),d}const c={code:"e_volution",gvlid:957,supportedMediaTypes:[o.D4,o.G_,o.s6],isBidRequestValid:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{params:t,bidId:n,mediaTypes:a}=e;let i=Boolean(n&&t&&t.placementId);return i=a&&a[o.D4]?i&&Boolean(a[o.D4]&&a[o.D4].sizes):a&&a[o.G_]?i&&Boolean(a[o.G_]&&a[o.G_].playerSize):!(!a||!a[o.s6])&&(i&&Boolean(a[o.s6])),i},buildRequests:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=(0,p.Xj)(e);let n,a=0,i=0;try{const e=window.top;a=e.screen.width,i=e.screen.height,n=e.location}catch(e){(0,r.logMessage)(e),n=window.location}const o=t.refererInfo&&t.refererInfo.page;let l;try{l=o&&new URL(o)}catch(e){(0,r.logMessage)(e)}let c=l||n;const g=navigator&&navigator.language?navigator.language.split("-")[0]:"",u=c.host,m=c.pathname,h=[],_={deviceWidth:a,deviceHeight:i,language:g,secure:"https:"===c.protocol?1:0,host:u,page:m,placements:h,coppa:(0,s.A)(t,"ortb2.regs.coppa")?1:0,tmax:t.timeout};t.uspConsent&&(_.ccpa=t.uspConsent),t.gdprConsent&&(_.gdpr={consentString:t.gdprConsent.consentString}),t.gppConsent?(_.gpp=t.gppConsent.gppString,_.gpp_sid=t.gppConsent.applicableSections):t.ortb2?.regs?.gpp&&(_.gpp=t.ortb2.regs.gpp,_.gpp_sid=t.ortb2.regs.gpp_sid);const v=e.length;for(let t=0;t<v;t++){const n=e[t];h.push(d(n))}return{method:"POST",url:"https://service.e-volution.ai/?c=o&m=multi",data:_}},interpretResponse:e=>{let t=[];for(let n=0;n<e.body.length;n++){let a=e.body[n];if(l(a)){const e=a.adomain&&a.adomain.length?a.adomain:[];a.meta={...a.meta,advertiserDomains:e},t.push(a)}}return t}};(0,i.a$)(c),(0,a.E)("e_volutionBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=47307,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[64771],{47307:(e,s,i)=>{var t=i(7873),u=i(57377),o=i(71371),d=i(75674);const p={code:"e_volution",gvlid:957,supportedMediaTypes:[o.D4,o.G_,o.s6],isBidRequestValid:(0,d.$d)(),buildRequests:(0,d.rz)("https://service.e-volution.ai/?c=o&m=multi"),interpretResponse:d.xO};(0,u.a$)(p),(0,t.E)("e_volutionBidAdapter")}},e=>{e.O(0,[49136,60802,51085],(()=>{return s=47307,e(e.s=s);var s}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[84749],{71161:(e,t,n)=>{var a=n(7873),r=n(91069),i=n(70433),o=n(12449),s=n(57377),p=n(71371),d=n(43272);function l(e){if(!(e.requestId&&e.cpm&&e.creativeId&&e.ttl&&e.currency))return!1;switch(e.mediaType){case p.D4:return Boolean(e.width&&e.height&&e.ad);case p.G_:return Boolean(e.vastUrl||e.vastXml);case p.s6:return Boolean(e.native&&e.native.impressionTrackers&&e.native.impressionTrackers.length);default:return!1}}function c(e){const{params:t,bidId:n,mediaTypes:a}=e,o=e.schain||{},{placementId:s,endpointId:d}=t,l=function(e){if(!(0,r.isFn)(e.getFloor))return(0,i.A)(e,"params.bidfloor",0);try{return e.getFloor({currency:"USD",mediaType:"*",size:"*"}).floor}catch(e){return(0,r.logError)(e),0}}(e),c={bidId:n,schain:o,bidfloor:l};return s?(c.placementId=s,c.type="publisher"):d&&(c.endpointId=d,c.type="network"),a&&a[p.D4]?(c.adFormat=p.D4,c.sizes=a[p.D4].sizes):a&&a[p.G_]?(c.adFormat=p.G_,c.playerSize=a[p.G_].playerSize,c.minduration=a[p.G_].minduration,c.maxduration=a[p.G_].maxduration,c.mimes=a[p.G_].mimes,c.protocols=a[p.G_].protocols,c.startdelay=a[p.G_].startdelay,c.placement=a[p.G_].placement,c.plcmt=a[p.G_].plcmt,c.skip=a[p.G_].skip,c.skipafter=a[p.G_].skipafter,c.minbitrate=a[p.G_].minbitrate,c.maxbitrate=a[p.G_].maxbitrate,c.delivery=a[p.G_].delivery,c.playbackmethod=a[p.G_].playbackmethod,c.api=a[p.G_].api,c.linearity=a[p.G_].linearity):a&&a[p.s6]&&(c.native=a[p.s6],c.adFormat=p.s6),c}const m={code:"emtv",supportedMediaTypes:[p.D4,p.G_,p.s6],isBidRequestValid:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{params:t,bidId:n,mediaTypes:a}=e;let r=Boolean(n&&t&&(t.placementId||t.endpointId));return r=a&&a[p.D4]?r&&Boolean(a[p.D4]&&a[p.D4].sizes):a&&a[p.G_]?r&&Boolean(a[p.G_]&&a[p.G_].playerSize):!(!a||!a[p.s6])&&(r&&Boolean(a[p.s6])),r},buildRequests:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=(0,o.Xj)(e);let n,a=0,i=0;try{const e=window.top;a=e.screen.width,i=e.screen.height,n=e.location}catch(e){(0,r.logMessage)(e),n=window.location}const s=t.refererInfo&&t.refererInfo.page;let p;try{p=s&&new URL(s)}catch(e){(0,r.logMessage)(e)}let l=p||n;const m=navigator&&navigator.language?navigator.language.split("-")[0]:"",g=l.host,u=l.pathname,h=[],f={deviceWidth:a,deviceHeight:i,language:m,secure:"https:"===l.protocol?1:0,host:g,page:u,placements:h,coppa:!0===d.$W.getConfig("coppa")?1:0,ccpa:t.uspConsent||void 0,gdpr:t.gdprConsent||void 0,tmax:d.$W.getConfig("bidderTimeout")},y=e.length;for(let t=0;t<y;t++){const n=e[t];h.push(c(n))}return{method:"POST",url:"https://us-east-ep.engagemedia.tv/pbjs",data:f}},interpretResponse:e=>{let t=[];for(let n=0;n<e.body.length;n++){let a=e.body[n];if(l(a)){const e=a.adomain&&a.adomain.length?a.adomain:[];a.meta={...a.meta,advertiserDomains:e},t.push(a)}}return t},getUserSyncs:(e,t,n,a)=>{let r=e.iframeEnabled?"iframe":"image",i=`https://cs.engagemedia.tv/${r}?pbjs=1`;n&&n.consentString&&("boolean"==typeof n.gdprApplies?i+=`&gdpr=${Number(n.gdprApplies)}&gdpr_consent=${n.consentString}`:i+=`&gdpr=0&gdpr_consent=${n.consentString}`),a&&a.consentString&&(i+=`&ccpa_consent=${a.consentString}`);return i+=`&coppa=${d.$W.getConfig("coppa")?1:0}`,[{type:r,url:i}]}};(0,s.a$)(m),(0,a.E)("emtvBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=71161,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[84749],{71161:(e,s,t)=>{var p=t(7873),a=t(57377),d=t(71371),r=t(75674);const i={code:"emtv",supportedMediaTypes:[d.D4,d.G_,d.s6],isBidRequestValid:(0,r.$d)(),buildRequests:(0,r.rz)("https://us-east-ep.engagemedia.tv/pbjs"),interpretResponse:r.xO,getUserSyncs:(0,r.yY)("https://cs.engagemedia.tv")};(0,a.a$)(i),(0,p.E)("emtvBidAdapter")}},e=>{e.O(0,[49136,60802,51085],(()=>{return s=71161,e(e.s=s);var s}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[22969],{87371:(e,t,n)=>{var r=n(7873),i=n(91069),o=n(57377),a=n(12938),s=n(71371),d=n(51252);const c="eplanning",u=(0,a.vM)({bidderCode:c}),p=Math.random(),l="i.e-planning.net",f=["ci","sv","t","ml","sn"],m="USD",g="1x1",h="pbsr_",y="pbvi_",v=window.navigator.userAgent.match(/(mobile)|(ip(hone|ad))|(android)|(blackberry)|(nokia)|(phone)|(opera\smini)/i),b=["1x1","300x50","320x50","300x250"],I=["1x1","970x90","970x250","160x600","300x600","728x90","300x250"],x="640x480",w={code:c,supportedMediaTypes:[s.D4,s.G_],isBidRequestValid:function(e){return Boolean(e.params.ci)||Boolean(e.params.t)},buildRequests:function(e,t){let n,i;const o=function(e){if(function(e){for(let t=0;t<e.length;t++)if(e[t].params.t)return!0;return!1}(e))return function(e){let t;return e.forEach((e=>t=t||e.params.isv)),{t:!0,isv:t||l}}(e.filter((e=>e.params.t)));let t={};return e.forEach((e=>{f.forEach((n=>{e.params[n]&&!t[n]&&(t[n]=e.params[n])}))})),t}(e),a=function(){try{return window.top.document.charset||window.top.document.characterSet}catch(e){return document.charset||document.characterSet}}(),d=function(e,t){let n=e.reduce(((e,t)=>t.mediaTypes&&t.mediaTypes[s.G_]?"outstream"==t.mediaTypes[s.G_].context?2|e:1|e:e),0);n&&(e=e.filter((e=>e.mediaTypes&&e.mediaTypes[s.G_]&&(1&n?!e.mediaTypes[s.G_].context||"instream"==e.mediaTypes[s.G_].context:"outstream"==e.mediaTypes[s.G_].context))));let r=function(e){let t={};return e.forEach((e=>{let n=S(e,!0);t[n]=t[n]?t[n]:[],t[n].push(e)})),t}(e),i={str:"",vs:"",map:{},impType:n};return i.str=Object.keys(r).map((e=>r[e].map(((e,r)=>{let o;if(i.vs+=function(e){let t,n="";u.hasLocalStorage()?(t=function(e){let t=u.getDataFromLocalStorage(h+e.adUnitCode)||0,n=u.getDataFromLocalStorage(y+e.adUnitCode)||0,r=t>0?n/t:0;return{render:t,ratio:window.parseInt(10*r,10)}}(e),n+=t.render>=4?t.ratio.toString(16):"F"):n+="F";return n}(e),n){let t=function(e){if(null==e||!Array.isArray(e))return;let t=Array.isArray(e[0])?e[0]:e;return Array.isArray(t)&&2==t.length?t:void 0}(e.mediaTypes[s.G_].playerSize),n=t?t.join("x"):x;return o="video_"+n+"_"+r,i.map[o]=e.bidId,o+":"+n+";1"+_(e)}return o=t?function(e){return e.replace(/_|\.|-|\//g,"").replace(/\)\(|\(|\)|:/g,"_").replace(/^_+|_+$/g,"")}(e.adUnitCode):e.params&&e.params.sn||S(e,!0)+"_"+r,i.map[o]=e.bidId,o+":"+S(e)+_(e)})).join("+"))).join("+"),i}(e,o.ml),c=t.refererInfo.page||t.refererInfo.topmostLocation,m=t.refererInfo.domain||window.location.host;if(o.t)n="https://"+o.isv+"/layers/t_pbjs_2.json",i={};else{n="https://"+(o.sv||"pbjs.e-planning.net")+"/pbjs/1/"+o.ci+"/1/"+m+"/ROS";const s=t.refererInfo.ref||t.refererInfo.topmostLocation;if(u.hasLocalStorage()&&function(e){let t=[];e.forEach((e=>{let n=U(e.adUnitCode);n?T(n,e.adUnitCode):t.push(e.adUnitCode)})),t.length&&function(e){const t=new MutationObserver((function(t,n){let r,i;t&&Array.isArray(t)&&t.forEach((t=>{t&&t.addedNodes&&Array.isArray(t.addedNodes)&&t.addedNodes.forEach((t=>{r=e.indexOf(t.id),i=t,r<0&&e.forEach((n=>{let o=U(n);o&&o.contains(t)&&o.getBoundingClientRect().width>0&&(r=e.indexOf(o.id),i=o)})),r>=0&&(T(i,e[r]),e.splice(r,1),e.length||n.disconnect())}))}))}));document.addEventListener("DOMContentLoaded",(function(e){var n={childList:!0,subtree:!0,characterData:!0};t.observe(document.body,n)}))}(t)}(e),i={rnd:p,e:d.str,ur:A(c||"file"),pbv:"9.1.0",ncb:"1",vs:d.vs},a&&(i.crs=a),s&&(i.fr=A(s)),t&&t.gdprConsent&&void 0!==t.gdprConsent.gdprApplies&&(i.gdpr=t.gdprConsent.gdprApplies?"1":"0",void 0!==t.gdprConsent.consentString&&(i.gdprcs=t.gdprConsent.consentString)),t&&t.uspConsent&&(i.ccpa=t.uspConsent),(0,r.m)().getUserIds&&"function"==typeof(0,r.m)().getUserIds){const e=(0,r.m)().getUserIds();for(var g in e)i["e_"+g]="object"==typeof e[g]?encodeURIComponent(JSON.stringify(e[g])):encodeURIComponent(e[g])}d.impType&&(i.vctx=1&d.impType?1:2,i.vv=3)}return{method:"GET",url:n,data:i,adUnitToBidId:d.map}},interpretResponse:function(e,t){const n=e.body;let r=[];return n&&!(0,i.isEmpty)(n.sp)&&n.sp.forEach((e=>{(0,i.isEmpty)(e.a)||e.a.forEach((n=>{const i={requestId:t.adUnitToBidId[e.k],cpm:n.pr,width:n.w,height:n.h,ttl:120,creativeId:n.crid,netRevenue:true,currency:m};n.adom&&(i.meta={advertiserDomains:n.adom}),t&&t.data&&t.data.vv?(i.vastXml=n.adm,i.mediaType=s.G_):i.ad=n.adm,r.push(i)}))})),r},getUserSyncs:function(e,t){const n=[],r=!(0,i.isEmpty)(t)&&t[0].body;if(r&&!(0,i.isEmpty)(r.cs)){r.cs.forEach((t=>{"string"==typeof t&&e.pixelEnabled?n.push({type:"image",url:t}):"object"==typeof t&&t.ifr&&e.iframeEnabled&&n.push({type:"iframe",url:t.u})}))}return n}};function C(){return(0,i.getWindowSelf)().innerWidth<=1024||window.orientation||v}function E(e,t){var n=C()?b:I,r=n.indexOf(e),i=n.indexOf(t);return r>-1?i>-1&&r<i?1:-1:i>-1?1:0}function S(e,t){var n,r=e.sizes&&e.sizes.length?(n=e.sizes,(0,i.parseSizesInput)(n).sort(E)):[];return r.length?t?r[0]:r.join(","):g}function _(e){if("function"==typeof e.getFloor){let t=e.getFloor({currency:m,mediaType:"*",size:"*"});if(t.floor)return"|"+encodeURIComponent(t.floor)}return""}function T(e,t){var n;(n={name:t,div:e}).div&&(j(h+n.name),function(){let e,t,n=5,r=1e3,i=.5,o={};function a(e){e.forEach((function(e){var t=e.target;e.isIntersecting?e.intersectionRatio>=i&&e.boundingClientRect&&e.boundingClientRect.height>0&&e.boundingClientRect.width>0&&(o[t.id]=!0):o[t.id]=!1}))}function s(e){return o[e.id]&&document.visibilityState&&"visible"===document.visibilityState}function d(){if(!t){var e={root:null,rootMargin:"0px",threshold:[i]};t=new IntersectionObserver(a.bind(this),e)}}function c(e,t,i){let o=s(t)?e+1:0;o===n?(u(t),i()):setTimeout(c.bind(this,o,t,i),r/n)}function u(e){delete o[e.id],t.unobserve(e)}function p(e){t.observe(e)}function l(e,t){e&&(d(),p(e),c(0,e,t))}return e={onView:l.bind(this)},e}().onView(n.div,j.bind(void 0,y+n.name)))}function U(e){return document.getElementById(e)||document.getElementById(function(e){if((0,i.isGptPubadsDefined)()){const t=googletag.pubads().getSlots(),n=(0,d.mw)(e);for(let e=0;e<t.length;e++)if(n(t[e]))return t[e].getSlotElementId()}return null}(e))}function A(e){return e.length>255&&(e=e.split("?")[0]).length>255&&(e=e.slice(0,255)),e}function j(e){let t;try{t=u.getDataFromLocalStorage(e),t=t?window.parseInt(t,10)+1:1,u.setDataInLocalStorage(e,t)}catch(e){return!1}return!0}(0,o.a$)(w),(0,r.E)("eplanningBidAdapter")}},e=>{e.O(0,[33005,60802,51085],(()=>{return t=87371,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[22969],{87371:(e,t,n)=>{var r=n(7873),i=n(91069),o=n(57377),a=n(12938),s=n(71371),d=n(51252);const c="eplanning",u=(0,a.vM)({bidderCode:c}),p=Math.random(),l="i.e-planning.net",f=["ci","sv","t","ml","sn"],m="USD",g="1x1",h="pbsr_",y="pbvi_",v=window.navigator.userAgent.match(/(mobile)|(ip(hone|ad))|(android)|(blackberry)|(nokia)|(phone)|(opera\smini)/i),b=["1x1","300x50","320x50","300x250"],I=["1x1","970x90","970x250","160x600","300x600","728x90","300x250"],x="640x480",w={code:c,supportedMediaTypes:[s.D4,s.G_],isBidRequestValid:function(e){return Boolean(e.params.ci)||Boolean(e.params.t)},buildRequests:function(e,t){let n,i;const o=function(e){if(function(e){for(let t=0;t<e.length;t++)if(e[t].params.t)return!0;return!1}(e))return function(e){let t;return e.forEach((e=>t=t||e.params.isv)),{t:!0,isv:t||l}}(e.filter((e=>e.params.t)));let t={};return e.forEach((e=>{f.forEach((n=>{e.params[n]&&!t[n]&&(t[n]=e.params[n])}))})),t}(e),a=function(){try{return window.top.document.charset||window.top.document.characterSet}catch(e){return document.charset||document.characterSet}}(),d=function(e,t){let n=e.reduce(((e,t)=>t.mediaTypes&&t.mediaTypes[s.G_]?"outstream"==t.mediaTypes[s.G_].context?2|e:1|e:e),0);n&&(e=e.filter((e=>e.mediaTypes&&e.mediaTypes[s.G_]&&(1&n?!e.mediaTypes[s.G_].context||"instream"==e.mediaTypes[s.G_].context:"outstream"==e.mediaTypes[s.G_].context))));let r=function(e){let t={};return e.forEach((e=>{let n=S(e,!0);t[n]=t[n]?t[n]:[],t[n].push(e)})),t}(e),i={str:"",vs:"",map:{},impType:n};return i.str=Object.keys(r).map((e=>r[e].map(((e,r)=>{let o;if(i.vs+=function(e){let t,n="";u.hasLocalStorage()?(t=function(e){let t=u.getDataFromLocalStorage(h+e.adUnitCode)||0,n=u.getDataFromLocalStorage(y+e.adUnitCode)||0,r=t>0?n/t:0;return{render:t,ratio:window.parseInt(10*r,10)}}(e),n+=t.render>=4?t.ratio.toString(16):"F"):n+="F";return n}(e),n){let t=function(e){if(null==e||!Array.isArray(e))return;let t=Array.isArray(e[0])?e[0]:e;return Array.isArray(t)&&2==t.length?t:void 0}(e.mediaTypes[s.G_].playerSize),n=t?t.join("x"):x;return o="video_"+n+"_"+r,i.map[o]=e.bidId,o+":"+n+";1"+_(e)}return o=t?function(e){return e.replace(/_|\.|-|\//g,"").replace(/\)\(|\(|\)|:/g,"_").replace(/^_+|_+$/g,"")}(e.adUnitCode):e.params&&e.params.sn||S(e,!0)+"_"+r,i.map[o]=e.bidId,o+":"+S(e)+_(e)})).join("+"))).join("+"),i}(e,o.ml),c=t.refererInfo.page||t.refererInfo.topmostLocation,m=t.refererInfo.domain||window.location.host;if(o.t)n="https://"+o.isv+"/layers/t_pbjs_2.json",i={};else{n="https://"+(o.sv||"pbjs.e-planning.net")+"/pbjs/1/"+o.ci+"/1/"+m+"/ROS";const s=t.refererInfo.ref||t.refererInfo.topmostLocation;if(u.hasLocalStorage()&&function(e){let t=[];e.forEach((e=>{let n=U(e.adUnitCode);n?T(n,e.adUnitCode):t.push(e.adUnitCode)})),t.length&&function(e){const t=new MutationObserver((function(t,n){let r,i;t&&Array.isArray(t)&&t.forEach((t=>{t&&t.addedNodes&&Array.isArray(t.addedNodes)&&t.addedNodes.forEach((t=>{r=e.indexOf(t.id),i=t,r<0&&e.forEach((n=>{let o=U(n);o&&o.contains(t)&&o.getBoundingClientRect().width>0&&(r=e.indexOf(o.id),i=o)})),r>=0&&(T(i,e[r]),e.splice(r,1),e.length||n.disconnect())}))}))}));document.addEventListener("DOMContentLoaded",(function(e){var n={childList:!0,subtree:!0,characterData:!0};t.observe(document.body,n)}))}(t)}(e),i={rnd:p,e:d.str,ur:A(c||"file"),pbv:"9.3.0",ncb:"1",vs:d.vs},a&&(i.crs=a),s&&(i.fr=A(s)),t&&t.gdprConsent&&void 0!==t.gdprConsent.gdprApplies&&(i.gdpr=t.gdprConsent.gdprApplies?"1":"0",void 0!==t.gdprConsent.consentString&&(i.gdprcs=t.gdprConsent.consentString)),t&&t.uspConsent&&(i.ccpa=t.uspConsent),(0,r.m)().getUserIds&&"function"==typeof(0,r.m)().getUserIds){const e=(0,r.m)().getUserIds();for(var g in e)i["e_"+g]="object"==typeof e[g]?encodeURIComponent(JSON.stringify(e[g])):encodeURIComponent(e[g])}d.impType&&(i.vctx=1&d.impType?1:2,i.vv=3)}return{method:"GET",url:n,data:i,adUnitToBidId:d.map}},interpretResponse:function(e,t){const n=e.body;let r=[];return n&&!(0,i.isEmpty)(n.sp)&&n.sp.forEach((e=>{(0,i.isEmpty)(e.a)||e.a.forEach((n=>{const i={requestId:t.adUnitToBidId[e.k],cpm:n.pr,width:n.w,height:n.h,ttl:120,creativeId:n.crid,netRevenue:true,currency:m};n.adom&&(i.meta={advertiserDomains:n.adom}),t&&t.data&&t.data.vv?(i.vastXml=n.adm,i.mediaType=s.G_):i.ad=n.adm,r.push(i)}))})),r},getUserSyncs:function(e,t){const n=[],r=!(0,i.isEmpty)(t)&&t[0].body;if(r&&!(0,i.isEmpty)(r.cs)){r.cs.forEach((t=>{"string"==typeof t&&e.pixelEnabled?n.push({type:"image",url:t}):"object"==typeof t&&t.ifr&&e.iframeEnabled&&n.push({type:"iframe",url:t.u})}))}return n}};function C(){return(0,i.getWindowSelf)().innerWidth<=1024||window.orientation||v}function E(e,t){var n=C()?b:I,r=n.indexOf(e),i=n.indexOf(t);return r>-1?i>-1&&r<i?1:-1:i>-1?1:0}function S(e,t){var n,r=e.sizes&&e.sizes.length?(n=e.sizes,(0,i.parseSizesInput)(n).sort(E)):[];return r.length?t?r[0]:r.join(","):g}function _(e){if("function"==typeof e.getFloor){let t=e.getFloor({currency:m,mediaType:"*",size:"*"});if(t.floor)return"|"+encodeURIComponent(t.floor)}return""}function T(e,t){var n;(n={name:t,div:e}).div&&(j(h+n.name),function(){let e,t,n=5,r=1e3,i=.5,o={};function a(e){e.forEach((function(e){var t=e.target;e.isIntersecting?e.intersectionRatio>=i&&e.boundingClientRect&&e.boundingClientRect.height>0&&e.boundingClientRect.width>0&&(o[t.id]=!0):o[t.id]=!1}))}function s(e){return o[e.id]&&document.visibilityState&&"visible"===document.visibilityState}function d(){if(!t){var e={root:null,rootMargin:"0px",threshold:[i]};t=new IntersectionObserver(a.bind(this),e)}}function c(e,t,i){let o=s(t)?e+1:0;o===n?(u(t),i()):setTimeout(c.bind(this,o,t,i),r/n)}function u(e){delete o[e.id],t.unobserve(e)}function p(e){t.observe(e)}function l(e,t){e&&(d(),p(e),c(0,e,t))}return e={onView:l.bind(this)},e}().onView(n.div,j.bind(void 0,y+n.name)))}function U(e){return document.getElementById(e)||document.getElementById(function(e){if((0,i.isGptPubadsDefined)()){const t=googletag.pubads().getSlots(),n=(0,d.mw)(e);for(let e=0;e<t.length;e++)if(n(t[e]))return t[e].getSlotElementId()}return null}(e))}function A(e){return e.length>255&&(e=e.split("?")[0]).length>255&&(e=e.slice(0,255)),e}function j(e){let t;try{t=u.getDataFromLocalStorage(e),t=t?window.parseInt(t,10)+1:1,u.setDataInLocalStorage(e,t)}catch(e){return!1}return!0}(0,o.a$)(w),(0,r.E)("eplanningBidAdapter")}},e=>{e.O(0,[33005,60802,51085],(()=>{return t=87371,e(e.s=t);var t}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[65594,56293],{31536:(e,t,s)=>{var r=s(7873),i=s(91069),n=s(70433),o=s(16833),a=s(12938),l=s(45569),d=s(84259);const u="euid",c=`PrebidJS-9.1.0-EUIDModule-${d.kz}`,p="EUID: ";function h(e,t){return function(){for(var s=arguments.length,r=new Array(s),i=0;i<s;i++)r[i]=arguments[i];e(t+" ",...r)}}const g=h(i.logInfo,p),y=h(i.logWarn,p),f=(0,a.vM)({moduleType:l.fW,moduleName:u});const b={name:u,gvlid:21,decode(e){const t=function(e){if("string"==typeof e){g("Found server-only token. Refresh is unavailable for this token.");return{euid:{id:e}}}if("optout"===e.latestToken)return g("Found optout token. Refresh is unavailable for this token."),{euid:{optout:!0}};if(Date.now()<e.latestToken.identity_expires)return{euid:{id:e.latestToken.advertising_token}};return null}(e);return g("EUID decode returned",t),t},getId(e,t){if(!0!==t?.gdprApplies)return void(0,i.logWarn)("EUID is intended for use within the EU. The module will not run when GDPR does not apply.");if(!function(e){const t=!0===e?.gdprApplies,s=(0,n.A)(e,"vendorData.purpose.consents.1"),r=(0,n.A)(e,`vendorData.vendor.consents.${21..toString()}`);return!!(!t||s&&r)}(t))return void y("Unable to use EUID module due to insufficient consent. The EUID module requires storage permission.");const s={apiBaseUrl:e?.params?.euidApiBase??"https://prod.euid.eu",paramToken:e?.params?.euidToken,serverCookieName:e?.params?.euidCookie,storage:e?.params?.storage??"localStorage",clientId:c,internalStorage:"__euid_advertising_token"};s.cstg={serverPublicKey:e?.params?.serverPublicKey,subscriptionId:e?.params?.subscriptionId,...(0,d.E0)(e?.params??{})},g("EUID configuration loaded and mapped.",s);const r=(0,d.wq)(s,f,g,y);return g("EUID getId returned",r),r},eids:{euid:{source:"euid.eu",atype:3,getValue:function(e){return e.id}}}};(0,o.bz)("userId",b),(0,r.E)("euidIdSystem")},84259:(e,t,s)=>{s.d(t,{E0:()=>h,kz:()=>o,wq:()=>p});var r=s(7873),i=s(68044),n=s(91069);const o="1.1";function a(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}class l{constructor(e,t,s,r){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=s,this._logWarn=r}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s<e.length;s++)t[s]=e.charCodeAt(s);return t}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isValidRefreshResponse(e){return this.hasStatusResponse(e)&&("optout"===e.status||"expired_token"===e.status||"success"===e.status&&e.body&&a(e.body))}ResponseToRefreshResult(e){return this.isValidRefreshResponse(e)?"success"===e.status?{status:e.status,identity:e.body}:e:"Response didn't contain a valid status"}callRefreshApi(e){const t=this._baseUrl+"/v2/token/refresh";let s,r;const n=new Promise(((e,t)=>{s=e,r=t}));return this._logInfo("Sending refresh request",e),(0,i.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const i=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,12),tagLength:128},e,i.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const i=JSON.parse(t),n=this.ResponseToRefreshResult(i);"string"==typeof n?r(n):s(n)}),(e=>this._logWarn("Call to UID2 API failed",e)))}),(e=>this._logWarn("Call to UID2 API failed",e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(i):s(i)}}catch(e){r(t)}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(i):s(i)}catch(t){r(e)}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),n}}class d{constructor(e,t,s,r){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=r}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return e?.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),r=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),i=t();if(i){if("string"==typeof i){const t=r();if(t&&"object"==typeof t)return this._logInfo(`${e} contained a basic token, but found a refreshable token fallback. Copying the fallback value to ${e}.`),s(t),t}}else{const t=r();if(t)return this._logInfo(`${e} was empty, but found a fallback value.`),"object"==typeof t&&(this._logInfo(`Copying the fallback value to ${e}.`),s(t)),t}return i}}function u(e,t,s,r,i,n){i("UID2 base url provided: ",e);return new l({baseUrl:e},s,i,n).callRefreshApi(t).then((e=>{i("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=r.getStoredValueWithFallback();return n?.originalIdentity&&(s.originalIdentity=n.originalIdentity),r.storeValue(s),s}))}let c;{const e=9;c={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t('CSTG is not being used, but is included in the Prebid.js bundle. You can reduce the bundle size by passing "--disable UID2_CSTG" to the Prebid.js build.'),!1;const s=e;if(!s.serverPublicKey&&!s.subscriptionId)return t("CSTG has been enabled but its parameters have not been set."),!1;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const r=/^(UID2|EUID)-X-[A-Z]-.+/;return r.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t(`CSTG opts.serverPublicKey must match the regular expression ${r}`),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const r=t.normalizeEmail(e.email);return void 0===r?void s("CSTG opts.email is invalid"):{email:r}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,r){if(t){if("optout"===t.latestToken)return!0;const r=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,r))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,r,i,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(r);n("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(r),latestToken:l.identity};return i.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static EMAIL_EXTENSION_SYMBOL="+";static EMAIL_DOT=".";static GMAIL_DOMAIN="gmail.com";static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:r,domain:i}=s,n=this.isGmail(i),o=this.normalizeAddressPart(r,n,n);return o?`${o}@${i}`:void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let r=e;return t&&(r=r.replaceAll(this.EMAIL_DOT,"")),s&&(r=this.dropExtension(r)),r}}class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._logInfo=t,this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&a(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await o.hash(e.email)}}if("phone"in e){return{phone_hash:await o.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e);this._logInfo("Building CSTG request for",t);const s=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),i=new TextEncoder,n=Date.now(),{iv:a,ciphertext:l}=await s.encrypt(i.encode(JSON.stringify(t)),i.encode(JSON.stringify([n]))),d=await o.exportPublicKey(s.clientPublicKey),u={payload:o.bytesToBase64(new Uint8Array(l)),iv:o.bytesToBase64(new Uint8Array(a)),public_key:o.bytesToBase64(new Uint8Array(d)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(u,s)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let r,n;const a=new Promise(((e,t)=>{r=e,n=t}));return this._logInfo("Sending CSTG request",e),(0,i.RD)(s,{success:async(e,s)=>{try{const s=o.base64ToBytes(e),i=await t.decrypt(s.slice(0,12),s.slice(12)),a=(new TextDecoder).decode(i),l=JSON.parse(a);this.isCstgApiSuccessResponse(l)?r({status:"success",identity:l.body}):this.isCstgApiOptoutResponse(l)?r({status:"optout",identity:"optout"}):n(`API error: Response body was invalid for HTTP status 200: ${a}`)}catch(e){n(e)}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?n(`Client error: ${e.message}`):n(`API error: Response body was invalid for HTTP status 400: ${t.responseText}`)}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?n(`Forbidden: ${e.message}`):n(`API error: Response body was invalid for HTTP status 403: ${t.responseText}`)}else n(`API error: Unexpected HTTP status ${t.status}: ${e}`)}catch(t){n(e)}}},JSON.stringify(e),{method:"POST"}),a}}class r{static _namedCurve="P-256";constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await o.generateKeyPair(r._namedCurve),s=await o.importPublicKey(e,this._namedCurve),i=await o.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}class o{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function p(e,t,s,r){let i=null;const n="cookie"!==e.storage,o=new d(t,n,e.internalStorage,s);s(`Module is using ${n?"local storage":"cookies"} for internal storage.`);const a=c&&c.isCSTGOptionsValid(e.cstg,r);a?(s("Module is using client-side token generation."),i=null):e.paramToken?(i=e.paramToken,s("Read token from params",i)):e.serverCookieName&&(i=o.readProvidedCookie(e.serverCookieName),s("Read token from server-supplied cookie",i));let l=o.getStoredValueWithFallback();if(s("Loaded module-stored tokens:",l),l&&"string"==typeof l){if(!i&&!a)return s("Returning legacy cookie value."),{id:l};s("Discarding superseded legacy cookie."),l=null}if(i&&l&&l.originalToken?.advertising_token!==i.advertising_token&&(s("Server supplied new token - ignoring stored value.",l.originalToken?.advertising_token,i.advertising_token),l=null),a){const t=c.getValidIdentity(e.cstg,r);if(t&&(l&&c.isStoredTokenInvalid(t,l,s,r)&&(l=null),!l||Date.now()>l.latestToken.refresh_expires)){const i=c.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,o,s,r);return s("Generate token using CSTG"),{callback:e=>{i.then((t=>{s("Token generation responded, passing the new token on.",t),e(t)}))}}}}const p=!l?.latestToken||i&&i.identity_expires>l.latestToken.identity_expires,h=p?i:l.latestToken;if(s("UID2 module selected latest token",p,h),!h||Date.now()>h.refresh_expires)return s("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>h.identity_expires){const t=u(e.apiBaseUrl,h,e.clientId,o,s,r);return s("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{s("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>h.refresh_from&&(s("Refreshing token in background with low priority."),u(e.apiBaseUrl,h,e.clientId,o,s,r));const g={originalToken:i??l?.originalToken,latestToken:h};return a&&(g.originalIdentity=l?.originalIdentity),o.storeValue(g),{id:g}}function h(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[60802,51085],(()=>{return t=31536,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[65594,56293],{31536:(e,t,s)=>{var r=s(7873),i=s(91069),n=s(70433),o=s(16833),a=s(12938),l=s(45569),d=s(84259);const u="euid",c=`PrebidJS-9.3.0-EUIDModule-${d.kz}`,p="EUID: ";function h(e,t){return function(){for(var s=arguments.length,r=new Array(s),i=0;i<s;i++)r[i]=arguments[i];e(t+" ",...r)}}const g=h(i.logInfo,p),y=h(i.logWarn,p),f=(0,a.vM)({moduleType:l.fW,moduleName:u});const b={name:u,gvlid:21,decode(e){const t=function(e){if("string"==typeof e){g("Found server-only token. Refresh is unavailable for this token.");return{euid:{id:e}}}if("optout"===e.latestToken)return g("Found optout token. Refresh is unavailable for this token."),{euid:{optout:!0}};if(Date.now()<e.latestToken.identity_expires)return{euid:{id:e.latestToken.advertising_token}};return null}(e);return g("EUID decode returned",t),t},getId(e,t){if(!0!==t?.gdprApplies)return void(0,i.logWarn)("EUID is intended for use within the EU. The module will not run when GDPR does not apply.");if(!function(e){const t=!0===e?.gdprApplies,s=(0,n.A)(e,"vendorData.purpose.consents.1"),r=(0,n.A)(e,`vendorData.vendor.consents.${21..toString()}`);return!!(!t||s&&r)}(t))return void y("Unable to use EUID module due to insufficient consent. The EUID module requires storage permission.");const s={apiBaseUrl:e?.params?.euidApiBase??"https://prod.euid.eu",paramToken:e?.params?.euidToken,serverCookieName:e?.params?.euidCookie,storage:e?.params?.storage??"localStorage",clientId:c,internalStorage:"__euid_advertising_token"};s.cstg={serverPublicKey:e?.params?.serverPublicKey,subscriptionId:e?.params?.subscriptionId,...(0,d.E0)(e?.params??{})},g("EUID configuration loaded and mapped.",s);const r=(0,d.wq)(s,f,g,y);return g("EUID getId returned",r),r},eids:{euid:{source:"euid.eu",atype:3,getValue:function(e){return e.id}}}};(0,o.bz)("userId",b),(0,r.E)("euidIdSystem")},84259:(e,t,s)=>{s.d(t,{E0:()=>h,kz:()=>o,wq:()=>p});var r=s(7873),i=s(68044),n=s(91069);const o="1.1";function a(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}class l{constructor(e,t,s,r){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=s,this._logWarn=r}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s<e.length;s++)t[s]=e.charCodeAt(s);return t}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isValidRefreshResponse(e){return this.hasStatusResponse(e)&&("optout"===e.status||"expired_token"===e.status||"success"===e.status&&e.body&&a(e.body))}ResponseToRefreshResult(e){return this.isValidRefreshResponse(e)?"success"===e.status?{status:e.status,identity:e.body}:e:"Response didn't contain a valid status"}callRefreshApi(e){const t=this._baseUrl+"/v2/token/refresh";let s,r;const n=new Promise(((e,t)=>{s=e,r=t}));return this._logInfo("Sending refresh request",e),(0,i.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const i=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,12),tagLength:128},e,i.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const i=JSON.parse(t),n=this.ResponseToRefreshResult(i);"string"==typeof n?r(n):s(n)}),(e=>this._logWarn("Call to UID2 API failed",e)))}),(e=>this._logWarn("Call to UID2 API failed",e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(i):s(i)}}catch(e){r(t)}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(i):s(i)}catch(t){r(e)}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),n}}class d{constructor(e,t,s,r){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=r}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return e?.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),r=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),i=t();if(i){if("string"==typeof i){const t=r();if(t&&"object"==typeof t)return this._logInfo(`${e} contained a basic token, but found a refreshable token fallback. Copying the fallback value to ${e}.`),s(t),t}}else{const t=r();if(t)return this._logInfo(`${e} was empty, but found a fallback value.`),"object"==typeof t&&(this._logInfo(`Copying the fallback value to ${e}.`),s(t)),t}return i}}function u(e,t,s,r,i,n){i("UID2 base url provided: ",e);return new l({baseUrl:e},s,i,n).callRefreshApi(t).then((e=>{i("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=r.getStoredValueWithFallback();return n?.originalIdentity&&(s.originalIdentity=n.originalIdentity),r.storeValue(s),s}))}let c;{const e=9;c={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t('CSTG is not being used, but is included in the Prebid.js bundle. You can reduce the bundle size by passing "--disable UID2_CSTG" to the Prebid.js build.'),!1;const s=e;if(!s.serverPublicKey&&!s.subscriptionId)return t("CSTG has been enabled but its parameters have not been set."),!1;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const r=/^(UID2|EUID)-X-[A-Z]-.+/;return r.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t(`CSTG opts.serverPublicKey must match the regular expression ${r}`),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const r=t.normalizeEmail(e.email);return void 0===r?void s("CSTG opts.email is invalid"):{email:r}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,r){if(t){if("optout"===t.latestToken)return!0;const r=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,r))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,r,i,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(r);n("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(r),latestToken:l.identity};return i.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static EMAIL_EXTENSION_SYMBOL="+";static EMAIL_DOT=".";static GMAIL_DOMAIN="gmail.com";static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:r,domain:i}=s,n=this.isGmail(i),o=this.normalizeAddressPart(r,n,n);return o?`${o}@${i}`:void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let r=e;return t&&(r=r.replaceAll(this.EMAIL_DOT,"")),s&&(r=this.dropExtension(r)),r}}class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._logInfo=t,this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&a(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await o.hash(e.email)}}if("phone"in e){return{phone_hash:await o.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e);this._logInfo("Building CSTG request for",t);const s=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),i=new TextEncoder,n=Date.now(),{iv:a,ciphertext:l}=await s.encrypt(i.encode(JSON.stringify(t)),i.encode(JSON.stringify([n]))),d=await o.exportPublicKey(s.clientPublicKey),u={payload:o.bytesToBase64(new Uint8Array(l)),iv:o.bytesToBase64(new Uint8Array(a)),public_key:o.bytesToBase64(new Uint8Array(d)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(u,s)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let r,n;const a=new Promise(((e,t)=>{r=e,n=t}));return this._logInfo("Sending CSTG request",e),(0,i.RD)(s,{success:async(e,s)=>{try{const s=o.base64ToBytes(e),i=await t.decrypt(s.slice(0,12),s.slice(12)),a=(new TextDecoder).decode(i),l=JSON.parse(a);this.isCstgApiSuccessResponse(l)?r({status:"success",identity:l.body}):this.isCstgApiOptoutResponse(l)?r({status:"optout",identity:"optout"}):n(`API error: Response body was invalid for HTTP status 200: ${a}`)}catch(e){n(e)}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?n(`Client error: ${e.message}`):n(`API error: Response body was invalid for HTTP status 400: ${t.responseText}`)}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?n(`Forbidden: ${e.message}`):n(`API error: Response body was invalid for HTTP status 403: ${t.responseText}`)}else n(`API error: Unexpected HTTP status ${t.status}: ${e}`)}catch(t){n(e)}}},JSON.stringify(e),{method:"POST"}),a}}class r{static _namedCurve="P-256";constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await o.generateKeyPair(r._namedCurve),s=await o.importPublicKey(e,this._namedCurve),i=await o.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}class o{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function p(e,t,s,r){let i=null;const n="cookie"!==e.storage,o=new d(t,n,e.internalStorage,s);s(`Module is using ${n?"local storage":"cookies"} for internal storage.`);const a=c&&c.isCSTGOptionsValid(e.cstg,r);a?(s("Module is using client-side token generation."),i=null):e.paramToken?(i=e.paramToken,s("Read token from params",i)):e.serverCookieName&&(i=o.readProvidedCookie(e.serverCookieName),s("Read token from server-supplied cookie",i));let l=o.getStoredValueWithFallback();if(s("Loaded module-stored tokens:",l),l&&"string"==typeof l){if(!i&&!a)return s("Returning legacy cookie value."),{id:l};s("Discarding superseded legacy cookie."),l=null}if(i&&l&&l.originalToken?.advertising_token!==i.advertising_token&&(s("Server supplied new token - ignoring stored value.",l.originalToken?.advertising_token,i.advertising_token),l=null),a){const t=c.getValidIdentity(e.cstg,r);if(t&&(l&&c.isStoredTokenInvalid(t,l,s,r)&&(l=null),!l||Date.now()>l.latestToken.refresh_expires)){const i=c.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,o,s,r);return s("Generate token using CSTG"),{callback:e=>{i.then((t=>{s("Token generation responded, passing the new token on.",t),e(t)}))}}}}const p=!l?.latestToken||i&&i.identity_expires>l.latestToken.identity_expires,h=p?i:l.latestToken;if(s("UID2 module selected latest token",p,h),!h||Date.now()>h.refresh_expires)return s("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>h.identity_expires){const t=u(e.apiBaseUrl,h,e.clientId,o,s,r);return s("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{s("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>h.refresh_from&&(s("Refreshing token in background with low priority."),u(e.apiBaseUrl,h,e.clientId,o,s,r));const g={originalToken:i??l?.originalToken,latestToken:h};return a&&(g.originalIdentity=l?.originalIdentity),o.storeValue(g),{id:g}}function h(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[60802,51085],(()=>{return t=31536,e(e.s=t);var t}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[97772],{58652:(e,a,n)=>{var r=n(7873),s=n(91069),o=n(70433),t=n(71371),i=n(57377);const d={ORTB_2_4:"ortb_2_4"},p={[d.ORTB_2_4]:{request:function(e,a,n){s.logInfo("Calling endpoint for ortb_2_4:",a);const r=function(e){const a=u(e)&&u(e.gdprConsent);if(a)return e.gdprConsent;return null}(n),i=function(){const e={lang:"",userAgent:"",osName:"",page:"",domain:"",language:""};e.domain=window.location.hostname,e.page=window.location.protocol+"//"+window.location.host+window.location.pathname,e.lang=navigator.language.indexOf("-")>-1?navigator.language.split("-")[0]:navigator.language,e.userAgent=navigator.userAgent,e.userAgent.match(/Windows/i)?e.osName="Windows":e.userAgent.match(/Mac OS|Macintosh/i)?e.osName="MacOS":e.userAgent.match(/Unix/i)?e.osName="Unix":e.userAgent.match(/Android/i)?e.osName="Android":e.userAgent.match(/iPhone|iPad|iPod/i)?e.osName="iOS":e.userAgent.match(/Linux/i)?e.osName="Linux":e.osName="Unknown";let a=(navigator.language||navigator.userLanguage).replace("_","-");return e.language=a,s.logInfo("Domain -> ",e.domain),s.logInfo("Page -> ",e.page),s.logInfo("Lang -> ",e.lang),s.logInfo("OS -> ",e.osName),s.logInfo("User Agent -> ",e.userAgent),s.logInfo("Primary Language -> ",e.language),e}();let d={id:e.bidId,at:1,imp:[],bcat:e.params.bcat,badv:e.params.badv,site:{id:e.params.siteId,name:e.params.siteName,domain:i.domain,page:i.page,keywords:e.params.keywords},device:{ua:i.userAgent,ip:e.params.userIp,geo:{country:e.params.country},language:i.lang,os:i.osName,js:0,ext:{accept_language:i.language}},user:{id:e.params.userId},ext:{sub:0,prebid:{channel:{name:"pbjs",version:"9.1.0"}}}};r&&r.gdprApplies&&(d.user.ext={consent:r.consentString});e.params.dsa&&(u(e.params.dsa.dsarequired)||u(e.params.dsa.pubrender)||u(e.params.dsa.datatopub))&&(d.regs={ext:{dsa:{dsarequired:e.params.dsa.dsarequired,pubrender:e.params.dsa.pubrender,datatopub:e.params.dsa.datatopub}}});const p=m.get(e.params.impressionId),g=o.A(e,"mediaTypes.banner");null!=g&&(p.mediaType=t.D4,d.imp=g.sizes.map((a=>({id:e.params.impressionId,bidfloor:e.params.bidfloor,bidfloorcur:e.params.bidfloorcur,banner:{w:a[0],h:a[1],mimes:e.params.mimes?e.params.mimes:void 0,ext:{image_output:"html",video_output:"html"}}}))));const c=o.A(e,"mediaTypes.native");if(null!=c){p.mediaType=t.s6;const a="1.2",n={native:{ver:a,plcmttype:4,plcmtcnt:e.params.native.plcmtcnt}};n.native.assets=d.imp=c.ortb.assets.map((e=>{const a=e;return null!=a.img&&(a.img.wmin=a.img.h,a.img.hmin=a.img.w),a}));const r=[{id:e.params.impressionId,bidfloor:e.params.bidfloor,bidfloorcur:e.params.bidfloorcur,native:{request:JSON.stringify(n),ver:a}}];d.imp=r}const f=o.A(e,"mediaTypes.video");if(null!=f){p.mediaType=t.G_;const a=[{id:e.params.impressionId,bidfloor:e.params.bidfloor,bidfloorcur:e.params.bidfloorcur,video:{mimes:f.mimes,protocols:f.protocols},ext:e.params.imp.ext}];d.imp=a}return s.logInfo("PAYLOAD",d,JSON.stringify(d)),s.logInfo("FINAL URL",a),l(a,d)},response:function(e,a,n){s.logInfo("on handleResORTB2Dot4 -> request:",a),s.logInfo("on handleResORTB2Dot4 -> request json data:",JSON.parse(a.data)),s.logInfo("on handleResORTB2Dot4 -> serverResponse:",e);let r=[];const i=JSON.parse(a.data);if(e.hasOwnProperty("body")&&e.body.hasOwnProperty("id")){s.logInfo("Ad server response",e.body.id);const a=e.body.id,n=e.body.cur;e.body.seatbid.forEach(((e,d)=>{e.bid.forEach(((e,p)=>{s.logInfo("serverResponse.body.seatbid["+d+"].bid["+p+"]",e);const l=e.adm,m=o.A(i.imp[0],"banner"),g=o.A(i.imp[0],"native"),c=o.A(i.imp[0],"video");let f,b=0,v="";const h={};if(null!=m)f=i.imp[0].banner.w,b=i.imp[0].banner.h,v=t.D4;else if(null!=g){const e=JSON.parse(l);e.native.assets.forEach((e=>{if(null!=e.img){const a=JSON.parse(i.imp[0].native.request).native.assets.filter((e=>null!=e.img)).map((e=>e.img));f=a[0].w,b=a[0].h,h.image={url:e.img.url,height:b,width:f}}else null!=e.title?h.title=e.title.text:null!=e.data?h.body=e.data.value:s.logWarn("bidResponse->","wrong asset type or null")})),e.native&&(e.native.link&&(h.clickUrl=e.native.link.url),e.native.eventtrackers&&(h.impressionTrackers=[],e.native.eventtrackers.forEach((e=>{1==e.method&&h.impressionTrackers.push(e.url)})))),v=t.s6}else null!=c&&(v=t.G_);const I={};u(e.ext.dsa)&&(I.dsa=e.ext.dsa);const y={requestId:a,currency:n,ad:e.adm,cpm:e.price,creativeId:e.crid,cid:e.cid,width:f,ttl:360,height:b,netRevenue:!0,mediaType:v,meta:I,nurl:e.nurl.replace(/^http:\/\//i,"https://")};"native"==v&&(y.native=h),"video"==v&&(y.vastXml=e.adm,y.width=e.w,y.height=e.h),s.logInfo("bidResponse->",y),r.push(y)}))}))}else m.delete(i.imp[0].id),s.logInfo("NO Ad server response ->",e.body.id);return s.logInfo("interpretResponse -> bidResponses:",r),r},validation:function(e){const a=e.mediaTypes?.banner,n=e.mediaTypes?.native,r=e.mediaTypes?.video,o=u(e.params.endpoint)&&u(e.params.userIp)&&e.params.hasOwnProperty("userIp")&&u(e.params.zoneId)&&u(e.params.partner)&&u(e.params.fid)&&u(e.params.siteId)&&u(e.params.impressionId)&&u(e.params.country)&&u(e.params.country.length>0)&&(!u(e.params.bcat)||e.params.bcat.length>0)&&(!u(e.params.badv)||e.params.badv.length>0)&&(a||n||r)&&(!n||e.params.native&&n.ortb.assets&&n.ortb.assets.some((e=>!!e.img)))&&(!r||r.mimes&&r.mimes.length>0&&r.protocols&&r.protocols.length>0);o||s.logError("Validation Error");return o}}};function l(e,a){return{method:"POST",url:e,data:JSON.stringify(a)}}const m=new Map;function u(e){return null!=e}const g={aliases:["exads"],supportedMediaTypes:[t.D4,t.s6,t.G_],isBidRequestValid:function(e){if(s.logInfo("on isBidRequestValid -> bid:",e),!e.params.partner)return s.logError("Validation Error","bid.params.partner missed"),!1;if(!Object.values(d).includes(e.params.partner))return s.logError("Validation Error","bid.params.partner is not valid"),!1;let a=e.params.partner;return!(!p[a]||!p[a].validation)&&p[a].validation(e)},buildRequests:function(e,a){return s.logInfo("on buildRequests -> validBidRequests:",e),s.logInfo("on buildRequests -> bidderRequest:",a),e.map((e=>{let n=e.params.partner;m.set(e.params.impressionId,{adPartner:n,mediaType:null});let r=function(e,a){let n={[d.ORTB_2_4]:a.params.endpoint+"?idzone="+a.params.zoneId+"&fid="+a.params.fid};return n[e]?n[e]:"defaultEndpoint"}(n,e);return p[n].request?p[n].request(e,r,a):null}))},interpretResponse:function(e,a){const n=JSON.parse(a.data),r=m.get(n.imp[0].id).adPartner;return p[r].response?p[r].response(e,a,r):null},onTimeout:function(e){s.logWarn("onTimeout -> timeoutData:",e)},onBidWon:function(e){s.logInfo("onBidWon -> bid:",e),e.nurl&&s.triggerPixel(e.nurl)},onSetTargeting:function(e){s.logInfo("onSetTargeting -> bid:",e)},onBidderError:function(e){m.delete(e.bidderRequest.bids[0].params.impressionId),s.logInfo("onBidderError -> bid:",e)}};(0,i.a$)({code:"exads",gvlid:1084,...g}),(0,r.E)("exadsBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return a=58652,e(e.s=a);var a}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[97772],{58652:(e,a,n)=>{var r=n(7873),s=n(91069),o=n(70433),t=n(71371),i=n(57377);const d={ORTB_2_4:"ortb_2_4"},p={[d.ORTB_2_4]:{request:function(e,a,n){s.logInfo("Calling endpoint for ortb_2_4:",a);const r=function(e){const a=u(e)&&u(e.gdprConsent);if(a)return e.gdprConsent;return null}(n),i=function(){const e={lang:"",userAgent:"",osName:"",page:"",domain:"",language:""};e.domain=window.location.hostname,e.page=window.location.protocol+"//"+window.location.host+window.location.pathname,e.lang=navigator.language.indexOf("-")>-1?navigator.language.split("-")[0]:navigator.language,e.userAgent=navigator.userAgent,e.userAgent.match(/Windows/i)?e.osName="Windows":e.userAgent.match(/Mac OS|Macintosh/i)?e.osName="MacOS":e.userAgent.match(/Unix/i)?e.osName="Unix":e.userAgent.match(/Android/i)?e.osName="Android":e.userAgent.match(/iPhone|iPad|iPod/i)?e.osName="iOS":e.userAgent.match(/Linux/i)?e.osName="Linux":e.osName="Unknown";let a=(navigator.language||navigator.userLanguage).replace("_","-");return e.language=a,s.logInfo("Domain -> ",e.domain),s.logInfo("Page -> ",e.page),s.logInfo("Lang -> ",e.lang),s.logInfo("OS -> ",e.osName),s.logInfo("User Agent -> ",e.userAgent),s.logInfo("Primary Language -> ",e.language),e}();let d={id:e.bidId,at:1,imp:[],bcat:e.params.bcat,badv:e.params.badv,site:{id:e.params.siteId,name:e.params.siteName,domain:i.domain,page:i.page,keywords:e.params.keywords},device:{ua:i.userAgent,ip:e.params.userIp,geo:{country:e.params.country},language:i.lang,os:i.osName,js:0,ext:{accept_language:i.language}},user:{id:e.params.userId},ext:{sub:0,prebid:{channel:{name:"pbjs",version:"9.3.0"}}}};r&&r.gdprApplies&&(d.user.ext={consent:r.consentString});e.params.dsa&&(u(e.params.dsa.dsarequired)||u(e.params.dsa.pubrender)||u(e.params.dsa.datatopub))&&(d.regs={ext:{dsa:{dsarequired:e.params.dsa.dsarequired,pubrender:e.params.dsa.pubrender,datatopub:e.params.dsa.datatopub}}});const p=m.get(e.params.impressionId),g=o.A(e,"mediaTypes.banner");null!=g&&(p.mediaType=t.D4,d.imp=g.sizes.map((a=>({id:e.params.impressionId,bidfloor:e.params.bidfloor,bidfloorcur:e.params.bidfloorcur,banner:{w:a[0],h:a[1],mimes:e.params.mimes?e.params.mimes:void 0,ext:{image_output:"html",video_output:"html"}}}))));const c=o.A(e,"mediaTypes.native");if(null!=c){p.mediaType=t.s6;const a="1.2",n={native:{ver:a,plcmttype:4,plcmtcnt:e.params.native.plcmtcnt}};n.native.assets=d.imp=c.ortb.assets.map((e=>{const a=e;return null!=a.img&&(a.img.wmin=a.img.h,a.img.hmin=a.img.w),a}));const r=[{id:e.params.impressionId,bidfloor:e.params.bidfloor,bidfloorcur:e.params.bidfloorcur,native:{request:JSON.stringify(n),ver:a}}];d.imp=r}const f=o.A(e,"mediaTypes.video");if(null!=f){p.mediaType=t.G_;const a=[{id:e.params.impressionId,bidfloor:e.params.bidfloor,bidfloorcur:e.params.bidfloorcur,video:{mimes:f.mimes,protocols:f.protocols},ext:e.params.imp.ext}];d.imp=a}return s.logInfo("PAYLOAD",d,JSON.stringify(d)),s.logInfo("FINAL URL",a),l(a,d)},response:function(e,a,n){s.logInfo("on handleResORTB2Dot4 -> request:",a),s.logInfo("on handleResORTB2Dot4 -> request json data:",JSON.parse(a.data)),s.logInfo("on handleResORTB2Dot4 -> serverResponse:",e);let r=[];const i=JSON.parse(a.data);if(e.hasOwnProperty("body")&&e.body.hasOwnProperty("id")){s.logInfo("Ad server response",e.body.id);const a=e.body.id,n=e.body.cur;e.body.seatbid.forEach(((e,d)=>{e.bid.forEach(((e,p)=>{s.logInfo("serverResponse.body.seatbid["+d+"].bid["+p+"]",e);const l=e.adm,m=o.A(i.imp[0],"banner"),g=o.A(i.imp[0],"native"),c=o.A(i.imp[0],"video");let f,b=0,v="";const h={};if(null!=m)f=i.imp[0].banner.w,b=i.imp[0].banner.h,v=t.D4;else if(null!=g){const e=JSON.parse(l);e.native.assets.forEach((e=>{if(null!=e.img){const a=JSON.parse(i.imp[0].native.request).native.assets.filter((e=>null!=e.img)).map((e=>e.img));f=a[0].w,b=a[0].h,h.image={url:e.img.url,height:b,width:f}}else null!=e.title?h.title=e.title.text:null!=e.data?h.body=e.data.value:s.logWarn("bidResponse->","wrong asset type or null")})),e.native&&(e.native.link&&(h.clickUrl=e.native.link.url),e.native.eventtrackers&&(h.impressionTrackers=[],e.native.eventtrackers.forEach((e=>{1==e.method&&h.impressionTrackers.push(e.url)})))),v=t.s6}else null!=c&&(v=t.G_);const I={};u(e.ext.dsa)&&(I.dsa=e.ext.dsa);const y={requestId:a,currency:n,ad:e.adm,cpm:e.price,creativeId:e.crid,cid:e.cid,width:f,ttl:360,height:b,netRevenue:!0,mediaType:v,meta:I,nurl:e.nurl.replace(/^http:\/\//i,"https://")};"native"==v&&(y.native=h),"video"==v&&(y.vastXml=e.adm,y.width=e.w,y.height=e.h),s.logInfo("bidResponse->",y),r.push(y)}))}))}else m.delete(i.imp[0].id),s.logInfo("NO Ad server response ->",e.body.id);return s.logInfo("interpretResponse -> bidResponses:",r),r},validation:function(e){const a=e.mediaTypes?.banner,n=e.mediaTypes?.native,r=e.mediaTypes?.video,o=u(e.params.endpoint)&&u(e.params.userIp)&&e.params.hasOwnProperty("userIp")&&u(e.params.zoneId)&&u(e.params.partner)&&u(e.params.fid)&&u(e.params.siteId)&&u(e.params.impressionId)&&u(e.params.country)&&u(e.params.country.length>0)&&(!u(e.params.bcat)||e.params.bcat.length>0)&&(!u(e.params.badv)||e.params.badv.length>0)&&(a||n||r)&&(!n||e.params.native&&n.ortb.assets&&n.ortb.assets.some((e=>!!e.img)))&&(!r||r.mimes&&r.mimes.length>0&&r.protocols&&r.protocols.length>0);o||s.logError("Validation Error");return o}}};function l(e,a){return{method:"POST",url:e,data:JSON.stringify(a)}}const m=new Map;function u(e){return null!=e}const g={aliases:["exads"],supportedMediaTypes:[t.D4,t.s6,t.G_],isBidRequestValid:function(e){if(s.logInfo("on isBidRequestValid -> bid:",e),!e.params.partner)return s.logError("Validation Error","bid.params.partner missed"),!1;if(!Object.values(d).includes(e.params.partner))return s.logError("Validation Error","bid.params.partner is not valid"),!1;let a=e.params.partner;return!(!p[a]||!p[a].validation)&&p[a].validation(e)},buildRequests:function(e,a){return s.logInfo("on buildRequests -> validBidRequests:",e),s.logInfo("on buildRequests -> bidderRequest:",a),e.map((e=>{let n=e.params.partner;m.set(e.params.impressionId,{adPartner:n,mediaType:null});let r=function(e,a){let n={[d.ORTB_2_4]:a.params.endpoint+"?idzone="+a.params.zoneId+"&fid="+a.params.fid};return n[e]?n[e]:"defaultEndpoint"}(n,e);return p[n].request?p[n].request(e,r,a):null}))},interpretResponse:function(e,a){const n=JSON.parse(a.data),r=m.get(n.imp[0].id).adPartner;return p[r].response?p[r].response(e,a,r):null},onTimeout:function(e){s.logWarn("onTimeout -> timeoutData:",e)},onBidWon:function(e){s.logInfo("onBidWon -> bid:",e),e.nurl&&s.triggerPixel(e.nurl)},onSetTargeting:function(e){s.logInfo("onSetTargeting -> bid:",e)},onBidderError:function(e){m.delete(e.bidderRequest.bids[0].params.impressionId),s.logInfo("onBidderError -> bid:",e)}};(0,i.a$)({code:"exads",gvlid:1084,...g}),(0,r.E)("exadsBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return a=58652,e(e.s=a);var a}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[36782],{75956:(e,t,n)=>{var r=n(7873),i=n(70433),a=n(91069),d=n(57377),s=n(71371),o=n(68044);const p="1.0.6",c=[s.D4],l="[FeedAd]",u=/^[a-z0-9][a-z0-9_-]+[a-z0-9]$/,b="https://api.feedad.com",f={};function m(e){return t=>{if(!t)return;let n=function(e,t){const n=e.bidId||e.requestId;if(!f.hasOwnProperty(n))return null;const{referer:r,transactionId:i}=f[n];return delete f[n],{app_hybrid:!1,client_token:e.params[0].clientToken,placement_id:e.params[0].placementId,klass:t,prebid_auction_id:e.auctionId,prebid_bid_id:n,prebid_transaction_id:i,referer:r,prebid_adapter_version:p,prebid_sdk_version:"9.1.0"}}(t,e);n&&(0,o.RD)(`${b}/1/prebid/web/events`,null,JSON.stringify(n),{withCredentials:!0,method:"POST",contentType:"application/json"})}}const y={code:"feedad",gvlid:781,supportedMediaTypes:c,isBidRequestValid:function(e){const t=(0,i.A)(e,"params.clientToken");if(!t||!function(e){return"string"==typeof e&&e.length>0}(t))return(0,a.logWarn)(l,"missing or invalid parameter 'clientToken'. found value:",t),!1;const n=(0,i.A)(e,"params.placementId");return!(!n||!function(e){return"string"==typeof e&&e.length>0&&e.length<=256&&u.test(e)}(n))||((0,a.logWarn)(l,"missing or invalid parameter 'placementId'. found value:",n),!1)},buildRequests:function(e,t){if(!t)return[];let n=e.filter((e=>{return!function(e){return Object.keys(e).every((t=>void 0===e[t]))}((t=e.mediaTypes,{banner:t.banner,video:t.video&&"outstream"===t.video.context?t.video:void 0,native:void 0}));var t}));if(0===n.length)return[];let r=Object.assign({},t,{bids:n.map((e=>{var t;return e.params=(t=e,Object.assign({},t.params,{ad_type:0,client_token:t.params.clientToken,placement_id:t.params.placementId,prebid_adapter_version:p,prebid_sdk_version:"9.1.0",app_hybrid:!1})),e}))});return r.bids.forEach((e=>f[e.bidId]={referer:r.refererInfo.page,transactionId:e.ortb2Imp?.ext?.tid})),t.gdprConsent&&(r.consentIabTcf=t.gdprConsent.consentString,r.gdprApplies=t.gdprConsent.gdprApplies),{method:"POST",url:`${b}/1/prebid/web/bids`,data:r,options:{contentType:"application/json"}}},interpretResponse:function(e,t){const n="string"==typeof e.body?JSON.parse(e.body):e.body;return(0,a.isArray)(n)?n.filter((e=>Object.prototype.hasOwnProperty.call(e,"ad"))).map((e=>{const t=Object.assign({},e);return delete t.ext,t})):[]},onTimeout:m("prebid_bidTimeout"),onBidWon:m("prebid_bidWon"),getUserSyncs:function(e,t,n,r){return t.flatMap((e=>{const t=e.body;return(0,a.isArray)(t)?t:[]})).flatMap((t=>{const n=e.pixelEnabled&&t?.ext?.pixels?t.ext.pixels:[],r=e.iframeEnabled&&t?.ext?.iframes?t.ext.iframes:[];return n.concat(...r)})).reduce(((e,t)=>(e.find((e=>e.type===t.type&&e.url===t.url))||e.push(t),e)),[])}};(0,d.a$)(y),(0,r.E)("feedadBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=75956,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[36782],{75956:(e,t,n)=>{var r=n(7873),i=n(70433),a=n(91069),d=n(57377),s=n(71371),o=n(68044);const p="1.0.6",c=[s.D4],l="[FeedAd]",u=/^[a-z0-9][a-z0-9_-]+[a-z0-9]$/,b="https://api.feedad.com",f={};function m(e){return t=>{if(!t)return;let n=function(e,t){const n=e.bidId||e.requestId;if(!f.hasOwnProperty(n))return null;const{referer:r,transactionId:i}=f[n];return delete f[n],{app_hybrid:!1,client_token:e.params[0].clientToken,placement_id:e.params[0].placementId,klass:t,prebid_auction_id:e.auctionId,prebid_bid_id:n,prebid_transaction_id:i,referer:r,prebid_adapter_version:p,prebid_sdk_version:"9.3.0"}}(t,e);n&&(0,o.RD)(`${b}/1/prebid/web/events`,null,JSON.stringify(n),{withCredentials:!0,method:"POST",contentType:"application/json"})}}const y={code:"feedad",gvlid:781,supportedMediaTypes:c,isBidRequestValid:function(e){const t=(0,i.A)(e,"params.clientToken");if(!t||!function(e){return"string"==typeof e&&e.length>0}(t))return(0,a.logWarn)(l,"missing or invalid parameter 'clientToken'. found value:",t),!1;const n=(0,i.A)(e,"params.placementId");return!(!n||!function(e){return"string"==typeof e&&e.length>0&&e.length<=256&&u.test(e)}(n))||((0,a.logWarn)(l,"missing or invalid parameter 'placementId'. found value:",n),!1)},buildRequests:function(e,t){if(!t)return[];let n=e.filter((e=>{return!function(e){return Object.keys(e).every((t=>void 0===e[t]))}((t=e.mediaTypes,{banner:t.banner,video:t.video&&"outstream"===t.video.context?t.video:void 0,native:void 0}));var t}));if(0===n.length)return[];let r=Object.assign({},t,{bids:n.map((e=>{var t;return e.params=(t=e,Object.assign({},t.params,{ad_type:0,client_token:t.params.clientToken,placement_id:t.params.placementId,prebid_adapter_version:p,prebid_sdk_version:"9.3.0",app_hybrid:!1})),e}))});return r.bids.forEach((e=>f[e.bidId]={referer:r.refererInfo.page,transactionId:e.ortb2Imp?.ext?.tid})),t.gdprConsent&&(r.consentIabTcf=t.gdprConsent.consentString,r.gdprApplies=t.gdprConsent.gdprApplies),{method:"POST",url:`${b}/1/prebid/web/bids`,data:r,options:{contentType:"application/json"}}},interpretResponse:function(e,t){const n="string"==typeof e.body?JSON.parse(e.body):e.body;return(0,a.isArray)(n)?n.filter((e=>Object.prototype.hasOwnProperty.call(e,"ad"))).map((e=>{const t=Object.assign({},e);return delete t.ext,t})):[]},onTimeout:m("prebid_bidTimeout"),onBidWon:m("prebid_bidWon"),getUserSyncs:function(e,t,n,r){return t.flatMap((e=>{const t=e.body;return(0,a.isArray)(t)?t:[]})).flatMap((t=>{const n=e.pixelEnabled&&t?.ext?.pixels?t.ext.pixels:[],r=e.iframeEnabled&&t?.ext?.iframes?t.ext.iframes:[];return n.concat(...r)})).reduce(((e,t)=>(e.find((e=>e.type===t.type&&e.url===t.url))||e.push(t),e)),[])}};(0,d.a$)(y),(0,r.E)("feedadBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=75956,e(e.s=t);var t}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[63375],{94195:(e,t,r)=>{var i=r(7873),n=r(57377),a=r(71371),s=r(91069),d=r(63172),c=r(70433),o=r(43272),p=r(12449);const u={0:"title",1:"body",2:"sponsoredBy",3:"image",4:"cta",5:"icon"},l={title:{id:0,name:"title"},body:{id:1,name:"data",type:2},sponsoredBy:{id:2,name:"data",type:1},image:{id:3,type:3,name:"img"},cta:{id:4,type:12,name:"data"},icon:{id:5,type:1,name:"img"}},m={code:"finative",supportedMediaTypes:[a.s6],isBidRequestValid:function(e){return!!e.params.adUnitId},buildRequests:(e,t)=>{const r=f(e=(0,p.Xj)(e),"params.pt")||f(e,"params.priceType")||"net",i=t.ortb2?.source?.tid,n=[o.$W.getConfig("currency.adServerCurrency")||"EUR"];let a=t.refererInfo.referer;const c=e.map(((e,t)=>{const n=(0,s._map)(e.nativeParams,((e,t)=>{const r=l[t],i={required:1&e.required};if(r){let t,n;return i.id=r.id,e.sizes&&(t=e.sizes[0],n=e.sizes[1]),i[r.name]={len:e.len,type:r.type,w:t,h:n},i}})).filter(Boolean);return e.params.url&&(a=e.params.url),{id:String(t+1),tagid:e.params.adUnitId,tid:i,pt:r,native:{request:{assets:n}}}})),u={id:t.bidderRequestId,site:{page:a},device:{ua:navigator.userAgent},cur:n,imp:c,user:{},regs:{ext:{gdpr:0,pb_ver:"9.1.0"}}};return t&&t.gdprConsent&&((0,d.J)(u,"user.ext.consent",t.gdprConsent.consentString),(0,d.J)(u,"regs.ext.gdpr","boolean"==typeof t.gdprConsent.gdprApplies&&t.gdprConsent.gdprApplies?1:0)),{method:"POST",url:"https://b.finative.cloud/cds/rtb/bid?format=openrtb2.5&ssp=pb",data:JSON.stringify(u),options:{contentType:"application/json"},bids:e}},interpretResponse:function(e,t){let{bids:r}=t;if((0,s.isEmpty)(e.body))return[];const{seatbid:i,cur:n}=e.body,d=void 0!==i?(c=i.map((e=>e.bid)),[].concat(...c)).reduce(((e,t)=>(e[t.impid-1]=t,e)),[]):[];var c;return r.map(((e,t)=>{const r=d[t];if(r)return{requestId:e.bidId,cpm:r.price,creativeId:r.crid,ttl:1e3,netRevenue:!e.netRevenue||"net"===e.netRevenue,currency:n,mediaType:a.s6,native:g(r),meta:{advertiserDomains:r.adomain&&r.adomain.length>0?r.adomain:[]}}})).filter(Boolean)}};function g(e){const{assets:t,link:r,imptrackers:i}=e.adm.native;let n=r.url.replace(/\$\{AUCTION_PRICE\}/g,e.price);r.clicktrackers&&r.clicktrackers.forEach((function(t,i){r.clicktrackers[i]=t.replace(/\$\{AUCTION_PRICE\}/g,e.price)})),i&&i.forEach((function(t,r){i[r]=t.replace(/\$\{AUCTION_PRICE\}/g,e.price)}));const a={url:n,clickUrl:n,clickTrackers:r.clicktrackers||void 0,impressionTrackers:i||void 0};return t.forEach((e=>{const t=u[e.id],r=t&&e[l[t].name];r&&(a[t]=r.text||r.value||{url:r.url,width:r.w,height:r.h})})),a}function f(e,t){for(let r,i=0;i<e.length;i++)if(r=(0,c.A)(e[i],t),r)return r}(0,n.a$)(m),(0,i.E)("finativeBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=94195,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[63375],{94195:(e,t,r)=>{var i=r(7873),n=r(57377),a=r(71371),s=r(91069),d=r(63172),c=r(70433),o=r(43272),p=r(12449);const u={0:"title",1:"body",2:"sponsoredBy",3:"image",4:"cta",5:"icon"},l={title:{id:0,name:"title"},body:{id:1,name:"data",type:2},sponsoredBy:{id:2,name:"data",type:1},image:{id:3,type:3,name:"img"},cta:{id:4,type:12,name:"data"},icon:{id:5,type:1,name:"img"}},m={code:"finative",supportedMediaTypes:[a.s6],isBidRequestValid:function(e){return!!e.params.adUnitId},buildRequests:(e,t)=>{const r=f(e=(0,p.Xj)(e),"params.pt")||f(e,"params.priceType")||"net",i=t.ortb2?.source?.tid,n=[o.$W.getConfig("currency.adServerCurrency")||"EUR"];let a=t.refererInfo.referer;const c=e.map(((e,t)=>{const n=(0,s._map)(e.nativeParams,((e,t)=>{const r=l[t],i={required:1&e.required};if(r){let t,n;return i.id=r.id,e.sizes&&(t=e.sizes[0],n=e.sizes[1]),i[r.name]={len:e.len,type:r.type,w:t,h:n},i}})).filter(Boolean);return e.params.url&&(a=e.params.url),{id:String(t+1),tagid:e.params.adUnitId,tid:i,pt:r,native:{request:{assets:n}}}})),u={id:t.bidderRequestId,site:{page:a},device:{ua:navigator.userAgent},cur:n,imp:c,user:{},regs:{ext:{gdpr:0,pb_ver:"9.3.0"}}};return t&&t.gdprConsent&&((0,d.J)(u,"user.ext.consent",t.gdprConsent.consentString),(0,d.J)(u,"regs.ext.gdpr","boolean"==typeof t.gdprConsent.gdprApplies&&t.gdprConsent.gdprApplies?1:0)),{method:"POST",url:"https://b.finative.cloud/cds/rtb/bid?format=openrtb2.5&ssp=pb",data:JSON.stringify(u),options:{contentType:"application/json"},bids:e}},interpretResponse:function(e,t){let{bids:r}=t;if((0,s.isEmpty)(e.body))return[];const{seatbid:i,cur:n}=e.body,d=void 0!==i?(c=i.map((e=>e.bid)),[].concat(...c)).reduce(((e,t)=>(e[t.impid-1]=t,e)),[]):[];var c;return r.map(((e,t)=>{const r=d[t];if(r)return{requestId:e.bidId,cpm:r.price,creativeId:r.crid,ttl:1e3,netRevenue:!e.netRevenue||"net"===e.netRevenue,currency:n,mediaType:a.s6,native:g(r),meta:{advertiserDomains:r.adomain&&r.adomain.length>0?r.adomain:[]}}})).filter(Boolean)}};function g(e){const{assets:t,link:r,imptrackers:i}=e.adm.native;let n=r.url.replace(/\$\{AUCTION_PRICE\}/g,e.price);r.clicktrackers&&r.clicktrackers.forEach((function(t,i){r.clicktrackers[i]=t.replace(/\$\{AUCTION_PRICE\}/g,e.price)})),i&&i.forEach((function(t,r){i[r]=t.replace(/\$\{AUCTION_PRICE\}/g,e.price)}));const a={url:n,clickUrl:n,clickTrackers:r.clicktrackers||void 0,impressionTrackers:i||void 0};return t.forEach((e=>{const t=u[e.id],r=t&&e[l[t].name];r&&(a[t]=r.text||r.value||{url:r.url,width:r.w,height:r.h})})),a}function f(e,t){for(let r,i=0;i<e.length;i++)if(r=(0,c.A)(e[i],t),r)return r}(0,n.a$)(m),(0,i.E)("finativeBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=94195,e(e.s=t);var t}));e.O()}]);