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.
- package/browsers.json +3 -3
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/BTBidAdapter.js +1 -1
- package/dist/acuityadsBidAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adagioRtdProvider.js +1 -1
- package/dist/adagioUtils.js +1 -0
- package/dist/addefendBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/admanBidAdapter.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adpod.js +1 -1
- package/dist/adprimeBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adstirBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/appnexusUtils.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/autoplayDetection.js +1 -1
- package/dist/axisBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/beyondmediaBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bliinkBidAdapter.js +1 -1
- package/dist/boldwinBidAdapter.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/compassBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagement.js +1 -0
- package/dist/consentManagementGpp.js +1 -1
- package/dist/consentManagementTcf.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/contentexchangeBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/copper6sspBidAdapter.js +1 -0
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailymotionBidAdapter.js +1 -1
- package/dist/dependencies.json +96 -6
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/e_volutionBidAdapter.js +1 -1
- package/dist/emtvBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/exadsBidAdapter.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/globalsunBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/illuminBidAdapter.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/intentIqIdSystem.js +1 -1
- package/dist/iqzoneBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kimberliteBidAdapter.js +1 -1
- package/dist/kiviadsBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/krushmediaBidAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/loyalBidAdapter.js +1 -1
- package/dist/luceadBidAdapter.js +1 -1
- package/dist/lunamediahbBidAdapter.js +1 -1
- package/dist/mabidderBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mathildeadsBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/mgidXBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/missenaBidAdapter.js +1 -1
- package/dist/mobfoxpbBidAdapter.js +1 -1
- package/dist/mobianRtdProvider.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +211 -204
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openwebBidAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/orakiBidAdapter.js +1 -0
- package/dist/orbidderBidAdapter.js +1 -1
- package/dist/ortbConverter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/ozoneBidAdapter.js +1 -1
- package/dist/paapi.js +1 -1
- package/dist/pairIdSystem.js +1 -1
- package/dist/pgamsspBidAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/playdigoBidAdapter.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/pubCircleBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/publirBidAdapter.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/qtBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/raynRtdProvider.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/setupadBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/shinezRtbBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smartyadsBidAdapter.js +1 -1
- package/dist/smartyadsUtils.js +1 -0
- package/dist/smartytechBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/snigelBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stnBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tagorasBidAdapter.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/teqblazeUtils.js +1 -0
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.js +1 -1
- package/dist/topicsFpdModule.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/twistDigitalBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/vidazooUtils.js +1 -0
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visiblemeasuresBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahooAdsBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/integrationExamples/gpt/raynRtdProvider_example.html +1 -0
- package/libraries/adagioUtils/adagioUtils.js +35 -0
- package/libraries/appnexusUtils/anUtils.js +1 -0
- package/libraries/autoplayDetection/autoplay.js +8 -1
- package/libraries/consentManagement/cmUtils.js +38 -0
- package/libraries/ortbConverter/converter.js +1 -1
- package/libraries/smartyadsUtils/getAdUrlByRegion.js +32 -0
- package/libraries/teqblazeUtils/bidderUtils.js +253 -0
- package/libraries/vidazooUtils/bidderUtils.js +481 -0
- package/libraries/vidazooUtils/constants.js +7 -0
- package/modules/.submodules.json +1 -0
- package/modules/acuityadsBidAdapter.js +5 -203
- package/modules/adagioBidAdapter.js +1 -17
- package/modules/adagioRtdProvider.js +41 -51
- package/modules/adagioRtdProvider.md +1 -0
- package/modules/addefendBidAdapter.js +1 -2
- package/modules/adlooxRtdProvider.js +1 -1
- package/modules/admanBidAdapter.js +31 -188
- package/modules/adnuntiusBidAdapter.js +1 -0
- package/modules/adprimeBidAdapter.js +28 -165
- package/modules/adxcgAnalyticsAdapter.js +1 -2
- package/modules/axisBidAdapter.js +33 -165
- package/modules/beyondmediaBidAdapter.js +5 -189
- package/modules/bliinkBidAdapter.js +3 -31
- package/modules/boldwinBidAdapter.js +21 -159
- package/modules/ceeIdSystem.js +1 -1
- package/modules/compassBidAdapter.js +5 -198
- package/modules/consentManagementGpp.js +2 -38
- package/modules/consentManagementTcf.js +7 -38
- package/modules/contentexchangeBidAdapter.js +5 -200
- package/modules/conversantAnalyticsAdapter.js +1 -2
- package/modules/conversantBidAdapter.js +1 -0
- package/modules/copper6sspBidAdapter.js +19 -0
- package/modules/copper6sspBidAdapter.md +79 -0
- package/modules/criteoBidAdapter.js +10 -3
- package/modules/e_volutionBidAdapter.js +4 -186
- package/modules/emtvBidAdapter.js +5 -198
- package/modules/globalsunBidAdapter.js +5 -199
- package/modules/id5AnalyticsAdapter.js +1 -2
- package/modules/id5IdSystem.js +31 -2
- package/modules/id5IdSystem.md +67 -2
- package/modules/intentIqIdSystem.js +408 -50
- package/modules/intentIqIdSystem.md +92 -0
- package/modules/iqzoneBidAdapter.js +5 -224
- package/modules/kiviadsBidAdapter.js +5 -199
- package/modules/krushmediaBidAdapter.js +25 -143
- package/modules/liveIntentIdSystem.js +2 -2
- package/modules/loyalBidAdapter.js +4 -178
- package/modules/lunamediahbBidAdapter.js +5 -118
- package/modules/mabidderBidAdapter.js +1 -2
- package/modules/mathildeadsBidAdapter.js +5 -198
- package/modules/medianetAnalyticsAdapter.js +1 -2
- package/modules/medianetBidAdapter.js +1 -1
- package/modules/mgidXBidAdapter.js +14 -207
- package/modules/mobfoxpbBidAdapter.js +4 -135
- package/modules/mobianRtdProvider.js +2 -2
- package/modules/nobidAnalyticsAdapter.js +2 -3
- package/modules/orakiBidAdapter.js +19 -0
- package/modules/orakiBidAdapter.md +79 -0
- package/modules/orbidderBidAdapter.js +4 -2
- package/modules/ozoneBidAdapter.js +117 -58
- package/modules/paapi.js +2 -1
- package/modules/pairIdSystem.js +27 -10
- package/modules/pgamsspBidAdapter.js +5 -240
- package/modules/pixfutureBidAdapter.js +1 -2
- package/modules/playdigoBidAdapter.js +4 -186
- package/modules/prebidServerBidAdapter/index.js +10 -3
- package/modules/pubCircleBidAdapter.js +5 -218
- package/modules/pubmaticAnalyticsAdapter.js +21 -8
- package/modules/pubxaiAnalyticsAdapter.js +1 -5
- package/modules/qtBidAdapter.js +5 -224
- package/modules/raynRtdProvider.js +36 -3
- package/modules/seedtagBidAdapter.js +5 -0
- package/modules/setupadBidAdapter.js +58 -140
- package/modules/smartadserverBidAdapter.js +3 -0
- package/modules/smartyadsBidAdapter.js +6 -110
- package/modules/smartytechBidAdapter.js +7 -2
- package/modules/snigelBidAdapter.js +1 -2
- package/modules/tappxBidAdapter.js +1 -2
- package/modules/terceptAnalyticsAdapter.js +1 -2
- package/modules/topicsFpdModule.js +1 -1
- package/modules/twistDigitalBidAdapter.js +1 -12
- package/modules/uid2IdSystem.js +0 -1
- package/modules/uid2IdSystem_shared.js +0 -1
- package/modules/userId/index.js +31 -21
- package/modules/vidazooBidAdapter.js +26 -468
- package/modules/visiblemeasuresBidAdapter.js +5 -199
- package/modules/yahooAdsBidAdapter.js +4 -1
- package/modules/yuktamediaAnalyticsAdapter.js +1 -2
- package/package.json +1 -1
- package/src/auction.js +5 -63
- package/src/utils/focusTimeout.js +41 -0
- package/src/utils/ttlCollection.js +2 -1
- package/src/utils.js +42 -0
- package/src/videoCache.js +72 -0
- package/test/mocks/videoCacheStub.js +1 -1
- package/test/spec/auctionmanager_spec.js +16 -1
- package/test/spec/fpd/gdpr_spec.js +24 -2
- package/test/spec/libraries/teqblazeUtils/bidderUtils_spec.js +519 -0
- package/test/spec/modules/acuityadsBidAdapter_spec.js +79 -43
- package/test/spec/modules/adagioRtdProvider_spec.js +62 -1
- package/test/spec/modules/admanBidAdapter_spec.js +370 -247
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -3
- package/test/spec/modules/adprimeBidAdapter_spec.js +225 -78
- package/test/spec/modules/axisBidAdapter_spec.js +78 -14
- package/test/spec/modules/beyondmediaBidAdapter_spec.js +80 -18
- package/test/spec/modules/bliinkBidAdapter_spec.js +8 -2
- package/test/spec/modules/boldwinBidAdapter_spec.js +221 -75
- package/test/spec/modules/compassBidAdapter_spec.js +130 -16
- package/test/spec/modules/contentexchangeBidAdapter_spec.js +134 -21
- package/test/spec/modules/conversantAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/conversantBidAdapter_spec.js +7 -0
- package/test/spec/modules/copper6sspBidAdapter_spec.js +514 -0
- package/test/spec/modules/e_volutionBidAdapter_spec.js +65 -3
- package/test/spec/modules/emtvBidAdapter_spec.js +131 -16
- package/test/spec/modules/globalsunBidAdapter_spec.js +130 -16
- package/test/spec/modules/id5IdSystem_spec.js +79 -3
- package/test/spec/modules/intentIqIdSystem_spec.js +264 -36
- package/test/spec/modules/iqzoneBidAdapter_spec.js +66 -12
- package/test/spec/modules/kiviadsBidAdapter_spec.js +131 -20
- package/test/spec/modules/krushmediaBidAdapter_spec.js +272 -90
- package/test/spec/modules/loyalBidAdapter_spec.js +114 -14
- package/test/spec/modules/lunamediahbBidAdapter_spec.js +221 -87
- package/test/spec/modules/mathildeadsBidAdapter_spec.js +87 -18
- package/test/spec/modules/mgidXBidAdapter_spec.js +11 -3
- package/test/spec/modules/mobfoxpbBidAdapter_spec.js +229 -91
- package/test/spec/modules/orakiBidAdapter_spec.js +510 -0
- package/test/spec/modules/ozoneBidAdapter_spec.js +192 -22
- package/test/spec/modules/paapi_spec.js +5 -5
- package/test/spec/modules/pgamsspBidAdapter_spec.js +83 -16
- package/test/spec/modules/playdigoBidAdapter_spec.js +38 -9
- package/test/spec/modules/prebidServerBidAdapter_spec.js +14 -0
- package/test/spec/modules/pubCircleBidAdapter_spec.js +82 -17
- package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +52 -5
- package/test/spec/modules/qtBidAdapter_spec.js +15 -3
- package/test/spec/modules/raynRtdProvider_spec.js +25 -0
- package/test/spec/modules/seedtagBidAdapter_spec.js +29 -0
- package/test/spec/modules/setupadBidAdapter_spec.js +124 -97
- package/test/spec/modules/smartadserverBidAdapter_spec.js +7 -0
- package/test/spec/modules/smartyadsBidAdapter_spec.js +6 -83
- package/test/spec/modules/smartytechBidAdapter_spec.js +5 -1
- package/test/spec/modules/topicsFpdModule_spec.js +43 -59
- package/test/spec/modules/twistDigitalBidAdapter_spec.js +5 -3
- package/test/spec/modules/userId_spec.js +86 -47
- package/test/spec/modules/vidazooBidAdapter_spec.js +21 -23
- package/test/spec/modules/visiblemeasuresBidAdapter_spec.js +130 -16
- package/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/test/spec/ortbConverter/converter_spec.js +7 -3
- package/test/spec/unit/utils/focusTimeout_spec.js +60 -0
- package/test/spec/videoCache_spec.js +56 -53
package/dist/dependencies.json
CHANGED
|
@@ -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
|
],
|
package/dist/dspxBidAdapter.js
CHANGED
|
@@ -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
|
+
(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
|
+
(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,
|
|
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()}]);
|
package/dist/emtvBidAdapter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[84749],{71161:(e,t
|
|
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
|
+
(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()}]);
|
package/dist/euidIdSystem.js
CHANGED
|
@@ -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()}]);
|
package/dist/exadsBidAdapter.js
CHANGED
|
@@ -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
|
+
(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()}]);
|
package/dist/feedadBidAdapter.js
CHANGED
|
@@ -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
|
+
(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
|
+
(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()}]);
|