prebid.js 10.2.0 → 10.4.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/.github/dependabot.yml +8 -0
- package/.github/workflows/scripts/codepath-notification +1 -0
- package/creative/renderers/display/renderer.js +3 -4
- package/dist/chunks/1plusXRtdProvider.js +1 -1
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusUtils.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/creative-renderer-display.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cryptoUtils.js +1 -0
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging-standalone.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dependencies.json +13 -0
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/getintentBidAdapter.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/iasRtdProvider.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerRtdProvider.js +1 -1
- package/dist/chunks/jwplayerVideoProvider.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/rumbleBidAdapter.js +1 -0
- package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -0
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +443 -438
- package/dist/src/creative/renderers/display/renderer.js +3 -4
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
- package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
- package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
- package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
- package/dist/src/libraries/impUtils.js +36 -0
- package/dist/src/libraries/impUtils.js.map +1 -0
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/shared.js +20 -0
- package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
- package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/libraries/video/constants/events.js.map +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/1plusXRtdProvider.js +6 -2
- package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admixerBidAdapter.js +5 -4
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
- package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +2 -2
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +4 -39
- package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxBidAdapter.js.map +1 -1
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +2 -2
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consentManagementGpp.js.map +1 -1
- package/dist/src/modules/consentManagementTcf.js.map +1 -1
- package/dist/src/modules/consentManagementUsp.js.map +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +2 -2
- package/dist/src/modules/currency.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/cwireBidAdapter.js.map +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
- package/dist/src/modules/dchain.js.map +1 -1
- package/dist/src/modules/dspxBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +1 -1
- package/dist/src/modules/equativBidAdapter.js +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +2 -2
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
- package/dist/src/modules/getintentBidAdapter.js +4 -2
- package/dist/src/modules/getintentBidAdapter.js.map +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
- package/dist/src/modules/gppControl_usstates.js.map +1 -1
- package/dist/src/modules/gptPreAuction.d.ts +3 -3
- package/dist/src/modules/gptPreAuction.js.map +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/iasRtdProvider.js +110 -5
- package/dist/src/modules/iasRtdProvider.js.map +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/intentIqIdSystem.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/modules/jwplayerRtdProvider.js +6 -2
- package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
- package/dist/src/modules/jwplayerVideoProvider.js +12 -9
- package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/kubientBidAdapter.js +0 -1
- package/dist/src/modules/kubientBidAdapter.js.map +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +2 -2
- package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/medianetBidAdapter.js +6 -2
- package/dist/src/modules/medianetBidAdapter.js.map +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/michaoBidAdapter.js.map +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/modules/multibid/index.js.map +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
- package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js.map +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +7 -2
- package/dist/src/modules/openxBidAdapter.js.map +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
- package/dist/src/modules/priceFloors.d.ts +2 -2
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
- package/dist/src/modules/pubmaticBidAdapter.js +23 -3
- package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pulsepointBidAdapter.js +2 -38
- package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtdModule/index.js.map +1 -1
- package/dist/src/modules/rtdModule/spec.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +6 -2
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/rumbleBidAdapter.js +103 -0
- package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
- package/dist/src/modules/schain.js.map +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +254 -0
- package/dist/src/modules/sevioBidAdapter.js.map +1 -0
- package/dist/src/modules/sharedIdSystem.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/storageControl.js.map +1 -1
- package/dist/src/modules/stvBidAdapter.js +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tappxBidAdapter.js +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/tcfControl.js.map +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
- package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +9 -2
- package/dist/src/modules/ttdBidAdapter.js.map +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/userId/index.js +12 -8
- package/dist/src/modules/userId/index.js.map +1 -1
- package/dist/src/modules/userId/spec.js.map +1 -1
- package/dist/src/modules/validationFpdModule/index.js.map +1 -1
- package/dist/src/modules/videoModule/index.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/weboramaRtdProvider.js +30 -11
- package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
- package/dist/src/modules/welectBidAdapter.js.map +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +47 -15
- package/dist/src/modules/yandexBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +2 -2
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/public/rumbleBidAdapter.js +1 -0
- package/dist/src/public/sevioBidAdapter.js +1 -0
- package/dist/src/src/activities/params.d.ts +5 -0
- package/dist/src/src/activities/params.js +6 -0
- package/dist/src/src/activities/params.js.map +1 -1
- package/dist/src/src/activities/redactor.js.map +1 -1
- package/dist/src/src/adRendering.js.map +1 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/ajax.js.map +1 -1
- package/dist/src/src/auction.js.map +1 -1
- package/dist/src/src/banner.js.map +1 -1
- package/dist/src/src/bidTTL.js.map +1 -1
- package/dist/src/src/bidderSettings.js.map +1 -1
- package/dist/src/src/bidfactory.js.map +1 -1
- package/dist/src/src/config.js +3 -3
- package/dist/src/src/config.js.map +1 -1
- package/dist/src/src/consentHandler.js.map +1 -1
- package/dist/src/src/constants.js.map +1 -1
- package/dist/src/src/cpmBucketManager.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/events.js.map +1 -1
- package/dist/src/src/fpd/enrichment.js.map +1 -1
- package/dist/src/src/hook.js.map +1 -1
- package/dist/src/src/mediaTypes.js.map +1 -1
- package/dist/src/src/native.js.map +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.js.map +1 -1
- package/dist/src/src/prebidGlobal.js.map +1 -1
- package/dist/src/src/refererDetection.js.map +1 -1
- package/dist/src/src/storageManager.js +26 -25
- package/dist/src/src/storageManager.js.map +1 -1
- package/dist/src/src/targeting.d.ts +7 -7
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/src/types/common.d.js.map +1 -1
- package/dist/src/src/types/common.d.ts +29 -29
- package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
- package/dist/src/src/types/local/shim.d.js.map +1 -1
- package/dist/src/src/types/objects.d.js.map +1 -1
- package/dist/src/src/types/objects.d.ts +15 -15
- package/dist/src/src/types/ortb/common.d.js.map +1 -1
- package/dist/src/src/types/ortb/common.d.ts +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
- package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
- package/dist/src/src/types/ortb/request.d.js.map +1 -1
- package/dist/src/src/types/ortb/request.d.ts +21 -21
- package/dist/src/src/types/ortb/response.d.js.map +1 -1
- package/dist/src/src/types/ortb/response.d.ts +6 -6
- package/dist/src/src/types/summary/core.d.ts +5 -5
- package/dist/src/src/userSync.js.map +1 -1
- package/dist/src/src/utils/objects.js.map +1 -1
- package/dist/src/src/utils/perfMetrics.js.map +1 -1
- package/dist/src/src/utils/promise.js.map +1 -1
- package/dist/src/src/utils/ttlCollection.js.map +1 -1
- package/dist/src/src/video.js.map +1 -1
- package/dist/src/src/videoCache.js.map +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
- package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
- package/dist/src/test/mocks/timers.js +12 -12
- package/dist/src/test/mocks/timers.js.map +1 -1
- package/dist/src/test/spec/adloader_spec.js.map +1 -1
- package/dist/src/test/spec/config_spec.js +9 -3
- package/dist/src/test/spec/config_spec.js.map +1 -1
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/userId_spec.js +41 -6
- package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
- package/dist/src/test/spec/utils_spec.js.map +1 -1
- package/eslint.config.js +2 -6
- package/gulpfile.js +0 -7
- package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
- package/libraries/appnexusUtils/anKeywords.js +11 -0
- package/libraries/consentManagement/cmUtils.ts +18 -18
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/cryptoUtils/wallets.js +38 -0
- package/libraries/dspxUtils/bidderUtils.js +1 -1
- package/libraries/impUtils.js +33 -0
- package/libraries/liveIntentId/shared.js +16 -0
- package/libraries/nexx360Utils/index.js +8 -8
- package/libraries/ortbConverter/converter.ts +79 -79
- package/libraries/video/constants/events.ts +5 -5
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +8 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +1 -1
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +1 -1
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +15 -29
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +1 -1
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
- package/metadata/modules/docereeBidAdapter.json +3 -3
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +3 -3
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +1 -1
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kubientBidAdapter.json +3 -8
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +1 -1
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +1 -1
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +8 -8
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +4 -5
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/pwbidBidAdapter.json +1 -1
- package/metadata/modules/qtBidAdapter.json +1 -1
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +1 -1
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +1 -1
- package/metadata/modules/revcontentBidAdapter.json +7 -117
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/rumbleBidAdapter.json +13 -0
- package/metadata/modules/scatteredBidAdapter.json +1 -1
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +18 -0
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +1 -1
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sovrnBidAdapter.json +4 -4
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/themoneytizerBidAdapter.json +3 -8
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +1 -1
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/metadata/modules.json +23 -2
- package/modules/1plusXRtdProvider.js +6 -2
- package/modules/adWMGBidAdapter.js +8 -8
- package/modules/admixerBidAdapter.js +9 -4
- package/modules/adspiritBidAdapter.js +8 -8
- package/modules/adtrgtmeBidAdapter.js +2 -2
- package/modules/adxcgBidAdapter.js +2 -36
- package/modules/amxBidAdapter.js +3 -3
- package/modules/chromeAiRtdProvider.js +5 -5
- package/modules/consentManagementGpp.ts +11 -11
- package/modules/consentManagementTcf.ts +33 -33
- package/modules/consentManagementUsp.ts +14 -14
- package/modules/currency.ts +59 -59
- package/modules/cwireBidAdapter.js +2 -2
- package/modules/dailymotionBidAdapter.js +4 -4
- package/modules/dchain.ts +4 -4
- package/modules/dspxBidAdapter.js +8 -8
- package/modules/eightPodBidAdapter.js +8 -8
- package/modules/genericAnalyticsAdapter.ts +50 -50
- package/modules/geolocationRtdProvider.ts +48 -48
- package/modules/getintentBidAdapter.js +4 -2
- package/modules/gmosspBidAdapter.js +1 -1
- package/modules/gppControl_usstates.ts +40 -40
- package/modules/gptPreAuction.ts +34 -34
- package/modules/iasRtdProvider.js +87 -5
- package/modules/intentIqAnalyticsAdapter.js +8 -8
- package/modules/intentIqIdSystem.js +2 -2
- package/modules/jwplayerRtdProvider.js +6 -2
- package/modules/jwplayerVideoProvider.js +13 -9
- package/modules/kubientBidAdapter.js +0 -1
- package/modules/medianetAnalyticsAdapter.js +5 -5
- package/modules/medianetBidAdapter.js +5 -1
- package/modules/michaoBidAdapter.ts +7 -7
- package/modules/multibid/index.ts +31 -31
- package/modules/nexverseBidAdapter.js +1 -1
- package/modules/nodalsAiRtdProvider.js +4 -2
- package/modules/onetagBidAdapter.js +12 -12
- package/modules/openxBidAdapter.js +6 -1
- package/modules/prebidServerBidAdapter/index.ts +130 -130
- package/modules/priceFloors.ts +131 -131
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/pubmaticRtdProvider.js +143 -143
- package/modules/pulsepointBidAdapter.js +3 -38
- package/modules/readpeakBidAdapter.js +17 -17
- package/modules/rtdModule/index.ts +8 -8
- package/modules/rtdModule/spec.ts +30 -30
- package/modules/rubiconBidAdapter.js +5 -1
- package/modules/rumbleBidAdapter.js +128 -0
- package/modules/rumbleBidAdapter.md +114 -0
- package/modules/schain.ts +4 -4
- package/modules/sevioBidAdapter.js +262 -0
- package/modules/sevioBidAdapter.md +29 -0
- package/modules/sharedIdSystem.ts +29 -29
- package/modules/storageControl.ts +72 -72
- package/modules/tcfControl.ts +60 -60
- package/modules/themoneytizerBidAdapter.js +2 -4
- package/modules/ttdBidAdapter.js +11 -1
- package/modules/ttdBidAdapter.md +3 -1
- package/modules/userId/index.ts +129 -119
- package/modules/userId/spec.ts +136 -136
- package/modules/validationFpdModule/index.ts +4 -4
- package/modules/videoModule/index.ts +37 -37
- package/modules/weboramaRtdProvider.js +30 -11
- package/modules/welectBidAdapter.js +3 -3
- package/modules/yandexBidAdapter.js +67 -24
- package/package.json +2 -3
- package/src/activities/params.js +6 -0
- package/src/activities/redactor.ts +8 -8
- package/src/adRendering.ts +61 -61
- package/src/adUnits.ts +100 -100
- package/src/adapterManager.ts +605 -605
- package/src/adapters/bidderFactory.ts +99 -99
- package/src/ajax.ts +39 -39
- package/src/auction.ts +217 -217
- package/src/banner.ts +28 -28
- package/src/bidTTL.ts +16 -16
- package/src/bidderSettings.ts +46 -46
- package/src/bidfactory.ts +107 -107
- package/src/config.ts +65 -65
- package/src/consentHandler.ts +25 -25
- package/src/constants.ts +14 -14
- package/src/cpmBucketManager.ts +7 -7
- package/src/events.ts +75 -75
- package/src/fpd/enrichment.ts +8 -8
- package/src/hook.ts +14 -14
- package/src/mediaTypes.ts +16 -16
- package/src/native.ts +62 -62
- package/src/prebid.ts +362 -362
- package/src/prebidGlobal.ts +18 -18
- package/src/refererDetection.ts +54 -54
- package/src/storageManager.ts +76 -73
- package/src/targeting.ts +215 -215
- package/src/types/common.d.ts +29 -29
- package/src/types/local/buildOptions.d.ts +3 -3
- package/src/types/local/shim.d.ts +6 -6
- package/src/types/objects.d.ts +15 -15
- package/src/types/ortb/common.d.ts +1 -1
- package/src/types/ortb/ext/dchain.d.ts +69 -69
- package/src/types/ortb/ext/dsa.d.ts +50 -50
- package/src/types/ortb/request.d.ts +21 -21
- package/src/types/ortb/response.d.ts +6 -6
- package/src/userSync.ts +32 -32
- package/src/utils/objects.ts +11 -11
- package/src/utils/perfMetrics.ts +193 -193
- package/src/utils/promise.ts +14 -14
- package/src/utils/ttlCollection.ts +25 -25
- package/src/video.ts +73 -73
- package/src/videoCache.ts +60 -60
- package/test/helpers/index_adapter_utils.js +1 -2
- package/test/helpers/refererDetectionHelper.js +2 -2
- package/test/mocks/timers.js +12 -9
- package/test/spec/adloader_spec.js +13 -13
- package/test/spec/config_spec.js +9 -3
- package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
- package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
- package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
- package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
- package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
- package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
- package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
- package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
- package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
- package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
- package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
- package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
- package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
- package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
- package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
- package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
- package/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
- package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
- package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
- package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
- package/test/spec/modules/iasRtdProvider_spec.js +89 -8
- package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
- package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
- package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
- package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
- package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
- package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
- package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
- package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
- package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
- package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
- package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
- package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
- package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
- package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
- package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
- package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
- package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
- package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
- package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
- package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
- package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
- package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
- package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
- package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
- package/test/spec/modules/stvBidAdapter_spec.js +32 -32
- package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
- package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
- package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
- package/test/spec/modules/uid2IdSystem_spec.js +3 -3
- package/test/spec/modules/userId_spec.js +41 -7
- package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
- package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
- package/test/spec/refererDetection_spec.js +11 -11
- package/test/spec/unit/core/storageManager_spec.js +20 -1
- package/test/spec/unit/core/targeting_spec.js +8 -8
- package/test/spec/utils_spec.js +25 -25
|
@@ -2,7 +2,7 @@ import { checkCookieSupport, hasDeviceAccess, logError } from './utils.js';
|
|
|
2
2
|
import { bidderSettings } from './bidderSettings.js';
|
|
3
3
|
import { MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID } from './activities/modules.js';
|
|
4
4
|
import { isActivityAllowed, registerActivityControl } from './activities/rules.js';
|
|
5
|
-
import { ACTIVITY_PARAM_ADAPTER_CODE, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY, ACTIVITY_PARAM_STORAGE_TYPE } from './activities/params.js';
|
|
5
|
+
import { ACTIVITY_PARAM_ADAPTER_CODE, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY, ACTIVITY_PARAM_STORAGE_TYPE, ACTIVITY_PARAM_STORAGE_WRITE } from './activities/params.js';
|
|
6
6
|
import { ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS } from './activities/activities.js';
|
|
7
7
|
import { config } from './config.js';
|
|
8
8
|
import { hook } from "./hook.js";
|
|
@@ -26,14 +26,15 @@ export function newStorageManager() {
|
|
|
26
26
|
let {
|
|
27
27
|
isAllowed = isActivityAllowed
|
|
28
28
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
29
|
-
function isValid(cb, storageType, storageKey) {
|
|
29
|
+
function isValid(cb, storageType, storageKey, isWrite) {
|
|
30
30
|
let mod = moduleName;
|
|
31
31
|
const curBidder = config.getCurrentBidder();
|
|
32
32
|
if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {
|
|
33
33
|
mod = curBidder;
|
|
34
34
|
}
|
|
35
35
|
const params = {
|
|
36
|
-
[ACTIVITY_PARAM_STORAGE_TYPE]: storageType
|
|
36
|
+
[ACTIVITY_PARAM_STORAGE_TYPE]: storageType,
|
|
37
|
+
[ACTIVITY_PARAM_STORAGE_WRITE]: isWrite
|
|
37
38
|
};
|
|
38
39
|
if (advertiseKeys && storageKey != null) {
|
|
39
40
|
params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;
|
|
@@ -43,14 +44,14 @@ export function newStorageManager() {
|
|
|
43
44
|
};
|
|
44
45
|
return cb(result);
|
|
45
46
|
}
|
|
46
|
-
function schedule(operation, storageType, storageKey, done) {
|
|
47
|
+
function schedule(operation, storageType, storageKey, isWrite, done) {
|
|
47
48
|
if (done && typeof done === 'function') {
|
|
48
49
|
storageCallbacks.push(function () {
|
|
49
|
-
|
|
50
|
+
let result = isValid(operation, storageType, storageKey, isWrite);
|
|
50
51
|
done(result);
|
|
51
52
|
});
|
|
52
53
|
} else {
|
|
53
|
-
return isValid(operation, storageType, storageKey);
|
|
54
|
+
return isValid(operation, storageType, storageKey, isWrite);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
|
|
@@ -66,7 +67,7 @@ export function newStorageManager() {
|
|
|
66
67
|
* @param {function} [done]
|
|
67
68
|
*/
|
|
68
69
|
const setCookie = function (key, value, expires, sameSite, domain, done) {
|
|
69
|
-
|
|
70
|
+
let cb = function (result) {
|
|
70
71
|
if (result && result.valid) {
|
|
71
72
|
const domainPortion = domain && domain !== '' ? ` ;domain=${encodeURIComponent(domain)}` : '';
|
|
72
73
|
const expiresPortion = expires && expires !== '' ? ` ;expires=${expires}` : '';
|
|
@@ -75,7 +76,7 @@ export function newStorageManager() {
|
|
|
75
76
|
document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;
|
|
76
77
|
}
|
|
77
78
|
};
|
|
78
|
-
return schedule(cb, STORAGE_TYPE_COOKIES, key, done);
|
|
79
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, key, true, done);
|
|
79
80
|
};
|
|
80
81
|
|
|
81
82
|
/**
|
|
@@ -84,14 +85,14 @@ export function newStorageManager() {
|
|
|
84
85
|
* @returns {(string|null)}
|
|
85
86
|
*/
|
|
86
87
|
const getCookie = function (name, done) {
|
|
87
|
-
|
|
88
|
+
let cb = function (result) {
|
|
88
89
|
if (result && result.valid) {
|
|
89
|
-
|
|
90
|
+
let m = window.document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]*)\\s*(;|$)');
|
|
90
91
|
return m ? decodeURIComponent(m[2]) : null;
|
|
91
92
|
}
|
|
92
93
|
return null;
|
|
93
94
|
};
|
|
94
|
-
return schedule(cb, STORAGE_TYPE_COOKIES, name, done);
|
|
95
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, name, false, done);
|
|
95
96
|
};
|
|
96
97
|
|
|
97
98
|
/**
|
|
@@ -99,19 +100,19 @@ export function newStorageManager() {
|
|
|
99
100
|
* @returns {boolean}
|
|
100
101
|
*/
|
|
101
102
|
const cookiesAreEnabled = function (done) {
|
|
102
|
-
|
|
103
|
+
let cb = function (result) {
|
|
103
104
|
if (result && result.valid) {
|
|
104
105
|
return checkCookieSupport();
|
|
105
106
|
}
|
|
106
107
|
return false;
|
|
107
108
|
};
|
|
108
|
-
return schedule(cb, STORAGE_TYPE_COOKIES, null, done);
|
|
109
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, null, false, done);
|
|
109
110
|
};
|
|
110
111
|
function storageMethods(name) {
|
|
111
112
|
const capName = name.charAt(0).toUpperCase() + name.substring(1);
|
|
112
113
|
const backend = () => window[name];
|
|
113
114
|
const hasStorage = function (done) {
|
|
114
|
-
|
|
115
|
+
let cb = function (result) {
|
|
115
116
|
if (result && result.valid) {
|
|
116
117
|
try {
|
|
117
118
|
return !!backend();
|
|
@@ -121,12 +122,12 @@ export function newStorageManager() {
|
|
|
121
122
|
}
|
|
122
123
|
return false;
|
|
123
124
|
};
|
|
124
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);
|
|
125
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);
|
|
125
126
|
};
|
|
126
127
|
return {
|
|
127
128
|
[`has${capName}`]: hasStorage,
|
|
128
129
|
[`${name}IsEnabled`](done) {
|
|
129
|
-
|
|
130
|
+
let cb = function (result) {
|
|
130
131
|
if (result && result.valid) {
|
|
131
132
|
try {
|
|
132
133
|
backend().setItem('prebid.cookieTest', '1');
|
|
@@ -139,32 +140,32 @@ export function newStorageManager() {
|
|
|
139
140
|
}
|
|
140
141
|
return false;
|
|
141
142
|
};
|
|
142
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);
|
|
143
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);
|
|
143
144
|
},
|
|
144
145
|
[`setDataIn${capName}`](key, value, done) {
|
|
145
|
-
|
|
146
|
+
let cb = function (result) {
|
|
146
147
|
if (result && result.valid && hasStorage()) {
|
|
147
148
|
backend().setItem(key, value);
|
|
148
149
|
}
|
|
149
150
|
};
|
|
150
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
|
|
151
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);
|
|
151
152
|
},
|
|
152
153
|
[`getDataFrom${capName}`](key, done) {
|
|
153
|
-
|
|
154
|
+
let cb = function (result) {
|
|
154
155
|
if (result && result.valid && hasStorage()) {
|
|
155
156
|
return backend().getItem(key);
|
|
156
157
|
}
|
|
157
158
|
return null;
|
|
158
159
|
};
|
|
159
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
|
|
160
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, false, done);
|
|
160
161
|
},
|
|
161
162
|
[`removeDataFrom${capName}`](key, done) {
|
|
162
|
-
|
|
163
|
+
let cb = function (result) {
|
|
163
164
|
if (result && result.valid && hasStorage()) {
|
|
164
165
|
backend().removeItem(key);
|
|
165
166
|
}
|
|
166
167
|
};
|
|
167
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
|
|
168
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);
|
|
168
169
|
}
|
|
169
170
|
};
|
|
170
171
|
}
|
|
@@ -177,7 +178,7 @@ export function newStorageManager() {
|
|
|
177
178
|
* @returns {string[]}
|
|
178
179
|
*/
|
|
179
180
|
const findSimilarCookies = function (keyLike, done) {
|
|
180
|
-
|
|
181
|
+
let cb = function (result) {
|
|
181
182
|
if (result && result.valid) {
|
|
182
183
|
const all = [];
|
|
183
184
|
if (hasDeviceAccess()) {
|
|
@@ -195,7 +196,7 @@ export function newStorageManager() {
|
|
|
195
196
|
return all;
|
|
196
197
|
}
|
|
197
198
|
};
|
|
198
|
-
return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, done);
|
|
199
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, false, done);
|
|
199
200
|
};
|
|
200
201
|
return {
|
|
201
202
|
setCookie,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageManager.js","names":["checkCookieSupport","hasDeviceAccess","logError","bidderSettings","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","isActivityAllowed","registerActivityControl","ACTIVITY_PARAM_ADAPTER_CODE","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_KEY","ACTIVITY_PARAM_STORAGE_TYPE","ACTIVITY_ACCESS_DEVICE","ACTIVITY_ACCESS_REQUEST_CREDENTIALS","config","hook","adapterManager","activityParams","STORAGE_TYPE_LOCALSTORAGE","STORAGE_TYPE_COOKIES","storageCallbacks","newStorageManager","moduleName","moduleType","advertiseKeys","arguments","length","undefined","isAllowed","isValid","cb","storageType","storageKey","mod","curBidder","getCurrentBidder","aliasRegistry","params","result","valid","schedule","operation","done","push","setCookie","key","value","expires","sameSite","domain","domainPortion","encodeURIComponent","expiresPortion","isNone","toLowerCase","secure","document","cookie","getCookie","name","m","window","match","decodeURIComponent","cookiesAreEnabled","storageMethods","capName","charAt","toUpperCase","substring","backend","hasStorage","e","setItem","getItem","error","removeItem","findSimilarCookies","keyLike","all","cookies","split","pop","separatorIndex","indexOf","cookieName","slice","replace","getStorageManager","bidderCode","err","Error","getCoreStorageManager","deviceAccessRule","allow","storageAllowedRule","bs","get","Array","isArray","some","resetData","discloseStorageUse","disclosure"],"sourceRoot":"../../..","sources":["src/storageManager.ts"],"sourcesContent":["import {checkCookieSupport, hasDeviceAccess, logError} from './utils.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID, type ModuleType} from './activities/modules.js';\nimport {isActivityAllowed, registerActivityControl} from './activities/rules.js';\nimport {\n ACTIVITY_PARAM_ADAPTER_CODE,\n ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY,\n ACTIVITY_PARAM_STORAGE_TYPE\n} from './activities/params.js';\n\nimport {ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS} from './activities/activities.js';\nimport {config} from './config.js';\nimport {hook} from \"./hook.ts\";\nimport adapterManager from './adapterManager.js';\nimport {activityParams} from './activities/activityParams.js';\nimport type {AnyFunction} from \"./types/functions.d.ts\";\nimport type {BidderCode} from \"./types/common.d.ts\";\n\nexport const STORAGE_TYPE_LOCALSTORAGE = 'html5';\nexport const STORAGE_TYPE_COOKIES = 'cookie';\n\nexport type StorageType = typeof STORAGE_TYPE_LOCALSTORAGE | typeof STORAGE_TYPE_COOKIES;\n\nexport let storageCallbacks = [];\n\n/* eslint-disable no-restricted-properties */\n\ninterface AcceptsCallback<FN extends AnyFunction> {\n (...args: Parameters<FN>): ReturnType<FN>;\n (...args: [...Parameters<FN>, (result: ReturnType<FN>) => void]): void;\n}\n\ntype BrowserStorage = 'localStorage' | 'sessionStorage';\n\nexport type StorageManager = {\n [M in BrowserStorage as `has${Capitalize<M>}`]: AcceptsCallback<() => boolean>;\n} & {\n [M in BrowserStorage as `${M}IsEnabled`]: AcceptsCallback<() => boolean>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `setDataIn${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.setItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `getDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.getItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `removeDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.removeItem>\n} & {\n setCookie: AcceptsCallback<(name: string, value: string, expires?: string, sameSite?: string, domain?: string) => void>;\n getCookie: AcceptsCallback<(name: string) => string>;\n cookiesAreEnabled: AcceptsCallback<() => boolean>;\n findSimilarCookies: AcceptsCallback<(contains: string) => string[]>\n}\n\n/*\n * Storage manager constructor. Consumers should prefer one of `getStorageManager` or `getCoreStorageManager`.\n */\nexport function newStorageManager({moduleName, moduleType, advertiseKeys = true}: {\n moduleName: string;\n moduleType: ModuleType;\n /**\n * If false, do not pass the 'storageKey' to activity checks - turning off storageControl for this manager.\n */\n advertiseKeys?: boolean;\n} = {} as any, {isAllowed = isActivityAllowed} = {}) {\n function isValid(cb, storageType, storageKey) {\n let mod = moduleName;\n const curBidder = config.getCurrentBidder();\n if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {\n mod = curBidder;\n }\n const params = {\n [ACTIVITY_PARAM_STORAGE_TYPE]: storageType,\n };\n if (advertiseKeys && storageKey != null) {\n params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;\n }\n const result = {\n valid: isAllowed(ACTIVITY_ACCESS_DEVICE, activityParams(moduleType, mod, params))\n };\n\n return cb(result);\n }\n\n function schedule(operation, storageType, storageKey, done) {\n if (done && typeof done === 'function') {\n storageCallbacks.push(function() {\n const result = isValid(operation, storageType, storageKey);\n done(result);\n });\n } else {\n return isValid(operation, storageType, storageKey);\n }\n }\n\n /**\n * @param {string} key\n * @param {string} value\n * @param {string} [expires='']\n * @param {string} [sameSite='/']\n * @param {string} [domain] domain (e.g., 'example.com' or 'subdomain.example.com').\n * If not specified, defaults to the host portion of the current document location.\n * If a domain is specified, subdomains are always included.\n * Domain must match the domain of the JavaScript origin. Setting cookies to foreign domains will be silently ignored.\n * @param {function} [done]\n */\n const setCookie = function (key, value, expires, sameSite, domain, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const domainPortion = (domain && domain !== '') ? ` ;domain=${encodeURIComponent(domain)}` : '';\n const expiresPortion = (expires && expires !== '') ? ` ;expires=${expires}` : '';\n const isNone = (sameSite != null && sameSite.toLowerCase() == 'none')\n const secure = (isNone) ? '; Secure' : '';\n document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;\n }\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, key, done);\n };\n\n /**\n * @param {string} name\n * @param {function} [done]\n * @returns {(string|null)}\n */\n const getCookie = function(name, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const m = window.document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]*)\\\\s*(;|$)');\n return m ? decodeURIComponent(m[2]) : null;\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, name, done);\n };\n\n /**\n * @param {function} [done]\n * @returns {boolean}\n */\n const cookiesAreEnabled = function (done) {\n const cb = function (result) {\n if (result && result.valid) {\n return checkCookieSupport();\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, null, done);\n }\n\n function storageMethods(name) {\n const capName = name.charAt(0).toUpperCase() + name.substring(1);\n const backend = () => window[name] as any;\n\n const hasStorage: AcceptsCallback<() => boolean> = function (done) {\n const cb = function (result) {\n if (result && result.valid) {\n try {\n return !!backend();\n } catch (e) {\n logError(`${name} api disabled`);\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);\n } as any;\n\n return {\n [`has${capName}`]: hasStorage,\n [`${name}IsEnabled`](done) {\n const cb = function (result) {\n if (result && result.valid) {\n try {\n backend().setItem('prebid.cookieTest', '1');\n return backend().getItem('prebid.cookieTest') === '1';\n } catch (error) {\n } finally {\n try {\n backend().removeItem('prebid.cookieTest');\n } catch (error) {}\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);\n },\n [`setDataIn${capName}`](key, value, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().setItem(key, value);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n },\n [`getDataFrom${capName}`](key, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n return backend().getItem(key);\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n },\n [`removeDataFrom${capName}`](key, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().removeItem(key);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n }\n }\n }\n\n /**\n * Returns all cookie values from the jar whose names contain the `keyLike`\n * Needs to exist in `utils.js` as it follows the StorageHandler interface defined in live-connect-js. If that module were to be removed, this function can go as well.\n * @param {string} keyLike\n * @param {function} [done]\n * @returns {string[]}\n */\n const findSimilarCookies = function(keyLike, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const all = [];\n if (hasDeviceAccess()) {\n const cookies = document.cookie.split(';');\n while (cookies.length) {\n const cookie = cookies.pop();\n let separatorIndex = cookie.indexOf('=');\n separatorIndex = separatorIndex < 0 ? cookie.length : separatorIndex;\n const cookieName = decodeURIComponent(cookie.slice(0, separatorIndex).replace(/^\\s+/, ''));\n if (cookieName.indexOf(keyLike) >= 0) {\n all.push(decodeURIComponent(cookie.slice(separatorIndex + 1)));\n }\n }\n }\n return all;\n }\n }\n\n return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, done);\n }\n\n return {\n setCookie,\n getCookie,\n cookiesAreEnabled,\n ...storageMethods('localStorage'),\n ...storageMethods('sessionStorage'),\n findSimilarCookies\n } as StorageManager;\n}\n\n/**\n * Get a storage manager for a particular module.\n *\n * Either bidderCode or a combination of moduleType + moduleName must be provided. The former is a shorthand\n * for `{moduleType: 'bidder', moduleName: bidderCode}`.\n *\n */\nexport function getStorageManager({moduleType, moduleName, bidderCode}: {\n moduleType?: ModuleType;\n moduleName?: string;\n bidderCode?: BidderCode;\n} = {}) {\n function err() {\n throw new Error(`Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName`)\n }\n if (bidderCode) {\n if ((moduleType && moduleType !== MODULE_TYPE_BIDDER) || moduleName) err()\n moduleType = MODULE_TYPE_BIDDER;\n moduleName = bidderCode;\n } else if (!moduleName || !moduleType) {\n err()\n }\n return newStorageManager({moduleType, moduleName});\n}\n\n/**\n * Get a storage manager for \"core\" (vendorless, or first-party) modules. Shorthand for `getStorageManager({moduleName, moduleType: 'core'})`.\n *\n * @param {string} moduleName Module name\n */\nexport function getCoreStorageManager(moduleName) {\n return newStorageManager({moduleName: moduleName, moduleType: MODULE_TYPE_PREBID});\n}\n\n/**\n * Block all access to storage when deviceAccess = false\n */\nexport function deviceAccessRule() {\n if (!hasDeviceAccess()) {\n return {allow: false}\n }\n}\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'deviceAccess config', deviceAccessRule);\n\n/**\n * Block all access to request credentials when deviceAccess = false\n */\nregisterActivityControl(ACTIVITY_ACCESS_REQUEST_CREDENTIALS, 'deviceAccess config', deviceAccessRule);\n\n/**\n * By default, deny bidders accessDevice unless they enable it through bidderSettings\n *\n * // TODO: for backwards compat, the check is done on the adapter - rather than bidder's code.\n */\nexport function storageAllowedRule(params, bs = bidderSettings) {\n if (params[ACTIVITY_PARAM_COMPONENT_TYPE] !== MODULE_TYPE_BIDDER) return;\n let allow = bs.get(params[ACTIVITY_PARAM_ADAPTER_CODE], 'storageAllowed');\n if (!allow || allow === true) {\n allow = !!allow\n } else {\n const storageType = params[ACTIVITY_PARAM_STORAGE_TYPE];\n allow = Array.isArray(allow) ? allow.some((e) => e === storageType) : allow === storageType;\n }\n if (!allow) {\n return {allow};\n }\n}\n\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'bidderSettings.*.storageAllowed', storageAllowedRule);\n\nexport function resetData() {\n storageCallbacks = [];\n}\n\ntype CookieStorageDisclosure = {\n type: 'cookie',\n /**\n * The number, in seconds, of the duration for storage on a device, as set when using cookie storage.\n */\n maxAgeSeconds: number;\n /**\n * Indicates the vendor is refreshing a cookie.\n */\n cookieRefresh: boolean;\n}\ntype HTML5StorageDisclosure = {\n type: 'web'\n maxAgeSeconds?: null;\n cookieRefresh?: null;\n}\n\n/**\n * First party storage use disclosure. Follows the same format as\n * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/Vendor%20Device%20Storage%20%26%20Operational%20Disclosures.md\n * except that `domain` is omitted.\n */\nexport type StorageDisclosure = (CookieStorageDisclosure | HTML5StorageDisclosure) & {\n /**\n * Key or object name, depending on type, for the storage item.\n * Wildcards '*' are permitted. For example, \"id*\" or \"*id\" describes multiple prefixed or suffixed identifiers,\n * all having the same purpose(s).\n */\n identifier: string;\n /**\n * The purpose ID or purpose IDs from the Global Vendor List (GVL) for which the storage is used.\n */\n purposes: number[];\n}\n\n/**\n * Disclose first party storage use.\n */\nexport const discloseStorageUse = hook('sync', (moduleName: string, disclosure: StorageDisclosure) => {});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"storageManager.js","names":["checkCookieSupport","hasDeviceAccess","logError","bidderSettings","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","isActivityAllowed","registerActivityControl","ACTIVITY_PARAM_ADAPTER_CODE","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_KEY","ACTIVITY_PARAM_STORAGE_TYPE","ACTIVITY_PARAM_STORAGE_WRITE","ACTIVITY_ACCESS_DEVICE","ACTIVITY_ACCESS_REQUEST_CREDENTIALS","config","hook","adapterManager","activityParams","STORAGE_TYPE_LOCALSTORAGE","STORAGE_TYPE_COOKIES","storageCallbacks","newStorageManager","moduleName","moduleType","advertiseKeys","arguments","length","undefined","isAllowed","isValid","cb","storageType","storageKey","isWrite","mod","curBidder","getCurrentBidder","aliasRegistry","params","result","valid","schedule","operation","done","push","setCookie","key","value","expires","sameSite","domain","domainPortion","encodeURIComponent","expiresPortion","isNone","toLowerCase","secure","document","cookie","getCookie","name","m","window","match","decodeURIComponent","cookiesAreEnabled","storageMethods","capName","charAt","toUpperCase","substring","backend","hasStorage","e","setItem","getItem","error","removeItem","findSimilarCookies","keyLike","all","cookies","split","pop","separatorIndex","indexOf","cookieName","slice","replace","getStorageManager","bidderCode","err","Error","getCoreStorageManager","deviceAccessRule","allow","storageAllowedRule","bs","get","Array","isArray","some","resetData","discloseStorageUse","disclosure"],"sourceRoot":"../../..","sources":["src/storageManager.ts"],"sourcesContent":["import {checkCookieSupport, hasDeviceAccess, logError} from './utils.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID, type ModuleType} from './activities/modules.js';\nimport {isActivityAllowed, registerActivityControl} from './activities/rules.js';\nimport {\n ACTIVITY_PARAM_ADAPTER_CODE,\n ACTIVITY_PARAM_COMPONENT_TYPE,\n ACTIVITY_PARAM_STORAGE_KEY,\n ACTIVITY_PARAM_STORAGE_TYPE,\n ACTIVITY_PARAM_STORAGE_WRITE\n} from './activities/params.js';\n\nimport {ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS} from './activities/activities.js';\nimport {config} from './config.js';\nimport {hook} from \"./hook.ts\";\nimport adapterManager from './adapterManager.js';\nimport {activityParams} from './activities/activityParams.js';\nimport type {AnyFunction} from \"./types/functions.d.ts\";\nimport type {BidderCode} from \"./types/common.d.ts\";\n\nexport const STORAGE_TYPE_LOCALSTORAGE = 'html5';\nexport const STORAGE_TYPE_COOKIES = 'cookie';\n\nexport type StorageType = typeof STORAGE_TYPE_LOCALSTORAGE | typeof STORAGE_TYPE_COOKIES;\n\nexport let storageCallbacks = [];\n\n/* eslint-disable no-restricted-properties */\n\ninterface AcceptsCallback<FN extends AnyFunction> {\n (...args: Parameters<FN>): ReturnType<FN>;\n (...args: [...Parameters<FN>, (result: ReturnType<FN>) => void]): void;\n}\n\ntype BrowserStorage = 'localStorage' | 'sessionStorage';\n\nexport type StorageManager = {\n [M in BrowserStorage as `has${Capitalize<M>}`]: AcceptsCallback<() => boolean>;\n} & {\n [M in BrowserStorage as `${M}IsEnabled`]: AcceptsCallback<() => boolean>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `setDataIn${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.setItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `getDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.getItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `removeDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.removeItem>\n} & {\n setCookie: AcceptsCallback<(name: string, value: string, expires?: string, sameSite?: string, domain?: string) => void>;\n getCookie: AcceptsCallback<(name: string) => string>;\n cookiesAreEnabled: AcceptsCallback<() => boolean>;\n findSimilarCookies: AcceptsCallback<(contains: string) => string[]>\n}\n\n/*\n * Storage manager constructor. Consumers should prefer one of `getStorageManager` or `getCoreStorageManager`.\n */\nexport function newStorageManager({moduleName, moduleType, advertiseKeys = true}: {\n moduleName: string;\n moduleType: ModuleType;\n /**\n * If false, do not pass the 'storageKey' to activity checks - turning off storageControl for this manager.\n */\n advertiseKeys?: boolean;\n} = {} as any, {isAllowed = isActivityAllowed} = {}) {\n function isValid(cb, storageType, storageKey, isWrite) {\n let mod = moduleName;\n const curBidder = config.getCurrentBidder();\n if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {\n mod = curBidder;\n }\n const params = {\n [ACTIVITY_PARAM_STORAGE_TYPE]: storageType,\n [ACTIVITY_PARAM_STORAGE_WRITE]: isWrite,\n };\n if (advertiseKeys && storageKey != null) {\n params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;\n }\n const result = {\n valid: isAllowed(ACTIVITY_ACCESS_DEVICE, activityParams(moduleType, mod, params))\n };\n\n return cb(result);\n }\n\n function schedule(operation, storageType, storageKey, isWrite, done) {\n if (done && typeof done === 'function') {\n storageCallbacks.push(function() {\n let result = isValid(operation, storageType, storageKey, isWrite);\n done(result);\n });\n } else {\n return isValid(operation, storageType, storageKey, isWrite);\n }\n }\n\n /**\n * @param {string} key\n * @param {string} value\n * @param {string} [expires='']\n * @param {string} [sameSite='/']\n * @param {string} [domain] domain (e.g., 'example.com' or 'subdomain.example.com').\n * If not specified, defaults to the host portion of the current document location.\n * If a domain is specified, subdomains are always included.\n * Domain must match the domain of the JavaScript origin. Setting cookies to foreign domains will be silently ignored.\n * @param {function} [done]\n */\n const setCookie = function (key, value, expires, sameSite, domain, done) {\n let cb = function (result) {\n if (result && result.valid) {\n const domainPortion = (domain && domain !== '') ? ` ;domain=${encodeURIComponent(domain)}` : '';\n const expiresPortion = (expires && expires !== '') ? ` ;expires=${expires}` : '';\n const isNone = (sameSite != null && sameSite.toLowerCase() == 'none')\n const secure = (isNone) ? '; Secure' : '';\n document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;\n }\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, key, true, done);\n };\n\n /**\n * @param {string} name\n * @param {function} [done]\n * @returns {(string|null)}\n */\n const getCookie = function(name, done) {\n let cb = function (result) {\n if (result && result.valid) {\n let m = window.document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]*)\\\\s*(;|$)');\n return m ? decodeURIComponent(m[2]) : null;\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, name, false, done);\n };\n\n /**\n * @param {function} [done]\n * @returns {boolean}\n */\n const cookiesAreEnabled = function (done) {\n let cb = function (result) {\n if (result && result.valid) {\n return checkCookieSupport();\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, null, false, done);\n }\n\n function storageMethods(name) {\n const capName = name.charAt(0).toUpperCase() + name.substring(1);\n const backend = () => window[name] as any;\n\n const hasStorage: AcceptsCallback<() => boolean> = function (done) {\n let cb = function (result) {\n if (result && result.valid) {\n try {\n return !!backend();\n } catch (e) {\n logError(`${name} api disabled`);\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);\n } as any;\n\n return {\n [`has${capName}`]: hasStorage,\n [`${name}IsEnabled`](done) {\n let cb = function (result) {\n if (result && result.valid) {\n try {\n backend().setItem('prebid.cookieTest', '1');\n return backend().getItem('prebid.cookieTest') === '1';\n } catch (error) {\n } finally {\n try {\n backend().removeItem('prebid.cookieTest');\n } catch (error) {}\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);\n },\n [`setDataIn${capName}`](key, value, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().setItem(key, value);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);\n },\n [`getDataFrom${capName}`](key, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n return backend().getItem(key);\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, false, done);\n },\n [`removeDataFrom${capName}`](key, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().removeItem(key);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);\n }\n }\n }\n\n /**\n * Returns all cookie values from the jar whose names contain the `keyLike`\n * Needs to exist in `utils.js` as it follows the StorageHandler interface defined in live-connect-js. If that module were to be removed, this function can go as well.\n * @param {string} keyLike\n * @param {function} [done]\n * @returns {string[]}\n */\n const findSimilarCookies = function(keyLike, done) {\n let cb = function (result) {\n if (result && result.valid) {\n const all = [];\n if (hasDeviceAccess()) {\n const cookies = document.cookie.split(';');\n while (cookies.length) {\n const cookie = cookies.pop();\n let separatorIndex = cookie.indexOf('=');\n separatorIndex = separatorIndex < 0 ? cookie.length : separatorIndex;\n const cookieName = decodeURIComponent(cookie.slice(0, separatorIndex).replace(/^\\s+/, ''));\n if (cookieName.indexOf(keyLike) >= 0) {\n all.push(decodeURIComponent(cookie.slice(separatorIndex + 1)));\n }\n }\n }\n return all;\n }\n }\n\n return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, false, done);\n }\n\n return {\n setCookie,\n getCookie,\n cookiesAreEnabled,\n ...storageMethods('localStorage'),\n ...storageMethods('sessionStorage'),\n findSimilarCookies\n } as StorageManager;\n}\n\n/**\n * Get a storage manager for a particular module.\n *\n * Either bidderCode or a combination of moduleType + moduleName must be provided. The former is a shorthand\n * for `{moduleType: 'bidder', moduleName: bidderCode}`.\n *\n */\nexport function getStorageManager({moduleType, moduleName, bidderCode}: {\n moduleType?: ModuleType;\n moduleName?: string;\n bidderCode?: BidderCode;\n} = {}) {\n function err() {\n throw new Error(`Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName`)\n }\n if (bidderCode) {\n if ((moduleType && moduleType !== MODULE_TYPE_BIDDER) || moduleName) err()\n moduleType = MODULE_TYPE_BIDDER;\n moduleName = bidderCode;\n } else if (!moduleName || !moduleType) {\n err()\n }\n return newStorageManager({moduleType, moduleName});\n}\n\n/**\n * Get a storage manager for \"core\" (vendorless, or first-party) modules. Shorthand for `getStorageManager({moduleName, moduleType: 'core'})`.\n *\n * @param {string} moduleName Module name\n */\nexport function getCoreStorageManager(moduleName) {\n return newStorageManager({moduleName: moduleName, moduleType: MODULE_TYPE_PREBID});\n}\n\n/**\n * Block all access to storage when deviceAccess = false\n */\nexport function deviceAccessRule() {\n if (!hasDeviceAccess()) {\n return {allow: false}\n }\n}\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'deviceAccess config', deviceAccessRule);\n\n/**\n * Block all access to request credentials when deviceAccess = false\n */\nregisterActivityControl(ACTIVITY_ACCESS_REQUEST_CREDENTIALS, 'deviceAccess config', deviceAccessRule);\n\n/**\n * By default, deny bidders accessDevice unless they enable it through bidderSettings\n *\n * // TODO: for backwards compat, the check is done on the adapter - rather than bidder's code.\n */\nexport function storageAllowedRule(params, bs = bidderSettings) {\n if (params[ACTIVITY_PARAM_COMPONENT_TYPE] !== MODULE_TYPE_BIDDER) return;\n let allow = bs.get(params[ACTIVITY_PARAM_ADAPTER_CODE], 'storageAllowed');\n if (!allow || allow === true) {\n allow = !!allow\n } else {\n const storageType = params[ACTIVITY_PARAM_STORAGE_TYPE];\n allow = Array.isArray(allow) ? allow.some((e) => e === storageType) : allow === storageType;\n }\n if (!allow) {\n return {allow};\n }\n}\n\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'bidderSettings.*.storageAllowed', storageAllowedRule);\n\nexport function resetData() {\n storageCallbacks = [];\n}\n\ntype CookieStorageDisclosure = {\n type: 'cookie',\n /**\n * The number, in seconds, of the duration for storage on a device, as set when using cookie storage.\n */\n maxAgeSeconds: number;\n /**\n * Indicates the vendor is refreshing a cookie.\n */\n cookieRefresh: boolean;\n}\ntype HTML5StorageDisclosure = {\n type: 'web'\n maxAgeSeconds?: null;\n cookieRefresh?: null;\n}\n\n/**\n * First party storage use disclosure. Follows the same format as\n * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/Vendor%20Device%20Storage%20%26%20Operational%20Disclosures.md\n * except that `domain` is omitted.\n */\nexport type StorageDisclosure = (CookieStorageDisclosure | HTML5StorageDisclosure) & {\n /**\n * Key or object name, depending on type, for the storage item.\n * Wildcards '*' are permitted. For example, \"id*\" or \"*id\" describes multiple prefixed or suffixed identifiers,\n * all having the same purpose(s).\n */\n identifier: string;\n /**\n * The purpose ID or purpose IDs from the Global Vendor List (GVL) for which the storage is used.\n */\n purposes: number[];\n}\n\n/**\n * Disclose first party storage use.\n */\nexport const discloseStorageUse = hook('sync', (moduleName: string, disclosure: StorageDisclosure) => {});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EVENTS } from './constants.js';
|
|
2
|
-
import type { Bid } from
|
|
3
|
-
import type { AdUnitCode, ByAdUnit, Identifier } from
|
|
4
|
-
import type { DefaultTargeting } from
|
|
1
|
+
import { EVENTS, TARGETING_KEYS } from './constants.js';
|
|
2
|
+
import type { Bid } from './bidfactory.ts';
|
|
3
|
+
import type { AdUnitCode, ByAdUnit, Identifier } from './types/common.d.ts';
|
|
4
|
+
import type { DefaultTargeting } from './auction.ts';
|
|
5
5
|
export declare const TARGETING_KEYS_ARR: any[];
|
|
6
6
|
export declare const filters: {
|
|
7
7
|
isBidNotExpired: (bid: any) => boolean;
|
|
@@ -63,15 +63,15 @@ export interface TargetingControlsConfig {
|
|
|
63
63
|
/**
|
|
64
64
|
* Selects supported default targeting keys.
|
|
65
65
|
*/
|
|
66
|
-
allowTargetingKeys?: (keyof
|
|
66
|
+
allowTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
|
|
67
67
|
/**
|
|
68
68
|
* Selects targeting keys to be supported in addition to the default ones
|
|
69
69
|
*/
|
|
70
|
-
addTargetingKeys?: (keyof
|
|
70
|
+
addTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
|
|
71
71
|
/**
|
|
72
72
|
* Selects supported default targeting keys.
|
|
73
73
|
*/
|
|
74
|
-
allowSendAllBidsTargetingKeys?: (keyof
|
|
74
|
+
allowSendAllBidsTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
|
|
75
75
|
/**
|
|
76
76
|
* Set to false to prevent custom targeting values from being set for non-winning bids
|
|
77
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targeting.js","names":["auctionManager","getBufferedTTL","bidderSettings","config","BID_STATUS","DEFAULT_TARGETING_KEYS","EVENTS","JSON_MAPPING","TARGETING_KEYS","events","hook","ADPOD","deepAccess","deepClone","groupBy","isAdUnitCodeMatchingSlot","isArray","isFn","isStr","logError","logInfo","logMessage","logWarn","sortByHighestCpm","timestamp","uniques","getHighestCpm","getOldestHighestCpmBid","pbTargetingKeys","MAX_DFP_KEYLENGTH","CFG_ALLOW_TARGETING_KEYS","CFG_ADD_TARGETING_KEYS","TARGETING_KEY_CONFIGURATION_ERROR_MSG","TARGETING_KEYS_ARR","Object","keys","map","key","isBidNotExpired","bid","responseTimestamp","isUnusedBid","status","RENDERED","includes","filters","isBidUsable","values","some","predicate","getHighestCpmBidsFromBidPool","bidsReceived","winReducer","adUnitBidLimit","arguments","length","undefined","hasModified","winSorter","bids","dealPrioritization","getConfig","buckets","forEach","bucketKey","bucketBids","bidsByBidder","push","reduce","sort","sortByDealAndPriceBucketOrCpm","a","b","cpm","slice","useCpm","adserverTargeting","hb_deal","hb_pb","getGPTSlotsForAdUnits","adUnitCodes","customSlotMatching","getSlots","window","googletag","pubads","auToSlots","slot","customMatch","filter","au","fromEntries","newTargeting","latestAuctionForAdUnit","targeting","setLatestAuctionForAdUnit","adUnitCode","auctionId","resetPresetTargetingAST","getAdUnitCodes","unit","astTag","apntag","getTag","keywords","currentKeywords","newKeywords","toLowerCase","modifyTag","getAllTargeting","bidLimit","getBidsReceived","sendAllBids","bidLimitConfigValue","customKeysByUnit","filteredBids","getfilteredBidsAndCustomKeys","bidsSorted","getTargetingLevels","defaultKeys","assign","allowedKeys","addedKeys","Error","concat","Array","getAllowedTargetingKeyValues","flatTargeting","flattenTargeting","auctionKeysThreshold","filterTargetingKeys","code","setTargetingForGPT","adUnit","targetingSet","resetMap","entries","_ref","targetId","slots","value","indexOf","split","getSlotElementId","updateTargetingFromMap","targetingKey","setStatusForBids","BID_TARGETING_SET","targetingDone","emit","SET_TARGETING","getWinningBids","get","bidderCode","setTargetingForAst","astTargeting","e","keywordsObj","regex","search","toUpperCase","setKeywords","overrideKeyValue","isApntagDefined","addBidToTargeting","enableSendAllBids","deals","standardKeys","allowSendAllBidsTargetingKeys","allowedSendAllBidTargeting","result","dealId","targetingValue","getTargetingMap","getBidderTargeting","alwaysIncludeDeals","defaultKeyring","keyDispositions","k","join","keyring","kvPair","isCustom","defaultKey","found","find","allowedKey","allowedKeyName","removedKeys","d","filteredTargeting","updatePBTargetingKeys","targetKey","targetKeys","useAllBidsCustomTargeting","getWinningBidTargeting","getAdUnitTargeting","getCustomBidTargeting","adUnitIsEligible","cpmAllowed","isPreferredDeal","getCustomKeys","truncKey","substring","data","convertKeysToQueryForm","keyMap","queryString","encodedKeyPair","encodeURIComponent","targetingCopy","targetingMap","accMap","currMap","index","arr","adUnitQueryString","querySize","target","p","c","accumulator","bidCacheEnabled","filterFunction","isBidFromLastAuction","filterFunctionResult","cacheFilter","bidFilter","video","context","latestTargetedAuctionId","winners","getStandardKeys","winner","sendStandardTargeting","acc","DEAL","bidderCodeTargetingKey","bidderCodeTargeting","getStandardBidderAdServerTargeting","newBid","customKeysForUnit","getTargetingObj","ADSERVER_TARGETING","getTargetingValues","aut","s","trim","getAdUnits","targetingValues"],"sourceRoot":"../../..","sources":["src/targeting.ts"],"sourcesContent":["import {auctionManager} from './auctionManager.js';\nimport {getBufferedTTL} from './bidTTL.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {config} from './config.js';\nimport {\n BID_STATUS,\n DEFAULT_TARGETING_KEYS,\n EVENTS,\n JSON_MAPPING,\n TARGETING_KEYS\n} from './constants.js';\nimport * as events from './events.js';\nimport {hook} from './hook.js';\nimport {ADPOD} from './mediaTypes.js';\nimport {\n deepAccess,\n deepClone,\n groupBy,\n isAdUnitCodeMatchingSlot,\n isArray,\n isFn,\n isStr,\n logError,\n logInfo,\n logMessage,\n logWarn,\n sortByHighestCpm,\n timestamp,\n uniques,\n} from './utils.js';\nimport {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';\nimport type {Bid} from \"./bidfactory.ts\";\nimport type {AdUnitCode, ByAdUnit, Identifier} from \"./types/common.d.ts\";\nimport type {DefaultTargeting} from \"./auction.ts\";\n\nvar pbTargetingKeys = [];\n\nconst MAX_DFP_KEYLENGTH = 20;\n\nconst CFG_ALLOW_TARGETING_KEYS = `targetingControls.allowTargetingKeys`;\nconst CFG_ADD_TARGETING_KEYS = `targetingControls.addTargetingKeys`;\nconst TARGETING_KEY_CONFIGURATION_ERROR_MSG = `Only one of \"${CFG_ALLOW_TARGETING_KEYS}\" or \"${CFG_ADD_TARGETING_KEYS}\" can be set`;\n\nexport const TARGETING_KEYS_ARR = Object.keys(TARGETING_KEYS).map(\n key => TARGETING_KEYS[key]\n);\n\n// return unexpired bids\nconst isBidNotExpired = (bid) => (bid.responseTimestamp + getBufferedTTL(bid) * 1000) > timestamp();\n\n// return bids whose status is not set. Winning bids can only have a status of `rendered`.\nconst isUnusedBid = (bid) => bid && ((bid.status && ![BID_STATUS.RENDERED].includes(bid.status)) || !bid.status);\n\nexport const filters = {\n isBidNotExpired,\n isUnusedBid\n};\n\nexport function isBidUsable(bid) {\n return !Object.values(filters).some((predicate) => !predicate(bid));\n}\n\n// If two bids are found for same adUnitCode, we will use the highest one to take part in auction\n// This can happen in case of concurrent auctions\n// If adUnitBidLimit is set above 0 return top N number of bids\nexport const getHighestCpmBidsFromBidPool = hook('sync', function(bidsReceived, winReducer, adUnitBidLimit = 0, hasModified = false, winSorter = sortByHighestCpm) {\n if (!hasModified) {\n const bids = [];\n const dealPrioritization = config.getConfig('sendBidsControl.dealPrioritization');\n // bucket by adUnitcode\n const buckets = groupBy(bidsReceived, 'adUnitCode');\n // filter top bid for each bucket by bidder\n Object.keys(buckets).forEach(bucketKey => {\n let bucketBids = [];\n const bidsByBidder = groupBy(buckets[bucketKey], 'bidderCode')\n Object.keys(bidsByBidder).forEach(key => { bucketBids.push(bidsByBidder[key].reduce(winReducer)) });\n // if adUnitBidLimit is set, pass top N number bids\n if (adUnitBidLimit) {\n bucketBids = dealPrioritization ? bucketBids.sort(sortByDealAndPriceBucketOrCpm(true)) : bucketBids.sort((a, b) => b.cpm - a.cpm);\n bids.push(...bucketBids.slice(0, adUnitBidLimit));\n } else {\n bucketBids = bucketBids.sort(winSorter)\n bids.push(...bucketBids);\n }\n });\n\n return bids;\n }\n\n return bidsReceived;\n});\n\n/**\n * A descending sort function that will sort the list of objects based on the following two dimensions:\n * - bids with a deal are sorted before bids w/o a deal\n * - then sort bids in each grouping based on the hb_pb value\n * eg: the following list of bids would be sorted like:\n * [{\n * \"hb_adid\": \"vwx\",\n * \"hb_pb\": \"28\",\n * \"hb_deal\": \"7747\"\n * }, {\n * \"hb_adid\": \"jkl\",\n * \"hb_pb\": \"10\",\n * \"hb_deal\": \"9234\"\n * }, {\n * \"hb_adid\": \"stu\",\n * \"hb_pb\": \"50\"\n * }, {\n * \"hb_adid\": \"def\",\n * \"hb_pb\": \"2\"\n * }]\n */\nexport function sortByDealAndPriceBucketOrCpm(useCpm = false) {\n return function(a, b) {\n if (a.adserverTargeting.hb_deal !== undefined && b.adserverTargeting.hb_deal === undefined) {\n return -1;\n }\n\n if ((a.adserverTargeting.hb_deal === undefined && b.adserverTargeting.hb_deal !== undefined)) {\n return 1;\n }\n\n // assuming both values either have a deal or don't have a deal - sort by the hb_pb param\n if (useCpm) {\n return b.cpm - a.cpm;\n }\n\n return b.adserverTargeting.hb_pb - a.adserverTargeting.hb_pb;\n }\n}\n\n/**\n * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.\n *\n * @param adUnitCodes\n * @param customSlotMatching\n * @param getSlots\n */\nexport function getGPTSlotsForAdUnits(adUnitCodes: AdUnitCode[], customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()): ByAdUnit<googletag.Slot[]> {\n return getSlots().reduce((auToSlots, slot) => {\n const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);\n Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));\n return auToSlots;\n }, Object.fromEntries(adUnitCodes.map(au => [au, []])));\n}\n\nexport type TargetingMap<V> = Partial<DefaultTargeting> & {\n [targetingKey: string]: V\n}\n\nexport type TargetingValues = TargetingMap<string>;\ntype GPTTargetingValues = TargetingMap<string | string[]>;\n\ntype TargetingValueLists = TargetingMap<string[]>;\ntype TargetingArray = ByAdUnit<TargetingValueLists[]>[];\n\ntype AdUnitPredicate = (adUnitCode: AdUnitCode) => boolean;\nexport type SlotMatchingFn = (slot: googletag.Slot) => AdUnitPredicate;\n\ndeclare module './events' {\n interface Events {\n [EVENTS.SET_TARGETING]: [ByAdUnit<GPTTargetingValues>];\n }\n}\n\nexport interface TargetingControlsConfig {\n /**\n * Specifies the maximum number of characters the system can add to ad server targeting.\n */\n auctionKeyMaxChars?: number;\n /**\n * If enableSendAllBids is false, set this value to true to ensure that deals are sent along with the winning bid\n */\n alwaysIncludeDeals?: boolean;\n /**\n * Selects supported default targeting keys.\n */\n allowTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects targeting keys to be supported in addition to the default ones\n */\n addTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects supported default targeting keys.\n */\n allowSendAllBidsTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Set to false to prevent custom targeting values from being set for non-winning bids\n */\n allBidsCustomTargeting?: boolean\n}\n\ndeclare module './config' {\n interface Config {\n targetingControls?: TargetingControlsConfig;\n }\n}\n\nexport function newTargeting(auctionManager) {\n const latestAuctionForAdUnit = {};\n\n const targeting = {\n setLatestAuctionForAdUnit(adUnitCode: AdUnitCode, auctionId: Identifier) {\n latestAuctionForAdUnit[adUnitCode] = auctionId;\n },\n\n resetPresetTargetingAST(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n adUnitCodes.forEach(function(unit) {\n const astTag = window.apntag.getTag(unit);\n if (astTag && astTag.keywords) {\n const currentKeywords = Object.keys(astTag.keywords);\n const newKeywords = {};\n currentKeywords.forEach((key) => {\n if (!pbTargetingKeys.includes(key.toLowerCase())) {\n newKeywords[key] = astTag.keywords[key];\n }\n })\n window.apntag.modifyTag(unit, { keywords: newKeywords })\n }\n });\n },\n\n /**\n * Returns all ad server targeting for all ad units.\n * @param adUnitCode\n * @param bidLimit\n * @param bidsReceived - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return targeting\n */\n getAllTargeting(adUnitCode?: AdUnitCode | AdUnitCode[], bidLimit?: number, bidsReceived?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): ByAdUnit<TargetingValues> {\n bidsReceived ||= getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n const sendAllBids = config.getConfig('enableSendAllBids');\n const bidLimitConfigValue = config.getConfig('sendBidsControl.bidLimit');\n const adUnitBidLimit = (sendAllBids && (bidLimit || bidLimitConfigValue)) || 0;\n const { customKeysByUnit, filteredBids } = getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived);\n const bidsSorted = getHighestCpmBidsFromBidPool(filteredBids, winReducer, adUnitBidLimit, undefined, winSorter);\n let targeting = getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes);\n\n const defaultKeys = Object.keys(Object.assign({}, DEFAULT_TARGETING_KEYS));\n let allowedKeys = config.getConfig(CFG_ALLOW_TARGETING_KEYS);\n const addedKeys = config.getConfig(CFG_ADD_TARGETING_KEYS);\n\n if (addedKeys != null && allowedKeys != null) {\n throw new Error(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n } else if (addedKeys != null) {\n allowedKeys = defaultKeys.concat(addedKeys) as any;\n } else {\n allowedKeys = allowedKeys || defaultKeys as any;\n }\n\n if (Array.isArray(allowedKeys) && allowedKeys.length > 0) {\n targeting = getAllowedTargetingKeyValues(targeting, allowedKeys);\n }\n\n let flatTargeting = flattenTargeting(targeting);\n\n const auctionKeysThreshold = config.getConfig('targetingControls.auctionKeyMaxChars');\n if (auctionKeysThreshold) {\n logInfo(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${auctionKeysThreshold} characters. Running checks on auction keys...`);\n flatTargeting = filterTargetingKeys(flatTargeting, auctionKeysThreshold);\n }\n\n // make sure at least there is a entry per adUnit code in the targetingSet so receivers of SET_TARGETING call's can know what ad units are being invoked\n adUnitCodes.forEach(code => {\n if (!flatTargeting[code]) {\n flatTargeting[code] = {};\n }\n });\n\n return flatTargeting;\n },\n\n setTargetingForGPT: hook('sync', function (adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n // get our ad unit codes\n const targetingSet: ByAdUnit<GPTTargetingValues> = targeting.getAllTargeting(adUnit);\n\n const resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));\n\n Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {\n slots.forEach(slot => {\n // now set new targeting keys\n Object.keys(targetingSet[targetId]).forEach(key => {\n let value: string | string[] = targetingSet[targetId][key];\n if (typeof value === 'string' && value.indexOf(',') !== -1) {\n // due to the check the array will be formed only if string has ',' else plain string will be assigned as value\n value = value.split(',');\n }\n targetingSet[targetId][key] = value;\n });\n logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);\n slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))\n })\n })\n\n Object.keys(targetingSet).forEach((adUnitCode) => {\n Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {\n if (targetingKey === 'hb_adid') {\n auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);\n }\n });\n });\n\n targeting.targetingDone(targetingSet);\n\n // emit event\n events.emit(EVENTS.SET_TARGETING, targetingSet);\n }, 'setTargetingForGPT'),\n\n targetingDone: hook('sync', function (targetingSet: ByAdUnit<GPTTargetingValues>) {\n return targetingSet;\n }, 'targetingDone'),\n\n /**\n * Returns top bids for a given adUnit or set of adUnits.\n * @param adUnitCode adUnitCode or array of adUnitCodes\n * @param bids - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return An array of winning bids.\n */\n getWinningBids(adUnitCode: AdUnitCode | AdUnitCode[], bids?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): Bid[] {\n const bidsReceived = bids || getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n\n return bidsReceived\n .filter(bid => adUnitCodes.includes(bid.adUnitCode))\n .filter(bid => (bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true) ? bid.cpm >= 0 : bid.cpm > 0)\n .map(bid => bid.adUnitCode)\n .filter(uniques)\n .map(adUnitCode => bidsReceived\n .filter(bid => bid.adUnitCode === adUnitCode ? bid : null)\n .reduce(getHighestCpm));\n },\n\n /**\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n * Sets targeting for AST\n */\n setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n const astTargeting = targeting.getAllTargeting(adUnitCodes);\n\n try {\n targeting.resetPresetTargetingAST(adUnitCodes);\n } catch (e) {\n logError('unable to reset targeting for AST' + e)\n }\n\n Object.keys(astTargeting).forEach(targetId =>\n Object.keys(astTargeting[targetId]).forEach(key => {\n logMessage(`Attempting to set targeting for targetId: ${targetId} key: ${key} value: ${astTargeting[targetId][key]}`);\n // setKeywords supports string and array as value\n if (isStr(astTargeting[targetId][key]) || isArray(astTargeting[targetId][key])) {\n const keywordsObj = {};\n const regex = /pt[0-9]/;\n if (key.search(regex) < 0) {\n keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];\n } else {\n // pt${n} keys should not be uppercased\n keywordsObj[key] = astTargeting[targetId][key];\n }\n window.apntag.setKeywords(targetId, keywordsObj, { overrideKeyValue: true });\n }\n })\n );\n },\n isApntagDefined() {\n if (window.apntag && isFn(window.apntag.setKeywords)) {\n return true;\n }\n },\n }\n\n function addBidToTargeting(bids, enableSendAllBids = false, deals = false): TargetingArray {\n const standardKeys = TARGETING_KEYS_ARR.slice();\n const allowSendAllBidsTargetingKeys = config.getConfig('targetingControls.allowSendAllBidsTargetingKeys');\n\n const allowedSendAllBidTargeting = allowSendAllBidsTargetingKeys\n ? allowSendAllBidsTargetingKeys.map((key) => TARGETING_KEYS[key])\n : standardKeys;\n\n return bids.reduce((result, bid) => {\n if (enableSendAllBids || (deals && bid.dealId)) {\n const targetingValue = getTargetingMap(bid, standardKeys.filter(\n key => typeof bid.adserverTargeting[key] !== 'undefined' &&\n (deals || allowedSendAllBidTargeting.indexOf(key) !== -1)));\n\n if (targetingValue) {\n result.push({[bid.adUnitCode]: targetingValue})\n }\n }\n return result;\n }, []);\n }\n\n function getBidderTargeting(bids) {\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n const enableSendAllBids = config.getConfig('enableSendAllBids');\n return addBidToTargeting(bids, enableSendAllBids, alwaysIncludeDeals);\n }\n\n /**\n * Returns filtered ad server targeting for custom and allowed keys.\n * @param targeting\n * @param allowedKeys\n * @return filtered targeting\n */\n function getAllowedTargetingKeyValues(targeting: TargetingArray, allowedKeys: string[]): TargetingArray {\n const defaultKeyring = Object.assign({}, TARGETING_KEYS);\n const defaultKeys = Object.keys(TARGETING_KEYS);\n const keyDispositions = {};\n logInfo(`allowTargetingKeys - allowed keys [ ${allowedKeys.map(k => defaultKeyring[k]).join(', ')} ]`);\n targeting.map(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n const keys = keyring.filter(kvPair => {\n const key = Object.keys(kvPair)[0];\n // check if key is in default keys, if not, it's custom, we won't remove it.\n const isCustom = defaultKeys.filter(defaultKey => key.indexOf(defaultKeyring[defaultKey]) === 0).length === 0;\n // check if key explicitly allowed, if not, we'll remove it.\n const found = isCustom || allowedKeys.find(allowedKey => {\n const allowedKeyName = defaultKeyring[allowedKey];\n // we're looking to see if the key exactly starts with one of our default keys.\n // (which hopefully means it's not custom)\n const found = key.indexOf(allowedKeyName) === 0;\n return found;\n });\n keyDispositions[key] = !found;\n return found;\n });\n adUnit[adUnitCode] = keys;\n });\n const removedKeys = Object.keys(keyDispositions).filter(d => keyDispositions[d]);\n logInfo(`allowTargetingKeys - removed keys [ ${removedKeys.join(', ')} ]`);\n // remove any empty targeting objects, as they're unnecessary.\n const filteredTargeting = targeting.filter(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n return keyring.length > 0;\n });\n return filteredTargeting\n }\n\n function updatePBTargetingKeys(adUnitCode) {\n (Object.keys(adUnitCode)).forEach(key => {\n adUnitCode[key].forEach(targetKey => {\n const targetKeys = Object.keys(targetKey);\n if (pbTargetingKeys.indexOf(targetKeys[0]) === -1) {\n pbTargetingKeys = targetKeys.concat(pbTargetingKeys);\n }\n });\n });\n }\n\n function getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes) {\n const useAllBidsCustomTargeting = config.getConfig('targetingControls.allBidsCustomTargeting') === true;\n\n const targeting = getWinningBidTargeting(bidsSorted, adUnitCodes)\n .concat(getBidderTargeting(bidsSorted))\n .concat(getAdUnitTargeting(adUnitCodes));\n\n if (useAllBidsCustomTargeting) {\n targeting.push(...getCustomBidTargeting(bidsSorted, customKeysByUnit))\n }\n\n targeting.forEach(adUnitCode => {\n updatePBTargetingKeys(adUnitCode);\n });\n\n return targeting;\n }\n\n function getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived) {\n const filteredBids = [];\n const customKeysByUnit = {};\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n\n bidsReceived.forEach(bid => {\n const adUnitIsEligible = adUnitCodes.includes(bid.adUnitCode);\n const cpmAllowed = bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true ? bid.cpm >= 0 : bid.cpm > 0;\n const isPreferredDeal = alwaysIncludeDeals && bid.dealId;\n\n if (adUnitIsEligible && (isPreferredDeal || cpmAllowed)) {\n filteredBids.push(bid);\n Object.keys(bid.adserverTargeting)\n .filter(getCustomKeys())\n .forEach(key => {\n const truncKey = key.substring(0, MAX_DFP_KEYLENGTH);\n const data = customKeysByUnit[bid.adUnitCode] || {};\n const value = [bid.adserverTargeting[key]];\n\n if (data[truncKey]) {\n data[truncKey] = data[truncKey].concat(value).filter(uniques);\n } else {\n data[truncKey] = value;\n }\n\n customKeysByUnit[bid.adUnitCode] = data;\n })\n }\n });\n\n return {filteredBids, customKeysByUnit};\n }\n\n // warn about conflicting configuration\n config.getConfig('targetingControls', function (config) {\n if (deepAccess(config, CFG_ALLOW_TARGETING_KEYS) != null && deepAccess(config, CFG_ADD_TARGETING_KEYS) != null) {\n logError(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n }\n });\n\n // create an encoded string variant based on the keypairs of the provided object\n // - note this will encode the characters between the keys (ie = and &)\n function convertKeysToQueryForm(keyMap) {\n return Object.keys(keyMap).reduce(function (queryString, key) {\n const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;\n return queryString += encodedKeyPair;\n }, '');\n }\n\n function filterTargetingKeys(targeting: ByAdUnit<TargetingValues>, auctionKeysThreshold: number) {\n // read each targeting.adUnit object and sort the adUnits into a list of adUnitCodes based on priorization setting (eg CPM)\n const targetingCopy = deepClone(targeting);\n\n const targetingMap = Object.keys(targetingCopy).map(adUnitCode => {\n return {\n adUnitCode,\n adserverTargeting: targetingCopy[adUnitCode]\n };\n }).sort(sortByDealAndPriceBucketOrCpm());\n\n // iterate through the targeting based on above list and transform the keys into the query-equivalent and count characters\n return targetingMap.reduce(function (accMap, currMap, index, arr) {\n let adUnitQueryString = convertKeysToQueryForm(currMap.adserverTargeting);\n\n // for the last adUnit - trim last encoded ampersand from the converted query string\n if ((index + 1) === arr.length) {\n adUnitQueryString = adUnitQueryString.slice(0, -3);\n }\n\n // if under running threshold add to result\n const code = currMap.adUnitCode;\n const querySize = adUnitQueryString.length;\n if (querySize <= auctionKeysThreshold) {\n auctionKeysThreshold -= querySize;\n logInfo(`AdUnit '${code}' auction keys comprised of ${querySize} characters. Deducted from running threshold; new limit is ${auctionKeysThreshold}`, targetingCopy[code]);\n\n accMap[code] = targetingCopy[code];\n } else {\n logWarn(`The following keys for adUnitCode '${code}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\\nThe key-set size was ${querySize}, the current allotted amount was ${auctionKeysThreshold}.\\n`, targetingCopy[code]);\n }\n\n if ((index + 1) === arr.length && Object.keys(accMap).length === 0) {\n logError('No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.');\n }\n return accMap;\n }, {});\n }\n\n /**\n * Converts targeting array and flattens to make it easily iteratable\n * e.g: Sample input to this function\n * ```\n * [\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder\": [\"appnexusAst\"]}]\n * },\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder_appnexusAs\": [\"appnexusAst\", \"other\"]}]\n * }\n * ]\n * ```\n * Resulting array\n * ```\n * {\n * \"div-gpt-ad-1460505748561-0\": {\n * \"hb_bidder\": \"appnexusAst\",\n * \"hb_bidder_appnexusAs\": \"appnexusAst,other\"\n * }\n * }\n * ```\n *\n * @param targeting\n * @return targeting\n */\n function flattenTargeting(targeting: TargetingArray): ByAdUnit<TargetingValues> {\n return targeting.map(targeting => {\n return {\n [Object.keys(targeting)[0]]: targeting[Object.keys(targeting)[0]]\n .map(target => {\n return {\n [Object.keys(target)[0]]: target[Object.keys(target)[0]].join(',')\n };\n }).reduce((p, c) => Object.assign(c, p), {})\n };\n }).reduce(function (accumulator, targeting) {\n var key = Object.keys(targeting)[0];\n accumulator[key] = Object.assign({}, accumulator[key], targeting[key]);\n return accumulator;\n }, {});\n }\n\n /**\n * normlizes input to a `adUnit.code` array\n * @param adUnitCode\n * @return AdUnit code array\n */\n function getAdUnitCodes(adUnitCode?: AdUnitCode | AdUnitCode[]): AdUnitCode[] {\n if (typeof adUnitCode === 'string') {\n return [adUnitCode];\n } else if (isArray(adUnitCode)) {\n return adUnitCode;\n }\n return auctionManager.getAdUnitCodes() || [];\n }\n\n function getBidsReceived(winReducer = getOldestHighestCpmBid, winSorter = undefined) {\n const bidsReceived = auctionManager.getBidsReceived().reduce((bids, bid) => {\n const bidCacheEnabled = config.getConfig('useBidCache');\n const filterFunction = config.getConfig('bidCacheFilterFunction');\n const isBidFromLastAuction = latestAuctionForAdUnit[bid.adUnitCode] === bid.auctionId;\n const filterFunctionResult = bidCacheEnabled && !isBidFromLastAuction && typeof filterFunction === 'function' ? !!filterFunction(bid) : true;\n const cacheFilter = bidCacheEnabled || isBidFromLastAuction;\n const bidFilter = cacheFilter && filterFunctionResult;\n\n if (bidFilter && bid?.video?.context !== ADPOD && isBidUsable(bid)) {\n bid.latestTargetedAuctionId = latestAuctionForAdUnit[bid.adUnitCode];\n bids.push(bid)\n }\n\n return bids;\n }, []);\n\n return getHighestCpmBidsFromBidPool(bidsReceived, winReducer, undefined, undefined, winSorter);\n }\n\n /**\n * Get targeting key value pairs for winning bid.\n * @param bidsReceived code array\n * @param adUnitCodes code array\n * @return winning bids targeting\n */\n function getWinningBidTargeting(bidsReceived, adUnitCodes): TargetingArray {\n const winners = targeting.getWinningBids(adUnitCodes, bidsReceived);\n const standardKeys = getStandardKeys();\n\n return winners.map(winner => {\n return {\n [winner.adUnitCode]: Object.keys(winner.adserverTargeting)\n .filter(key =>\n typeof winner.sendStandardTargeting === 'undefined' ||\n winner.sendStandardTargeting ||\n standardKeys.indexOf(key) === -1)\n .reduce((acc, key) => {\n const targetingValue = [winner.adserverTargeting[key]];\n const targeting = { [key.substring(0, MAX_DFP_KEYLENGTH)]: targetingValue };\n if (key === TARGETING_KEYS.DEAL) {\n const bidderCodeTargetingKey = `${key}_${winner.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH);\n const bidderCodeTargeting = { [bidderCodeTargetingKey]: targetingValue };\n return [...acc, targeting, bidderCodeTargeting];\n }\n return [...acc, targeting];\n }, [])\n };\n });\n }\n\n function getStandardKeys() {\n return auctionManager.getStandardBidderAdServerTargeting() // in case using a custom standard key set\n .map(targeting => targeting.key)\n .concat(TARGETING_KEYS_ARR).filter(uniques); // standard keys defined in the library.\n }\n\n function getCustomKeys() {\n const standardKeys = getStandardKeys();\n return function(key) {\n return standardKeys.indexOf(key) === -1;\n }\n }\n\n /**\n * Get custom targeting key value pairs for bids.\n * @param {Array<Object>} bidsSorted code array\n * @param {Object} customKeysByUnit code array\n * @return bids with custom targeting defined in bidderSettings\n */\n function getCustomBidTargeting(bidsSorted: Bid[], customKeysByUnit: ByAdUnit<any>): TargetingArray {\n return bidsSorted\n .reduce((acc, bid) => {\n const newBid = Object.assign({}, bid);\n const customKeysForUnit = customKeysByUnit[newBid.adUnitCode];\n const targeting = [];\n\n if (customKeysForUnit) {\n Object.keys(customKeysForUnit).forEach(key => {\n if (key && customKeysForUnit[key]) targeting.push({[key]: customKeysForUnit[key]});\n })\n }\n\n acc.push({[newBid.adUnitCode]: targeting});\n\n return acc;\n }, []);\n }\n\n function getTargetingMap(bid: Bid, keys: string[]): TargetingValueLists[] {\n return keys.reduce((targeting, key) => {\n const value = bid.adserverTargeting[key];\n if (value) {\n targeting.push({[`${key}_${bid.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH)]: [bid.adserverTargeting[key]]})\n }\n return targeting;\n }, []);\n }\n\n function getAdUnitTargeting(adUnitCodes) {\n function getTargetingObj(adUnit) {\n return adUnit?.[JSON_MAPPING.ADSERVER_TARGETING];\n }\n\n function getTargetingValues(adUnit) {\n const aut = getTargetingObj(adUnit);\n\n return Object.keys(aut)\n .map(function(key) {\n if (isStr(aut[key])) aut[key] = aut[key].split(',').map(s => s.trim());\n if (!isArray(aut[key])) aut[key] = [ aut[key] ];\n return { [key]: aut[key] };\n });\n }\n\n return auctionManager.getAdUnits()\n .filter(adUnit => adUnitCodes.includes(adUnit.code) && getTargetingObj(adUnit))\n .reduce((result, adUnit) => {\n const targetingValues = getTargetingValues(adUnit);\n\n if (targetingValues)result.push({[adUnit.code]: targetingValues});\n return result;\n }, []);\n }\n\n return targeting;\n}\n\nexport const targeting = newTargeting(auctionManager);\n"],"mappings":"AAAA,SAAQA,cAAc,QAAO,qBAAqB;AAClD,SAAQC,cAAc,QAAO,aAAa;AAC1C,SAAQC,cAAc,QAAO,qBAAqB;AAClD,SAAQC,MAAM,QAAO,aAAa;AAClC,SACIC,UAAU,EACVC,sBAAsB,EACtBC,MAAM,EACNC,YAAY,EACZC,cAAc,QACX,gBAAgB;AACvB,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,SAAQC,IAAI,QAAO,WAAW;AAC9B,SAAQC,KAAK,QAAO,iBAAiB;AACrC,SACIC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,wBAAwB,EACxBC,OAAO,EACPC,IAAI,EACJC,KAAK,EACLC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,OAAO,EACPC,gBAAgB,EAChBC,SAAS,EACTC,OAAO,QACJ,YAAY;AACnB,SAAQC,aAAa,EAAEC,sBAAsB,QAAO,qBAAqB;AAKzE,IAAIC,eAAe,GAAG,EAAE;AAExB,MAAMC,iBAAiB,GAAG,EAAE;AAE5B,MAAMC,wBAAwB,GAAG,sCAAsC;AACvE,MAAMC,sBAAsB,GAAG,oCAAoC;AACnE,MAAMC,qCAAqC,GAAG,gBAAgBF,wBAAwB,SAASC,sBAAsB,cAAc;AAEnI,OAAO,MAAME,kBAAkB,GAAGC,MAAM,CAACC,IAAI,CAAC3B,cAAc,CAAC,CAAC4B,GAAG,CAC/DC,GAAG,IAAI7B,cAAc,CAAC6B,GAAG,CAC3B,CAAC;;AAED;AACA,MAAMC,eAAe,GAAIC,GAAG,IAAMA,GAAG,CAACC,iBAAiB,GAAGvC,cAAc,CAACsC,GAAG,CAAC,GAAG,IAAI,GAAIf,SAAS,CAAC,CAAC;;AAEnG;AACA,MAAMiB,WAAW,GAAIF,GAAG,IAAKA,GAAG,KAAMA,GAAG,CAACG,MAAM,IAAI,CAAC,CAACtC,UAAU,CAACuC,QAAQ,CAAC,CAACC,QAAQ,CAACL,GAAG,CAACG,MAAM,CAAC,IAAK,CAACH,GAAG,CAACG,MAAM,CAAC;AAEhH,OAAO,MAAMG,OAAO,GAAG;EACrBP,eAAe;EACfG;AACF,CAAC;AAED,OAAO,SAASK,WAAWA,CAACP,GAAG,EAAE;EAC/B,OAAO,CAACL,MAAM,CAACa,MAAM,CAACF,OAAO,CAAC,CAACG,IAAI,CAAEC,SAAS,IAAK,CAACA,SAAS,CAACV,GAAG,CAAC,CAAC;AACrE;;AAEA;AACA;AACA;AACA,OAAO,MAAMW,4BAA4B,GAAGxC,IAAI,CAAC,MAAM,EAAE,UAASyC,YAAY,EAAEC,UAAU,EAAyE;EAAA,IAAvEC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEG,WAAW,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IAAEI,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG/B,gBAAgB;EAC/J,IAAI,CAACkC,WAAW,EAAE;IAChB,MAAME,IAAI,GAAG,EAAE;IACf,MAAMC,kBAAkB,GAAGzD,MAAM,CAAC0D,SAAS,CAAC,oCAAoC,CAAC;IACjF;IACA,MAAMC,OAAO,GAAGhD,OAAO,CAACqC,YAAY,EAAE,YAAY,CAAC;IACnD;IACAjB,MAAM,CAACC,IAAI,CAAC2B,OAAO,CAAC,CAACC,OAAO,CAACC,SAAS,IAAI;MACxC,IAAIC,UAAU,GAAG,EAAE;MACnB,MAAMC,YAAY,GAAGpD,OAAO,CAACgD,OAAO,CAACE,SAAS,CAAC,EAAE,YAAY,CAAC;MAC9D9B,MAAM,CAACC,IAAI,CAAC+B,YAAY,CAAC,CAACH,OAAO,CAAC1B,GAAG,IAAI;QAAE4B,UAAU,CAACE,IAAI,CAACD,YAAY,CAAC7B,GAAG,CAAC,CAAC+B,MAAM,CAAChB,UAAU,CAAC,CAAC;MAAC,CAAC,CAAC;MACnG;MACA,IAAIC,cAAc,EAAE;QAClBY,UAAU,GAAGL,kBAAkB,GAAGK,UAAU,CAACI,IAAI,CAACC,6BAA6B,CAAC,IAAI,CAAC,CAAC,GAAGL,UAAU,CAACI,IAAI,CAAC,CAACE,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACC,GAAG,GAAGF,CAAC,CAACE,GAAG,CAAC;QACjId,IAAI,CAACQ,IAAI,CAAC,GAAGF,UAAU,CAACS,KAAK,CAAC,CAAC,EAAErB,cAAc,CAAC,CAAC;MACnD,CAAC,MAAM;QACLY,UAAU,GAAGA,UAAU,CAACI,IAAI,CAACX,SAAS,CAAC;QACvCC,IAAI,CAACQ,IAAI,CAAC,GAAGF,UAAU,CAAC;MAC1B;IACF,CAAC,CAAC;IAEF,OAAON,IAAI;EACb;EAEA,OAAOR,YAAY;AACrB,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASmB,6BAA6BA,CAAA,EAAiB;EAAA,IAAhBK,MAAM,GAAArB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAC1D,OAAO,UAASiB,CAAC,EAAEC,CAAC,EAAE;IACpB,IAAID,CAAC,CAACK,iBAAiB,CAACC,OAAO,KAAKrB,SAAS,IAAIgB,CAAC,CAACI,iBAAiB,CAACC,OAAO,KAAKrB,SAAS,EAAE;MAC1F,OAAO,CAAC,CAAC;IACX;IAEA,IAAKe,CAAC,CAACK,iBAAiB,CAACC,OAAO,KAAKrB,SAAS,IAAIgB,CAAC,CAACI,iBAAiB,CAACC,OAAO,KAAKrB,SAAS,EAAG;MAC5F,OAAO,CAAC;IACV;;IAEA;IACA,IAAImB,MAAM,EAAE;MACV,OAAOH,CAAC,CAACC,GAAG,GAAGF,CAAC,CAACE,GAAG;IACtB;IAEA,OAAOD,CAAC,CAACI,iBAAiB,CAACE,KAAK,GAAGP,CAAC,CAACK,iBAAiB,CAACE,KAAK;EAC9D,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACC,WAAyB,EAAEC,kBAAkB,EAAqF;EAAA,IAAnFC,QAAQ,GAAA5B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,MAAM6B,MAAM,CAACC,SAAS,CAACC,MAAM,CAAC,CAAC,CAACH,QAAQ,CAAC,CAAC;EACxI,OAAOA,QAAQ,CAAC,CAAC,CAACd,MAAM,CAAC,CAACkB,SAAS,EAAEC,IAAI,KAAK;IAC5C,MAAMC,WAAW,GAAGvE,IAAI,CAACgE,kBAAkB,CAAC,IAAIA,kBAAkB,CAACM,IAAI,CAAC;IACxErD,MAAM,CAACC,IAAI,CAACmD,SAAS,CAAC,CAACG,MAAM,CAACxE,IAAI,CAACuE,WAAW,CAAC,GAAGA,WAAW,GAAGzE,wBAAwB,CAACwE,IAAI,CAAC,CAAC,CAACxB,OAAO,CAAC2B,EAAE,IAAIJ,SAAS,CAACI,EAAE,CAAC,CAACvB,IAAI,CAACoB,IAAI,CAAC,CAAC;IACvI,OAAOD,SAAS;EAClB,CAAC,EAAEpD,MAAM,CAACyD,WAAW,CAACX,WAAW,CAAC5C,GAAG,CAACsD,EAAE,IAAI,CAACA,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD;AAsDA,OAAO,SAASE,YAAYA,CAAC5F,cAAc,EAAE;EAC3C,MAAM6F,sBAAsB,GAAG,CAAC,CAAC;EAEjC,MAAMC,SAAS,GAAG;IACdC,yBAAyBA,CAACC,UAAsB,EAAEC,SAAqB,EAAE;MACrEJ,sBAAsB,CAACG,UAAU,CAAC,GAAGC,SAAS;IAClD,CAAC;IAEDC,uBAAuBA,CAACF,UAAsC,EAAE;MAC5D,MAAMhB,WAAW,GAAGmB,cAAc,CAACH,UAAU,CAAC;MAC9ChB,WAAW,CAACjB,OAAO,CAAC,UAASqC,IAAI,EAAE;QAC/B,MAAMC,MAAM,GAAGlB,MAAM,CAACmB,MAAM,CAACC,MAAM,CAACH,IAAI,CAAC;QACzC,IAAIC,MAAM,IAAIA,MAAM,CAACG,QAAQ,EAAE;UAC3B,MAAMC,eAAe,GAAGvE,MAAM,CAACC,IAAI,CAACkE,MAAM,CAACG,QAAQ,CAAC;UACpD,MAAME,WAAW,GAAG,CAAC,CAAC;UACtBD,eAAe,CAAC1C,OAAO,CAAE1B,GAAG,IAAK;YAC7B,IAAI,CAACT,eAAe,CAACgB,QAAQ,CAACP,GAAG,CAACsE,WAAW,CAAC,CAAC,CAAC,EAAE;cAC9CD,WAAW,CAACrE,GAAG,CAAC,GAAGgE,MAAM,CAACG,QAAQ,CAACnE,GAAG,CAAC;YAC3C;UACJ,CAAC,CAAC;UACF8C,MAAM,CAACmB,MAAM,CAACM,SAAS,CAACR,IAAI,EAAE;YAAEI,QAAQ,EAAEE;UAAY,CAAC,CAAC;QAC5D;MACJ,CAAC,CAAC;IACN,CAAC;IAED;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACMG,eAAeA,CAACb,UAAsC,EAAEc,QAAiB,EAAE3D,YAAoB,EAAuF;MAAA,IAArFC,UAAU,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG5B,aAAa;MAAA,IAAEgC,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG/B,gBAAgB;MACrJ4B,YAAY,KAAK4D,eAAe,CAAC3D,UAAU,EAAEM,SAAS,CAAC;MACvD,MAAMsB,WAAW,GAAGmB,cAAc,CAACH,UAAU,CAAC;MAC9C,MAAMgB,WAAW,GAAG7G,MAAM,CAAC0D,SAAS,CAAC,mBAAmB,CAAC;MACzD,MAAMoD,mBAAmB,GAAG9G,MAAM,CAAC0D,SAAS,CAAC,0BAA0B,CAAC;MACxE,MAAMR,cAAc,GAAI2D,WAAW,KAAKF,QAAQ,IAAIG,mBAAmB,CAAC,IAAK,CAAC;MAC9E,MAAM;QAAEC,gBAAgB;QAAEC;MAAa,CAAC,GAAGC,4BAA4B,CAACpC,WAAW,EAAE7B,YAAY,CAAC;MAClG,MAAMkE,UAAU,GAAGnE,4BAA4B,CAACiE,YAAY,EAAE/D,UAAU,EAAEC,cAAc,EAAEG,SAAS,EAAEE,SAAS,CAAC;MAC/G,IAAIoC,SAAS,GAAGwB,kBAAkB,CAACD,UAAU,EAAEH,gBAAgB,EAAElC,WAAW,CAAC;MAE7E,MAAMuC,WAAW,GAAGrF,MAAM,CAACC,IAAI,CAACD,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEnH,sBAAsB,CAAC,CAAC;MAC1E,IAAIoH,WAAW,GAAGtH,MAAM,CAAC0D,SAAS,CAAC/B,wBAAwB,CAAC;MAC5D,MAAM4F,SAAS,GAAGvH,MAAM,CAAC0D,SAAS,CAAC9B,sBAAsB,CAAC;MAE1D,IAAI2F,SAAS,IAAI,IAAI,IAAID,WAAW,IAAI,IAAI,EAAE;QAC1C,MAAM,IAAIE,KAAK,CAAC3F,qCAAqC,CAAC;MAC1D,CAAC,MAAM,IAAI0F,SAAS,IAAI,IAAI,EAAE;QAC1BD,WAAW,GAAGF,WAAW,CAACK,MAAM,CAACF,SAAS,CAAQ;MACtD,CAAC,MAAM;QACHD,WAAW,GAAGA,WAAW,IAAIF,WAAkB;MACnD;MAEA,IAAIM,KAAK,CAAC7G,OAAO,CAACyG,WAAW,CAAC,IAAIA,WAAW,CAAClE,MAAM,GAAG,CAAC,EAAE;QACtDuC,SAAS,GAAGgC,4BAA4B,CAAChC,SAAS,EAAE2B,WAAW,CAAC;MACpE;MAEA,IAAIM,aAAa,GAAGC,gBAAgB,CAAClC,SAAS,CAAC;MAE/C,MAAMmC,oBAAoB,GAAG9H,MAAM,CAAC0D,SAAS,CAAC,sCAAsC,CAAC;MACrF,IAAIoE,oBAAoB,EAAE;QACtB7G,OAAO,CAAC,oGAAoG6G,oBAAoB,iDAAiD,CAAC;QAClLF,aAAa,GAAGG,mBAAmB,CAACH,aAAa,EAAEE,oBAAoB,CAAC;MAC5E;;MAEA;MACAjD,WAAW,CAACjB,OAAO,CAACoE,IAAI,IAAI;QACxB,IAAI,CAACJ,aAAa,CAACI,IAAI,CAAC,EAAE;UACtBJ,aAAa,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B;MACJ,CAAC,CAAC;MAEF,OAAOJ,aAAa;IACxB,CAAC;IAEDK,kBAAkB,EAAE1H,IAAI,CAAC,MAAM,EAAE,UAAU2H,MAAkC,EAAEpD,kBAAmC,EAAE;MAChH;MACA,MAAMqD,YAA0C,GAAGxC,SAAS,CAACe,eAAe,CAACwB,MAAM,CAAC;MAEpF,MAAME,QAAQ,GAAGrG,MAAM,CAACyD,WAAW,CAAC/D,eAAe,CAACQ,GAAG,CAACC,GAAG,IAAI,CAACA,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;MAE5EH,MAAM,CAACsG,OAAO,CAACzD,qBAAqB,CAAC7C,MAAM,CAACC,IAAI,CAACmG,YAAY,CAAC,EAAErD,kBAAkB,CAAC,CAAC,CAAClB,OAAO,CAAC0E,IAAA,IAAuB;QAAA,IAAtB,CAACC,QAAQ,EAAEC,KAAK,CAAC,GAAAF,IAAA;QAC3GE,KAAK,CAAC5E,OAAO,CAACwB,IAAI,IAAI;UAClB;UACArD,MAAM,CAACC,IAAI,CAACmG,YAAY,CAACI,QAAQ,CAAC,CAAC,CAAC3E,OAAO,CAAC1B,GAAG,IAAI;YAC/C,IAAIuG,KAAwB,GAAGN,YAAY,CAACI,QAAQ,CAAC,CAACrG,GAAG,CAAC;YAC1D,IAAI,OAAOuG,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;cACxD;cACAD,KAAK,GAAGA,KAAK,CAACE,KAAK,CAAC,GAAG,CAAC;YAC5B;YACAR,YAAY,CAACI,QAAQ,CAAC,CAACrG,GAAG,CAAC,GAAGuG,KAAK;UACvC,CAAC,CAAC;UACFvH,UAAU,CAAC,6CAA6CkE,IAAI,CAACwD,gBAAgB,CAAC,CAAC,sBAAsB,EAAET,YAAY,CAACI,QAAQ,CAAC,CAAC;UAC9HnD,IAAI,CAACyD,sBAAsB,CAAC9G,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEe,QAAQ,EAAED,YAAY,CAACI,QAAQ,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC;MACN,CAAC,CAAC;MAEFxG,MAAM,CAACC,IAAI,CAACmG,YAAY,CAAC,CAACvE,OAAO,CAAEiC,UAAU,IAAK;QAC9C9D,MAAM,CAACC,IAAI,CAACmG,YAAY,CAACtC,UAAU,CAAC,CAAC,CAACjC,OAAO,CAAEkF,YAAY,IAAK;UAC5D,IAAIA,YAAY,KAAK,SAAS,EAAE;YAC5BjJ,cAAc,CAACkJ,gBAAgB,CAACZ,YAAY,CAACtC,UAAU,CAAC,CAACiD,YAAY,CAAC,EAAE7I,UAAU,CAAC+I,iBAAiB,CAAC;UACzG;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MAEFrD,SAAS,CAACsD,aAAa,CAACd,YAAY,CAAC;;MAErC;MACA7H,MAAM,CAAC4I,IAAI,CAAC/I,MAAM,CAACgJ,aAAa,EAAEhB,YAAY,CAAC;IACnD,CAAC,EAAE,oBAAoB,CAAC;IAExBc,aAAa,EAAE1I,IAAI,CAAC,MAAM,EAAE,UAAU4H,YAA0C,EAAE;MAC9E,OAAOA,YAAY;IACvB,CAAC,EAAE,eAAe,CAAC;IAEnB;AACN;AACA;AACA;AACA;AACA;AACA;AACA;IACMiB,cAAcA,CAACvD,UAAqC,EAAErC,IAAY,EAAmE;MAAA,IAAjEP,UAAU,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG5B,aAAa;MAAA,IAAEgC,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG/B,gBAAgB;MACxH,MAAM4B,YAAY,GAAGQ,IAAI,IAAIoD,eAAe,CAAC3D,UAAU,EAAEM,SAAS,CAAC;MACnE,MAAMsB,WAAW,GAAGmB,cAAc,CAACH,UAAU,CAAC;MAE9C,OAAO7C,YAAY,CACdsC,MAAM,CAAClD,GAAG,IAAIyC,WAAW,CAACpC,QAAQ,CAACL,GAAG,CAACyD,UAAU,CAAC,CAAC,CACnDP,MAAM,CAAClD,GAAG,IAAKrC,cAAc,CAACsJ,GAAG,CAACjH,GAAG,CAACkH,UAAU,EAAE,kBAAkB,CAAC,KAAK,IAAI,GAAIlH,GAAG,CAACkC,GAAG,IAAI,CAAC,GAAGlC,GAAG,CAACkC,GAAG,GAAG,CAAC,CAAC,CAC7GrC,GAAG,CAACG,GAAG,IAAIA,GAAG,CAACyD,UAAU,CAAC,CAC1BP,MAAM,CAAChE,OAAO,CAAC,CACfW,GAAG,CAAC4D,UAAU,IAAI7C,YAAY,CAC1BsC,MAAM,CAAClD,GAAG,IAAIA,GAAG,CAACyD,UAAU,KAAKA,UAAU,GAAGzD,GAAG,GAAG,IAAI,CAAC,CACzD6B,MAAM,CAAC1C,aAAa,CAAC,CAAC;IACnC,CAAC;IAED;AACN;AACA;AACA;IACMgI,kBAAkBA,CAAC1E,WAAuC,EAAE;MACxD,MAAM2E,YAAY,GAAG7D,SAAS,CAACe,eAAe,CAAC7B,WAAW,CAAC;MAE3D,IAAI;QACAc,SAAS,CAACI,uBAAuB,CAAClB,WAAW,CAAC;MAClD,CAAC,CAAC,OAAO4E,CAAC,EAAE;QACRzI,QAAQ,CAAC,mCAAmC,GAAGyI,CAAC,CAAC;MACrD;MAEA1H,MAAM,CAACC,IAAI,CAACwH,YAAY,CAAC,CAAC5F,OAAO,CAAC2E,QAAQ,IACtCxG,MAAM,CAACC,IAAI,CAACwH,YAAY,CAACjB,QAAQ,CAAC,CAAC,CAAC3E,OAAO,CAAC1B,GAAG,IAAI;QAC/ChB,UAAU,CAAC,6CAA6CqH,QAAQ,SAASrG,GAAG,WAAWsH,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC,EAAE,CAAC;QACrH;QACA,IAAInB,KAAK,CAACyI,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC,CAAC,IAAIrB,OAAO,CAAC2I,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC,CAAC,EAAE;UAC5E,MAAMwH,WAAW,GAAG,CAAC,CAAC;UACtB,MAAMC,KAAK,GAAG,SAAS;UACvB,IAAIzH,GAAG,CAAC0H,MAAM,CAACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACvBD,WAAW,CAACxH,GAAG,CAAC2H,WAAW,CAAC,CAAC,CAAC,GAAGL,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC;UAChE,CAAC,MAAM;YACH;YACAwH,WAAW,CAACxH,GAAG,CAAC,GAAGsH,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC;UAClD;UACA8C,MAAM,CAACmB,MAAM,CAAC2D,WAAW,CAACvB,QAAQ,EAAEmB,WAAW,EAAE;YAAEK,gBAAgB,EAAE;UAAK,CAAC,CAAC;QAChF;MACJ,CAAC,CACL,CAAC;IACL,CAAC;IACDC,eAAeA,CAAA,EAAG;MACd,IAAIhF,MAAM,CAACmB,MAAM,IAAIrF,IAAI,CAACkE,MAAM,CAACmB,MAAM,CAAC2D,WAAW,CAAC,EAAE;QAClD,OAAO,IAAI;MACf;IACJ;EACJ,CAAC;EAED,SAASG,iBAAiBA,CAACzG,IAAI,EAA4D;IAAA,IAA1D0G,iBAAiB,GAAA/G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAAA,IAAEgH,KAAK,GAAAhH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IACvE,MAAMiH,YAAY,GAAGtI,kBAAkB,CAACyC,KAAK,CAAC,CAAC;IAC/C,MAAM8F,6BAA6B,GAAGrK,MAAM,CAAC0D,SAAS,CAAC,iDAAiD,CAAC;IAEzG,MAAM4G,0BAA0B,GAAGD,6BAA6B,GAC5DA,6BAA6B,CAACpI,GAAG,CAAEC,GAAG,IAAK7B,cAAc,CAAC6B,GAAG,CAAC,CAAC,GAC/DkI,YAAY;IAEhB,OAAO5G,IAAI,CAACS,MAAM,CAAC,CAACsG,MAAM,EAAEnI,GAAG,KAAK;MAClC,IAAI8H,iBAAiB,IAAKC,KAAK,IAAI/H,GAAG,CAACoI,MAAO,EAAE;QAC9C,MAAMC,cAAc,GAAGC,eAAe,CAACtI,GAAG,EAAEgI,YAAY,CAAC9E,MAAM,CAC7DpD,GAAG,IAAI,OAAOE,GAAG,CAACqC,iBAAiB,CAACvC,GAAG,CAAC,KAAK,WAAW,KACrDiI,KAAK,IAAIG,0BAA0B,CAAC5B,OAAO,CAACxG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/D,IAAIuI,cAAc,EAAE;UAClBF,MAAM,CAACvG,IAAI,CAAC;YAAC,CAAC5B,GAAG,CAACyD,UAAU,GAAG4E;UAAc,CAAC,CAAC;QACjD;MACF;MACA,OAAOF,MAAM;IACf,CAAC,EAAE,EAAE,CAAC;EACR;EAEA,SAASI,kBAAkBA,CAACnH,IAAI,EAAE;IAChC,MAAMoH,kBAAkB,GAAG5K,MAAM,CAAC0D,SAAS,CAAC,sCAAsC,CAAC;IACnF,MAAMwG,iBAAiB,GAAGlK,MAAM,CAAC0D,SAAS,CAAC,mBAAmB,CAAC;IAC/D,OAAOuG,iBAAiB,CAACzG,IAAI,EAAE0G,iBAAiB,EAAEU,kBAAkB,CAAC;EACvE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,SAASjD,4BAA4BA,CAAChC,SAAyB,EAAE2B,WAAqB,EAAkB;IACtG,MAAMuD,cAAc,GAAG9I,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEhH,cAAc,CAAC;IACxD,MAAM+G,WAAW,GAAGrF,MAAM,CAACC,IAAI,CAAC3B,cAAc,CAAC;IAC/C,MAAMyK,eAAe,GAAG,CAAC,CAAC;IAC1B7J,OAAO,CAAC,uCAAuCqG,WAAW,CAACrF,GAAG,CAAC8I,CAAC,IAAIF,cAAc,CAACE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACtGrF,SAAS,CAAC1D,GAAG,CAACiG,MAAM,IAAI;MACtB,MAAMrC,UAAU,GAAG9D,MAAM,CAACC,IAAI,CAACkG,MAAM,CAAC,CAAC,CAAC,CAAC;MACzC,MAAM+C,OAAO,GAAG/C,MAAM,CAACrC,UAAU,CAAC;MAClC,MAAM7D,IAAI,GAAGiJ,OAAO,CAAC3F,MAAM,CAAC4F,MAAM,IAAI;QACpC,MAAMhJ,GAAG,GAAGH,MAAM,CAACC,IAAI,CAACkJ,MAAM,CAAC,CAAC,CAAC,CAAC;QAClC;QACA,MAAMC,QAAQ,GAAG/D,WAAW,CAAC9B,MAAM,CAAC8F,UAAU,IAAIlJ,GAAG,CAACwG,OAAO,CAACmC,cAAc,CAACO,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAChI,MAAM,KAAK,CAAC;QAC7G;QACA,MAAMiI,KAAK,GAAGF,QAAQ,IAAI7D,WAAW,CAACgE,IAAI,CAACC,UAAU,IAAI;UACvD,MAAMC,cAAc,GAAGX,cAAc,CAACU,UAAU,CAAC;UACjD;UACA;UACA,MAAMF,KAAK,GAAGnJ,GAAG,CAACwG,OAAO,CAAC8C,cAAc,CAAC,KAAK,CAAC;UAC/C,OAAOH,KAAK;QACd,CAAC,CAAC;QACFP,eAAe,CAAC5I,GAAG,CAAC,GAAG,CAACmJ,KAAK;QAC7B,OAAOA,KAAK;MACd,CAAC,CAAC;MACFnD,MAAM,CAACrC,UAAU,CAAC,GAAG7D,IAAI;IAC3B,CAAC,CAAC;IACF,MAAMyJ,WAAW,GAAG1J,MAAM,CAACC,IAAI,CAAC8I,eAAe,CAAC,CAACxF,MAAM,CAACoG,CAAC,IAAIZ,eAAe,CAACY,CAAC,CAAC,CAAC;IAChFzK,OAAO,CAAC,uCAAuCwK,WAAW,CAACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1E;IACA,MAAMW,iBAAiB,GAAGhG,SAAS,CAACL,MAAM,CAAC4C,MAAM,IAAI;MACnD,MAAMrC,UAAU,GAAG9D,MAAM,CAACC,IAAI,CAACkG,MAAM,CAAC,CAAC,CAAC,CAAC;MACzC,MAAM+C,OAAO,GAAG/C,MAAM,CAACrC,UAAU,CAAC;MAClC,OAAOoF,OAAO,CAAC7H,MAAM,GAAG,CAAC;IAC3B,CAAC,CAAC;IACF,OAAOuI,iBAAiB;EAC1B;EAEA,SAASC,qBAAqBA,CAAC/F,UAAU,EAAE;IACxC9D,MAAM,CAACC,IAAI,CAAC6D,UAAU,CAAC,CAAEjC,OAAO,CAAC1B,GAAG,IAAI;MACvC2D,UAAU,CAAC3D,GAAG,CAAC,CAAC0B,OAAO,CAACiI,SAAS,IAAI;QACnC,MAAMC,UAAU,GAAG/J,MAAM,CAACC,IAAI,CAAC6J,SAAS,CAAC;QACzC,IAAIpK,eAAe,CAACiH,OAAO,CAACoD,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;UACjDrK,eAAe,GAAGqK,UAAU,CAACrE,MAAM,CAAChG,eAAe,CAAC;QACtD;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,SAAS0F,kBAAkBA,CAACD,UAAU,EAAEH,gBAAgB,EAAElC,WAAW,EAAE;IACrE,MAAMkH,yBAAyB,GAAG/L,MAAM,CAAC0D,SAAS,CAAC,0CAA0C,CAAC,KAAK,IAAI;IAEvG,MAAMiC,SAAS,GAAGqG,sBAAsB,CAAC9E,UAAU,EAAErC,WAAW,CAAC,CAC9D4C,MAAM,CAACkD,kBAAkB,CAACzD,UAAU,CAAC,CAAC,CACtCO,MAAM,CAACwE,kBAAkB,CAACpH,WAAW,CAAC,CAAC;IAE1C,IAAIkH,yBAAyB,EAAE;MAC7BpG,SAAS,CAAC3B,IAAI,CAAC,GAAGkI,qBAAqB,CAAChF,UAAU,EAAEH,gBAAgB,CAAC,CAAC;IACxE;IAEApB,SAAS,CAAC/B,OAAO,CAACiC,UAAU,IAAI;MAC9B+F,qBAAqB,CAAC/F,UAAU,CAAC;IACnC,CAAC,CAAC;IAEF,OAAOF,SAAS;EAClB;EAEA,SAASsB,4BAA4BA,CAACpC,WAAW,EAAE7B,YAAY,EAAE;IAC/D,MAAMgE,YAAY,GAAG,EAAE;IACvB,MAAMD,gBAAgB,GAAG,CAAC,CAAC;IAC3B,MAAM6D,kBAAkB,GAAG5K,MAAM,CAAC0D,SAAS,CAAC,sCAAsC,CAAC;IAEnFV,YAAY,CAACY,OAAO,CAACxB,GAAG,IAAI;MAC1B,MAAM+J,gBAAgB,GAAGtH,WAAW,CAACpC,QAAQ,CAACL,GAAG,CAACyD,UAAU,CAAC;MAC7D,MAAMuG,UAAU,GAAGrM,cAAc,CAACsJ,GAAG,CAACjH,GAAG,CAACkH,UAAU,EAAE,kBAAkB,CAAC,KAAK,IAAI,GAAGlH,GAAG,CAACkC,GAAG,IAAI,CAAC,GAAGlC,GAAG,CAACkC,GAAG,GAAG,CAAC;MAC/G,MAAM+H,eAAe,GAAGzB,kBAAkB,IAAIxI,GAAG,CAACoI,MAAM;MAExD,IAAI2B,gBAAgB,KAAKE,eAAe,IAAID,UAAU,CAAC,EAAE;QACvDpF,YAAY,CAAChD,IAAI,CAAC5B,GAAG,CAAC;QACtBL,MAAM,CAACC,IAAI,CAACI,GAAG,CAACqC,iBAAiB,CAAC,CAC/Ba,MAAM,CAACgH,aAAa,CAAC,CAAC,CAAC,CACvB1I,OAAO,CAAC1B,GAAG,IAAI;UACd,MAAMqK,QAAQ,GAAGrK,GAAG,CAACsK,SAAS,CAAC,CAAC,EAAE9K,iBAAiB,CAAC;UACpD,MAAM+K,IAAI,GAAG1F,gBAAgB,CAAC3E,GAAG,CAACyD,UAAU,CAAC,IAAI,CAAC,CAAC;UACnD,MAAM4C,KAAK,GAAG,CAACrG,GAAG,CAACqC,iBAAiB,CAACvC,GAAG,CAAC,CAAC;UAE1C,IAAIuK,IAAI,CAACF,QAAQ,CAAC,EAAE;YAClBE,IAAI,CAACF,QAAQ,CAAC,GAAGE,IAAI,CAACF,QAAQ,CAAC,CAAC9E,MAAM,CAACgB,KAAK,CAAC,CAACnD,MAAM,CAAChE,OAAO,CAAC;UAC/D,CAAC,MAAM;YACLmL,IAAI,CAACF,QAAQ,CAAC,GAAG9D,KAAK;UACxB;UAEA1B,gBAAgB,CAAC3E,GAAG,CAACyD,UAAU,CAAC,GAAG4G,IAAI;QACzC,CAAC,CAAC;MACN;IACF,CAAC,CAAC;IAEF,OAAO;MAACzF,YAAY;MAAED;IAAgB,CAAC;EACzC;;EAEA;EACA/G,MAAM,CAAC0D,SAAS,CAAC,mBAAmB,EAAE,UAAU1D,MAAM,EAAE;IACtD,IAAIS,UAAU,CAACT,MAAM,EAAE2B,wBAAwB,CAAC,IAAI,IAAI,IAAIlB,UAAU,CAACT,MAAM,EAAE4B,sBAAsB,CAAC,IAAI,IAAI,EAAE;MAC9GZ,QAAQ,CAACa,qCAAqC,CAAC;IACjD;EACF,CAAC,CAAC;;EAEF;EACA;EACA,SAAS6K,sBAAsBA,CAACC,MAAM,EAAE;IACtC,OAAO5K,MAAM,CAACC,IAAI,CAAC2K,MAAM,CAAC,CAAC1I,MAAM,CAAC,UAAU2I,WAAW,EAAE1K,GAAG,EAAE;MAC5D,MAAM2K,cAAc,GAAG,GAAG3K,GAAG,MAAM4K,kBAAkB,CAACH,MAAM,CAACzK,GAAG,CAAC,CAAC,KAAK;MACvE,OAAO0K,WAAW,IAAIC,cAAc;IACtC,CAAC,EAAE,EAAE,CAAC;EACR;EAEA,SAAS9E,mBAAmBA,CAACpC,SAAoC,EAAEmC,oBAA4B,EAAE;IAC/F;IACA,MAAMiF,aAAa,GAAGrM,SAAS,CAACiF,SAAS,CAAC;IAE1C,MAAMqH,YAAY,GAAGjL,MAAM,CAACC,IAAI,CAAC+K,aAAa,CAAC,CAAC9K,GAAG,CAAC4D,UAAU,IAAI;MAChE,OAAO;QACLA,UAAU;QACVpB,iBAAiB,EAAEsI,aAAa,CAAClH,UAAU;MAC7C,CAAC;IACH,CAAC,CAAC,CAAC3B,IAAI,CAACC,6BAA6B,CAAC,CAAC,CAAC;;IAExC;IACA,OAAO6I,YAAY,CAAC/I,MAAM,CAAC,UAAUgJ,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAE;MAChE,IAAIC,iBAAiB,GAAGX,sBAAsB,CAACQ,OAAO,CAACzI,iBAAiB,CAAC;;MAEzE;MACA,IAAK0I,KAAK,GAAG,CAAC,KAAMC,GAAG,CAAChK,MAAM,EAAE;QAC9BiK,iBAAiB,GAAGA,iBAAiB,CAAC9I,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpD;;MAEA;MACA,MAAMyD,IAAI,GAAGkF,OAAO,CAACrH,UAAU;MAC/B,MAAMyH,SAAS,GAAGD,iBAAiB,CAACjK,MAAM;MAC1C,IAAIkK,SAAS,IAAIxF,oBAAoB,EAAE;QACrCA,oBAAoB,IAAIwF,SAAS;QACjCrM,OAAO,CAAC,WAAW+G,IAAI,+BAA+BsF,SAAS,+DAA+DxF,oBAAoB,EAAE,EAAEiF,aAAa,CAAC/E,IAAI,CAAC,CAAC;QAE1KiF,MAAM,CAACjF,IAAI,CAAC,GAAG+E,aAAa,CAAC/E,IAAI,CAAC;MACpC,CAAC,MAAM;QACL7G,OAAO,CAAC,sCAAsC6G,IAAI,2FAA2FsF,SAAS,qCAAqCxF,oBAAoB,KAAK,EAAEiF,aAAa,CAAC/E,IAAI,CAAC,CAAC;MAC5O;MAEA,IAAKmF,KAAK,GAAG,CAAC,KAAMC,GAAG,CAAChK,MAAM,IAAIrB,MAAM,CAACC,IAAI,CAACiL,MAAM,CAAC,CAAC7J,MAAM,KAAK,CAAC,EAAE;QAClEpC,QAAQ,CAAC,8JAA8J,CAAC;MAC1K;MACA,OAAOiM,MAAM;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,SAASpF,gBAAgBA,CAAClC,SAAyB,EAA6B;IAC9E,OAAOA,SAAS,CAAC1D,GAAG,CAAC0D,SAAS,IAAI;MAChC,OAAO;QACL,CAAC5D,MAAM,CAACC,IAAI,CAAC2D,SAAS,CAAC,CAAC,CAAC,CAAC,GAAGA,SAAS,CAAC5D,MAAM,CAACC,IAAI,CAAC2D,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9D1D,GAAG,CAACsL,MAAM,IAAI;UACb,OAAO;YACL,CAACxL,MAAM,CAACC,IAAI,CAACuL,MAAM,CAAC,CAAC,CAAC,CAAC,GAAGA,MAAM,CAACxL,MAAM,CAACC,IAAI,CAACuL,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAACvC,IAAI,CAAC,GAAG;UACnE,CAAC;QACH,CAAC,CAAC,CAAC/G,MAAM,CAAC,CAACuJ,CAAC,EAAEC,CAAC,KAAK1L,MAAM,CAACsF,MAAM,CAACoG,CAAC,EAAED,CAAC,CAAC,EAAE,CAAC,CAAC;MAC/C,CAAC;IACH,CAAC,CAAC,CAACvJ,MAAM,CAAC,UAAUyJ,WAAW,EAAE/H,SAAS,EAAE;MAC1C,IAAIzD,GAAG,GAAGH,MAAM,CAACC,IAAI,CAAC2D,SAAS,CAAC,CAAC,CAAC,CAAC;MACnC+H,WAAW,CAACxL,GAAG,CAAC,GAAGH,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEqG,WAAW,CAACxL,GAAG,CAAC,EAAEyD,SAAS,CAACzD,GAAG,CAAC,CAAC;MACtE,OAAOwL,WAAW;IACpB,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;;EAEA;AACF;AACA;AACA;AACA;EACE,SAAS1H,cAAcA,CAACH,UAAsC,EAAgB;IAC5E,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;MAClC,OAAO,CAACA,UAAU,CAAC;IACrB,CAAC,MAAM,IAAIhF,OAAO,CAACgF,UAAU,CAAC,EAAE;MAC9B,OAAOA,UAAU;IACnB;IACA,OAAOhG,cAAc,CAACmG,cAAc,CAAC,CAAC,IAAI,EAAE;EAC9C;EAEA,SAASY,eAAeA,CAAA,EAA6D;IAAA,IAA5D3D,UAAU,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG3B,sBAAsB;IAAA,IAAE+B,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;IACjF,MAAML,YAAY,GAAGnD,cAAc,CAAC+G,eAAe,CAAC,CAAC,CAAC3C,MAAM,CAAC,CAACT,IAAI,EAAEpB,GAAG,KAAK;MAC1E,MAAMuL,eAAe,GAAG3N,MAAM,CAAC0D,SAAS,CAAC,aAAa,CAAC;MACvD,MAAMkK,cAAc,GAAG5N,MAAM,CAAC0D,SAAS,CAAC,wBAAwB,CAAC;MACjE,MAAMmK,oBAAoB,GAAGnI,sBAAsB,CAACtD,GAAG,CAACyD,UAAU,CAAC,KAAKzD,GAAG,CAAC0D,SAAS;MACrF,MAAMgI,oBAAoB,GAAGH,eAAe,IAAI,CAACE,oBAAoB,IAAI,OAAOD,cAAc,KAAK,UAAU,GAAG,CAAC,CAACA,cAAc,CAACxL,GAAG,CAAC,GAAG,IAAI;MAC5I,MAAM2L,WAAW,GAAGJ,eAAe,IAAIE,oBAAoB;MAC3D,MAAMG,SAAS,GAAGD,WAAW,IAAID,oBAAoB;MAErD,IAAIE,SAAS,IAAI5L,GAAG,EAAE6L,KAAK,EAAEC,OAAO,KAAK1N,KAAK,IAAImC,WAAW,CAACP,GAAG,CAAC,EAAE;QAClEA,GAAG,CAAC+L,uBAAuB,GAAGzI,sBAAsB,CAACtD,GAAG,CAACyD,UAAU,CAAC;QACpErC,IAAI,CAACQ,IAAI,CAAC5B,GAAG,CAAC;MAChB;MAEA,OAAOoB,IAAI;IACb,CAAC,EAAE,EAAE,CAAC;IAEN,OAAOT,4BAA4B,CAACC,YAAY,EAAEC,UAAU,EAAEI,SAAS,EAAEA,SAAS,EAAEE,SAAS,CAAC;EAChG;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,SAASyI,sBAAsBA,CAAChJ,YAAY,EAAE6B,WAAW,EAAkB;IACzE,MAAMuJ,OAAO,GAAGzI,SAAS,CAACyD,cAAc,CAACvE,WAAW,EAAE7B,YAAY,CAAC;IACnE,MAAMoH,YAAY,GAAGiE,eAAe,CAAC,CAAC;IAEtC,OAAOD,OAAO,CAACnM,GAAG,CAACqM,MAAM,IAAI;MAC3B,OAAO;QACL,CAACA,MAAM,CAACzI,UAAU,GAAG9D,MAAM,CAACC,IAAI,CAACsM,MAAM,CAAC7J,iBAAiB,CAAC,CACvDa,MAAM,CAACpD,GAAG,IACT,OAAOoM,MAAM,CAACC,qBAAqB,KAAK,WAAW,IACnDD,MAAM,CAACC,qBAAqB,IAC5BnE,YAAY,CAAC1B,OAAO,CAACxG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAClC+B,MAAM,CAAC,CAACuK,GAAG,EAAEtM,GAAG,KAAK;UACpB,MAAMuI,cAAc,GAAG,CAAC6D,MAAM,CAAC7J,iBAAiB,CAACvC,GAAG,CAAC,CAAC;UACtD,MAAMyD,SAAS,GAAG;YAAE,CAACzD,GAAG,CAACsK,SAAS,CAAC,CAAC,EAAE9K,iBAAiB,CAAC,GAAG+I;UAAe,CAAC;UAC3E,IAAIvI,GAAG,KAAK7B,cAAc,CAACoO,IAAI,EAAE;YAC/B,MAAMC,sBAAsB,GAAG,GAAGxM,GAAG,IAAIoM,MAAM,CAAChF,UAAU,EAAE,CAACkD,SAAS,CAAC,CAAC,EAAE9K,iBAAiB,CAAC;YAC5F,MAAMiN,mBAAmB,GAAG;cAAE,CAACD,sBAAsB,GAAGjE;YAAe,CAAC;YACxE,OAAO,CAAC,GAAG+D,GAAG,EAAE7I,SAAS,EAAEgJ,mBAAmB,CAAC;UACjD;UACA,OAAO,CAAC,GAAGH,GAAG,EAAE7I,SAAS,CAAC;QAC5B,CAAC,EAAE,EAAE;MACT,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,SAAS0I,eAAeA,CAAA,EAAG;IACzB,OAAOxO,cAAc,CAAC+O,kCAAkC,CAAC,CAAC,CAAC;IAAA,CACxD3M,GAAG,CAAC0D,SAAS,IAAIA,SAAS,CAACzD,GAAG,CAAC,CAC/BuF,MAAM,CAAC3F,kBAAkB,CAAC,CAACwD,MAAM,CAAChE,OAAO,CAAC,CAAC,CAAC;EACjD;EAEA,SAASgL,aAAaA,CAAA,EAAG;IACvB,MAAMlC,YAAY,GAAGiE,eAAe,CAAC,CAAC;IACtC,OAAO,UAASnM,GAAG,EAAE;MACnB,OAAOkI,YAAY,CAAC1B,OAAO,CAACxG,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,SAASgK,qBAAqBA,CAAChF,UAAiB,EAAEH,gBAA+B,EAAkB;IACjG,OAAOG,UAAU,CACdjD,MAAM,CAAC,CAACuK,GAAG,EAAEpM,GAAG,KAAK;MACpB,MAAMyM,MAAM,GAAG9M,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEjF,GAAG,CAAC;MACrC,MAAM0M,iBAAiB,GAAG/H,gBAAgB,CAAC8H,MAAM,CAAChJ,UAAU,CAAC;MAC7D,MAAMF,SAAS,GAAG,EAAE;MAEpB,IAAImJ,iBAAiB,EAAE;QACrB/M,MAAM,CAACC,IAAI,CAAC8M,iBAAiB,CAAC,CAAClL,OAAO,CAAC1B,GAAG,IAAI;UAC5C,IAAIA,GAAG,IAAI4M,iBAAiB,CAAC5M,GAAG,CAAC,EAAEyD,SAAS,CAAC3B,IAAI,CAAC;YAAC,CAAC9B,GAAG,GAAG4M,iBAAiB,CAAC5M,GAAG;UAAC,CAAC,CAAC;QACpF,CAAC,CAAC;MACJ;MAEAsM,GAAG,CAACxK,IAAI,CAAC;QAAC,CAAC6K,MAAM,CAAChJ,UAAU,GAAGF;MAAS,CAAC,CAAC;MAE1C,OAAO6I,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;EACV;EAEA,SAAS9D,eAAeA,CAACtI,GAAQ,EAAEJ,IAAc,EAAyB;IACxE,OAAOA,IAAI,CAACiC,MAAM,CAAC,CAAC0B,SAAS,EAAEzD,GAAG,KAAK;MACrC,MAAMuG,KAAK,GAAGrG,GAAG,CAACqC,iBAAiB,CAACvC,GAAG,CAAC;MACxC,IAAIuG,KAAK,EAAE;QACT9C,SAAS,CAAC3B,IAAI,CAAC;UAAC,CAAC,GAAG9B,GAAG,IAAIE,GAAG,CAACkH,UAAU,EAAE,CAACkD,SAAS,CAAC,CAAC,EAAE9K,iBAAiB,CAAC,GAAG,CAACU,GAAG,CAACqC,iBAAiB,CAACvC,GAAG,CAAC;QAAC,CAAC,CAAC;MAC9G;MACA,OAAOyD,SAAS;IAClB,CAAC,EAAE,EAAE,CAAC;EACR;EAEA,SAASsG,kBAAkBA,CAACpH,WAAW,EAAE;IACvC,SAASkK,eAAeA,CAAC7G,MAAM,EAAE;MAC/B,OAAOA,MAAM,GAAG9H,YAAY,CAAC4O,kBAAkB,CAAC;IAClD;IAEA,SAASC,kBAAkBA,CAAC/G,MAAM,EAAE;MAClC,MAAMgH,GAAG,GAAGH,eAAe,CAAC7G,MAAM,CAAC;MAEnC,OAAOnG,MAAM,CAACC,IAAI,CAACkN,GAAG,CAAC,CACpBjN,GAAG,CAAC,UAASC,GAAG,EAAE;QACjB,IAAInB,KAAK,CAACmO,GAAG,CAAChN,GAAG,CAAC,CAAC,EAAEgN,GAAG,CAAChN,GAAG,CAAC,GAAGgN,GAAG,CAAChN,GAAG,CAAC,CAACyG,KAAK,CAAC,GAAG,CAAC,CAAC1G,GAAG,CAACkN,CAAC,IAAIA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,CAACvO,OAAO,CAACqO,GAAG,CAAChN,GAAG,CAAC,CAAC,EAAEgN,GAAG,CAAChN,GAAG,CAAC,GAAG,CAAEgN,GAAG,CAAChN,GAAG,CAAC,CAAE;QAC/C,OAAO;UAAE,CAACA,GAAG,GAAGgN,GAAG,CAAChN,GAAG;QAAE,CAAC;MAC5B,CAAC,CAAC;IACN;IAEA,OAAOrC,cAAc,CAACwP,UAAU,CAAC,CAAC,CAC/B/J,MAAM,CAAC4C,MAAM,IAAIrD,WAAW,CAACpC,QAAQ,CAACyF,MAAM,CAACF,IAAI,CAAC,IAAI+G,eAAe,CAAC7G,MAAM,CAAC,CAAC,CAC9EjE,MAAM,CAAC,CAACsG,MAAM,EAAErC,MAAM,KAAK;MAC1B,MAAMoH,eAAe,GAAGL,kBAAkB,CAAC/G,MAAM,CAAC;MAElD,IAAIoH,eAAe,EAAC/E,MAAM,CAACvG,IAAI,CAAC;QAAC,CAACkE,MAAM,CAACF,IAAI,GAAGsH;MAAe,CAAC,CAAC;MACjE,OAAO/E,MAAM;IACf,CAAC,EAAE,EAAE,CAAC;EACV;EAEA,OAAO5E,SAAS;AAClB;AAEA,OAAO,MAAMA,SAAS,GAAGF,YAAY,CAAC5F,cAAc,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"targeting.js","names":["auctionManager","getBufferedTTL","bidderSettings","config","BID_STATUS","DEFAULT_TARGETING_KEYS","EVENTS","JSON_MAPPING","TARGETING_KEYS","events","hook","ADPOD","deepAccess","deepClone","groupBy","isAdUnitCodeMatchingSlot","isArray","isFn","isStr","logError","logInfo","logMessage","logWarn","sortByHighestCpm","timestamp","uniques","getHighestCpm","getOldestHighestCpmBid","pbTargetingKeys","MAX_DFP_KEYLENGTH","CFG_ALLOW_TARGETING_KEYS","CFG_ADD_TARGETING_KEYS","TARGETING_KEY_CONFIGURATION_ERROR_MSG","TARGETING_KEYS_ARR","Object","keys","map","key","isBidNotExpired","bid","responseTimestamp","isUnusedBid","status","RENDERED","includes","filters","isBidUsable","values","some","predicate","getHighestCpmBidsFromBidPool","bidsReceived","winReducer","adUnitBidLimit","arguments","length","undefined","hasModified","winSorter","bids","dealPrioritization","getConfig","buckets","forEach","bucketKey","bucketBids","bidsByBidder","push","reduce","sort","sortByDealAndPriceBucketOrCpm","a","b","cpm","slice","useCpm","adserverTargeting","hb_deal","hb_pb","getGPTSlotsForAdUnits","adUnitCodes","customSlotMatching","getSlots","window","googletag","pubads","auToSlots","slot","customMatch","filter","au","fromEntries","newTargeting","latestAuctionForAdUnit","targeting","setLatestAuctionForAdUnit","adUnitCode","auctionId","resetPresetTargetingAST","getAdUnitCodes","unit","astTag","apntag","getTag","keywords","currentKeywords","newKeywords","toLowerCase","modifyTag","getAllTargeting","bidLimit","getBidsReceived","sendAllBids","bidLimitConfigValue","customKeysByUnit","filteredBids","getfilteredBidsAndCustomKeys","bidsSorted","getTargetingLevels","defaultKeys","assign","allowedKeys","addedKeys","Error","concat","Array","getAllowedTargetingKeyValues","flatTargeting","flattenTargeting","auctionKeysThreshold","filterTargetingKeys","code","setTargetingForGPT","adUnit","targetingSet","resetMap","entries","_ref","targetId","slots","value","indexOf","split","getSlotElementId","updateTargetingFromMap","targetingKey","setStatusForBids","BID_TARGETING_SET","targetingDone","emit","SET_TARGETING","getWinningBids","get","bidderCode","setTargetingForAst","astTargeting","e","keywordsObj","regex","search","toUpperCase","setKeywords","overrideKeyValue","isApntagDefined","addBidToTargeting","enableSendAllBids","deals","standardKeys","allowSendAllBidsTargetingKeys","allowedSendAllBidTargeting","result","dealId","targetingValue","getTargetingMap","getBidderTargeting","alwaysIncludeDeals","defaultKeyring","keyDispositions","k","join","keyring","kvPair","isCustom","defaultKey","found","find","allowedKey","allowedKeyName","removedKeys","d","filteredTargeting","updatePBTargetingKeys","targetKey","targetKeys","useAllBidsCustomTargeting","getWinningBidTargeting","getAdUnitTargeting","getCustomBidTargeting","adUnitIsEligible","cpmAllowed","isPreferredDeal","getCustomKeys","truncKey","substring","data","convertKeysToQueryForm","keyMap","queryString","encodedKeyPair","encodeURIComponent","targetingCopy","targetingMap","accMap","currMap","index","arr","adUnitQueryString","querySize","target","p","c","accumulator","bidCacheEnabled","filterFunction","isBidFromLastAuction","filterFunctionResult","cacheFilter","bidFilter","video","context","latestTargetedAuctionId","winners","getStandardKeys","winner","sendStandardTargeting","acc","DEAL","bidderCodeTargetingKey","bidderCodeTargeting","getStandardBidderAdServerTargeting","newBid","customKeysForUnit","getTargetingObj","ADSERVER_TARGETING","getTargetingValues","aut","s","trim","getAdUnits","targetingValues"],"sourceRoot":"../../..","sources":["src/targeting.ts"],"sourcesContent":["import {auctionManager} from './auctionManager.js';\nimport {getBufferedTTL} from './bidTTL.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {config} from './config.js';\nimport {\n BID_STATUS,\n DEFAULT_TARGETING_KEYS,\n EVENTS,\n JSON_MAPPING,\n TARGETING_KEYS\n} from './constants.js';\nimport * as events from './events.js';\nimport {hook} from './hook.js';\nimport {ADPOD} from './mediaTypes.js';\nimport {\n deepAccess,\n deepClone,\n groupBy,\n isAdUnitCodeMatchingSlot,\n isArray,\n isFn,\n isStr,\n logError,\n logInfo,\n logMessage,\n logWarn,\n sortByHighestCpm,\n timestamp,\n uniques,\n} from './utils.js';\nimport {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';\nimport type {Bid} from './bidfactory.ts';\nimport type {AdUnitCode, ByAdUnit, Identifier} from './types/common.d.ts';\nimport type {DefaultTargeting} from './auction.ts';\n\nvar pbTargetingKeys = [];\n\nconst MAX_DFP_KEYLENGTH = 20;\n\nconst CFG_ALLOW_TARGETING_KEYS = `targetingControls.allowTargetingKeys`;\nconst CFG_ADD_TARGETING_KEYS = `targetingControls.addTargetingKeys`;\nconst TARGETING_KEY_CONFIGURATION_ERROR_MSG = `Only one of \"${CFG_ALLOW_TARGETING_KEYS}\" or \"${CFG_ADD_TARGETING_KEYS}\" can be set`;\n\nexport const TARGETING_KEYS_ARR = Object.keys(TARGETING_KEYS).map(\n key => TARGETING_KEYS[key]\n);\n\n// return unexpired bids\nconst isBidNotExpired = (bid) => (bid.responseTimestamp + getBufferedTTL(bid) * 1000) > timestamp();\n\n// return bids whose status is not set. Winning bids can only have a status of `rendered`.\nconst isUnusedBid = (bid) => bid && ((bid.status && ![BID_STATUS.RENDERED].includes(bid.status)) || !bid.status);\n\nexport const filters = {\n isBidNotExpired,\n isUnusedBid\n};\n\nexport function isBidUsable(bid) {\n return !Object.values(filters).some((predicate) => !predicate(bid));\n}\n\n// If two bids are found for same adUnitCode, we will use the highest one to take part in auction\n// This can happen in case of concurrent auctions\n// If adUnitBidLimit is set above 0 return top N number of bids\nexport const getHighestCpmBidsFromBidPool = hook('sync', function(bidsReceived, winReducer, adUnitBidLimit = 0, hasModified = false, winSorter = sortByHighestCpm) {\n if (!hasModified) {\n const bids = [];\n const dealPrioritization = config.getConfig('sendBidsControl.dealPrioritization');\n // bucket by adUnitcode\n const buckets = groupBy(bidsReceived, 'adUnitCode');\n // filter top bid for each bucket by bidder\n Object.keys(buckets).forEach(bucketKey => {\n let bucketBids = [];\n const bidsByBidder = groupBy(buckets[bucketKey], 'bidderCode')\n Object.keys(bidsByBidder).forEach(key => { bucketBids.push(bidsByBidder[key].reduce(winReducer)) });\n // if adUnitBidLimit is set, pass top N number bids\n if (adUnitBidLimit) {\n bucketBids = dealPrioritization ? bucketBids.sort(sortByDealAndPriceBucketOrCpm(true)) : bucketBids.sort((a, b) => b.cpm - a.cpm);\n bids.push(...bucketBids.slice(0, adUnitBidLimit));\n } else {\n bucketBids = bucketBids.sort(winSorter)\n bids.push(...bucketBids);\n }\n });\n\n return bids;\n }\n\n return bidsReceived;\n});\n\n/**\n * A descending sort function that will sort the list of objects based on the following two dimensions:\n * - bids with a deal are sorted before bids w/o a deal\n * - then sort bids in each grouping based on the hb_pb value\n * eg: the following list of bids would be sorted like:\n * [{\n * \"hb_adid\": \"vwx\",\n * \"hb_pb\": \"28\",\n * \"hb_deal\": \"7747\"\n * }, {\n * \"hb_adid\": \"jkl\",\n * \"hb_pb\": \"10\",\n * \"hb_deal\": \"9234\"\n * }, {\n * \"hb_adid\": \"stu\",\n * \"hb_pb\": \"50\"\n * }, {\n * \"hb_adid\": \"def\",\n * \"hb_pb\": \"2\"\n * }]\n */\nexport function sortByDealAndPriceBucketOrCpm(useCpm = false) {\n return function(a, b) {\n if (a.adserverTargeting.hb_deal !== undefined && b.adserverTargeting.hb_deal === undefined) {\n return -1;\n }\n\n if ((a.adserverTargeting.hb_deal === undefined && b.adserverTargeting.hb_deal !== undefined)) {\n return 1;\n }\n\n // assuming both values either have a deal or don't have a deal - sort by the hb_pb param\n if (useCpm) {\n return b.cpm - a.cpm;\n }\n\n return b.adserverTargeting.hb_pb - a.adserverTargeting.hb_pb;\n }\n}\n\n/**\n * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.\n *\n * @param adUnitCodes\n * @param customSlotMatching\n * @param getSlots\n */\nexport function getGPTSlotsForAdUnits(adUnitCodes: AdUnitCode[], customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()): ByAdUnit<googletag.Slot[]> {\n return getSlots().reduce((auToSlots, slot) => {\n const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);\n Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));\n return auToSlots;\n }, Object.fromEntries(adUnitCodes.map(au => [au, []])));\n}\n\nexport type TargetingMap<V> = Partial<DefaultTargeting> & {\n [targetingKey: string]: V\n}\n\nexport type TargetingValues = TargetingMap<string>;\ntype GPTTargetingValues = TargetingMap<string | string[]>;\n\ntype TargetingValueLists = TargetingMap<string[]>;\ntype TargetingArray = ByAdUnit<TargetingValueLists[]>[];\n\ntype AdUnitPredicate = (adUnitCode: AdUnitCode) => boolean;\nexport type SlotMatchingFn = (slot: googletag.Slot) => AdUnitPredicate;\n\ndeclare module './events' {\n interface Events {\n [EVENTS.SET_TARGETING]: [ByAdUnit<GPTTargetingValues>];\n }\n}\n\nexport interface TargetingControlsConfig {\n /**\n * Specifies the maximum number of characters the system can add to ad server targeting.\n */\n auctionKeyMaxChars?: number;\n /**\n * If enableSendAllBids is false, set this value to true to ensure that deals are sent along with the winning bid\n */\n alwaysIncludeDeals?: boolean;\n /**\n * Selects supported default targeting keys.\n */\n allowTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Selects targeting keys to be supported in addition to the default ones\n */\n addTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Selects supported default targeting keys.\n */\n allowSendAllBidsTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Set to false to prevent custom targeting values from being set for non-winning bids\n */\n allBidsCustomTargeting?: boolean\n}\n\ndeclare module './config' {\n interface Config {\n targetingControls?: TargetingControlsConfig;\n }\n}\n\nexport function newTargeting(auctionManager) {\n const latestAuctionForAdUnit = {};\n\n const targeting = {\n setLatestAuctionForAdUnit(adUnitCode: AdUnitCode, auctionId: Identifier) {\n latestAuctionForAdUnit[adUnitCode] = auctionId;\n },\n\n resetPresetTargetingAST(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n adUnitCodes.forEach(function(unit) {\n const astTag = window.apntag.getTag(unit);\n if (astTag && astTag.keywords) {\n const currentKeywords = Object.keys(astTag.keywords);\n const newKeywords = {};\n currentKeywords.forEach((key) => {\n if (!pbTargetingKeys.includes(key.toLowerCase())) {\n newKeywords[key] = astTag.keywords[key];\n }\n })\n window.apntag.modifyTag(unit, { keywords: newKeywords })\n }\n });\n },\n\n /**\n * Returns all ad server targeting for all ad units.\n * @param adUnitCode\n * @param bidLimit\n * @param bidsReceived - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return targeting\n */\n getAllTargeting(adUnitCode?: AdUnitCode | AdUnitCode[], bidLimit?: number, bidsReceived?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): ByAdUnit<TargetingValues> {\n bidsReceived ||= getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n const sendAllBids = config.getConfig('enableSendAllBids');\n const bidLimitConfigValue = config.getConfig('sendBidsControl.bidLimit');\n const adUnitBidLimit = (sendAllBids && (bidLimit || bidLimitConfigValue)) || 0;\n const { customKeysByUnit, filteredBids } = getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived);\n const bidsSorted = getHighestCpmBidsFromBidPool(filteredBids, winReducer, adUnitBidLimit, undefined, winSorter);\n let targeting = getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes);\n\n const defaultKeys = Object.keys(Object.assign({}, DEFAULT_TARGETING_KEYS));\n let allowedKeys = config.getConfig(CFG_ALLOW_TARGETING_KEYS);\n const addedKeys = config.getConfig(CFG_ADD_TARGETING_KEYS);\n\n if (addedKeys != null && allowedKeys != null) {\n throw new Error(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n } else if (addedKeys != null) {\n allowedKeys = defaultKeys.concat(addedKeys) as any;\n } else {\n allowedKeys = allowedKeys || defaultKeys as any;\n }\n\n if (Array.isArray(allowedKeys) && allowedKeys.length > 0) {\n targeting = getAllowedTargetingKeyValues(targeting, allowedKeys);\n }\n\n let flatTargeting = flattenTargeting(targeting);\n\n const auctionKeysThreshold = config.getConfig('targetingControls.auctionKeyMaxChars');\n if (auctionKeysThreshold) {\n logInfo(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${auctionKeysThreshold} characters. Running checks on auction keys...`);\n flatTargeting = filterTargetingKeys(flatTargeting, auctionKeysThreshold);\n }\n\n // make sure at least there is a entry per adUnit code in the targetingSet so receivers of SET_TARGETING call's can know what ad units are being invoked\n adUnitCodes.forEach(code => {\n if (!flatTargeting[code]) {\n flatTargeting[code] = {};\n }\n });\n\n return flatTargeting;\n },\n\n setTargetingForGPT: hook('sync', function (adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n // get our ad unit codes\n const targetingSet: ByAdUnit<GPTTargetingValues> = targeting.getAllTargeting(adUnit);\n\n const resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));\n\n Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {\n slots.forEach(slot => {\n // now set new targeting keys\n Object.keys(targetingSet[targetId]).forEach(key => {\n let value: string | string[] = targetingSet[targetId][key];\n if (typeof value === 'string' && value.indexOf(',') !== -1) {\n // due to the check the array will be formed only if string has ',' else plain string will be assigned as value\n value = value.split(',');\n }\n targetingSet[targetId][key] = value;\n });\n logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);\n slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))\n })\n })\n\n Object.keys(targetingSet).forEach((adUnitCode) => {\n Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {\n if (targetingKey === 'hb_adid') {\n auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);\n }\n });\n });\n\n targeting.targetingDone(targetingSet);\n\n // emit event\n events.emit(EVENTS.SET_TARGETING, targetingSet);\n }, 'setTargetingForGPT'),\n\n targetingDone: hook('sync', function (targetingSet: ByAdUnit<GPTTargetingValues>) {\n return targetingSet;\n }, 'targetingDone'),\n\n /**\n * Returns top bids for a given adUnit or set of adUnits.\n * @param adUnitCode adUnitCode or array of adUnitCodes\n * @param bids - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return An array of winning bids.\n */\n getWinningBids(adUnitCode: AdUnitCode | AdUnitCode[], bids?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): Bid[] {\n const bidsReceived = bids || getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n\n return bidsReceived\n .filter(bid => adUnitCodes.includes(bid.adUnitCode))\n .filter(bid => (bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true) ? bid.cpm >= 0 : bid.cpm > 0)\n .map(bid => bid.adUnitCode)\n .filter(uniques)\n .map(adUnitCode => bidsReceived\n .filter(bid => bid.adUnitCode === adUnitCode ? bid : null)\n .reduce(getHighestCpm));\n },\n\n /**\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n * Sets targeting for AST\n */\n setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n const astTargeting = targeting.getAllTargeting(adUnitCodes);\n\n try {\n targeting.resetPresetTargetingAST(adUnitCodes);\n } catch (e) {\n logError('unable to reset targeting for AST' + e)\n }\n\n Object.keys(astTargeting).forEach(targetId =>\n Object.keys(astTargeting[targetId]).forEach(key => {\n logMessage(`Attempting to set targeting for targetId: ${targetId} key: ${key} value: ${astTargeting[targetId][key]}`);\n // setKeywords supports string and array as value\n if (isStr(astTargeting[targetId][key]) || isArray(astTargeting[targetId][key])) {\n const keywordsObj = {};\n const regex = /pt[0-9]/;\n if (key.search(regex) < 0) {\n keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];\n } else {\n // pt${n} keys should not be uppercased\n keywordsObj[key] = astTargeting[targetId][key];\n }\n window.apntag.setKeywords(targetId, keywordsObj, { overrideKeyValue: true });\n }\n })\n );\n },\n isApntagDefined() {\n if (window.apntag && isFn(window.apntag.setKeywords)) {\n return true;\n }\n },\n }\n\n function addBidToTargeting(bids, enableSendAllBids = false, deals = false): TargetingArray {\n const standardKeys = TARGETING_KEYS_ARR.slice();\n const allowSendAllBidsTargetingKeys = config.getConfig('targetingControls.allowSendAllBidsTargetingKeys');\n\n const allowedSendAllBidTargeting = allowSendAllBidsTargetingKeys\n ? allowSendAllBidsTargetingKeys.map((key) => TARGETING_KEYS[key])\n : standardKeys;\n\n return bids.reduce((result, bid) => {\n if (enableSendAllBids || (deals && bid.dealId)) {\n const targetingValue = getTargetingMap(bid, standardKeys.filter(\n key => typeof bid.adserverTargeting[key] !== 'undefined' &&\n (deals || allowedSendAllBidTargeting.indexOf(key) !== -1)));\n\n if (targetingValue) {\n result.push({[bid.adUnitCode]: targetingValue})\n }\n }\n return result;\n }, []);\n }\n\n function getBidderTargeting(bids) {\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n const enableSendAllBids = config.getConfig('enableSendAllBids');\n return addBidToTargeting(bids, enableSendAllBids, alwaysIncludeDeals);\n }\n\n /**\n * Returns filtered ad server targeting for custom and allowed keys.\n * @param targeting\n * @param allowedKeys\n * @return filtered targeting\n */\n function getAllowedTargetingKeyValues(targeting: TargetingArray, allowedKeys: string[]): TargetingArray {\n const defaultKeyring = Object.assign({}, TARGETING_KEYS);\n const defaultKeys = Object.keys(TARGETING_KEYS);\n const keyDispositions = {};\n logInfo(`allowTargetingKeys - allowed keys [ ${allowedKeys.map(k => defaultKeyring[k]).join(', ')} ]`);\n targeting.map(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n const keys = keyring.filter(kvPair => {\n const key = Object.keys(kvPair)[0];\n // check if key is in default keys, if not, it's custom, we won't remove it.\n const isCustom = defaultKeys.filter(defaultKey => key.indexOf(defaultKeyring[defaultKey]) === 0).length === 0;\n // check if key explicitly allowed, if not, we'll remove it.\n const found = isCustom || allowedKeys.find(allowedKey => {\n const allowedKeyName = defaultKeyring[allowedKey];\n // we're looking to see if the key exactly starts with one of our default keys.\n // (which hopefully means it's not custom)\n const found = key.indexOf(allowedKeyName) === 0;\n return found;\n });\n keyDispositions[key] = !found;\n return found;\n });\n adUnit[adUnitCode] = keys;\n });\n const removedKeys = Object.keys(keyDispositions).filter(d => keyDispositions[d]);\n logInfo(`allowTargetingKeys - removed keys [ ${removedKeys.join(', ')} ]`);\n // remove any empty targeting objects, as they're unnecessary.\n const filteredTargeting = targeting.filter(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n return keyring.length > 0;\n });\n return filteredTargeting\n }\n\n function updatePBTargetingKeys(adUnitCode) {\n (Object.keys(adUnitCode)).forEach(key => {\n adUnitCode[key].forEach(targetKey => {\n const targetKeys = Object.keys(targetKey);\n if (pbTargetingKeys.indexOf(targetKeys[0]) === -1) {\n pbTargetingKeys = targetKeys.concat(pbTargetingKeys);\n }\n });\n });\n }\n\n function getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes) {\n const useAllBidsCustomTargeting = config.getConfig('targetingControls.allBidsCustomTargeting') === true;\n\n const targeting = getWinningBidTargeting(bidsSorted, adUnitCodes)\n .concat(getBidderTargeting(bidsSorted))\n .concat(getAdUnitTargeting(adUnitCodes));\n\n if (useAllBidsCustomTargeting) {\n targeting.push(...getCustomBidTargeting(bidsSorted, customKeysByUnit))\n }\n\n targeting.forEach(adUnitCode => {\n updatePBTargetingKeys(adUnitCode);\n });\n\n return targeting;\n }\n\n function getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived) {\n const filteredBids = [];\n const customKeysByUnit = {};\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n\n bidsReceived.forEach(bid => {\n const adUnitIsEligible = adUnitCodes.includes(bid.adUnitCode);\n const cpmAllowed = bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true ? bid.cpm >= 0 : bid.cpm > 0;\n const isPreferredDeal = alwaysIncludeDeals && bid.dealId;\n\n if (adUnitIsEligible && (isPreferredDeal || cpmAllowed)) {\n filteredBids.push(bid);\n Object.keys(bid.adserverTargeting)\n .filter(getCustomKeys())\n .forEach(key => {\n const truncKey = key.substring(0, MAX_DFP_KEYLENGTH);\n const data = customKeysByUnit[bid.adUnitCode] || {};\n const value = [bid.adserverTargeting[key]];\n\n if (data[truncKey]) {\n data[truncKey] = data[truncKey].concat(value).filter(uniques);\n } else {\n data[truncKey] = value;\n }\n\n customKeysByUnit[bid.adUnitCode] = data;\n })\n }\n });\n\n return {filteredBids, customKeysByUnit};\n }\n\n // warn about conflicting configuration\n config.getConfig('targetingControls', function (config) {\n if (deepAccess(config, CFG_ALLOW_TARGETING_KEYS) != null && deepAccess(config, CFG_ADD_TARGETING_KEYS) != null) {\n logError(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n }\n });\n\n // create an encoded string variant based on the keypairs of the provided object\n // - note this will encode the characters between the keys (ie = and &)\n function convertKeysToQueryForm(keyMap) {\n return Object.keys(keyMap).reduce(function (queryString, key) {\n const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;\n return queryString += encodedKeyPair;\n }, '');\n }\n\n function filterTargetingKeys(targeting: ByAdUnit<TargetingValues>, auctionKeysThreshold: number) {\n // read each targeting.adUnit object and sort the adUnits into a list of adUnitCodes based on priorization setting (eg CPM)\n const targetingCopy = deepClone(targeting);\n\n const targetingMap = Object.keys(targetingCopy).map(adUnitCode => {\n return {\n adUnitCode,\n adserverTargeting: targetingCopy[adUnitCode]\n };\n }).sort(sortByDealAndPriceBucketOrCpm());\n\n // iterate through the targeting based on above list and transform the keys into the query-equivalent and count characters\n return targetingMap.reduce(function (accMap, currMap, index, arr) {\n let adUnitQueryString = convertKeysToQueryForm(currMap.adserverTargeting);\n\n // for the last adUnit - trim last encoded ampersand from the converted query string\n if ((index + 1) === arr.length) {\n adUnitQueryString = adUnitQueryString.slice(0, -3);\n }\n\n // if under running threshold add to result\n const code = currMap.adUnitCode;\n const querySize = adUnitQueryString.length;\n if (querySize <= auctionKeysThreshold) {\n auctionKeysThreshold -= querySize;\n logInfo(`AdUnit '${code}' auction keys comprised of ${querySize} characters. Deducted from running threshold; new limit is ${auctionKeysThreshold}`, targetingCopy[code]);\n\n accMap[code] = targetingCopy[code];\n } else {\n logWarn(`The following keys for adUnitCode '${code}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\\nThe key-set size was ${querySize}, the current allotted amount was ${auctionKeysThreshold}.\\n`, targetingCopy[code]);\n }\n\n if ((index + 1) === arr.length && Object.keys(accMap).length === 0) {\n logError('No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.');\n }\n return accMap;\n }, {});\n }\n\n /**\n * Converts targeting array and flattens to make it easily iteratable\n * e.g: Sample input to this function\n * ```\n * [\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder\": [\"appnexusAst\"]}]\n * },\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder_appnexusAs\": [\"appnexusAst\", \"other\"]}]\n * }\n * ]\n * ```\n * Resulting array\n * ```\n * {\n * \"div-gpt-ad-1460505748561-0\": {\n * \"hb_bidder\": \"appnexusAst\",\n * \"hb_bidder_appnexusAs\": \"appnexusAst,other\"\n * }\n * }\n * ```\n *\n * @param targeting\n * @return targeting\n */\n function flattenTargeting(targeting: TargetingArray): ByAdUnit<TargetingValues> {\n return targeting.map(targeting => {\n return {\n [Object.keys(targeting)[0]]: targeting[Object.keys(targeting)[0]]\n .map(target => {\n return {\n [Object.keys(target)[0]]: target[Object.keys(target)[0]].join(',')\n };\n }).reduce((p, c) => Object.assign(c, p), {})\n };\n }).reduce(function (accumulator, targeting) {\n var key = Object.keys(targeting)[0];\n accumulator[key] = Object.assign({}, accumulator[key], targeting[key]);\n return accumulator;\n }, {});\n }\n\n /**\n * normlizes input to a `adUnit.code` array\n * @param adUnitCode\n * @return AdUnit code array\n */\n function getAdUnitCodes(adUnitCode?: AdUnitCode | AdUnitCode[]): AdUnitCode[] {\n if (typeof adUnitCode === 'string') {\n return [adUnitCode];\n } else if (isArray(adUnitCode)) {\n return adUnitCode;\n }\n return auctionManager.getAdUnitCodes() || [];\n }\n\n function getBidsReceived(winReducer = getOldestHighestCpmBid, winSorter = undefined) {\n const bidsReceived = auctionManager.getBidsReceived().reduce((bids, bid) => {\n const bidCacheEnabled = config.getConfig('useBidCache');\n const filterFunction = config.getConfig('bidCacheFilterFunction');\n const isBidFromLastAuction = latestAuctionForAdUnit[bid.adUnitCode] === bid.auctionId;\n const filterFunctionResult = bidCacheEnabled && !isBidFromLastAuction && typeof filterFunction === 'function' ? !!filterFunction(bid) : true;\n const cacheFilter = bidCacheEnabled || isBidFromLastAuction;\n const bidFilter = cacheFilter && filterFunctionResult;\n\n if (bidFilter && bid?.video?.context !== ADPOD && isBidUsable(bid)) {\n bid.latestTargetedAuctionId = latestAuctionForAdUnit[bid.adUnitCode];\n bids.push(bid)\n }\n\n return bids;\n }, []);\n\n return getHighestCpmBidsFromBidPool(bidsReceived, winReducer, undefined, undefined, winSorter);\n }\n\n /**\n * Get targeting key value pairs for winning bid.\n * @param bidsReceived code array\n * @param adUnitCodes code array\n * @return winning bids targeting\n */\n function getWinningBidTargeting(bidsReceived, adUnitCodes): TargetingArray {\n const winners = targeting.getWinningBids(adUnitCodes, bidsReceived);\n const standardKeys = getStandardKeys();\n\n return winners.map(winner => {\n return {\n [winner.adUnitCode]: Object.keys(winner.adserverTargeting)\n .filter(key =>\n typeof winner.sendStandardTargeting === 'undefined' ||\n winner.sendStandardTargeting ||\n standardKeys.indexOf(key) === -1)\n .reduce((acc, key) => {\n const targetingValue = [winner.adserverTargeting[key]];\n const targeting = { [key.substring(0, MAX_DFP_KEYLENGTH)]: targetingValue };\n if (key === TARGETING_KEYS.DEAL) {\n const bidderCodeTargetingKey = `${key}_${winner.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH);\n const bidderCodeTargeting = { [bidderCodeTargetingKey]: targetingValue };\n return [...acc, targeting, bidderCodeTargeting];\n }\n return [...acc, targeting];\n }, [])\n };\n });\n }\n\n function getStandardKeys() {\n return auctionManager.getStandardBidderAdServerTargeting() // in case using a custom standard key set\n .map(targeting => targeting.key)\n .concat(TARGETING_KEYS_ARR).filter(uniques); // standard keys defined in the library.\n }\n\n function getCustomKeys() {\n const standardKeys = getStandardKeys();\n return function(key) {\n return standardKeys.indexOf(key) === -1;\n }\n }\n\n /**\n * Get custom targeting key value pairs for bids.\n * @param {Array<Object>} bidsSorted code array\n * @param {Object} customKeysByUnit code array\n * @return bids with custom targeting defined in bidderSettings\n */\n function getCustomBidTargeting(bidsSorted: Bid[], customKeysByUnit: ByAdUnit<any>): TargetingArray {\n return bidsSorted\n .reduce((acc, bid) => {\n const newBid = Object.assign({}, bid);\n const customKeysForUnit = customKeysByUnit[newBid.adUnitCode];\n const targeting = [];\n\n if (customKeysForUnit) {\n Object.keys(customKeysForUnit).forEach(key => {\n if (key && customKeysForUnit[key]) targeting.push({[key]: customKeysForUnit[key]});\n })\n }\n\n acc.push({[newBid.adUnitCode]: targeting});\n\n return acc;\n }, []);\n }\n\n function getTargetingMap(bid: Bid, keys: string[]): TargetingValueLists[] {\n return keys.reduce((targeting, key) => {\n const value = bid.adserverTargeting[key];\n if (value) {\n targeting.push({[`${key}_${bid.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH)]: [bid.adserverTargeting[key]]})\n }\n return targeting;\n }, []);\n }\n\n function getAdUnitTargeting(adUnitCodes) {\n function getTargetingObj(adUnit) {\n return adUnit?.[JSON_MAPPING.ADSERVER_TARGETING];\n }\n\n function getTargetingValues(adUnit) {\n const aut = getTargetingObj(adUnit);\n\n return Object.keys(aut)\n .map(function(key) {\n if (isStr(aut[key])) aut[key] = aut[key].split(',').map(s => s.trim());\n if (!isArray(aut[key])) aut[key] = [ aut[key] ];\n return { [key]: aut[key] };\n });\n }\n\n return auctionManager.getAdUnits()\n .filter(adUnit => adUnitCodes.includes(adUnit.code) && getTargetingObj(adUnit))\n .reduce((result, adUnit) => {\n const targetingValues = getTargetingValues(adUnit);\n\n if (targetingValues)result.push({[adUnit.code]: targetingValues});\n return result;\n }, []);\n }\n\n return targeting;\n}\n\nexport const targeting = newTargeting(auctionManager);\n"],"mappings":"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","ignoreList":[]}
|