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.
Files changed (1650) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/.github/workflows/scripts/codepath-notification +1 -0
  3. package/creative/renderers/display/renderer.js +3 -4
  4. package/dist/chunks/1plusXRtdProvider.js +1 -1
  5. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/chunks/33acrossBidAdapter.js +1 -1
  7. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/33acrossIdSystem.js +1 -1
  9. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  10. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  12. package/dist/chunks/adagioBidAdapter.js +1 -1
  13. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  14. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  15. package/dist/chunks/adagioUtils.js +1 -1
  16. package/dist/chunks/addefendBidAdapter.js +1 -1
  17. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  18. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  21. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  22. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/adlooxRtdProvider.js +1 -1
  25. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/admixerBidAdapter.js +1 -1
  27. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  28. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  29. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  31. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  32. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  33. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  34. package/dist/chunks/adqueryBidAdapter.js +1 -1
  35. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  37. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  38. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  40. package/dist/chunks/adstirBidAdapter.js +1 -1
  41. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  43. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  44. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  45. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  46. package/dist/chunks/advertisingBidAdapter.js +1 -1
  47. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/adxcgBidAdapter.js +1 -1
  49. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  50. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  51. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  52. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  54. package/dist/chunks/ajaBidAdapter.js +1 -1
  55. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  56. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  57. package/dist/chunks/amxBidAdapter.js +1 -1
  58. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/amxIdSystem.js +1 -1
  60. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  61. package/dist/chunks/aniviewBidAdapter.js +1 -1
  62. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  63. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  64. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  65. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/appnexusBidAdapter.js +1 -1
  67. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/appnexusUtils.js +1 -1
  69. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  70. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  71. package/dist/chunks/asoBidAdapter.js +1 -1
  72. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/axonixBidAdapter.js +1 -1
  75. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  76. package/dist/chunks/beopBidAdapter.js +1 -1
  77. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  78. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  79. package/dist/chunks/bidglassBidAdapter.js +1 -1
  80. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  81. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  83. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  84. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  85. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  86. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  87. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  89. package/dist/chunks/bmtmBidAdapter.js +1 -1
  90. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/bridBidAdapter.js +1 -1
  92. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  94. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  96. package/dist/chunks/carodaBidAdapter.js +1 -1
  97. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  98. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  99. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  101. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  102. package/dist/chunks/chtnwBidAdapter.js +1 -1
  103. package/dist/chunks/chunk-core.js +1 -1
  104. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  105. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/concertBidAdapter.js +1 -1
  107. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  109. package/dist/chunks/connectadBidAdapter.js +1 -1
  110. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/consumableBidAdapter.js +1 -1
  112. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  114. package/dist/chunks/conversantBidAdapter.js +1 -1
  115. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  117. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  118. package/dist/chunks/craftBidAdapter.js +1 -1
  119. package/dist/chunks/creative-renderer-display.js +1 -1
  120. package/dist/chunks/criteoBidAdapter.js +1 -1
  121. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  123. package/dist/chunks/cryptoUtils.js +1 -0
  124. package/dist/chunks/cwireBidAdapter.js +1 -1
  125. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  127. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  128. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/debugging-standalone.js +1 -1
  130. package/dist/chunks/debugging.metadata.js +1 -1
  131. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  133. package/dist/chunks/dependencies.json +13 -0
  134. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  135. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  136. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  137. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  139. package/dist/chunks/dspxBidAdapter.js +1 -1
  140. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  142. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  143. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  144. package/dist/chunks/eplanningBidAdapter.js +1 -1
  145. package/dist/chunks/equativBidAdapter.js +1 -1
  146. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  147. package/dist/chunks/eskimiBidAdapter.js +1 -1
  148. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  149. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/euidIdSystem.js +1 -1
  151. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  152. package/dist/chunks/exadsBidAdapter.js +1 -1
  153. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/excoBidAdapter.js +1 -1
  155. package/dist/chunks/feedadBidAdapter.js +1 -1
  156. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/finativeBidAdapter.js +1 -1
  158. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  159. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/getintentBidAdapter.js +1 -1
  161. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/gmosspBidAdapter.js +1 -1
  163. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  164. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  165. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  166. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  168. package/dist/chunks/gridBidAdapter.js +1 -1
  169. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  170. package/dist/chunks/gumgumBidAdapter.js +1 -1
  171. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  172. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  173. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  174. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  175. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  177. package/dist/chunks/hypelabBidAdapter.js +1 -1
  178. package/dist/chunks/iasRtdProvider.js +1 -1
  179. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  180. package/dist/chunks/id5IdSystem.js +1 -1
  181. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  182. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  183. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  186. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/inmobiBidAdapter.js +1 -1
  188. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  189. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  190. package/dist/chunks/insticatorBidAdapter.js +1 -1
  191. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  193. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  194. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  195. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/ixBidAdapter.js +1 -1
  197. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  198. package/dist/chunks/jixieBidAdapter.js +1 -1
  199. package/dist/chunks/justIdSystem.metadata.js +1 -1
  200. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  201. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  202. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/jwplayerRtdProvider.js +1 -1
  204. package/dist/chunks/jwplayerVideoProvider.js +1 -1
  205. package/dist/chunks/kargoBidAdapter.js +1 -1
  206. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  207. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  208. package/dist/chunks/kubientBidAdapter.js +1 -1
  209. package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
  210. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  211. package/dist/chunks/lassoBidAdapter.js +1 -1
  212. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  213. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  214. package/dist/chunks/liveIntentId.js +1 -1
  215. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  216. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  217. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/logicadBidAdapter.js +1 -1
  219. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  221. package/dist/chunks/luceadBidAdapter.js +1 -1
  222. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  223. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/mabidderBidAdapter.js +1 -1
  225. package/dist/chunks/madsenseBidAdapter.js +1 -1
  226. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  228. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  229. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  230. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  233. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  234. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  235. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  236. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/medianetBidAdapter.js +1 -1
  238. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  239. package/dist/chunks/medianetUtils.js +1 -1
  240. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  241. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/mgidBidAdapter.js +1 -1
  243. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  245. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  246. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  247. package/dist/chunks/missenaBidAdapter.js +1 -1
  248. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  249. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  250. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  251. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  252. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  253. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  254. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  257. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  258. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  259. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  261. package/dist/chunks/nexx360Utils.js +1 -1
  262. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  263. package/dist/chunks/nobidBidAdapter.js +1 -1
  264. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  266. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  267. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  268. package/dist/chunks/oguryBidAdapter.js +1 -1
  269. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/onetagBidAdapter.js +1 -1
  272. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  274. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  275. package/dist/chunks/openxBidAdapter.js +1 -1
  276. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  278. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  279. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/orbidderBidAdapter.js +1 -1
  282. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  283. package/dist/chunks/outbrainBidAdapter.js +1 -1
  284. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  285. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  286. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  287. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  288. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  289. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  290. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  292. package/dist/chunks/prebid-core.metadata.js +1 -1
  293. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  294. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  296. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  297. package/dist/chunks/publinkIdSystem.js +1 -1
  298. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  299. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  300. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  301. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  303. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  304. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  305. package/dist/chunks/pulsepointBidAdapter.js +1 -1
  306. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/pxyzBidAdapter.js +1 -1
  309. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/quantcastBidAdapter.js +1 -1
  311. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  313. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  314. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  315. package/dist/chunks/readpeakBidAdapter.js +1 -1
  316. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/relaidoBidAdapter.js +1 -1
  318. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  319. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  321. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/retailspotBidAdapter.js +1 -1
  323. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  325. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  326. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  327. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  328. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  329. package/dist/chunks/riseUtils.js +1 -1
  330. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  331. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/rubiconBidAdapter.js +1 -1
  333. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  334. package/dist/chunks/rumbleBidAdapter.js +1 -0
  335. package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
  336. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  338. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/seedtagBidAdapter.js +1 -1
  340. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  342. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  343. package/dist/chunks/sevioBidAdapter.js +1 -0
  344. package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
  345. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  346. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  347. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  348. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  349. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  350. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  351. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  352. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  353. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/smaatoBidAdapter.js +1 -1
  355. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  357. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/smartxBidAdapter.js +1 -1
  359. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  360. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  362. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/snigelBidAdapter.js +1 -1
  364. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  366. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  367. package/dist/chunks/sonobiBidAdapter.js +1 -1
  368. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  369. package/dist/chunks/sovrnBidAdapter.js +1 -1
  370. package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
  371. package/dist/chunks/sparteoBidAdapter.js +1 -1
  372. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  373. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/sspBCBidAdapter.js +1 -1
  375. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  376. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  377. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  378. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  379. package/dist/chunks/stvBidAdapter.js +1 -1
  380. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/sublimeBidAdapter.js +1 -1
  382. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/taboolaBidAdapter.js +1 -1
  384. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  385. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  386. package/dist/chunks/tappxBidAdapter.js +1 -1
  387. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  389. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/teadsBidAdapter.js +1 -1
  391. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  392. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  393. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  394. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  395. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  396. package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
  397. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  398. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  399. package/dist/chunks/trionBidAdapter.js +1 -1
  400. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  401. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  402. package/dist/chunks/ttdBidAdapter.js +1 -1
  403. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  406. package/dist/chunks/uid2IdSystem.js +1 -1
  407. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  408. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  409. package/dist/chunks/undertoneBidAdapter.js +1 -1
  410. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  411. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  412. package/dist/chunks/unrulyBidAdapter.js +1 -1
  413. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/userId.js +1 -1
  415. package/dist/chunks/userId.metadata.js +1 -1
  416. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  417. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/vidazooUtils.js +1 -1
  419. package/dist/chunks/videobyteBidAdapter.js +1 -1
  420. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  421. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  422. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/visxBidAdapter.js +1 -1
  424. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  425. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  426. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  427. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  428. package/dist/chunks/vuukleBidAdapter.js +1 -1
  429. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  430. package/dist/chunks/weboramaRtdProvider.js +1 -1
  431. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  432. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  433. package/dist/chunks/widespaceBidAdapter.js +1 -1
  434. package/dist/chunks/winrBidAdapter.js +1 -1
  435. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  436. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  437. package/dist/chunks/yandexBidAdapter.js +1 -1
  438. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  439. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  440. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  441. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  442. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  443. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  444. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  445. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  446. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  447. package/dist/not-for-prod/prebid.js +443 -438
  448. package/dist/src/creative/renderers/display/renderer.js +3 -4
  449. package/dist/src/creative/renderers/display/renderer.js.map +1 -1
  450. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  451. package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
  452. package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
  453. package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
  454. package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
  455. package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
  456. package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
  457. package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
  458. package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
  459. package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
  460. package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
  461. package/dist/src/libraries/impUtils.js +36 -0
  462. package/dist/src/libraries/impUtils.js.map +1 -0
  463. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  464. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  465. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  466. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  467. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  468. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  469. package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
  470. package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
  471. package/dist/src/libraries/riseUtils/index.js +1 -1
  472. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  473. package/dist/src/libraries/video/constants/events.js.map +1 -1
  474. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  476. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  477. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  479. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  488. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  491. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  493. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  494. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  495. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  498. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  500. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  504. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  505. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  507. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  508. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  509. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  510. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  517. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  523. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  531. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  537. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  547. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/debugging.js +1 -1
  549. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  555. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  556. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  559. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  563. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  572. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  573. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  574. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  576. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  577. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  578. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  579. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  585. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  587. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  588. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  589. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  596. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  597. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  605. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  610. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  612. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  613. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  616. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  617. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  618. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  620. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  628. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  629. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  635. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  638. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  641. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  642. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/prebid-core.js +1 -1
  646. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  651. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  653. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  658. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  660. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  661. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  665. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  667. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  668. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
  674. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  676. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  677. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  678. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
  680. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  681. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  685. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  687. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  694. package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  696. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  697. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  698. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  699. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  700. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  701. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  702. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  703. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  704. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  705. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  706. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  707. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  708. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  709. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  710. package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
  711. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  712. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  713. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  714. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  715. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  716. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  717. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  718. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  719. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  720. package/dist/src/metadata/modules/userId.js +1 -1
  721. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  722. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  723. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  724. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  725. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  726. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  727. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  728. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  729. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  730. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  731. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  732. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  733. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  734. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  735. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  736. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  737. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  738. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  739. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  740. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  741. package/dist/src/modules/1plusXRtdProvider.js +6 -2
  742. package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
  743. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  744. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  745. package/dist/src/modules/33acrossIdSystem.js +1 -1
  746. package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
  747. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  748. package/dist/src/modules/adagioBidAdapter.js +1 -1
  749. package/dist/src/modules/addefendBidAdapter.js +1 -1
  750. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  751. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  752. package/dist/src/modules/admixerBidAdapter.js +5 -4
  753. package/dist/src/modules/admixerBidAdapter.js.map +1 -1
  754. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  755. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  756. package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
  757. package/dist/src/modules/adstirBidAdapter.js +1 -1
  758. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  759. package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
  760. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  761. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  762. package/dist/src/modules/adxcgBidAdapter.js +4 -39
  763. package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
  764. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  765. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  766. package/dist/src/modules/ajaBidAdapter.js +1 -1
  767. package/dist/src/modules/amxBidAdapter.js +2 -2
  768. package/dist/src/modules/amxBidAdapter.js.map +1 -1
  769. package/dist/src/modules/amxIdSystem.js +1 -1
  770. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  771. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  772. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  773. package/dist/src/modules/asoBidAdapter.js +1 -1
  774. package/dist/src/modules/axonixBidAdapter.js +1 -1
  775. package/dist/src/modules/beopBidAdapter.js +2 -2
  776. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  777. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  778. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  779. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  780. package/dist/src/modules/bridBidAdapter.js +1 -1
  781. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  782. package/dist/src/modules/carodaBidAdapter.js +1 -1
  783. package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
  784. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  785. package/dist/src/modules/concertBidAdapter.js +1 -1
  786. package/dist/src/modules/connectadBidAdapter.js +1 -1
  787. package/dist/src/modules/consentManagementGpp.js.map +1 -1
  788. package/dist/src/modules/consentManagementTcf.js.map +1 -1
  789. package/dist/src/modules/consentManagementUsp.js.map +1 -1
  790. package/dist/src/modules/consumableBidAdapter.js +1 -1
  791. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  792. package/dist/src/modules/conversantBidAdapter.js +1 -1
  793. package/dist/src/modules/craftBidAdapter.js +1 -1
  794. package/dist/src/modules/criteoBidAdapter.js +2 -2
  795. package/dist/src/modules/currency.js.map +1 -1
  796. package/dist/src/modules/cwireBidAdapter.js +1 -1
  797. package/dist/src/modules/cwireBidAdapter.js.map +1 -1
  798. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  799. package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
  800. package/dist/src/modules/dchain.js.map +1 -1
  801. package/dist/src/modules/dspxBidAdapter.js +1 -1
  802. package/dist/src/modules/dspxBidAdapter.js.map +1 -1
  803. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  804. package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
  805. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  806. package/dist/src/modules/equativBidAdapter.js +1 -1
  807. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  808. package/dist/src/modules/euidIdSystem.js +1 -1
  809. package/dist/src/modules/exadsBidAdapter.js +1 -1
  810. package/dist/src/modules/excoBidAdapter.js +3 -3
  811. package/dist/src/modules/feedadBidAdapter.js +2 -2
  812. package/dist/src/modules/finativeBidAdapter.js +1 -1
  813. package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
  814. package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
  815. package/dist/src/modules/getintentBidAdapter.js +4 -2
  816. package/dist/src/modules/getintentBidAdapter.js.map +1 -1
  817. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  818. package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
  819. package/dist/src/modules/gppControl_usstates.js.map +1 -1
  820. package/dist/src/modules/gptPreAuction.d.ts +3 -3
  821. package/dist/src/modules/gptPreAuction.js.map +1 -1
  822. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  823. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  824. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  825. package/dist/src/modules/gridBidAdapter.js +2 -2
  826. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  827. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  828. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  829. package/dist/src/modules/iasRtdProvider.js +110 -5
  830. package/dist/src/modules/iasRtdProvider.js.map +1 -1
  831. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  832. package/dist/src/modules/id5IdSystem.js +1 -1
  833. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  834. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  835. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  836. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  837. package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
  838. package/dist/src/modules/intentIqIdSystem.js.map +1 -1
  839. package/dist/src/modules/ixBidAdapter.js +1 -1
  840. package/dist/src/modules/jixieBidAdapter.js +1 -1
  841. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  842. package/dist/src/modules/jwplayerRtdProvider.js +6 -2
  843. package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
  844. package/dist/src/modules/jwplayerVideoProvider.js +12 -9
  845. package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
  846. package/dist/src/modules/kargoBidAdapter.js +1 -1
  847. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  848. package/dist/src/modules/kubientBidAdapter.js +0 -1
  849. package/dist/src/modules/kubientBidAdapter.js.map +1 -1
  850. package/dist/src/modules/lassoBidAdapter.js +1 -1
  851. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  852. package/dist/src/modules/logicadBidAdapter.js +1 -1
  853. package/dist/src/modules/luceadBidAdapter.js +1 -1
  854. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  855. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  856. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  857. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  858. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  859. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  860. package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
  861. package/dist/src/modules/medianetBidAdapter.js +6 -2
  862. package/dist/src/modules/medianetBidAdapter.js.map +1 -1
  863. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  864. package/dist/src/modules/mgidBidAdapter.js +1 -1
  865. package/dist/src/modules/michaoBidAdapter.js.map +1 -1
  866. package/dist/src/modules/missenaBidAdapter.js +1 -1
  867. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  868. package/dist/src/modules/multibid/index.js.map +1 -1
  869. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  870. package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
  871. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  872. package/dist/src/modules/nobidBidAdapter.js +1 -1
  873. package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
  874. package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
  875. package/dist/src/modules/oguryBidAdapter.js +1 -1
  876. package/dist/src/modules/onetagBidAdapter.js +1 -1
  877. package/dist/src/modules/onetagBidAdapter.js.map +1 -1
  878. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  879. package/dist/src/modules/openxBidAdapter.js +7 -2
  880. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  881. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  882. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  883. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  884. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  885. package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
  886. package/dist/src/modules/priceFloors.d.ts +2 -2
  887. package/dist/src/modules/priceFloors.js.map +1 -1
  888. package/dist/src/modules/publinkIdSystem.js +1 -1
  889. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  890. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  891. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  892. package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
  893. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  894. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  895. package/dist/src/modules/pulsepointBidAdapter.js +2 -38
  896. package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
  897. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  898. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  899. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  900. package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
  901. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  902. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  903. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  904. package/dist/src/modules/rtdModule/index.js.map +1 -1
  905. package/dist/src/modules/rtdModule/spec.js.map +1 -1
  906. package/dist/src/modules/rubiconBidAdapter.js +6 -2
  907. package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
  908. package/dist/src/modules/rumbleBidAdapter.js +103 -0
  909. package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
  910. package/dist/src/modules/schain.js.map +1 -1
  911. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  912. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  913. package/dist/src/modules/sevioBidAdapter.js +254 -0
  914. package/dist/src/modules/sevioBidAdapter.js.map +1 -0
  915. package/dist/src/modules/sharedIdSystem.js.map +1 -1
  916. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  917. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  918. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  919. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  920. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  921. package/dist/src/modules/smartxBidAdapter.js +1 -1
  922. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  923. package/dist/src/modules/snigelBidAdapter.js +1 -1
  924. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  925. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  926. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  927. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  928. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  929. package/dist/src/modules/storageControl.js.map +1 -1
  930. package/dist/src/modules/stvBidAdapter.js +1 -1
  931. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  932. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  933. package/dist/src/modules/tappxBidAdapter.js +1 -1
  934. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  935. package/dist/src/modules/tcfControl.js.map +1 -1
  936. package/dist/src/modules/teadsBidAdapter.js +1 -1
  937. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  938. package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
  939. package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
  940. package/dist/src/modules/trionBidAdapter.js +1 -1
  941. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  942. package/dist/src/modules/ttdBidAdapter.js +9 -2
  943. package/dist/src/modules/ttdBidAdapter.js.map +1 -1
  944. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  945. package/dist/src/modules/uid2IdSystem.js +1 -1
  946. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  947. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  948. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  949. package/dist/src/modules/userId/index.js +12 -8
  950. package/dist/src/modules/userId/index.js.map +1 -1
  951. package/dist/src/modules/userId/spec.js.map +1 -1
  952. package/dist/src/modules/validationFpdModule/index.js.map +1 -1
  953. package/dist/src/modules/videoModule/index.js.map +1 -1
  954. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  955. package/dist/src/modules/visxBidAdapter.js +1 -1
  956. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  957. package/dist/src/modules/weboramaRtdProvider.js +30 -11
  958. package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
  959. package/dist/src/modules/welectBidAdapter.js.map +1 -1
  960. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  961. package/dist/src/modules/winrBidAdapter.js +1 -1
  962. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  963. package/dist/src/modules/yandexBidAdapter.js +47 -15
  964. package/dist/src/modules/yandexBidAdapter.js.map +1 -1
  965. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  966. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  967. package/dist/src/package.json +2 -3
  968. package/dist/src/public/rumbleBidAdapter.js +1 -0
  969. package/dist/src/public/sevioBidAdapter.js +1 -0
  970. package/dist/src/src/activities/params.d.ts +5 -0
  971. package/dist/src/src/activities/params.js +6 -0
  972. package/dist/src/src/activities/params.js.map +1 -1
  973. package/dist/src/src/activities/redactor.js.map +1 -1
  974. package/dist/src/src/adRendering.js.map +1 -1
  975. package/dist/src/src/adUnits.js.map +1 -1
  976. package/dist/src/src/adapterManager.js.map +1 -1
  977. package/dist/src/src/adapters/bidderFactory.js.map +1 -1
  978. package/dist/src/src/ajax.js.map +1 -1
  979. package/dist/src/src/auction.js.map +1 -1
  980. package/dist/src/src/banner.js.map +1 -1
  981. package/dist/src/src/bidTTL.js.map +1 -1
  982. package/dist/src/src/bidderSettings.js.map +1 -1
  983. package/dist/src/src/bidfactory.js.map +1 -1
  984. package/dist/src/src/config.js +3 -3
  985. package/dist/src/src/config.js.map +1 -1
  986. package/dist/src/src/consentHandler.js.map +1 -1
  987. package/dist/src/src/constants.js.map +1 -1
  988. package/dist/src/src/cpmBucketManager.js.map +1 -1
  989. package/dist/src/src/debugging.js +1 -1
  990. package/dist/src/src/events.js.map +1 -1
  991. package/dist/src/src/fpd/enrichment.js.map +1 -1
  992. package/dist/src/src/hook.js.map +1 -1
  993. package/dist/src/src/mediaTypes.js.map +1 -1
  994. package/dist/src/src/native.js.map +1 -1
  995. package/dist/src/src/prebid.js +2 -2
  996. package/dist/src/src/prebid.js.map +1 -1
  997. package/dist/src/src/prebidGlobal.js.map +1 -1
  998. package/dist/src/src/refererDetection.js.map +1 -1
  999. package/dist/src/src/storageManager.js +26 -25
  1000. package/dist/src/src/storageManager.js.map +1 -1
  1001. package/dist/src/src/targeting.d.ts +7 -7
  1002. package/dist/src/src/targeting.js.map +1 -1
  1003. package/dist/src/src/types/common.d.js.map +1 -1
  1004. package/dist/src/src/types/common.d.ts +29 -29
  1005. package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
  1006. package/dist/src/src/types/local/shim.d.js.map +1 -1
  1007. package/dist/src/src/types/objects.d.js.map +1 -1
  1008. package/dist/src/src/types/objects.d.ts +15 -15
  1009. package/dist/src/src/types/ortb/common.d.js.map +1 -1
  1010. package/dist/src/src/types/ortb/common.d.ts +1 -1
  1011. package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
  1012. package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
  1013. package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
  1014. package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
  1015. package/dist/src/src/types/ortb/request.d.js.map +1 -1
  1016. package/dist/src/src/types/ortb/request.d.ts +21 -21
  1017. package/dist/src/src/types/ortb/response.d.js.map +1 -1
  1018. package/dist/src/src/types/ortb/response.d.ts +6 -6
  1019. package/dist/src/src/types/summary/core.d.ts +5 -5
  1020. package/dist/src/src/userSync.js.map +1 -1
  1021. package/dist/src/src/utils/objects.js.map +1 -1
  1022. package/dist/src/src/utils/perfMetrics.js.map +1 -1
  1023. package/dist/src/src/utils/promise.js.map +1 -1
  1024. package/dist/src/src/utils/ttlCollection.js.map +1 -1
  1025. package/dist/src/src/video.js.map +1 -1
  1026. package/dist/src/src/videoCache.js.map +1 -1
  1027. package/dist/src/test/helpers/index_adapter_utils.js +1 -1
  1028. package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
  1029. package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
  1030. package/dist/src/test/mocks/timers.js +12 -12
  1031. package/dist/src/test/mocks/timers.js.map +1 -1
  1032. package/dist/src/test/spec/adloader_spec.js.map +1 -1
  1033. package/dist/src/test/spec/config_spec.js +9 -3
  1034. package/dist/src/test/spec/config_spec.js.map +1 -1
  1035. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1036. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
  1037. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1038. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
  1039. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  1040. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  1041. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  1042. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  1043. package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
  1044. package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
  1045. package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
  1046. package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
  1047. package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
  1048. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  1049. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  1050. package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
  1051. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  1052. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
  1053. package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
  1054. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  1055. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
  1056. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  1057. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  1058. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  1059. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  1060. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  1061. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  1062. package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
  1063. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  1064. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  1065. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  1066. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  1067. package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
  1068. package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
  1069. package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
  1070. package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
  1071. package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
  1072. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  1073. package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
  1074. package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
  1075. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  1076. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1077. package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
  1078. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  1079. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  1080. package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
  1081. package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
  1082. package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
  1083. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  1084. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  1085. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  1086. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  1087. package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
  1088. package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
  1089. package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
  1090. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  1091. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  1092. package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
  1093. package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
  1094. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  1095. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  1096. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  1097. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
  1098. package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
  1099. package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
  1100. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  1101. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  1102. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  1103. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  1104. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  1105. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  1106. package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
  1107. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  1108. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  1109. package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
  1110. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  1111. package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
  1112. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
  1113. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
  1114. package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
  1115. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  1116. package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
  1117. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  1118. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  1119. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
  1120. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  1121. package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
  1122. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  1123. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  1124. package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
  1125. package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
  1126. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  1127. package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
  1128. package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
  1129. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  1130. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
  1131. package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
  1132. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  1133. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  1134. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  1135. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  1136. package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
  1137. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  1138. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  1139. package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
  1140. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  1141. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  1142. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  1143. package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
  1144. package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
  1145. package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
  1146. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  1147. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
  1148. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
  1149. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
  1150. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
  1151. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
  1152. package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
  1153. package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
  1154. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  1155. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  1156. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  1157. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  1158. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  1159. package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
  1160. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  1161. package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
  1162. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  1163. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
  1164. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
  1165. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  1166. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
  1167. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
  1168. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  1169. package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
  1170. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  1171. package/dist/src/test/spec/modules/userId_spec.js +41 -6
  1172. package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
  1173. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
  1174. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
  1175. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  1176. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  1177. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  1178. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  1179. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
  1180. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
  1181. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  1182. package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
  1183. package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
  1184. package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
  1185. package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
  1186. package/dist/src/test/spec/utils_spec.js.map +1 -1
  1187. package/eslint.config.js +2 -6
  1188. package/gulpfile.js +0 -7
  1189. package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
  1190. package/libraries/appnexusUtils/anKeywords.js +11 -0
  1191. package/libraries/consentManagement/cmUtils.ts +18 -18
  1192. package/libraries/creative-renderer-display/renderer.js +1 -1
  1193. package/libraries/cryptoUtils/wallets.js +38 -0
  1194. package/libraries/dspxUtils/bidderUtils.js +1 -1
  1195. package/libraries/impUtils.js +33 -0
  1196. package/libraries/liveIntentId/shared.js +16 -0
  1197. package/libraries/nexx360Utils/index.js +8 -8
  1198. package/libraries/ortbConverter/converter.ts +79 -79
  1199. package/libraries/video/constants/events.ts +5 -5
  1200. package/metadata/modules/33acrossBidAdapter.json +1 -1
  1201. package/metadata/modules/33acrossIdSystem.json +1 -1
  1202. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  1203. package/metadata/modules/adagioBidAdapter.json +1 -1
  1204. package/metadata/modules/adagioRtdProvider.json +1 -1
  1205. package/metadata/modules/addefendBidAdapter.json +1 -1
  1206. package/metadata/modules/adfBidAdapter.json +1 -1
  1207. package/metadata/modules/adfusionBidAdapter.json +1 -1
  1208. package/metadata/modules/adheseBidAdapter.json +1 -1
  1209. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  1210. package/metadata/modules/adkernelBidAdapter.json +4 -4
  1211. package/metadata/modules/admaticBidAdapter.json +2 -2
  1212. package/metadata/modules/admixerBidAdapter.json +8 -1
  1213. package/metadata/modules/admixerIdSystem.json +1 -1
  1214. package/metadata/modules/adnowBidAdapter.json +1 -1
  1215. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  1216. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  1217. package/metadata/modules/adotBidAdapter.json +1 -1
  1218. package/metadata/modules/adponeBidAdapter.json +1 -1
  1219. package/metadata/modules/adqueryBidAdapter.json +1 -1
  1220. package/metadata/modules/adqueryIdSystem.json +1 -1
  1221. package/metadata/modules/adrinoBidAdapter.json +1 -1
  1222. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  1223. package/metadata/modules/adtargetBidAdapter.json +1 -1
  1224. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  1225. package/metadata/modules/adtelligentIdSystem.json +1 -1
  1226. package/metadata/modules/aduptechBidAdapter.json +1 -1
  1227. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  1228. package/metadata/modules/aidemBidAdapter.json +1 -1
  1229. package/metadata/modules/airgridRtdProvider.json +1 -1
  1230. package/metadata/modules/alkimiBidAdapter.json +1 -1
  1231. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  1232. package/metadata/modules/amxBidAdapter.json +1 -1
  1233. package/metadata/modules/amxIdSystem.json +1 -1
  1234. package/metadata/modules/aniviewBidAdapter.json +1 -1
  1235. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  1236. package/metadata/modules/appierBidAdapter.json +15 -29
  1237. package/metadata/modules/appnexusBidAdapter.json +5 -5
  1238. package/metadata/modules/appushBidAdapter.json +1 -1
  1239. package/metadata/modules/apstreamBidAdapter.json +1 -1
  1240. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  1241. package/metadata/modules/axisBidAdapter.json +1 -1
  1242. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  1243. package/metadata/modules/beopBidAdapter.json +1 -1
  1244. package/metadata/modules/betweenBidAdapter.json +1 -1
  1245. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  1246. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  1247. package/metadata/modules/bliinkBidAdapter.json +1 -1
  1248. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  1249. package/metadata/modules/blueBidAdapter.json +1 -1
  1250. package/metadata/modules/bmsBidAdapter.json +1 -1
  1251. package/metadata/modules/boldwinBidAdapter.json +1 -1
  1252. package/metadata/modules/bridBidAdapter.json +1 -1
  1253. package/metadata/modules/browsiBidAdapter.json +1 -1
  1254. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  1255. package/metadata/modules/carodaBidAdapter.json +1 -1
  1256. package/metadata/modules/categoryTranslation.json +1 -1
  1257. package/metadata/modules/ccxBidAdapter.json +1 -1
  1258. package/metadata/modules/ceeIdSystem.json +1 -1
  1259. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  1260. package/metadata/modules/compassBidAdapter.json +1 -1
  1261. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1262. package/metadata/modules/connatixBidAdapter.json +1 -1
  1263. package/metadata/modules/connectIdSystem.json +1 -1
  1264. package/metadata/modules/connectadBidAdapter.json +1 -1
  1265. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1266. package/metadata/modules/conversantBidAdapter.json +1 -1
  1267. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1268. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1269. package/metadata/modules/criteoBidAdapter.json +1 -1
  1270. package/metadata/modules/criteoIdSystem.json +1 -1
  1271. package/metadata/modules/cwireBidAdapter.json +1 -1
  1272. package/metadata/modules/czechAdIdSystem.json +1 -1
  1273. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1274. package/metadata/modules/debugging.json +1 -1
  1275. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1276. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1277. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1278. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1279. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1280. package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
  1281. package/metadata/modules/docereeBidAdapter.json +3 -3
  1282. package/metadata/modules/dspxBidAdapter.json +1 -1
  1283. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1284. package/metadata/modules/edge226BidAdapter.json +3 -3
  1285. package/metadata/modules/equativBidAdapter.json +1 -1
  1286. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1287. package/metadata/modules/etargetBidAdapter.json +1 -1
  1288. package/metadata/modules/euidIdSystem.json +1 -1
  1289. package/metadata/modules/exadsBidAdapter.json +1 -1
  1290. package/metadata/modules/feedadBidAdapter.json +1 -1
  1291. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1292. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1293. package/metadata/modules/glomexBidAdapter.json +1 -1
  1294. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1295. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1296. package/metadata/modules/gridBidAdapter.json +1 -1
  1297. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1298. package/metadata/modules/hadronIdSystem.json +1 -1
  1299. package/metadata/modules/hadronRtdProvider.json +1 -1
  1300. package/metadata/modules/holidBidAdapter.json +1 -1
  1301. package/metadata/modules/hybridBidAdapter.json +1 -1
  1302. package/metadata/modules/id5IdSystem.json +1 -1
  1303. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1304. package/metadata/modules/illuminBidAdapter.json +1 -1
  1305. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1306. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1307. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1308. package/metadata/modules/innityBidAdapter.json +1 -1
  1309. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1310. package/metadata/modules/intentIqIdSystem.json +1 -1
  1311. package/metadata/modules/invibesBidAdapter.json +1 -1
  1312. package/metadata/modules/ipromBidAdapter.json +1 -1
  1313. package/metadata/modules/ixBidAdapter.json +1 -1
  1314. package/metadata/modules/justIdSystem.json +1 -1
  1315. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1316. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1317. package/metadata/modules/kargoBidAdapter.json +1 -1
  1318. package/metadata/modules/kubientBidAdapter.json +3 -8
  1319. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1320. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1321. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1322. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1323. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1324. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1325. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1326. package/metadata/modules/luceadBidAdapter.json +1 -1
  1327. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1328. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1329. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1330. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1331. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1332. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1333. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1334. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1335. package/metadata/modules/medianetBidAdapter.json +2 -2
  1336. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1337. package/metadata/modules/mgidBidAdapter.json +1 -1
  1338. package/metadata/modules/mgidRtdProvider.json +1 -1
  1339. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1340. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1341. package/metadata/modules/missenaBidAdapter.json +1 -1
  1342. package/metadata/modules/mobianRtdProvider.json +1 -1
  1343. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1344. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1345. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1346. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1347. package/metadata/modules/nativoBidAdapter.json +1 -1
  1348. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1349. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1350. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1351. package/metadata/modules/nexx360BidAdapter.json +8 -8
  1352. package/metadata/modules/nobidBidAdapter.json +2 -2
  1353. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1354. package/metadata/modules/novatiqIdSystem.json +1 -1
  1355. package/metadata/modules/oguryBidAdapter.json +1 -1
  1356. package/metadata/modules/omsBidAdapter.json +1 -1
  1357. package/metadata/modules/onetagBidAdapter.json +1 -1
  1358. package/metadata/modules/openwebBidAdapter.json +1 -1
  1359. package/metadata/modules/openxBidAdapter.json +1 -1
  1360. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1361. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1362. package/metadata/modules/optoutBidAdapter.json +1 -1
  1363. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1364. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1365. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1366. package/metadata/modules/pairIdSystem.json +1 -1
  1367. package/metadata/modules/performaxBidAdapter.json +4 -5
  1368. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1369. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1370. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1371. package/metadata/modules/prebid-core.json +2 -2
  1372. package/metadata/modules/precisoBidAdapter.json +1 -1
  1373. package/metadata/modules/prismaBidAdapter.json +1 -1
  1374. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1375. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1376. package/metadata/modules/publinkIdSystem.json +1 -1
  1377. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1378. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1379. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1380. package/metadata/modules/pwbidBidAdapter.json +1 -1
  1381. package/metadata/modules/qtBidAdapter.json +1 -1
  1382. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1383. package/metadata/modules/quantcastIdSystem.json +1 -1
  1384. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1385. package/metadata/modules/raynRtdProvider.json +1 -1
  1386. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1387. package/metadata/modules/relayBidAdapter.json +1 -1
  1388. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1389. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1390. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1391. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1392. package/metadata/modules/revcontentBidAdapter.json +7 -117
  1393. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1394. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1395. package/metadata/modules/riseBidAdapter.json +2 -2
  1396. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1397. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1398. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1399. package/metadata/modules/rumbleBidAdapter.json +13 -0
  1400. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1401. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1402. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1403. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1404. package/metadata/modules/setupadBidAdapter.json +1 -1
  1405. package/metadata/modules/sevioBidAdapter.json +18 -0
  1406. package/metadata/modules/sharedIdSystem.json +1 -1
  1407. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1408. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1409. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1410. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1411. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1412. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1413. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1414. package/metadata/modules/smartxBidAdapter.json +1 -1
  1415. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1416. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1417. package/metadata/modules/snigelBidAdapter.json +1 -1
  1418. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1419. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1420. package/metadata/modules/sovrnBidAdapter.json +4 -4
  1421. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1422. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1423. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1424. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1425. package/metadata/modules/startioBidAdapter.json +1 -1
  1426. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1427. package/metadata/modules/stvBidAdapter.json +1 -1
  1428. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1429. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1430. package/metadata/modules/taboolaIdSystem.json +1 -1
  1431. package/metadata/modules/tappxBidAdapter.json +1 -1
  1432. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1433. package/metadata/modules/teadsBidAdapter.json +1 -1
  1434. package/metadata/modules/teadsIdSystem.json +1 -1
  1435. package/metadata/modules/tealBidAdapter.json +1 -1
  1436. package/metadata/modules/themoneytizerBidAdapter.json +3 -8
  1437. package/metadata/modules/tncIdSystem.json +1 -1
  1438. package/metadata/modules/topicsFpdModule.json +1 -1
  1439. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1440. package/metadata/modules/ttdBidAdapter.json +1 -1
  1441. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1442. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1443. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1444. package/metadata/modules/unifiedIdSystem.json +1 -1
  1445. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1446. package/metadata/modules/userId.json +1 -1
  1447. package/metadata/modules/validationFpdModule.json +1 -1
  1448. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1449. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1450. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1451. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1452. package/metadata/modules/visxBidAdapter.json +1 -1
  1453. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1454. package/metadata/modules/voxBidAdapter.json +1 -1
  1455. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1456. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1457. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1458. package/metadata/modules/welectBidAdapter.json +1 -1
  1459. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1460. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1461. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1462. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1463. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1464. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1465. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1466. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1467. package/metadata/modules.json +23 -2
  1468. package/modules/1plusXRtdProvider.js +6 -2
  1469. package/modules/adWMGBidAdapter.js +8 -8
  1470. package/modules/admixerBidAdapter.js +9 -4
  1471. package/modules/adspiritBidAdapter.js +8 -8
  1472. package/modules/adtrgtmeBidAdapter.js +2 -2
  1473. package/modules/adxcgBidAdapter.js +2 -36
  1474. package/modules/amxBidAdapter.js +3 -3
  1475. package/modules/chromeAiRtdProvider.js +5 -5
  1476. package/modules/consentManagementGpp.ts +11 -11
  1477. package/modules/consentManagementTcf.ts +33 -33
  1478. package/modules/consentManagementUsp.ts +14 -14
  1479. package/modules/currency.ts +59 -59
  1480. package/modules/cwireBidAdapter.js +2 -2
  1481. package/modules/dailymotionBidAdapter.js +4 -4
  1482. package/modules/dchain.ts +4 -4
  1483. package/modules/dspxBidAdapter.js +8 -8
  1484. package/modules/eightPodBidAdapter.js +8 -8
  1485. package/modules/genericAnalyticsAdapter.ts +50 -50
  1486. package/modules/geolocationRtdProvider.ts +48 -48
  1487. package/modules/getintentBidAdapter.js +4 -2
  1488. package/modules/gmosspBidAdapter.js +1 -1
  1489. package/modules/gppControl_usstates.ts +40 -40
  1490. package/modules/gptPreAuction.ts +34 -34
  1491. package/modules/iasRtdProvider.js +87 -5
  1492. package/modules/intentIqAnalyticsAdapter.js +8 -8
  1493. package/modules/intentIqIdSystem.js +2 -2
  1494. package/modules/jwplayerRtdProvider.js +6 -2
  1495. package/modules/jwplayerVideoProvider.js +13 -9
  1496. package/modules/kubientBidAdapter.js +0 -1
  1497. package/modules/medianetAnalyticsAdapter.js +5 -5
  1498. package/modules/medianetBidAdapter.js +5 -1
  1499. package/modules/michaoBidAdapter.ts +7 -7
  1500. package/modules/multibid/index.ts +31 -31
  1501. package/modules/nexverseBidAdapter.js +1 -1
  1502. package/modules/nodalsAiRtdProvider.js +4 -2
  1503. package/modules/onetagBidAdapter.js +12 -12
  1504. package/modules/openxBidAdapter.js +6 -1
  1505. package/modules/prebidServerBidAdapter/index.ts +130 -130
  1506. package/modules/priceFloors.ts +131 -131
  1507. package/modules/pubmaticBidAdapter.js +21 -1
  1508. package/modules/pubmaticRtdProvider.js +143 -143
  1509. package/modules/pulsepointBidAdapter.js +3 -38
  1510. package/modules/readpeakBidAdapter.js +17 -17
  1511. package/modules/rtdModule/index.ts +8 -8
  1512. package/modules/rtdModule/spec.ts +30 -30
  1513. package/modules/rubiconBidAdapter.js +5 -1
  1514. package/modules/rumbleBidAdapter.js +128 -0
  1515. package/modules/rumbleBidAdapter.md +114 -0
  1516. package/modules/schain.ts +4 -4
  1517. package/modules/sevioBidAdapter.js +262 -0
  1518. package/modules/sevioBidAdapter.md +29 -0
  1519. package/modules/sharedIdSystem.ts +29 -29
  1520. package/modules/storageControl.ts +72 -72
  1521. package/modules/tcfControl.ts +60 -60
  1522. package/modules/themoneytizerBidAdapter.js +2 -4
  1523. package/modules/ttdBidAdapter.js +11 -1
  1524. package/modules/ttdBidAdapter.md +3 -1
  1525. package/modules/userId/index.ts +129 -119
  1526. package/modules/userId/spec.ts +136 -136
  1527. package/modules/validationFpdModule/index.ts +4 -4
  1528. package/modules/videoModule/index.ts +37 -37
  1529. package/modules/weboramaRtdProvider.js +30 -11
  1530. package/modules/welectBidAdapter.js +3 -3
  1531. package/modules/yandexBidAdapter.js +67 -24
  1532. package/package.json +2 -3
  1533. package/src/activities/params.js +6 -0
  1534. package/src/activities/redactor.ts +8 -8
  1535. package/src/adRendering.ts +61 -61
  1536. package/src/adUnits.ts +100 -100
  1537. package/src/adapterManager.ts +605 -605
  1538. package/src/adapters/bidderFactory.ts +99 -99
  1539. package/src/ajax.ts +39 -39
  1540. package/src/auction.ts +217 -217
  1541. package/src/banner.ts +28 -28
  1542. package/src/bidTTL.ts +16 -16
  1543. package/src/bidderSettings.ts +46 -46
  1544. package/src/bidfactory.ts +107 -107
  1545. package/src/config.ts +65 -65
  1546. package/src/consentHandler.ts +25 -25
  1547. package/src/constants.ts +14 -14
  1548. package/src/cpmBucketManager.ts +7 -7
  1549. package/src/events.ts +75 -75
  1550. package/src/fpd/enrichment.ts +8 -8
  1551. package/src/hook.ts +14 -14
  1552. package/src/mediaTypes.ts +16 -16
  1553. package/src/native.ts +62 -62
  1554. package/src/prebid.ts +362 -362
  1555. package/src/prebidGlobal.ts +18 -18
  1556. package/src/refererDetection.ts +54 -54
  1557. package/src/storageManager.ts +76 -73
  1558. package/src/targeting.ts +215 -215
  1559. package/src/types/common.d.ts +29 -29
  1560. package/src/types/local/buildOptions.d.ts +3 -3
  1561. package/src/types/local/shim.d.ts +6 -6
  1562. package/src/types/objects.d.ts +15 -15
  1563. package/src/types/ortb/common.d.ts +1 -1
  1564. package/src/types/ortb/ext/dchain.d.ts +69 -69
  1565. package/src/types/ortb/ext/dsa.d.ts +50 -50
  1566. package/src/types/ortb/request.d.ts +21 -21
  1567. package/src/types/ortb/response.d.ts +6 -6
  1568. package/src/userSync.ts +32 -32
  1569. package/src/utils/objects.ts +11 -11
  1570. package/src/utils/perfMetrics.ts +193 -193
  1571. package/src/utils/promise.ts +14 -14
  1572. package/src/utils/ttlCollection.ts +25 -25
  1573. package/src/video.ts +73 -73
  1574. package/src/videoCache.ts +60 -60
  1575. package/test/helpers/index_adapter_utils.js +1 -2
  1576. package/test/helpers/refererDetectionHelper.js +2 -2
  1577. package/test/mocks/timers.js +12 -9
  1578. package/test/spec/adloader_spec.js +13 -13
  1579. package/test/spec/config_spec.js +9 -3
  1580. package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1581. package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1582. package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
  1583. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
  1584. package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
  1585. package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
  1586. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
  1587. package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
  1588. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
  1589. package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
  1590. package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
  1591. package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
  1592. package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
  1593. package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
  1594. package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
  1595. package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
  1596. package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
  1597. package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
  1598. package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
  1599. package/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1600. package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
  1601. package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
  1602. package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
  1603. package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
  1604. package/test/spec/modules/iasRtdProvider_spec.js +89 -8
  1605. package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
  1606. package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
  1607. package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
  1608. package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
  1609. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
  1610. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1611. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1612. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1613. package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
  1614. package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
  1615. package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
  1616. package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
  1617. package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
  1618. package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
  1619. package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
  1620. package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
  1621. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1622. package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
  1623. package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
  1624. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
  1625. package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
  1626. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
  1627. package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
  1628. package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
  1629. package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
  1630. package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
  1631. package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
  1632. package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
  1633. package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
  1634. package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
  1635. package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
  1636. package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
  1637. package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
  1638. package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
  1639. package/test/spec/modules/stvBidAdapter_spec.js +32 -32
  1640. package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
  1641. package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
  1642. package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
  1643. package/test/spec/modules/uid2IdSystem_spec.js +3 -3
  1644. package/test/spec/modules/userId_spec.js +41 -7
  1645. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
  1646. package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
  1647. package/test/spec/refererDetection_spec.js +11 -11
  1648. package/test/spec/unit/core/storageManager_spec.js +20 -1
  1649. package/test/spec/unit/core/targeting_spec.js +8 -8
  1650. package/test/spec/utils_spec.js +25 -25
@@ -1 +1 @@
1
- {"version":3,"file":"rubiconBidAdapter.js","names":["registerModule","__r0","ortbConverter","pbsExtensions","registerBidder","config","BANNER","NATIVE","VIDEO","getGlobal","Renderer","deepAccess","deepSetValue","formatQS","isArray","isNumber","isStr","logError","logMessage","logWarn","mergeDeep","parseSizesInput","pick","_each","isPlainObject","getAllOrtbKeywords","getUserSyncParams","DEFAULT_INTEGRATION","DEFAULT_PBS_INTEGRATION","DEFAULT_RENDERER_URL","rubiConf","getConfig","rubicon","GVLID","impIdMap","sizeMap","item","key","converter","request","buildRequest","imps","bidderRequest","context","bidRequests","data","cur","test","vastxml","returnCreative","returnVast","integration","int_type","getPriceGranularity","modules","installedModules","length","indexOf","addOrtbFirstPartyData","ortb2","ext","prebid","storedrequest","disableFloors","floors","haveFloorDataBidRequests","filter","bidRequest","floorData","enabled","imp","buildImp","bidRequestType","bidType","includes","id","adUnitCode","banner","params","position","video","pos","bidonmultiformat","setBidFloors","bidResponse","buildBidResponse","bid","meta","mediaType","parseSizeWidth","parseSizeHeight","mediaTypes","parseSizes","undefined","width","w","playerWidth","height","h","playerHeight","renderer","outstreamRenderer","bidder","rp","advid","netRevenue","ttl","processors","spec","code","gvlid","supportedMediaTypes","isBidRequestValid","valid","i","props","parseInt","isNaN","bidFormats","hasValidVideoParams","hasBannerOrNativeMediaType","buildRequests","requests","filteredHttpRequest","filteredRequests","req","toORTB","resetImpIdMap","push","method","url","videoHost","bannerBidRequests","singleRequest","concat","map","bidParams","createSlotParams","bannerHost","getOrderedParams","reduce","paramString","propValue","encodeParam","Math","random","groupedBidRequests","groupedBids","SRA_BID_LIMIT","Object","keys","aggregate","bidGroupKey","partitionArray","forEach","bidsInGroup","combinedSlotParams","combineSlotUrlParams","containsTgV","containsTgI","containsUId","orderedParams","aSlotUrlParams","oCombinedSlotUrlParams","oCombinedParams","oSlotUrlParams","iIndex","param","hasOwnProperty","Array","splice","re","RegExp","sValues","join","match","startTime","Date","getTime","parsedSizes","latitude","longitude","latLong","accountId","siteId","zoneId","slice","floor","parseFloat","source","tid","ortb2Imp","bidId","device","cdep","ip","ipv6","_getScreenResolution","userId","toFixed","_getPageUrl","getFloor","floorInfo","currency","size","e","posMapping","configUserId","ae","site","mobile","addDesiredSegtaxes","user","eids","_ref","uids","inserter","matcher","mm","uidData","buildEidValue","atype","rtiPartner","rtipartner","eidValue","ppId","find","uid","stype","gdprConsent","gdprApplies","Number","consentString","uspConsent","encodeURIComponent","gppConsent","gppString","applicableSections","toString","bidLimit","applyFPD","schain","hasValidSupplyChainParams","rp_schain","serializeSupplyChain","supplyChain","supplyChainIsValid","ver","complete","nodes","serializeSupplyChainNodes","nodePropOrder","node","prop","interpretResponse","responseObj","body","seatbid","responseErrors","bids","fromORTB","response","ads","lastImpId","multibid","ad","impression_id","status","associatedBidRequest","requestId","creativeId","creative_id","network","advertiser","cpm","dealId","deal","advertiserId","networkId","creative_type","dsa","adomain","advertiserDomains","emulated_format","vastUrl","creative_depot_url","videoCacheKey","_renderCreative","script","size_id","split","num","rubiconTargeting","targeting","memo","values","sort","adA","adB","fledgeAuctionConfigs","component_auction_config","paapi","getUserSyncs","syncOptions","responses","hasSynced","iframeEnabled","type","syncHost","window","screen","pageUrl","referrer","refererInfo","page","secure","replace","impId","hideGoogleAdsDiv","adUnit","el","querySelector","style","setProperty","hideSmartAdServerIframe","nextSibling","localName","renderBid","adUnitElement","document","getElementById","defaultConfig","align","closeButton","label","collapse","MagniteApex","renderAd","placement","attachTo","rtbBid","install","adId","rendererUrl","rendererConfig","loaded","setRender","err","playerSize","sizes","mapSizes","masSizeOrdering","BID_FPD","visitor","inventory","keywords","fpd","impExt","impExtData","gpid","SEGTAX","MAP","adserver","pbadslot","validate","parentName","name","segment","value","segments","obj","result","addBannerData","isParent","arguments","val","loc","adslot","dsainfo","required","pubrender","datatopub","transparency","transp","domain","dsaParamArray","dsaparams","clientHints","chEnabled","arch","m_ch_arch","bitness","m_ch_bitness","browsers","ua","fullVer","accum","browserData","brand","version","m_ch_ua","m_ch_full_ver","isMobile","m_ch_mobile","model","m_ch_model","platform","m_ch_platform","m_ch_platform_ver","target","readTopics","iSegments","sendSiteSegtax","seg","vSegments","sendUserSegtax","userData","siteData","content","iterateOverSegmentData","char","topic","taxonomy","segtax","mappedSize","classifiedAsVideo","isVideo","isBanner","isBidOnMultiformat","isMissingVideoParams","log","bidTypes","resetRubiConf","MAS_SIZE_PRIORITY","first","second","firstPriority","secondPriority","determineRubiconVideoSizeId","rubiconSizeId","ranges","low","max","increment","medium","high","auto","min","dense","custom","buckets","isValid","arrayType","prototype","call","numberType","requiredParams","mimes","protocols","linearity","requiredFields","every","field","array","resetUserSync","bidfloorcur","bidfloor","bidFloor","nonBannerRequests","bidFirstPartyData","impThatHasVideoLanguage","language"],"sourceRoot":"../../..","sources":["modules/rubiconBidAdapter.js"],"sourcesContent":["import { ortbConverter } from '../libraries/ortbConverter/converter.js';\nimport { pbsExtensions } from '../libraries/pbsExtensions/pbsExtensions.js';\nimport { registerBidder } from '../src/adapters/bidderFactory.js';\nimport { config } from '../src/config.js';\nimport { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';\nimport { getGlobal } from '../src/prebidGlobal.js';\nimport { Renderer } from '../src/Renderer.js';\nimport {\n deepAccess,\n deepSetValue,\n formatQS,\n isArray,\n isNumber,\n isStr,\n logError,\n logMessage,\n logWarn,\n mergeDeep,\n parseSizesInput,\n pick,\n _each,\n isPlainObject\n} from '../src/utils.js';\nimport {getAllOrtbKeywords} from '../libraries/keywords/keywords.js';\nimport {getUserSyncParams} from '../libraries/userSyncUtils/userSyncUtils.js';\n\n/**\n * @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest\n */\n\nconst DEFAULT_INTEGRATION = 'pbjs_lite';\nconst DEFAULT_PBS_INTEGRATION = 'pbjs';\nconst DEFAULT_RENDERER_URL = 'https://video-outstream.rubiconproject.com/apex-2.2.1.js';\n// renderer code at https://github.com/rubicon-project/apex2\n\nlet rubiConf = config.getConfig('rubicon') || {};\n// we are saving these as global to this module so that if a pub accidentally overwrites the entire\n// rubicon object, then we do not lose other data\nconfig.getConfig('rubicon', config => {\n mergeDeep(rubiConf, config.rubicon);\n});\n\nconst GVLID = 52;\n\nlet impIdMap = {};\n\nvar sizeMap = {\n 1: '468x60',\n 2: '728x90',\n 5: '120x90',\n 7: '125x125',\n 8: '120x600',\n 9: '160x600',\n 10: '300x600',\n 13: '200x200',\n 14: '250x250',\n 15: '300x250',\n 16: '336x280',\n 17: '240x400',\n 19: '300x100',\n 31: '980x120',\n 32: '250x360',\n 33: '180x500',\n 35: '980x150',\n 37: '468x400',\n 38: '930x180',\n 39: '750x100',\n 40: '750x200',\n 41: '750x300',\n 42: '2x4',\n 43: '320x50',\n 44: '300x50',\n 48: '300x300',\n 53: '1024x768',\n 54: '300x1050',\n 55: '970x90',\n 57: '970x250',\n 58: '1000x90',\n 59: '320x80',\n 60: '320x150',\n 61: '1000x1000',\n 64: '580x500',\n 65: '640x480',\n 66: '930x600',\n 67: '320x480',\n 68: '1800x1000',\n 72: '320x320',\n 73: '320x160',\n 78: '980x240',\n 79: '980x300',\n 80: '980x400',\n 83: '480x300',\n 85: '300x120',\n 90: '548x150',\n 94: '970x310',\n 95: '970x100',\n 96: '970x210',\n 101: '480x320',\n 102: '768x1024',\n 103: '480x280',\n 105: '250x800',\n 108: '320x240',\n 113: '1000x300',\n 117: '320x100',\n 125: '800x250',\n 126: '200x600',\n 144: '980x600',\n 145: '980x150',\n 152: '1000x250',\n 156: '640x320',\n 159: '320x250',\n 179: '250x600',\n 195: '600x300',\n 198: '640x360',\n 199: '640x200',\n 213: '1030x590',\n 214: '980x360',\n 221: '1x1',\n 229: '320x180',\n 230: '2000x1400',\n 232: '580x400',\n 234: '6x6',\n 251: '2x2',\n 256: '480x820',\n 257: '400x600',\n 258: '500x200',\n 259: '998x200',\n 261: '480x480',\n 264: '970x1000',\n 265: '1920x1080',\n 274: '1800x200',\n 278: '320x500',\n 282: '320x400',\n 288: '640x380',\n 484: '720x1280',\n 524: '1x2',\n 548: '500x1000',\n 550: '980x480',\n 552: '300x200',\n 558: '640x640',\n 562: '300x431',\n 564: '320x431',\n 566: '320x300',\n 568: '300x150',\n 570: '300x125',\n 572: '250x350',\n 574: '620x891',\n 576: '610x877',\n 578: '980x552',\n 580: '505x656',\n 622: '192x160',\n 632: '1200x450',\n 634: '340x450',\n 680: '970x570',\n 682: '300x240',\n 684: '970x550',\n 686: '300x210',\n 688: '300x220',\n 690: '970x170',\n 710: '600x250',\n 712: '340x430'\n};\n\n_each(sizeMap, (item, key) => sizeMap[item] = key);\n\nexport const converter = ortbConverter({\n request(buildRequest, imps, bidderRequest, context) {\n const {bidRequests} = context;\n const data = buildRequest(imps, bidderRequest, context);\n data.cur = ['USD'];\n data.test = config.getConfig('debug') ? 1 : 0;\n deepSetValue(data, 'ext.prebid.cache', {\n vastxml: {\n returnCreative: rubiConf.returnVast === true\n }\n });\n\n deepSetValue(data, 'ext.prebid.bidders', {\n rubicon: {\n integration: rubiConf.int_type || DEFAULT_PBS_INTEGRATION,\n }\n });\n\n deepSetValue(data, 'ext.prebid.targeting.pricegranularity', getPriceGranularity(config));\n\n const modules = (getGlobal()).installedModules;\n if (modules && (!modules.length || modules.indexOf('rubiconAnalyticsAdapter') !== -1)) {\n deepSetValue(data, 'ext.prebid.analytics', {'rubicon': {'client-analytics': true}});\n }\n\n addOrtbFirstPartyData(data, bidRequests, bidderRequest.ortb2);\n\n delete data?.ext?.prebid?.storedrequest;\n\n // floors\n if (rubiConf.disableFloors === true) {\n delete data.ext.prebid.floors;\n }\n\n // If the price floors module is active, then we need to signal to PBS! If floorData obj is present is best way to check\n const haveFloorDataBidRequests = bidRequests.filter(bidRequest => typeof bidRequest.floorData === 'object');\n if (haveFloorDataBidRequests.length > 0) {\n data.ext.prebid.floors = { enabled: false };\n }\n return data;\n },\n imp(buildImp, bidRequest, context) {\n // skip banner-only requests\n const bidRequestType = bidType(bidRequest);\n if (bidRequestType.includes(BANNER) && bidRequestType.length == 1) return;\n\n const imp = buildImp(bidRequest, context);\n imp.id = bidRequest.adUnitCode;\n delete imp.banner;\n bidRequest.params.position === 'atf' && imp.video && (imp.video.pos = 1);\n bidRequest.params.position === 'btf' && imp.video && (imp.video.pos = 3);\n delete imp.ext?.prebid?.storedrequest;\n\n if (bidRequest.params.bidonmultiformat === true && bidRequestType.length > 1) {\n deepSetValue(imp, 'ext.prebid.bidder.rubicon.formats', bidRequestType);\n }\n\n setBidFloors(bidRequest, imp);\n\n // ensure unique imp IDs for twin adunits\n imp.id = impIdMap[imp.id] ? imp.id + impIdMap[imp.id]++ : (impIdMap[imp.id] = 2, imp.id);\n\n return imp;\n },\n bidResponse(buildBidResponse, bid, context) {\n const bidResponse = buildBidResponse(bid, context);\n bidResponse.meta.mediaType = deepAccess(bid, 'ext.prebid.type');\n const {bidRequest} = context;\n\n const [parseSizeWidth, parseSizeHeight] = bidRequest.mediaTypes.video?.context === 'outstream' ? parseSizes(bidRequest, VIDEO) : [undefined, undefined];\n // 0 by default to avoid undefined size\n bidResponse.width = bid.w || parseSizeWidth || bidResponse.playerWidth || 0;\n bidResponse.height = bid.h || parseSizeHeight || bidResponse.playerHeight || 0;\n\n if (bidResponse.mediaType === VIDEO && bidRequest.mediaTypes.video.context === 'outstream') {\n bidResponse.renderer = outstreamRenderer(bidResponse);\n }\n\n if (deepAccess(bid, 'ext.bidder.rp.advid')) {\n deepSetValue(bidResponse, 'meta.advertiserId', bid.ext.bidder.rp.advid);\n }\n return bidResponse;\n },\n context: {\n netRevenue: rubiConf.netRevenue !== false, // If anything other than false, netRev is true\n ttl: 360,\n },\n processors: pbsExtensions\n});\n\nexport const spec = {\n code: 'rubicon',\n gvlid: GVLID,\n supportedMediaTypes: [BANNER, VIDEO, NATIVE],\n /**\n * @param {object} bid\n * @return boolean\n */\n isBidRequestValid: function (bid) {\n let valid = true;\n if (typeof bid.params !== 'object') {\n return false;\n }\n // validate account, site, zone have numeric values\n for (let i = 0, props = ['accountId', 'siteId', 'zoneId']; i < props.length; i++) {\n bid.params[props[i]] = parseInt(bid.params[props[i]])\n if (isNaN(bid.params[props[i]])) {\n logError('Rubicon: wrong format of accountId or siteId or zoneId.')\n return false\n }\n }\n const bidFormats = bidType(bid, true);\n // bidType is undefined? Return false\n if (!bidFormats.length) {\n return false;\n } else if (bidFormats.includes(VIDEO)) { // bidType is video, make sure it has required params\n valid = hasValidVideoParams(bid);\n }\n const hasBannerOrNativeMediaType = [BANNER, NATIVE].filter(mediaType => bidFormats.includes(mediaType)).length > 0;\n if (!hasBannerOrNativeMediaType) return valid;\n return valid && hasBannerOrNativeMediaType;\n },\n /**\n * @param {BidRequest[]} bidRequests\n * @param bidderRequest\n * @return BidRequest[]\n */\n buildRequests: function (bidRequests, bidderRequest) {\n // separate video bids because the requests are structured differently\n let requests = [];\n const filteredHttpRequest = [];\n let filteredRequests;\n\n filteredRequests = bidRequests.filter(req => {\n const mediaTypes = bidType(req) || [];\n const { length } = mediaTypes;\n const { bidonmultiformat, video } = req.params || {};\n\n return (\n // if there's just one mediaType and it's video or native, just send it!\n (length === 1 && (mediaTypes.includes(VIDEO) || mediaTypes.includes(NATIVE))) ||\n // if it's two mediaTypes, and they don't contain banner, send to PBS both native & video\n (length === 2 && !mediaTypes.includes(BANNER)) ||\n // if it contains the video param and the Video mediaType, send Video to PBS (not native!)\n (video && mediaTypes.includes(VIDEO)) ||\n // if bidonmultiformat is on, send everything to PBS\n (bidonmultiformat && (mediaTypes.includes(VIDEO) || mediaTypes.includes(NATIVE)))\n )\n });\n\n if (filteredRequests && filteredRequests.length) {\n const data = converter.toORTB({bidRequests: filteredRequests, bidderRequest});\n resetImpIdMap();\n\n filteredHttpRequest.push({\n method: 'POST',\n url: `https://${rubiConf.videoHost || 'prebid-server'}.rubiconproject.com/openrtb2/auction`,\n data,\n bidRequest: filteredRequests\n });\n }\n\n const bannerBidRequests = bidRequests.filter((req) => {\n const mediaTypes = bidType(req) || [];\n const {bidonmultiformat, video} = req.params || {};\n return (\n // Send to fastlane if: it must include BANNER and...\n mediaTypes.includes(BANNER) && (\n // if it's just banner\n (mediaTypes.length === 1) ||\n // if bidonmultiformat is true\n bidonmultiformat ||\n // if bidonmultiformat is false and there's no video parameter\n (!bidonmultiformat && !video) ||\n // if there's video parameter, but there's no video mediatype\n (!bidonmultiformat && video && !mediaTypes.includes(VIDEO))\n )\n );\n });\n if (rubiConf.singleRequest !== true) {\n // bids are not grouped if single request mode is not enabled\n requests = filteredHttpRequest.concat(bannerBidRequests.map(bidRequest => {\n const bidParams = spec.createSlotParams(bidRequest, bidderRequest);\n return {\n method: 'GET',\n url: `https://${rubiConf.bannerHost || 'fastlane'}.rubiconproject.com/a/api/fastlane.json`,\n data: spec.getOrderedParams(bidParams).reduce((paramString, key) => {\n const propValue = bidParams[key];\n return ((isStr(propValue) && propValue !== '') || isNumber(propValue)) ? `${paramString}${encodeParam(key, propValue)}&` : paramString;\n }, '') + `slots=1&rand=${Math.random()}`,\n bidRequest\n };\n }));\n } else {\n // single request requires bids to be grouped by site id into a single request\n // note: groupBy wasn't used because deep property access was needed\n const groupedBidRequests = bannerBidRequests.reduce((groupedBids, bid) => {\n (groupedBids[bid.params['siteId']] = groupedBids[bid.params['siteId']] || []).push(bid);\n return groupedBids;\n }, {});\n\n // fastlane SRA has a limit of 10 slots\n const SRA_BID_LIMIT = 10;\n\n // multiple requests are used if bids groups have more than 10 bids\n requests = filteredHttpRequest.concat(Object.keys(groupedBidRequests).reduce((aggregate, bidGroupKey) => {\n // for each partioned bidGroup, append a bidRequest to requests list\n partitionArray(groupedBidRequests[bidGroupKey], SRA_BID_LIMIT).forEach(bidsInGroup => {\n const combinedSlotParams = spec.combineSlotUrlParams(bidsInGroup.map(bidRequest => {\n return spec.createSlotParams(bidRequest, bidderRequest);\n }));\n\n // SRA request returns grouped bidRequest arrays not a plain bidRequest\n aggregate.push({\n method: 'GET',\n url: `https://${rubiConf.bannerHost || 'fastlane'}.rubiconproject.com/a/api/fastlane.json`,\n data: spec.getOrderedParams(combinedSlotParams).reduce((paramString, key) => {\n const propValue = combinedSlotParams[key];\n return ((isStr(propValue) && propValue !== '') || isNumber(propValue)) ? `${paramString}${encodeParam(key, propValue)}&` : paramString;\n }, '') + `slots=${bidsInGroup.length}&rand=${Math.random()}`,\n bidRequest: bidsInGroup\n });\n });\n return aggregate;\n }, []));\n }\n return requests;\n },\n\n getOrderedParams: function(params) {\n const containsTgV = /^tg_v/\n const containsTgI = /^tg_i/\n const containsUId = /^eid_|^tpid_/\n\n const orderedParams = [\n 'account_id',\n 'site_id',\n 'zone_id',\n 'size_id',\n 'alt_size_ids',\n 'p_pos',\n 'gdpr',\n 'gdpr_consent',\n 'us_privacy',\n 'gpp',\n 'gpp_sid',\n 'rp_schain',\n ].concat(Object.keys(params).filter(item => containsUId.test(item)))\n .concat([\n 'x_liverampidl',\n 'ppuid',\n 'rf',\n 'p_geo.latitude',\n 'p_geo.longitude',\n 'kw'\n ]).concat(Object.keys(params).filter(item => containsTgV.test(item)))\n .concat(Object.keys(params).filter(item => containsTgI.test(item)))\n .concat([\n 'tk_flint',\n 'x_source.tid',\n 'l_pb_bid_id',\n 'p_screen_res',\n 'o_ae',\n 'o_cdep',\n 'rp_floor',\n 'rp_secure',\n 'tk_user_key'\n ]);\n\n return orderedParams.concat(Object.keys(params).filter(item => (orderedParams.indexOf(item) === -1)));\n },\n\n /**\n * @summary combines param values from an array of slots into a single semicolon delineated value\n * or just one value if they are all the same.\n * @param {Object[]} aSlotUrlParams - example [{p1: 'foo', p2: 'test'}, {p2: 'test'}, {p1: 'bar', p2: 'test'}]\n * @return {Object} - example {p1: 'foo;;bar', p2: 'test'}\n */\n combineSlotUrlParams: function(aSlotUrlParams) {\n // if only have params for one slot, return those params\n if (aSlotUrlParams.length === 1) {\n return aSlotUrlParams[0];\n }\n\n // reduce param values from all slot objects into an array of values in a single object\n const oCombinedSlotUrlParams = aSlotUrlParams.reduce(function(oCombinedParams, oSlotUrlParams, iIndex) {\n Object.keys(oSlotUrlParams).forEach(function(param) {\n if (!oCombinedParams.hasOwnProperty(param)) {\n oCombinedParams[param] = new Array(aSlotUrlParams.length); // initialize array;\n }\n // insert into the proper element of the array\n oCombinedParams[param].splice(iIndex, 1, oSlotUrlParams[param]);\n });\n\n return oCombinedParams;\n }, {});\n\n // convert arrays into semicolon delimited strings\n const re = new RegExp('^([^;]*)(;\\\\1)+$'); // regex to test for duplication\n\n Object.keys(oCombinedSlotUrlParams).forEach(function(param) {\n const sValues = oCombinedSlotUrlParams[param].join(';');\n // consolidate param values into one value if they are all the same\n const match = sValues.match(re);\n oCombinedSlotUrlParams[param] = match ? match[1] : sValues;\n });\n\n return oCombinedSlotUrlParams;\n },\n\n /**\n * @param {BidRequest} bidRequest\n * @param {Object} bidderRequest\n * @returns {Object} - object key values named and formatted as slot params\n */\n createSlotParams: function(bidRequest, bidderRequest) {\n bidRequest.startTime = new Date().getTime();\n\n const params = bidRequest.params;\n\n // use rubicon sizes if provided, otherwise adUnit.sizes\n const parsedSizes = parseSizes(bidRequest, 'banner');\n\n const [latitude, longitude] = params.latLong || [];\n\n const data = {\n 'account_id': params.accountId,\n 'site_id': params.siteId,\n 'zone_id': params.zoneId,\n 'size_id': parsedSizes[0],\n 'alt_size_ids': parsedSizes.slice(1).join(',') || undefined,\n 'rp_floor': (params.floor = parseFloat(params.floor)) >= 0.01 ? params.floor : undefined,\n 'rp_secure': '1',\n 'tk_flint': `${rubiConf.int_type || DEFAULT_INTEGRATION}_v$prebid.version$`,\n 'x_source.tid': bidderRequest.ortb2?.source?.tid,\n 'x_imp.ext.tid': bidRequest.ortb2Imp?.ext?.tid,\n 'l_pb_bid_id': bidRequest.bidId,\n 'o_cdep': bidRequest.ortb2?.device?.ext?.cdep,\n 'ip': bidRequest.ortb2?.device?.ip,\n 'ipv6': bidRequest.ortb2?.device?.ipv6,\n 'p_screen_res': _getScreenResolution(),\n 'tk_user_key': params.userId,\n 'p_geo.latitude': isNaN(parseFloat(latitude)) ? undefined : parseFloat(latitude).toFixed(4),\n 'p_geo.longitude': isNaN(parseFloat(longitude)) ? undefined : parseFloat(longitude).toFixed(4),\n 'tg_fl.eid': bidRequest.code,\n 'rf': _getPageUrl(bidRequest, bidderRequest)\n };\n\n // If floors module is enabled and we get USD floor back, send it in rp_hard_floor else undfined\n if (typeof bidRequest.getFloor === 'function' && !rubiConf.disableFloors) {\n let floorInfo;\n try {\n floorInfo = bidRequest.getFloor({\n currency: 'USD',\n mediaType: 'banner',\n size: '*'\n });\n } catch (e) {\n logError('Rubicon: getFloor threw an error: ', e);\n }\n data['rp_hard_floor'] = isPlainObject(floorInfo) && floorInfo.currency === 'USD' && !isNaN(parseInt(floorInfo.floor)) ? floorInfo.floor : undefined;\n }\n\n // Send multiformat data if requested\n if (params.bidonmultiformat === true && deepAccess(bidRequest, 'mediaTypes') && Object.keys(bidRequest.mediaTypes).length > 1) {\n data['p_formats'] = Object.keys(bidRequest.mediaTypes).join(',');\n }\n\n // add p_pos only if specified and valid\n // For SRA we need to explicitly put empty semi colons so AE treats it as empty, instead of copying the latter value\n const posMapping = {1: 'atf', 3: 'btf'};\n const pos = posMapping[deepAccess(bidRequest, 'mediaTypes.banner.pos')] || '';\n data['p_pos'] = (params.position === 'atf' || params.position === 'btf') ? params.position : pos;\n\n // pass publisher provided userId if configured\n const configUserId = config.getConfig('user.id');\n if (configUserId) {\n data['ppuid'] = configUserId;\n }\n\n if (bidRequest?.ortb2Imp?.ext?.ae) {\n data['o_ae'] = 1;\n }\n // If the bid request contains a 'mobile' property under 'ortb2.site', add it to 'data' as 'p_site.mobile'.\n if (typeof bidRequest?.ortb2?.site?.mobile === 'number') {\n data['p_site.mobile'] = bidRequest.ortb2.site.mobile\n }\n\n addDesiredSegtaxes(bidderRequest, data);\n // loop through userIds and add to request\n if (bidRequest?.ortb2?.user?.ext?.eids) {\n bidRequest.ortb2.user.ext.eids.forEach(({ source, uids = [], inserter, matcher, mm, ext = {} }) => {\n try {\n // Ensure there is at least one valid UID in the 'uids' array\n const uidData = uids[0];\n if (!uidData) return; // Skip processing if no valid UID exists\n\n // Function to build the EID value in the required format\n const buildEidValue = (uidData) => [\n uidData.id, // uid: The user ID\n uidData.atype || '',\n '', // third: Always empty, as specified in the requirement\n inserter || '',\n matcher || '',\n mm || '',\n uidData?.ext?.rtiPartner || uidData?.ext?.rtipartner || ''\n ].join('^'); // Return a single string formatted with '^' delimiter\n\n const eidValue = buildEidValue(uidData); // Build the EID value string\n\n // Store the constructed EID value for the given source\n data[`eid_${source}`] = eidValue;\n\n // Handle the \"ppuid\" signal, ensuring it is set only once\n if (!data['ppuid']) {\n // Search for a UID with the 'stype' field equal to 'ppuid' in its extension\n const ppId = uids.find(uid => uid.ext?.stype === 'ppuid');\n if (ppId?.id) {\n data['ppuid'] = ppId.id; // Store the ppuid if found\n }\n }\n } catch (e) {\n // Log any errors encountered during processing\n logWarn('Rubicon: error reading eid:', { source, uids }, e);\n }\n });\n }\n\n if (bidderRequest.gdprConsent) {\n // add 'gdpr' only if 'gdprApplies' is defined\n if (typeof bidderRequest.gdprConsent.gdprApplies === 'boolean') {\n data['gdpr'] = Number(bidderRequest.gdprConsent.gdprApplies);\n }\n data['gdpr_consent'] = bidderRequest.gdprConsent.consentString;\n }\n\n if (bidderRequest.uspConsent) {\n data['us_privacy'] = encodeURIComponent(bidderRequest.uspConsent);\n }\n\n if (bidderRequest.gppConsent?.gppString) {\n data['gpp'] = bidderRequest.gppConsent.gppString;\n data['gpp_sid'] = bidderRequest.gppConsent?.applicableSections?.toString();\n }\n\n data['rp_maxbids'] = bidderRequest.bidLimit;\n\n applyFPD(bidRequest, BANNER, data);\n\n if (config.getConfig('coppa') === true) {\n data['coppa'] = 1;\n }\n\n // if SupplyChain is supplied and contains all required fields\n const schain = bidRequest?.ortb2?.source?.ext?.schain;\n if (schain && hasValidSupplyChainParams(schain)) {\n data.rp_schain = spec.serializeSupplyChain(schain);\n }\n\n return data;\n },\n\n /**\n * Serializes schain params according to OpenRTB requirements\n * @param {Object} supplyChain\n * @returns {String}\n */\n serializeSupplyChain: function (supplyChain) {\n const supplyChainIsValid = hasValidSupplyChainParams(supplyChain);\n if (!supplyChainIsValid) return '';\n const { ver, complete, nodes } = supplyChain;\n return `${ver},${complete}!${spec.serializeSupplyChainNodes(nodes)}`;\n },\n\n /**\n * Properly sorts schain object params\n * @param {Array} nodes\n * @returns {String}\n */\n serializeSupplyChainNodes: function (nodes) {\n const nodePropOrder = ['asi', 'sid', 'hp', 'rid', 'name', 'domain'];\n return nodes.map(node => {\n return nodePropOrder.map(prop => encodeURIComponent(node[prop] || '')).join(',');\n }).join('!');\n },\n\n /**\n * @param {*} responseObj\n * @param {BidRequest|Object.<string, BidRequest[]>} request - if request was SRA the bidRequest argument will be a keyed BidRequest array object,\n * non-SRA responses return a plain BidRequest object\n * @return {{fledgeAuctionConfigs: *, bids: *}} An array of bids which\n */\n interpretResponse: function (responseObj, request) {\n responseObj = responseObj.body;\n const {data} = request;\n\n // check overall response\n if (!responseObj || typeof responseObj !== 'object') {\n return [];\n }\n // Response from PBS Java openRTB\n if (responseObj.seatbid) {\n const responseErrors = deepAccess(responseObj, 'ext.errors.rubicon');\n if (Array.isArray(responseErrors) && responseErrors.length > 0) {\n logWarn('Rubicon: Error in video response');\n }\n const bids = converter.fromORTB({request: data, response: responseObj}).bids;\n return bids;\n }\n\n let ads = responseObj.ads;\n let lastImpId;\n let multibid = 0;\n const {bidRequest} = request;\n\n // video ads array is wrapped in an object\n if (typeof bidRequest === 'object' && !Array.isArray(bidRequest) && bidType(bidRequest).includes(VIDEO) && typeof ads === 'object') {\n ads = ads[bidRequest.adUnitCode];\n }\n\n // check the ad response\n if (!Array.isArray(ads) || ads.length < 1) {\n return [];\n }\n\n const bids = ads.reduce((bids, ad, i) => {\n (ad.impression_id && lastImpId === ad.impression_id) ? multibid++ : lastImpId = ad.impression_id;\n\n if (ad.status !== 'ok') {\n return bids;\n }\n\n // associate bidRequests; assuming ads matches bidRequest\n const associatedBidRequest = Array.isArray(bidRequest) ? bidRequest[i - multibid] : bidRequest;\n\n if (associatedBidRequest && typeof associatedBidRequest === 'object') {\n const bid = {\n requestId: associatedBidRequest.bidId,\n currency: 'USD',\n creativeId: ad.creative_id || `${ad.network || ''}-${ad.advertiser || ''}`,\n cpm: ad.cpm || 0,\n dealId: ad.deal,\n ttl: 360, // 6 minutes\n netRevenue: rubiConf.netRevenue !== false, // If anything other than false, netRev is true\n rubicon: {\n advertiserId: ad.advertiser, networkId: ad.network\n },\n meta: {\n advertiserId: ad.advertiser, networkId: ad.network, mediaType: BANNER\n }\n };\n\n if (ad.creative_type) {\n bid.mediaType = ad.creative_type;\n }\n\n if (ad.dsa && Object.keys(ad.dsa).length) {\n bid.meta.dsa = ad.dsa;\n }\n\n if (ad.adomain) {\n bid.meta.advertiserDomains = Array.isArray(ad.adomain) ? ad.adomain : [ad.adomain];\n }\n\n if (ad.emulated_format) {\n bid.meta.mediaType = ad.emulated_format;\n }\n\n if (ad.creative_type === VIDEO) {\n bid.width = associatedBidRequest.params.video.playerWidth;\n bid.height = associatedBidRequest.params.video.playerHeight;\n bid.vastUrl = ad.creative_depot_url;\n bid.impression_id = ad.impression_id;\n bid.videoCacheKey = ad.impression_id;\n } else {\n bid.ad = _renderCreative(ad.script, ad.impression_id);\n [bid.width, bid.height] = sizeMap[ad.size_id].split('x').map(num => Number(num));\n }\n\n // add server-side targeting\n bid.rubiconTargeting = (Array.isArray(ad.targeting) ? ad.targeting : [])\n .reduce((memo, item) => {\n memo[item.key] = item.values[0];\n return memo;\n }, {'rpfl_elemid': associatedBidRequest.adUnitCode});\n\n bids.push(bid);\n } else {\n logError(`Rubicon: bidRequest undefined at index position:${i}`, bidRequest, responseObj);\n }\n return bids;\n }, []).sort((adA, adB) => {\n return (adB.cpm || 0.0) - (adA.cpm || 0.0);\n });\n\n const fledgeAuctionConfigs = responseObj.component_auction_config?.map(config => {\n return { config, bidId: config.bidId }\n });\n\n if (fledgeAuctionConfigs) {\n return { bids, paapi: fledgeAuctionConfigs };\n } else {\n return bids;\n }\n },\n getUserSyncs: function (syncOptions, responses, gdprConsent, uspConsent, gppConsent) {\n if (!hasSynced && syncOptions.iframeEnabled) {\n // data is only assigned if params are available to pass to syncEndpoint\n let params = getUserSyncParams(gdprConsent, uspConsent, gppConsent);\n params = Object.keys(params).length ? `?${formatQS(params)}` : '';\n\n hasSynced = true;\n return {\n type: 'iframe',\n url: `https://${rubiConf.syncHost || 'eus'}.rubiconproject.com/usync.html` + params\n };\n }\n }\n};\n\nfunction _getScreenResolution() {\n return [window.screen.width, window.screen.height].join('x');\n}\n\n/**\n * @param {BidRequest} bidRequest\n * @param bidderRequest\n * @returns {string}\n */\nfunction _getPageUrl(bidRequest, bidderRequest) {\n let pageUrl;\n if (bidRequest.params.referrer) {\n pageUrl = bidRequest.params.referrer;\n } else {\n pageUrl = bidderRequest.refererInfo.page;\n }\n return bidRequest.params.secure ? pageUrl.replace(/^http:/i, 'https:') : pageUrl;\n}\n\nfunction _renderCreative(script, impId) {\n return `<html>\n<head><script type='text/javascript'>inDapIF=true;</script></head>\n<body style='margin : 0; padding: 0;'>\n<!-- Rubicon Project Ad Tag -->\n<div data-rp-impression-id='${impId}'>\n<script type='text/javascript'>${script}</script>\n</div>\n</body>\n</html>`;\n}\n\nfunction hideGoogleAdsDiv(adUnit) {\n const el = adUnit.querySelector(\"div[id^='google_ads']\");\n if (el) {\n el.style.setProperty('display', 'none');\n }\n}\n\nfunction hideSmartAdServerIframe(adUnit) {\n const el = adUnit.querySelector(\"script[id^='sas_script']\");\n const nextSibling = el && el.nextSibling;\n if (nextSibling && nextSibling.localName === 'iframe') {\n nextSibling.style.setProperty('display', 'none');\n }\n}\n\nfunction renderBid(bid) {\n // hide existing ad units\n const adUnitElement = document.getElementById(bid.adUnitCode);\n hideGoogleAdsDiv(adUnitElement);\n hideSmartAdServerIframe(adUnitElement);\n\n // configure renderer\n const defaultConfig = {\n align: 'center',\n position: 'append',\n closeButton: false,\n label: undefined,\n collapse: true\n };\n const config = { ...defaultConfig, ...bid.renderer.getConfig() };\n bid.renderer.push(() => {\n window.MagniteApex.renderAd({\n width: bid.width,\n height: bid.height,\n vastUrl: bid.vastUrl,\n placement: {\n attachTo: `#${bid.adUnitCode}`,\n align: config.align,\n position: config.position\n },\n closeButton: config.closeButton,\n label: config.label,\n collapse: config.collapse\n });\n });\n}\n\nfunction outstreamRenderer(rtbBid) {\n const renderer = Renderer.install({\n id: rtbBid.adId,\n url: rubiConf.rendererUrl || DEFAULT_RENDERER_URL,\n config: rubiConf.rendererConfig || {},\n loaded: false,\n adUnitCode: rtbBid.adUnitCode\n });\n\n try {\n renderer.setRender(renderBid);\n } catch (err) {\n logWarn('Prebid Error calling setRender on renderer', err);\n }\n\n return renderer;\n}\n\nfunction parseSizes(bid, mediaType) {\n const params = bid.params;\n if (mediaType === VIDEO) {\n let size = [];\n if (params.video && params.video.playerWidth && params.video.playerHeight) {\n size = [\n params.video.playerWidth,\n params.video.playerHeight\n ];\n } else if (Array.isArray(deepAccess(bid, 'mediaTypes.video.playerSize')) && bid.mediaTypes.video.playerSize.length === 1) {\n size = bid.mediaTypes.video.playerSize[0];\n } else if (Array.isArray(bid.sizes) && bid.sizes.length > 0 && Array.isArray(bid.sizes[0]) && bid.sizes[0].length > 1) {\n size = bid.sizes[0];\n }\n return size;\n }\n\n // deprecated: temp legacy support\n let sizes = [];\n if (Array.isArray(params.sizes)) {\n sizes = params.sizes;\n } else if (typeof deepAccess(bid, 'mediaTypes.banner.sizes') !== 'undefined') {\n sizes = mapSizes(bid.mediaTypes.banner.sizes);\n } else if (Array.isArray(bid.sizes) && bid.sizes.length > 0) {\n sizes = mapSizes(bid.sizes);\n } else {\n logWarn('Rubicon: no sizes are setup or found');\n }\n\n return masSizeOrdering(sizes);\n}\n\nfunction applyFPD(bidRequest, mediaType, data) {\n const BID_FPD = {\n user: {ext: {data: {...bidRequest.params.visitor}}},\n site: {ext: {data: {...bidRequest.params.inventory}}}\n };\n\n if (bidRequest.params.keywords) BID_FPD.site.keywords = (isArray(bidRequest.params.keywords)) ? bidRequest.params.keywords.join(',') : bidRequest.params.keywords;\n\n const fpd = mergeDeep({}, bidRequest.ortb2 || {}, BID_FPD);\n const impExt = deepAccess(bidRequest.ortb2Imp, 'ext') || {};\n const impExtData = deepAccess(bidRequest.ortb2Imp, 'ext.data') || {};\n\n const gpid = deepAccess(bidRequest, 'ortb2Imp.ext.gpid');\n const dsa = deepAccess(fpd, 'regs.ext.dsa');\n const SEGTAX = {user: [4], site: [1, 2, 5, 6, 7]};\n const MAP = {user: 'tg_v.', site: 'tg_i.', adserver: 'tg_i.dfp_ad_unit_code', pbadslot: 'tg_i.pbadslot', keywords: 'kw'};\n const validate = function(prop, key, parentName) {\n if (key === 'data' && Array.isArray(prop)) {\n return prop.filter(name => name.segment && deepAccess(name, 'ext.segtax') && SEGTAX[parentName] &&\n SEGTAX[parentName].indexOf(deepAccess(name, 'ext.segtax')) !== -1).map(value => {\n const segments = value.segment.filter(obj => obj.id).reduce((result, obj) => {\n result.push(obj.id);\n return result;\n }, []);\n if (segments.length > 0) return segments.toString();\n }).toString();\n } else if (typeof prop === 'object' && !Array.isArray(prop)) {\n return undefined;\n } else if (typeof prop !== 'undefined') {\n return (Array.isArray(prop)) ? prop.filter(value => {\n if (typeof value !== 'object' && typeof value !== 'undefined') return value.toString();\n\n logWarn('Rubicon: Filtered value: ', value, 'for key', key, ': Expected value to be string, integer, or an array of strings/ints');\n }).toString() : prop.toString();\n }\n };\n const addBannerData = function(obj, name, key, isParent = true) {\n const val = validate(obj, key, name);\n const loc = (MAP[key] && isParent) ? `${MAP[key]}` : (key === 'data') ? `${MAP[name]}iab` : `${MAP[name]}${key}`;\n data[loc] = (data[loc]) ? data[loc].concat(',', val) : val;\n };\n\n if (mediaType === BANNER) {\n ['site', 'user'].forEach(name => {\n Object.keys(fpd[name]).forEach((key) => {\n if (name === 'site' && key === 'content' && fpd[name][key].data) {\n addBannerData(fpd[name][key].data, name, 'data');\n } else if (key !== 'ext') {\n addBannerData(fpd[name][key], name, key);\n } else if (fpd[name][key].data) {\n Object.keys(fpd[name].ext.data).forEach((key) => {\n addBannerData(fpd[name].ext.data[key], name, key, false);\n });\n }\n });\n });\n Object.keys(impExtData).forEach((key) => {\n if (key !== 'adserver') {\n addBannerData(impExtData[key], 'site', key);\n } else if (impExtData[key].name === 'gam') {\n addBannerData(impExtData[key].adslot, name, key)\n }\n });\n\n // add in gpid\n if (gpid) {\n data['p_gpid'] = gpid;\n }\n\n // add dsa signals\n if (dsa && Object.keys(dsa).length) {\n pick(dsa, [\n 'dsainfo', (dsainfo) => data['dsainfo'] = dsainfo,\n 'dsarequired', (required) => data['dsarequired'] = required,\n 'pubrender', (pubrender) => data['dsapubrender'] = pubrender,\n 'datatopub', (datatopub) => data['dsadatatopubs'] = datatopub,\n 'transparency', (transparency) => {\n if (Array.isArray(transparency) && transparency.length) {\n data['dsatransparency'] = transparency.reduce((param, transp) => {\n // make sure domain is there, otherwise skip entry\n const domain = transp.domain || '';\n if (!domain) {\n return param;\n }\n\n // make sure dsaParam array is there (try both 'dsaparams' and 'params', but prefer dsaparams)\n const dsaParamArray = transp.dsaparams || transp.params;\n if (!Array.isArray(dsaParamArray) || dsaParamArray.length === 0) {\n return param;\n }\n\n // finally we will add this one, if param has been added already, add our separator\n if (param) {\n param += '~~'\n }\n\n return param += `${domain}~${dsaParamArray.join('_')}`;\n }, '');\n }\n }\n ])\n }\n\n // only send one of pbadslot or dfp adunit code (prefer pbadslot)\n if (data['tg_i.pbadslot']) {\n delete data['tg_i.dfp_ad_unit_code'];\n }\n\n // High Entropy stuff -> sua object is the ORTB standard (default to pass unless specifically disabled)\n const clientHints = deepAccess(fpd, 'device.sua');\n if (clientHints && rubiConf.chEnabled !== false) {\n // pick out client hints we want to send (any that are undefined or empty will NOT be sent)\n pick(clientHints, [\n 'architecture', arch => data.m_ch_arch = arch,\n 'bitness', bitness => data.m_ch_bitness = bitness,\n 'browsers', browsers => {\n if (!Array.isArray(browsers)) return;\n // reduce down into ua and full version list attributes\n const [ua, fullVer] = browsers.reduce((accum, browserData) => {\n accum[0].push(`\"${browserData?.brand}\"|v=\"${browserData?.version?.[0]}\"`);\n // only set fullVer if long enough\n if (browserData?.version?.length > 1) {\n accum[1].push(`\"${browserData?.brand}\"|v=\"${browserData?.version?.join?.('.')}\"`);\n }\n return accum;\n }, [[], []]);\n data.m_ch_ua = ua?.join?.(',');\n data.m_ch_full_ver = fullVer?.join?.(',');\n },\n 'mobile', isMobile => data.m_ch_mobile = `?${isMobile}`,\n 'model', model => data.m_ch_model = model,\n 'platform', platform => {\n data.m_ch_platform = platform?.brand;\n data.m_ch_platform_ver = platform?.version?.join?.('.');\n }\n ])\n }\n } else {\n if (Object.keys(impExt).length) {\n mergeDeep(data.imp[0].ext, impExt);\n }\n // add in gpid\n if (gpid) {\n data.imp[0].ext.gpid = gpid;\n }\n\n mergeDeep(data, fpd);\n }\n}\n\nfunction addDesiredSegtaxes(bidderRequest, target) {\n if (rubiConf.readTopics === false) {\n return;\n }\n const iSegments = [1, 2, 5, 6, 7, 507].concat(rubiConf.sendSiteSegtax?.map(seg => Number(seg)) || []);\n const vSegments = [4, 508].concat(rubiConf.sendUserSegtax?.map(seg => Number(seg)) || []);\n const userData = bidderRequest.ortb2?.user?.data || [];\n const siteData = bidderRequest.ortb2?.site?.content?.data || [];\n userData.forEach(iterateOverSegmentData(target, 'v', vSegments));\n siteData.forEach(iterateOverSegmentData(target, 'i', iSegments));\n}\n\nfunction iterateOverSegmentData(target, char, segments) {\n return (topic) => {\n const taxonomy = Number(topic.ext?.segtax);\n if (segments.includes(taxonomy)) {\n target[`tg_${char}.tax${taxonomy}`] = topic.segment?.map(seg => seg.id).join(',');\n }\n }\n}\n\n/**\n * @param sizes\n * @returns {*}\n */\nfunction mapSizes(sizes) {\n return parseSizesInput(sizes)\n // map sizes while excluding non-matches\n .reduce((result, size) => {\n const mappedSize = parseInt(sizeMap[size], 10);\n if (mappedSize) {\n result.push(mappedSize);\n }\n return result;\n }, []);\n}\n\n/**\n * Test if bid has mediaType or mediaTypes set for video.\n * Also checks if the video object is present in the rubicon bidder params\n * @param {BidRequest} bidRequest\n * @returns {boolean}\n */\nexport function classifiedAsVideo(bidRequest) {\n let isVideo = typeof deepAccess(bidRequest, `mediaTypes.${VIDEO}`) !== 'undefined';\n const isBanner = typeof deepAccess(bidRequest, `mediaTypes.${BANNER}`) !== 'undefined';\n const isBidOnMultiformat = typeof deepAccess(bidRequest, `params.bidonmultiformat`) !== 'undefined';\n const isMissingVideoParams = typeof deepAccess(bidRequest, 'params.video') !== 'object';\n // If an ad has both video and banner types, a legacy implementation allows choosing video over banner\n // based on whether or not there is a video object defined in the params\n // Given this legacy implementation, other code depends on params.video being defined\n\n // if it's bidonmultiformat, we don't care of the video object\n if (isVideo && isBidOnMultiformat) return true;\n\n if (isBanner && isMissingVideoParams) {\n isVideo = false;\n }\n if (isVideo && isMissingVideoParams) {\n deepSetValue(bidRequest, 'params.video', {});\n }\n return isVideo;\n}\n\n/**\n * Determine bidRequest mediaTypes. All mediaTypes must be correct. If one fails, all the others will fail too.\n * @param bid the bid to test\n * @param log boolean. whether we should log errors/warnings for invalid bids\n * @returns {string|undefined} Returns an array containing one of 'video' or 'banner' or 'native' if resolves to a type.\n */\nfunction bidType(bid, log = false) {\n // Is it considered video ad unit by rubicon\n const bidTypes = [];\n if (classifiedAsVideo(bid)) {\n // Removed legacy mediaType support. new way using mediaTypes.video object is now required\n // We require either context as instream or outstream\n if (['outstream', 'instream'].indexOf(deepAccess(bid, `mediaTypes.${VIDEO}.context`)) === -1) {\n if (log) {\n logError('Rubicon: mediaTypes.video.context must be outstream or instream');\n }\n return bidTypes;\n }\n\n // we require playerWidth and playerHeight to come from one of params.playerWidth/playerHeight or mediaTypes.video.playerSize or adUnit.sizes\n if (parseSizes(bid, VIDEO).length < 2) {\n if (log) {\n logError('Rubicon: could not determine the playerSize of the video');\n }\n return bidTypes;\n }\n\n if (log) {\n logMessage('Rubicon: making video request for adUnit', bid.adUnitCode);\n }\n bidTypes.push(VIDEO);\n }\n if (typeof deepAccess(bid, `mediaTypes.${NATIVE}`) !== 'undefined') {\n bidTypes.push(NATIVE);\n }\n\n if (typeof deepAccess(bid, `mediaTypes.${BANNER}`) !== 'undefined') {\n // we require banner sizes to come from one of params.sizes or mediaTypes.banner.sizes or adUnit.sizes, in that order\n // if we cannot determine them, we reject it!\n if (parseSizes(bid, BANNER).length === 0) {\n if (log) {\n logError('Rubicon: could not determine the sizes for banner request');\n }\n return bidTypes;\n }\n\n // everything looks good for banner so lets do it\n if (log) {\n logMessage('Rubicon: making banner request for adUnit', bid.adUnitCode);\n }\n bidTypes.push(BANNER);\n }\n return bidTypes;\n}\n\nexport const resetRubiConf = () => rubiConf = {};\nexport const resetImpIdMap = () => impIdMap = {};\nexport function masSizeOrdering(sizes) {\n const MAS_SIZE_PRIORITY = [15, 2, 9];\n\n return sizes.sort((first, second) => {\n // sort by MAS_SIZE_PRIORITY priority order\n const firstPriority = MAS_SIZE_PRIORITY.indexOf(first);\n const secondPriority = MAS_SIZE_PRIORITY.indexOf(second);\n\n if (firstPriority > -1 || secondPriority > -1) {\n if (firstPriority === -1) {\n return 1;\n }\n if (secondPriority === -1) {\n return -1;\n }\n return firstPriority - secondPriority;\n }\n\n // and finally ascending order\n return first - second;\n });\n}\n\nexport function determineRubiconVideoSizeId(bid) {\n // If we have size_id in the bid then use it\n const rubiconSizeId = parseInt(deepAccess(bid, 'params.video.size_id'));\n if (!isNaN(rubiconSizeId)) {\n return rubiconSizeId;\n }\n // otherwise 203 for outstream and 201 for instream\n // When this function is used we know it has to be one of outstream or instream\n return deepAccess(bid, `mediaTypes.${VIDEO}.context`) === 'outstream' ? 203 : 201;\n}\n\n/**\n * @param {Object} config\n * @returns {{ranges: {ranges: Object[]}}}\n */\nexport function getPriceGranularity(config) {\n return {\n ranges: {\n low: [{max: 5.00, increment: 0.50}],\n medium: [{max: 20.00, increment: 0.10}],\n high: [{max: 20.00, increment: 0.01}],\n auto: [\n {max: 5.00, increment: 0.05},\n {min: 5.00, max: 10.00, increment: 0.10},\n {min: 10.00, max: 20.00, increment: 0.50}\n ],\n dense: [\n {max: 3.00, increment: 0.01},\n {min: 3.00, max: 8.00, increment: 0.05},\n {min: 8.00, max: 20.00, increment: 0.50}\n ],\n custom: config.getConfig('customPriceBucket') && config.getConfig('customPriceBucket').buckets\n }[config.getConfig('priceGranularity')]\n };\n}\n\n// Function to validate the required video params\nexport function hasValidVideoParams(bid) {\n let isValid = true;\n // incase future javascript changes the string represenation of the array or number classes!\n const arrayType = Object.prototype.toString.call([]);\n const numberType = Object.prototype.toString.call(0);\n // required params and their associated object type\n var requiredParams = {\n mimes: arrayType,\n protocols: arrayType,\n linearity: numberType\n }\n // loop through each param and verify it has the correct\n Object.keys(requiredParams).forEach(function(param) {\n if (Object.prototype.toString.call(deepAccess(bid, 'mediaTypes.video.' + param)) !== requiredParams[param]) {\n isValid = false;\n logError('Rubicon: mediaTypes.video.' + param + ' is required and must be of type: ' + requiredParams[param]);\n }\n })\n return isValid;\n}\n\n/**\n * Make sure the required params are present\n * @param {Object} schain\n */\nexport function hasValidSupplyChainParams(schain) {\n let isValid = false;\n const requiredFields = ['asi', 'sid', 'hp'];\n if (!schain.nodes) return isValid;\n isValid = schain.nodes.reduce((status, node) => {\n if (!status) return status;\n return requiredFields.every(field => node.hasOwnProperty(field));\n }, true);\n if (!isValid) logError('Rubicon: required schain params missing');\n return isValid;\n}\n\n/**\n * Creates a URL key value param, encoding the param unless the key is schain\n * @param {String} key\n * @param {String} param\n * @returns {String}\n */\nexport function encodeParam(key, param) {\n if (key === 'rp_schain') return `rp_schain=${param}`;\n return `${key}=${encodeURIComponent(param)}`;\n}\n\n/**\n * split array into multiple arrays of defined size\n * @param {Array} array\n * @param {number} size\n * @returns {Array}\n */\nfunction partitionArray(array, size) {\n return array.map((e, i) => (i % size === 0) ? array.slice(i, i + size) : null).filter((e) => e)\n}\n\nvar hasSynced = false;\n\nexport function resetUserSync() {\n hasSynced = false;\n}\n\n/**\n * Sets the floor on the bidRequest. imp.bidfloor and imp.bidfloorcur\n * should be already set by the conversion library. if they're not,\n * or invalid, try to read from params.floor.\n * @param {*} bidRequest\n * @param {*} imp\n */\nfunction setBidFloors(bidRequest, imp) {\n if (imp.bidfloorcur != 'USD') {\n delete imp.bidfloor;\n delete imp.bidfloorcur;\n }\n\n if (!imp.bidfloor) {\n const bidFloor = parseFloat(deepAccess(bidRequest, 'params.floor'));\n\n if (!isNaN(bidFloor)) {\n imp.bidfloor = bidFloor;\n imp.bidfloorcur = 'USD';\n }\n }\n}\n\nfunction addOrtbFirstPartyData(data, nonBannerRequests, ortb2) {\n let fpd = {};\n const keywords = getAllOrtbKeywords(ortb2, ...nonBannerRequests.map(req => req.params.keywords))\n nonBannerRequests.forEach(bidRequest => {\n const bidFirstPartyData = {\n user: {ext: {data: {...bidRequest.params.visitor}}},\n site: {ext: {data: {...bidRequest.params.inventory}}}\n };\n\n // add site.content.language\n const impThatHasVideoLanguage = data.imp.find(imp => imp.ext?.prebid?.bidder?.rubicon?.video?.language);\n if (impThatHasVideoLanguage) {\n bidFirstPartyData.site.content = {\n language: impThatHasVideoLanguage.ext?.prebid?.bidder?.rubicon?.video?.language\n }\n }\n\n fpd = mergeDeep(fpd, bidRequest.ortb2 || {}, bidFirstPartyData);\n\n // add user.id from config.\n // NOTE: This is DEPRECATED. user.id should come from setConfig({ortb2}).\n const configUserId = config.getConfig('user.id');\n fpd.user.id = fpd.user.id || configUserId;\n });\n\n mergeDeep(data, fpd);\n\n if (keywords && keywords.length) {\n deepSetValue(data, 'site.keywords', keywords.join(','));\n }\n delete data?.ext?.prebid?.storedrequest;\n}\n\nregisterBidder(spec);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"rubiconBidAdapter.js","names":["registerModule","__r0","ortbConverter","pbsExtensions","registerBidder","config","BANNER","NATIVE","VIDEO","getGlobal","Renderer","deepAccess","deepSetValue","formatQS","isArray","isNumber","isStr","logError","logMessage","logWarn","mergeDeep","parseSizesInput","pick","_each","isPlainObject","getAllOrtbKeywords","getUserSyncParams","DEFAULT_INTEGRATION","DEFAULT_PBS_INTEGRATION","DEFAULT_RENDERER_URL","rubiConf","getConfig","rubicon","GVLID","impIdMap","sizeMap","item","key","converter","request","buildRequest","imps","bidderRequest","context","bidRequests","data","cur","test","vastxml","returnCreative","returnVast","integration","int_type","getPriceGranularity","modules","installedModules","length","indexOf","addOrtbFirstPartyData","ortb2","ext","prebid","storedrequest","disableFloors","floors","haveFloorDataBidRequests","filter","bidRequest","floorData","enabled","imp","buildImp","bidRequestType","bidType","includes","id","adUnitCode","banner","params","position","video","pos","bidonmultiformat","setBidFloors","bidResponse","buildBidResponse","bid","meta","mediaType","parseSizeWidth","parseSizeHeight","mediaTypes","parseSizes","undefined","width","w","playerWidth","height","h","playerHeight","renderer","outstreamRenderer","bidder","rp","advid","netRevenue","ttl","processors","spec","code","gvlid","supportedMediaTypes","isBidRequestValid","valid","i","props","parseInt","isNaN","bidFormats","hasValidVideoParams","hasBannerOrNativeMediaType","buildRequests","requests","filteredHttpRequest","filteredRequests","req","toORTB","resetImpIdMap","push","method","url","videoHost","bannerBidRequests","singleRequest","concat","map","bidParams","createSlotParams","bannerHost","getOrderedParams","reduce","paramString","propValue","encodeParam","Math","random","groupedBidRequests","groupedBids","SRA_BID_LIMIT","Object","keys","aggregate","bidGroupKey","partitionArray","forEach","bidsInGroup","combinedSlotParams","combineSlotUrlParams","containsTgV","containsTgI","containsUId","orderedParams","aSlotUrlParams","oCombinedSlotUrlParams","oCombinedParams","oSlotUrlParams","iIndex","param","hasOwnProperty","Array","splice","re","RegExp","sValues","join","match","startTime","Date","getTime","parsedSizes","latitude","longitude","latLong","accountId","siteId","zoneId","slice","floor","parseFloat","source","tid","ortb2Imp","bidId","device","cdep","ip","ipv6","_getScreenResolution","userId","toFixed","_getPageUrl","getFloor","floorInfo","currency","size","e","posMapping","configUserId","ae","site","mobile","addDesiredSegtaxes","user","eids","_ref","uids","inserter","matcher","mm","uidData","buildEidValue","atype","rtiPartner","rtipartner","eidValue","ppId","find","uid","stype","gdprConsent","gdprApplies","Number","consentString","uspConsent","encodeURIComponent","gppConsent","gppString","applicableSections","toString","bidLimit","applyFPD","schain","hasValidSupplyChainParams","rp_schain","serializeSupplyChain","supplyChain","supplyChainIsValid","ver","complete","nodes","serializeSupplyChainNodes","nodePropOrder","node","prop","interpretResponse","responseObj","body","seatbid","responseErrors","bids","fromORTB","response","ads","lastImpId","multibid","ad","impression_id","status","associatedBidRequest","requestId","creativeId","creative_id","network","advertiser","cpm","dealId","deal","advertiserId","networkId","creative_type","dsa","adomain","advertiserDomains","emulated_format","vastUrl","creative_depot_url","videoCacheKey","_renderCreative","script","size_id","split","num","rubiconTargeting","targeting","memo","values","sort","adA","adB","fledgeAuctionConfigs","component_auction_config","paapi","getUserSyncs","syncOptions","responses","hasSynced","iframeEnabled","type","syncHost","window","screen","pageUrl","referrer","refererInfo","page","secure","replace","impId","hideGoogleAdsDiv","adUnit","el","querySelector","style","setProperty","hideSmartAdServerIframe","nextSibling","localName","renderBid","adUnitElement","document","getElementById","defaultConfig","align","closeButton","label","collapse","MagniteApex","renderAd","placement","attachTo","rtbBid","install","adId","rendererUrl","rendererConfig","loaded","setRender","err","playerSize","sizes","mapSizes","masSizeOrdering","BID_FPD","visitor","inventory","keywords","fpd","impExt","impExtData","gpid","SEGTAX","MAP","adserver","pbadslot","validate","parentName","name","segment","value","segments","obj","result","addBannerData","isParent","arguments","val","loc","adslot","dsainfo","required","pubrender","datatopub","transparency","transp","domain","dsaParamArray","dsaparams","clientHints","chEnabled","arch","m_ch_arch","bitness","m_ch_bitness","browsers","ua","fullVer","accum","browserData","brand","version","m_ch_ua","m_ch_full_ver","isMobile","m_ch_mobile","model","m_ch_model","platform","m_ch_platform","m_ch_platform_ver","target","readTopics","iSegments","sendSiteSegtax","seg","vSegments","sendUserSegtax","userData","siteData","content","iterateOverSegmentData","char","topic","taxonomy","segtax","mappedSize","classifiedAsVideo","isVideo","isBanner","isBidOnMultiformat","isMissingVideoParams","log","bidTypes","resetRubiConf","MAS_SIZE_PRIORITY","first","second","firstPriority","secondPriority","determineRubiconVideoSizeId","rubiconSizeId","ranges","low","max","increment","medium","high","auto","min","dense","custom","buckets","isValid","arrayType","prototype","call","numberType","requiredParams","mimes","protocols","linearity","requiredFields","every","field","array","resetUserSync","bidfloorcur","bidfloor","bidFloor","nonBannerRequests","bidFirstPartyData","impThatHasVideoLanguage","language"],"sourceRoot":"../../..","sources":["modules/rubiconBidAdapter.js"],"sourcesContent":["import { ortbConverter } from '../libraries/ortbConverter/converter.js';\nimport { pbsExtensions } from '../libraries/pbsExtensions/pbsExtensions.js';\nimport { registerBidder } from '../src/adapters/bidderFactory.js';\nimport { config } from '../src/config.js';\nimport { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';\nimport { getGlobal } from '../src/prebidGlobal.js';\nimport { Renderer } from '../src/Renderer.js';\nimport {\n deepAccess,\n deepSetValue,\n formatQS,\n isArray,\n isNumber,\n isStr,\n logError,\n logMessage,\n logWarn,\n mergeDeep,\n parseSizesInput,\n pick,\n _each,\n isPlainObject\n} from '../src/utils.js';\nimport {getAllOrtbKeywords} from '../libraries/keywords/keywords.js';\nimport {getUserSyncParams} from '../libraries/userSyncUtils/userSyncUtils.js';\n\n/**\n * @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest\n */\n\nconst DEFAULT_INTEGRATION = 'pbjs_lite';\nconst DEFAULT_PBS_INTEGRATION = 'pbjs';\nconst DEFAULT_RENDERER_URL = 'https://video-outstream.rubiconproject.com/apex-2.2.1.js';\n// renderer code at https://github.com/rubicon-project/apex2\n\nlet rubiConf = config.getConfig('rubicon') || {};\n// we are saving these as global to this module so that if a pub accidentally overwrites the entire\n// rubicon object, then we do not lose other data\nconfig.getConfig('rubicon', config => {\n mergeDeep(rubiConf, config.rubicon);\n});\n\nconst GVLID = 52;\n\nlet impIdMap = {};\n\nvar sizeMap = {\n 1: '468x60',\n 2: '728x90',\n 5: '120x90',\n 7: '125x125',\n 8: '120x600',\n 9: '160x600',\n 10: '300x600',\n 13: '200x200',\n 14: '250x250',\n 15: '300x250',\n 16: '336x280',\n 17: '240x400',\n 19: '300x100',\n 31: '980x120',\n 32: '250x360',\n 33: '180x500',\n 35: '980x150',\n 37: '468x400',\n 38: '930x180',\n 39: '750x100',\n 40: '750x200',\n 41: '750x300',\n 42: '2x4',\n 43: '320x50',\n 44: '300x50',\n 48: '300x300',\n 53: '1024x768',\n 54: '300x1050',\n 55: '970x90',\n 57: '970x250',\n 58: '1000x90',\n 59: '320x80',\n 60: '320x150',\n 61: '1000x1000',\n 64: '580x500',\n 65: '640x480',\n 66: '930x600',\n 67: '320x480',\n 68: '1800x1000',\n 72: '320x320',\n 73: '320x160',\n 78: '980x240',\n 79: '980x300',\n 80: '980x400',\n 83: '480x300',\n 85: '300x120',\n 90: '548x150',\n 94: '970x310',\n 95: '970x100',\n 96: '970x210',\n 101: '480x320',\n 102: '768x1024',\n 103: '480x280',\n 105: '250x800',\n 108: '320x240',\n 113: '1000x300',\n 117: '320x100',\n 125: '800x250',\n 126: '200x600',\n 144: '980x600',\n 145: '980x150',\n 152: '1000x250',\n 156: '640x320',\n 159: '320x250',\n 179: '250x600',\n 195: '600x300',\n 198: '640x360',\n 199: '640x200',\n 213: '1030x590',\n 214: '980x360',\n 221: '1x1',\n 229: '320x180',\n 230: '2000x1400',\n 232: '580x400',\n 234: '6x6',\n 251: '2x2',\n 256: '480x820',\n 257: '400x600',\n 258: '500x200',\n 259: '998x200',\n 261: '480x480',\n 264: '970x1000',\n 265: '1920x1080',\n 274: '1800x200',\n 278: '320x500',\n 282: '320x400',\n 288: '640x380',\n 484: '720x1280',\n 524: '1x2',\n 548: '500x1000',\n 550: '980x480',\n 552: '300x200',\n 558: '640x640',\n 562: '300x431',\n 564: '320x431',\n 566: '320x300',\n 568: '300x150',\n 570: '300x125',\n 572: '250x350',\n 574: '620x891',\n 576: '610x877',\n 578: '980x552',\n 580: '505x656',\n 622: '192x160',\n 632: '1200x450',\n 634: '340x450',\n 680: '970x570',\n 682: '300x240',\n 684: '970x550',\n 686: '300x210',\n 688: '300x220',\n 690: '970x170',\n 710: '600x250',\n 712: '340x430'\n};\n\n_each(sizeMap, (item, key) => sizeMap[item] = key);\n\nexport const converter = ortbConverter({\n request(buildRequest, imps, bidderRequest, context) {\n const {bidRequests} = context;\n const data = buildRequest(imps, bidderRequest, context);\n data.cur = ['USD'];\n data.test = config.getConfig('debug') ? 1 : 0;\n deepSetValue(data, 'ext.prebid.cache', {\n vastxml: {\n returnCreative: rubiConf.returnVast === true\n }\n });\n\n deepSetValue(data, 'ext.prebid.bidders', {\n rubicon: {\n integration: rubiConf.int_type || DEFAULT_PBS_INTEGRATION,\n }\n });\n\n deepSetValue(data, 'ext.prebid.targeting.pricegranularity', getPriceGranularity(config));\n\n const modules = (getGlobal()).installedModules;\n if (modules && (!modules.length || modules.indexOf('rubiconAnalyticsAdapter') !== -1)) {\n deepSetValue(data, 'ext.prebid.analytics', {'rubicon': {'client-analytics': true}});\n }\n\n addOrtbFirstPartyData(data, bidRequests, bidderRequest.ortb2);\n\n delete data?.ext?.prebid?.storedrequest;\n\n // floors\n if (rubiConf.disableFloors === true) {\n delete data.ext.prebid.floors;\n }\n\n // If the price floors module is active, then we need to signal to PBS! If floorData obj is present is best way to check\n const haveFloorDataBidRequests = bidRequests.filter(bidRequest => typeof bidRequest.floorData === 'object');\n if (haveFloorDataBidRequests.length > 0) {\n data.ext.prebid.floors = { enabled: false };\n }\n return data;\n },\n imp(buildImp, bidRequest, context) {\n // skip banner-only requests\n const bidRequestType = bidType(bidRequest);\n if (bidRequestType.includes(BANNER) && bidRequestType.length == 1) return;\n\n const imp = buildImp(bidRequest, context);\n imp.id = bidRequest.adUnitCode;\n delete imp.banner;\n bidRequest.params.position === 'atf' && imp.video && (imp.video.pos = 1);\n bidRequest.params.position === 'btf' && imp.video && (imp.video.pos = 3);\n delete imp.ext?.prebid?.storedrequest;\n\n if (bidRequest.params.bidonmultiformat === true && bidRequestType.length > 1) {\n deepSetValue(imp, 'ext.prebid.bidder.rubicon.formats', bidRequestType);\n }\n\n setBidFloors(bidRequest, imp);\n\n // ensure unique imp IDs for twin adunits\n imp.id = impIdMap[imp.id] ? imp.id + impIdMap[imp.id]++ : (impIdMap[imp.id] = 2, imp.id);\n\n return imp;\n },\n bidResponse(buildBidResponse, bid, context) {\n const bidResponse = buildBidResponse(bid, context);\n bidResponse.meta.mediaType = deepAccess(bid, 'ext.prebid.type');\n const {bidRequest} = context;\n\n const [parseSizeWidth, parseSizeHeight] = bidRequest.mediaTypes.video?.context === 'outstream' ? parseSizes(bidRequest, VIDEO) : [undefined, undefined];\n // 0 by default to avoid undefined size\n bidResponse.width = bid.w || parseSizeWidth || bidResponse.playerWidth || 0;\n bidResponse.height = bid.h || parseSizeHeight || bidResponse.playerHeight || 0;\n\n if (bidResponse.mediaType === VIDEO && bidRequest.mediaTypes.video.context === 'outstream') {\n bidResponse.renderer = outstreamRenderer(bidResponse);\n }\n\n if (deepAccess(bid, 'ext.bidder.rp.advid')) {\n deepSetValue(bidResponse, 'meta.advertiserId', bid.ext.bidder.rp.advid);\n }\n return bidResponse;\n },\n context: {\n netRevenue: rubiConf.netRevenue !== false, // If anything other than false, netRev is true\n ttl: 360,\n },\n processors: pbsExtensions\n});\n\nexport const spec = {\n code: 'rubicon',\n gvlid: GVLID,\n supportedMediaTypes: [BANNER, VIDEO, NATIVE],\n /**\n * @param {object} bid\n * @return boolean\n */\n isBidRequestValid: function (bid) {\n let valid = true;\n if (typeof bid.params !== 'object') {\n return false;\n }\n // validate account, site, zone have numeric values\n for (let i = 0, props = ['accountId', 'siteId', 'zoneId']; i < props.length; i++) {\n bid.params[props[i]] = parseInt(bid.params[props[i]])\n if (isNaN(bid.params[props[i]])) {\n logError('Rubicon: wrong format of accountId or siteId or zoneId.')\n return false\n }\n }\n const bidFormats = bidType(bid, true);\n // bidType is undefined? Return false\n if (!bidFormats.length) {\n return false;\n } else if (bidFormats.includes(VIDEO)) { // bidType is video, make sure it has required params\n valid = hasValidVideoParams(bid);\n }\n const hasBannerOrNativeMediaType = [BANNER, NATIVE].filter(mediaType => bidFormats.includes(mediaType)).length > 0;\n if (!hasBannerOrNativeMediaType) return valid;\n return valid && hasBannerOrNativeMediaType;\n },\n /**\n * @param {BidRequest[]} bidRequests\n * @param bidderRequest\n * @return BidRequest[]\n */\n buildRequests: function (bidRequests, bidderRequest) {\n // separate video bids because the requests are structured differently\n let requests = [];\n const filteredHttpRequest = [];\n let filteredRequests;\n\n filteredRequests = bidRequests.filter(req => {\n const mediaTypes = bidType(req) || [];\n const { length } = mediaTypes;\n const { bidonmultiformat, video } = req.params || {};\n\n return (\n // if there's just one mediaType and it's video or native, just send it!\n (length === 1 && (mediaTypes.includes(VIDEO) || mediaTypes.includes(NATIVE))) ||\n // if it's two mediaTypes, and they don't contain banner, send to PBS both native & video\n (length === 2 && !mediaTypes.includes(BANNER)) ||\n // if it contains the video param and the Video mediaType, send Video to PBS (not native!)\n (video && mediaTypes.includes(VIDEO)) ||\n // if bidonmultiformat is on, send everything to PBS\n (bidonmultiformat && (mediaTypes.includes(VIDEO) || mediaTypes.includes(NATIVE)))\n )\n });\n\n if (filteredRequests && filteredRequests.length) {\n const data = converter.toORTB({bidRequests: filteredRequests, bidderRequest});\n resetImpIdMap();\n\n filteredHttpRequest.push({\n method: 'POST',\n url: `https://${rubiConf.videoHost || 'prebid-server'}.rubiconproject.com/openrtb2/auction`,\n data,\n bidRequest: filteredRequests\n });\n }\n\n const bannerBidRequests = bidRequests.filter((req) => {\n const mediaTypes = bidType(req) || [];\n const {bidonmultiformat, video} = req.params || {};\n return (\n // Send to fastlane if: it must include BANNER and...\n mediaTypes.includes(BANNER) && (\n // if it's just banner\n (mediaTypes.length === 1) ||\n // if bidonmultiformat is true\n bidonmultiformat ||\n // if bidonmultiformat is false and there's no video parameter\n (!bidonmultiformat && !video) ||\n // if there's video parameter, but there's no video mediatype\n (!bidonmultiformat && video && !mediaTypes.includes(VIDEO))\n )\n );\n });\n if (rubiConf.singleRequest !== true) {\n // bids are not grouped if single request mode is not enabled\n requests = filteredHttpRequest.concat(bannerBidRequests.map(bidRequest => {\n const bidParams = spec.createSlotParams(bidRequest, bidderRequest);\n return {\n method: 'GET',\n url: `https://${rubiConf.bannerHost || 'fastlane'}.rubiconproject.com/a/api/fastlane.json`,\n data: spec.getOrderedParams(bidParams).reduce((paramString, key) => {\n const propValue = bidParams[key];\n return ((isStr(propValue) && propValue !== '') || isNumber(propValue)) ? `${paramString}${encodeParam(key, propValue)}&` : paramString;\n }, '') + `slots=1&rand=${Math.random()}`,\n bidRequest\n };\n }));\n } else {\n // single request requires bids to be grouped by site id into a single request\n // note: groupBy wasn't used because deep property access was needed\n const groupedBidRequests = bannerBidRequests.reduce((groupedBids, bid) => {\n (groupedBids[bid.params['siteId']] = groupedBids[bid.params['siteId']] || []).push(bid);\n return groupedBids;\n }, {});\n\n // fastlane SRA has a limit of 10 slots\n const SRA_BID_LIMIT = 10;\n\n // multiple requests are used if bids groups have more than 10 bids\n requests = filteredHttpRequest.concat(Object.keys(groupedBidRequests).reduce((aggregate, bidGroupKey) => {\n // for each partioned bidGroup, append a bidRequest to requests list\n partitionArray(groupedBidRequests[bidGroupKey], SRA_BID_LIMIT).forEach(bidsInGroup => {\n const combinedSlotParams = spec.combineSlotUrlParams(bidsInGroup.map(bidRequest => {\n return spec.createSlotParams(bidRequest, bidderRequest);\n }));\n\n // SRA request returns grouped bidRequest arrays not a plain bidRequest\n aggregate.push({\n method: 'GET',\n url: `https://${rubiConf.bannerHost || 'fastlane'}.rubiconproject.com/a/api/fastlane.json`,\n data: spec.getOrderedParams(combinedSlotParams).reduce((paramString, key) => {\n const propValue = combinedSlotParams[key];\n return ((isStr(propValue) && propValue !== '') || isNumber(propValue)) ? `${paramString}${encodeParam(key, propValue)}&` : paramString;\n }, '') + `slots=${bidsInGroup.length}&rand=${Math.random()}`,\n bidRequest: bidsInGroup\n });\n });\n return aggregate;\n }, []));\n }\n return requests;\n },\n\n getOrderedParams: function(params) {\n const containsTgV = /^tg_v/\n const containsTgI = /^tg_i/\n const containsUId = /^eid_|^tpid_/\n\n const orderedParams = [\n 'account_id',\n 'site_id',\n 'zone_id',\n 'size_id',\n 'alt_size_ids',\n 'p_pos',\n 'gdpr',\n 'gdpr_consent',\n 'us_privacy',\n 'gpp',\n 'gpp_sid',\n 'rp_schain',\n ].concat(Object.keys(params).filter(item => containsUId.test(item)))\n .concat([\n 'x_liverampidl',\n 'ppuid',\n 'rf',\n 'p_geo.latitude',\n 'p_geo.longitude',\n 'kw'\n ]).concat(Object.keys(params).filter(item => containsTgV.test(item)))\n .concat(Object.keys(params).filter(item => containsTgI.test(item)))\n .concat([\n 'tk_flint',\n 'x_source.tid',\n 'l_pb_bid_id',\n 'p_screen_res',\n 'o_ae',\n 'o_cdep',\n 'rp_floor',\n 'rp_secure',\n 'tk_user_key'\n ]);\n\n return orderedParams.concat(Object.keys(params).filter(item => (orderedParams.indexOf(item) === -1)));\n },\n\n /**\n * @summary combines param values from an array of slots into a single semicolon delineated value\n * or just one value if they are all the same.\n * @param {Object[]} aSlotUrlParams - example [{p1: 'foo', p2: 'test'}, {p2: 'test'}, {p1: 'bar', p2: 'test'}]\n * @return {Object} - example {p1: 'foo;;bar', p2: 'test'}\n */\n combineSlotUrlParams: function(aSlotUrlParams) {\n // if only have params for one slot, return those params\n if (aSlotUrlParams.length === 1) {\n return aSlotUrlParams[0];\n }\n\n // reduce param values from all slot objects into an array of values in a single object\n const oCombinedSlotUrlParams = aSlotUrlParams.reduce(function(oCombinedParams, oSlotUrlParams, iIndex) {\n Object.keys(oSlotUrlParams).forEach(function(param) {\n if (!oCombinedParams.hasOwnProperty(param)) {\n oCombinedParams[param] = new Array(aSlotUrlParams.length); // initialize array;\n }\n // insert into the proper element of the array\n oCombinedParams[param].splice(iIndex, 1, oSlotUrlParams[param]);\n });\n\n return oCombinedParams;\n }, {});\n\n // convert arrays into semicolon delimited strings\n const re = new RegExp('^([^;]*)(;\\\\1)+$'); // regex to test for duplication\n\n Object.keys(oCombinedSlotUrlParams).forEach(function(param) {\n const sValues = oCombinedSlotUrlParams[param].join(';');\n // consolidate param values into one value if they are all the same\n const match = sValues.match(re);\n oCombinedSlotUrlParams[param] = match ? match[1] : sValues;\n });\n\n return oCombinedSlotUrlParams;\n },\n\n /**\n * @param {BidRequest} bidRequest\n * @param {Object} bidderRequest\n * @returns {Object} - object key values named and formatted as slot params\n */\n createSlotParams: function(bidRequest, bidderRequest) {\n bidRequest.startTime = new Date().getTime();\n\n const params = bidRequest.params;\n\n // use rubicon sizes if provided, otherwise adUnit.sizes\n const parsedSizes = parseSizes(bidRequest, 'banner');\n\n const [latitude, longitude] = params.latLong || [];\n\n const data = {\n 'account_id': params.accountId,\n 'site_id': params.siteId,\n 'zone_id': params.zoneId,\n 'size_id': parsedSizes[0],\n 'alt_size_ids': parsedSizes.slice(1).join(',') || undefined,\n 'rp_floor': (params.floor = parseFloat(params.floor)) >= 0.01 ? params.floor : undefined,\n 'rp_secure': '1',\n 'tk_flint': `${rubiConf.int_type || DEFAULT_INTEGRATION}_v$prebid.version$`,\n 'x_source.tid': bidderRequest.ortb2?.source?.tid,\n 'x_imp.ext.tid': bidRequest.ortb2Imp?.ext?.tid,\n 'l_pb_bid_id': bidRequest.bidId,\n 'o_cdep': bidRequest.ortb2?.device?.ext?.cdep,\n 'ip': bidRequest.ortb2?.device?.ip,\n 'ipv6': bidRequest.ortb2?.device?.ipv6,\n 'p_screen_res': _getScreenResolution(),\n 'tk_user_key': params.userId,\n 'p_geo.latitude': isNaN(parseFloat(latitude)) ? undefined : parseFloat(latitude).toFixed(4),\n 'p_geo.longitude': isNaN(parseFloat(longitude)) ? undefined : parseFloat(longitude).toFixed(4),\n 'tg_fl.eid': bidRequest.code,\n 'rf': _getPageUrl(bidRequest, bidderRequest)\n };\n\n // If floors module is enabled and we get USD floor back, send it in rp_hard_floor else undfined\n if (typeof bidRequest.getFloor === 'function' && !rubiConf.disableFloors) {\n let floorInfo;\n try {\n floorInfo = bidRequest.getFloor({\n currency: 'USD',\n mediaType: 'banner',\n size: '*'\n });\n } catch (e) {\n logError('Rubicon: getFloor threw an error: ', e);\n }\n data['rp_hard_floor'] = isPlainObject(floorInfo) && floorInfo.currency === 'USD' && !isNaN(parseInt(floorInfo.floor)) ? floorInfo.floor : undefined;\n }\n\n // Send multiformat data if requested\n if (params.bidonmultiformat === true && deepAccess(bidRequest, 'mediaTypes') && Object.keys(bidRequest.mediaTypes).length > 1) {\n data['p_formats'] = Object.keys(bidRequest.mediaTypes).join(',');\n }\n\n // add p_pos only if specified and valid\n // For SRA we need to explicitly put empty semi colons so AE treats it as empty, instead of copying the latter value\n const posMapping = {1: 'atf', 3: 'btf'};\n const pos = posMapping[deepAccess(bidRequest, 'mediaTypes.banner.pos')] || '';\n data['p_pos'] = (params.position === 'atf' || params.position === 'btf') ? params.position : pos;\n\n // pass publisher provided userId if configured\n const configUserId = config.getConfig('user.id');\n if (configUserId) {\n data['ppuid'] = configUserId;\n }\n\n if (bidRequest?.ortb2Imp?.ext?.ae) {\n data['o_ae'] = 1;\n }\n // If the bid request contains a 'mobile' property under 'ortb2.site', add it to 'data' as 'p_site.mobile'.\n if (typeof bidRequest?.ortb2?.site?.mobile === 'number') {\n data['p_site.mobile'] = bidRequest.ortb2.site.mobile\n }\n\n addDesiredSegtaxes(bidderRequest, data);\n // loop through userIds and add to request\n if (bidRequest?.ortb2?.user?.ext?.eids) {\n bidRequest.ortb2.user.ext.eids.forEach(({ source, uids = [], inserter, matcher, mm, ext = {} }) => {\n try {\n // Ensure there is at least one valid UID in the 'uids' array\n const uidData = uids[0];\n if (!uidData) return; // Skip processing if no valid UID exists\n\n // Function to build the EID value in the required format\n const buildEidValue = (uidData) => [\n uidData.id, // uid: The user ID\n uidData.atype || '',\n '', // third: Always empty, as specified in the requirement\n inserter || '',\n matcher || '',\n mm || '',\n uidData?.ext?.rtiPartner || uidData?.ext?.rtipartner || ''\n ].join('^'); // Return a single string formatted with '^' delimiter\n\n const eidValue = buildEidValue(uidData); // Build the EID value string\n\n // Store the constructed EID value for the given source\n data[`eid_${source}`] = eidValue;\n\n // Handle the \"ppuid\" signal, ensuring it is set only once\n if (!data['ppuid']) {\n // Search for a UID with the 'stype' field equal to 'ppuid' in its extension\n const ppId = uids.find(uid => uid.ext?.stype === 'ppuid');\n if (ppId?.id) {\n data['ppuid'] = ppId.id; // Store the ppuid if found\n }\n }\n } catch (e) {\n // Log any errors encountered during processing\n logWarn('Rubicon: error reading eid:', { source, uids }, e);\n }\n });\n }\n\n if (bidderRequest.gdprConsent) {\n // add 'gdpr' only if 'gdprApplies' is defined\n if (typeof bidderRequest.gdprConsent.gdprApplies === 'boolean') {\n data['gdpr'] = Number(bidderRequest.gdprConsent.gdprApplies);\n }\n data['gdpr_consent'] = bidderRequest.gdprConsent.consentString;\n }\n\n if (bidderRequest.uspConsent) {\n data['us_privacy'] = encodeURIComponent(bidderRequest.uspConsent);\n }\n\n if (bidderRequest.gppConsent?.gppString) {\n data['gpp'] = bidderRequest.gppConsent.gppString;\n data['gpp_sid'] = bidderRequest.gppConsent?.applicableSections?.toString();\n }\n\n data['rp_maxbids'] = bidderRequest.bidLimit;\n\n applyFPD(bidRequest, BANNER, data);\n\n if (config.getConfig('coppa') === true) {\n data['coppa'] = 1;\n }\n\n // if SupplyChain is supplied and contains all required fields\n const schain = bidRequest?.ortb2?.source?.ext?.schain;\n if (schain && hasValidSupplyChainParams(schain)) {\n data.rp_schain = spec.serializeSupplyChain(schain);\n }\n\n return data;\n },\n\n /**\n * Serializes schain params according to OpenRTB requirements\n * @param {Object} supplyChain\n * @returns {String}\n */\n serializeSupplyChain: function (supplyChain) {\n const supplyChainIsValid = hasValidSupplyChainParams(supplyChain);\n if (!supplyChainIsValid) return '';\n const { ver, complete, nodes } = supplyChain;\n return `${ver},${complete}!${spec.serializeSupplyChainNodes(nodes)}`;\n },\n\n /**\n * Properly sorts schain object params\n * @param {Array} nodes\n * @returns {String}\n */\n serializeSupplyChainNodes: function (nodes) {\n const nodePropOrder = ['asi', 'sid', 'hp', 'rid', 'name', 'domain'];\n return nodes.map(node => {\n return nodePropOrder.map(prop => encodeURIComponent(node[prop] || '')).join(',');\n }).join('!');\n },\n\n /**\n * @param {*} responseObj\n * @param {BidRequest|Object.<string, BidRequest[]>} request - if request was SRA the bidRequest argument will be a keyed BidRequest array object,\n * non-SRA responses return a plain BidRequest object\n * @return {{fledgeAuctionConfigs: *, bids: *}} An array of bids which\n */\n interpretResponse: function (responseObj, request) {\n responseObj = responseObj.body;\n const {data} = request;\n\n // check overall response\n if (!responseObj || typeof responseObj !== 'object') {\n return [];\n }\n // Response from PBS Java openRTB\n if (responseObj.seatbid) {\n const responseErrors = deepAccess(responseObj, 'ext.errors.rubicon');\n if (Array.isArray(responseErrors) && responseErrors.length > 0) {\n logWarn('Rubicon: Error in video response');\n }\n const bids = converter.fromORTB({request: data, response: responseObj}).bids;\n return bids;\n }\n\n let ads = responseObj.ads;\n let lastImpId;\n let multibid = 0;\n const {bidRequest} = request;\n\n // video ads array is wrapped in an object\n if (typeof bidRequest === 'object' && !Array.isArray(bidRequest) && bidType(bidRequest).includes(VIDEO) && typeof ads === 'object') {\n ads = ads[bidRequest.adUnitCode];\n }\n\n // check the ad response\n if (!Array.isArray(ads) || ads.length < 1) {\n return [];\n }\n\n const bids = ads.reduce((bids, ad, i) => {\n (ad.impression_id && lastImpId === ad.impression_id) ? multibid++ : lastImpId = ad.impression_id;\n\n if (ad.status !== 'ok') {\n return bids;\n }\n\n // associate bidRequests; assuming ads matches bidRequest\n const associatedBidRequest = Array.isArray(bidRequest) ? bidRequest[i - multibid] : bidRequest;\n\n if (associatedBidRequest && typeof associatedBidRequest === 'object') {\n const bid = {\n requestId: associatedBidRequest.bidId,\n currency: 'USD',\n creativeId: ad.creative_id || `${ad.network || ''}-${ad.advertiser || ''}`,\n cpm: ad.cpm || 0,\n dealId: ad.deal,\n ttl: 360, // 6 minutes\n netRevenue: rubiConf.netRevenue !== false, // If anything other than false, netRev is true\n rubicon: {\n advertiserId: ad.advertiser, networkId: ad.network\n },\n meta: {\n advertiserId: ad.advertiser, networkId: ad.network, mediaType: BANNER\n }\n };\n\n if (ad.creative_type) {\n bid.mediaType = ad.creative_type;\n }\n\n if (ad.dsa && Object.keys(ad.dsa).length) {\n bid.meta.dsa = ad.dsa;\n }\n\n if (ad.adomain) {\n bid.meta.advertiserDomains = Array.isArray(ad.adomain) ? ad.adomain : [ad.adomain];\n }\n\n if (ad.emulated_format) {\n bid.meta.mediaType = ad.emulated_format;\n }\n\n if (ad.creative_type === VIDEO) {\n bid.width = associatedBidRequest.params.video.playerWidth;\n bid.height = associatedBidRequest.params.video.playerHeight;\n bid.vastUrl = ad.creative_depot_url;\n bid.impression_id = ad.impression_id;\n bid.videoCacheKey = ad.impression_id;\n } else {\n bid.ad = _renderCreative(ad.script, ad.impression_id);\n [bid.width, bid.height] = sizeMap[ad.size_id].split('x').map(num => Number(num));\n }\n\n // add server-side targeting\n bid.rubiconTargeting = (Array.isArray(ad.targeting) ? ad.targeting : [])\n .reduce((memo, item) => {\n memo[item.key] = item.values[0];\n return memo;\n }, {'rpfl_elemid': associatedBidRequest.adUnitCode});\n\n bids.push(bid);\n } else {\n logError(`Rubicon: bidRequest undefined at index position:${i}`, bidRequest, responseObj);\n }\n return bids;\n }, []).sort((adA, adB) => {\n return (adB.cpm || 0.0) - (adA.cpm || 0.0);\n });\n\n const fledgeAuctionConfigs = responseObj.component_auction_config?.map(config => {\n return { config, bidId: config.bidId }\n });\n\n if (fledgeAuctionConfigs) {\n return { bids, paapi: fledgeAuctionConfigs };\n } else {\n return bids;\n }\n },\n getUserSyncs: function (syncOptions, responses, gdprConsent, uspConsent, gppConsent) {\n if (!hasSynced && syncOptions.iframeEnabled) {\n // data is only assigned if params are available to pass to syncEndpoint\n let params = getUserSyncParams(gdprConsent, uspConsent, gppConsent);\n params = Object.keys(params).length ? `?${formatQS(params)}` : '';\n\n hasSynced = true;\n return {\n type: 'iframe',\n url: `https://${rubiConf.syncHost || 'eus'}.rubiconproject.com/usync.html` + params\n };\n }\n }\n};\n\nfunction _getScreenResolution() {\n return [window.screen.width, window.screen.height].join('x');\n}\n\n/**\n * @param {BidRequest} bidRequest\n * @param bidderRequest\n * @returns {string}\n */\nfunction _getPageUrl(bidRequest, bidderRequest) {\n let pageUrl;\n if (bidRequest.params.referrer) {\n pageUrl = bidRequest.params.referrer;\n } else {\n pageUrl = bidderRequest.refererInfo.page;\n }\n return bidRequest.params.secure ? pageUrl.replace(/^http:/i, 'https:') : pageUrl;\n}\n\nfunction _renderCreative(script, impId) {\n return `<html>\n<head><script type='text/javascript'>inDapIF=true;</script></head>\n<body style='margin : 0; padding: 0;'>\n<!-- Rubicon Project Ad Tag -->\n<div data-rp-impression-id='${impId}'>\n<script type='text/javascript'>${script}</script>\n</div>\n</body>\n</html>`;\n}\n\nfunction hideGoogleAdsDiv(adUnit) {\n const el = adUnit.querySelector(\"div[id^='google_ads']\");\n if (el) {\n el.style.setProperty('display', 'none');\n }\n}\n\nfunction hideSmartAdServerIframe(adUnit) {\n const el = adUnit.querySelector(\"script[id^='sas_script']\");\n const nextSibling = el && el.nextSibling;\n if (nextSibling && nextSibling.localName === 'iframe') {\n nextSibling.style.setProperty('display', 'none');\n }\n}\n\nfunction renderBid(bid) {\n // hide existing ad units\n const adUnitElement = document.getElementById(bid.adUnitCode);\n hideGoogleAdsDiv(adUnitElement);\n hideSmartAdServerIframe(adUnitElement);\n\n // configure renderer\n const defaultConfig = {\n align: 'center',\n position: 'append',\n closeButton: false,\n label: undefined,\n collapse: true\n };\n const config = { ...defaultConfig, ...bid.renderer.getConfig() };\n bid.renderer.push(() => {\n window.MagniteApex.renderAd({\n width: bid.width,\n height: bid.height,\n vastUrl: bid.vastUrl,\n placement: {\n attachTo: `#${bid.adUnitCode}`,\n align: config.align,\n position: config.position\n },\n closeButton: config.closeButton,\n label: config.label,\n collapse: config.collapse\n });\n });\n}\n\nfunction outstreamRenderer(rtbBid) {\n const renderer = Renderer.install({\n id: rtbBid.adId,\n url: rubiConf.rendererUrl || DEFAULT_RENDERER_URL,\n config: rubiConf.rendererConfig || {},\n loaded: false,\n adUnitCode: rtbBid.adUnitCode\n });\n\n try {\n renderer.setRender(renderBid);\n } catch (err) {\n logWarn('Prebid Error calling setRender on renderer', err);\n }\n\n return renderer;\n}\n\nfunction parseSizes(bid, mediaType) {\n const params = bid.params;\n if (mediaType === VIDEO) {\n let size = [];\n if (params.video && params.video.playerWidth && params.video.playerHeight) {\n size = [\n params.video.playerWidth,\n params.video.playerHeight\n ];\n } else if (Array.isArray(deepAccess(bid, 'mediaTypes.video.playerSize')) && bid.mediaTypes.video.playerSize.length === 1) {\n size = bid.mediaTypes.video.playerSize[0];\n } else if (Array.isArray(bid.sizes) && bid.sizes.length > 0 && Array.isArray(bid.sizes[0]) && bid.sizes[0].length > 1) {\n size = bid.sizes[0];\n }\n return size;\n }\n\n // deprecated: temp legacy support\n let sizes = [];\n if (Array.isArray(params.sizes)) {\n sizes = params.sizes;\n } else if (typeof deepAccess(bid, 'mediaTypes.banner.sizes') !== 'undefined') {\n sizes = mapSizes(bid.mediaTypes.banner.sizes);\n } else if (Array.isArray(bid.sizes) && bid.sizes.length > 0) {\n sizes = mapSizes(bid.sizes);\n } else {\n logWarn('Rubicon: no sizes are setup or found');\n }\n\n return masSizeOrdering(sizes);\n}\n\nfunction applyFPD(bidRequest, mediaType, data) {\n const BID_FPD = {\n user: {ext: {data: {...bidRequest.params.visitor}}},\n site: {ext: {data: {...bidRequest.params.inventory}}}\n };\n\n if (bidRequest.params.keywords) BID_FPD.site.keywords = (isArray(bidRequest.params.keywords)) ? bidRequest.params.keywords.join(',') : bidRequest.params.keywords;\n\n const fpd = mergeDeep({}, bidRequest.ortb2 || {}, BID_FPD);\n const impExt = deepAccess(bidRequest.ortb2Imp, 'ext') || {};\n const impExtData = deepAccess(bidRequest.ortb2Imp, 'ext.data') || {};\n\n const gpid = deepAccess(bidRequest, 'ortb2Imp.ext.gpid');\n const dsa = deepAccess(fpd, 'regs.ext.dsa');\n const SEGTAX = {user: [4], site: [1, 2, 5, 6, 7]};\n const MAP = {user: 'tg_v.', site: 'tg_i.', adserver: 'tg_i.dfp_ad_unit_code', pbadslot: 'tg_i.pbadslot', keywords: 'kw'};\n const validate = function(prop, key, parentName) {\n if (key === 'data' && Array.isArray(prop)) {\n return prop.filter(name => name.segment && deepAccess(name, 'ext.segtax') && SEGTAX[parentName] &&\n SEGTAX[parentName].indexOf(deepAccess(name, 'ext.segtax')) !== -1).map(value => {\n const segments = value.segment.filter(obj => obj.id).reduce((result, obj) => {\n result.push(obj.id);\n return result;\n }, []);\n if (segments.length > 0) return segments.toString();\n }).toString();\n } else if (typeof prop === 'object' && !Array.isArray(prop)) {\n return undefined;\n } else if (typeof prop !== 'undefined') {\n return (Array.isArray(prop)) ? prop.filter(value => {\n if (typeof value !== 'object' && typeof value !== 'undefined') return value.toString();\n\n logWarn('Rubicon: Filtered value: ', value, 'for key', key, ': Expected value to be string, integer, or an array of strings/ints');\n }).toString() : prop.toString();\n }\n };\n const addBannerData = function(obj, name, key, isParent = true) {\n const val = validate(obj, key, name);\n const loc = (MAP[key] && isParent) ? `${MAP[key]}` : (key === 'data') ? `${MAP[name]}iab` : `${MAP[name]}${key}`;\n data[loc] = (data[loc]) ? data[loc].concat(',', val) : val;\n };\n\n if (mediaType === BANNER) {\n ['site', 'user'].forEach(name => {\n Object.keys(fpd[name]).forEach((key) => {\n if (name === 'site' && key === 'content' && fpd[name][key].data) {\n addBannerData(fpd[name][key].data, name, 'data');\n } else if (key !== 'ext') {\n addBannerData(fpd[name][key], name, key);\n } else if (fpd[name][key].data) {\n Object.keys(fpd[name].ext.data).forEach((key) => {\n addBannerData(fpd[name].ext.data[key], name, key, false);\n });\n }\n });\n });\n Object.keys(impExtData).forEach((key) => {\n if (key !== 'adserver') {\n addBannerData(impExtData[key], 'site', key);\n } else if (impExtData[key].name === 'gam') {\n addBannerData(impExtData[key].adslot, name, key)\n }\n });\n\n // add in gpid\n if (gpid) {\n data['p_gpid'] = gpid;\n }\n\n // add dsa signals\n if (dsa && Object.keys(dsa).length) {\n pick(dsa, [\n 'dsainfo', (dsainfo) => data['dsainfo'] = dsainfo,\n 'dsarequired', (required) => data['dsarequired'] = required,\n 'pubrender', (pubrender) => data['dsapubrender'] = pubrender,\n 'datatopub', (datatopub) => data['dsadatatopubs'] = datatopub,\n 'transparency', (transparency) => {\n if (Array.isArray(transparency) && transparency.length) {\n data['dsatransparency'] = transparency.reduce((param, transp) => {\n // make sure domain is there, otherwise skip entry\n const domain = transp.domain || '';\n if (!domain) {\n return param;\n }\n\n // make sure dsaParam array is there (try both 'dsaparams' and 'params', but prefer dsaparams)\n const dsaParamArray = transp.dsaparams || transp.params;\n if (!Array.isArray(dsaParamArray) || dsaParamArray.length === 0) {\n return param;\n }\n\n // finally we will add this one, if param has been added already, add our separator\n if (param) {\n param += '~~'\n }\n\n return param += `${domain}~${dsaParamArray.join('_')}`;\n }, '');\n }\n }\n ])\n }\n\n // only send one of pbadslot or dfp adunit code (prefer pbadslot)\n if (data['tg_i.pbadslot']) {\n delete data['tg_i.dfp_ad_unit_code'];\n }\n\n // High Entropy stuff -> sua object is the ORTB standard (default to pass unless specifically disabled)\n const clientHints = deepAccess(fpd, 'device.sua');\n if (clientHints && rubiConf.chEnabled !== false) {\n // pick out client hints we want to send (any that are undefined or empty will NOT be sent)\n pick(clientHints, [\n 'architecture', arch => data.m_ch_arch = arch,\n 'bitness', bitness => data.m_ch_bitness = bitness,\n 'browsers', browsers => {\n if (!Array.isArray(browsers)) return;\n // reduce down into ua and full version list attributes\n const [ua, fullVer] = browsers.reduce((accum, browserData) => {\n accum[0].push(`\"${browserData?.brand}\"|v=\"${browserData?.version?.[0]}\"`);\n // only set fullVer if long enough\n if (browserData?.version?.length > 1) {\n accum[1].push(`\"${browserData?.brand}\"|v=\"${browserData?.version?.join?.('.')}\"`);\n }\n return accum;\n }, [[], []]);\n data.m_ch_ua = ua?.join?.(',');\n data.m_ch_full_ver = fullVer?.join?.(',');\n },\n 'mobile', isMobile => data.m_ch_mobile = `?${isMobile}`,\n 'model', model => data.m_ch_model = model,\n 'platform', platform => {\n data.m_ch_platform = platform?.brand;\n data.m_ch_platform_ver = platform?.version?.join?.('.');\n }\n ])\n }\n } else {\n if (Object.keys(impExt).length) {\n mergeDeep(data.imp[0].ext, impExt);\n }\n // add in gpid\n if (gpid) {\n data.imp[0].ext.gpid = gpid;\n }\n\n mergeDeep(data, fpd);\n }\n}\n\nfunction addDesiredSegtaxes(bidderRequest, target) {\n if (rubiConf.readTopics === false) {\n return;\n }\n const iSegments = [1, 2, 5, 6, 7, 507].concat(rubiConf.sendSiteSegtax?.map(seg => Number(seg)) || []);\n const vSegments = [4, 508].concat(rubiConf.sendUserSegtax?.map(seg => Number(seg)) || []);\n const userData = bidderRequest.ortb2?.user?.data || [];\n const siteData = bidderRequest.ortb2?.site?.content?.data || [];\n userData.forEach(iterateOverSegmentData(target, 'v', vSegments));\n siteData.forEach(iterateOverSegmentData(target, 'i', iSegments));\n}\n\nfunction iterateOverSegmentData(target, char, segments) {\n return (topic) => {\n const taxonomy = Number(topic.ext?.segtax);\n if (segments.includes(taxonomy)) {\n target[`tg_${char}.tax${taxonomy}`] = topic.segment?.map(seg => seg.id).join(',');\n }\n }\n}\n\n/**\n * @param sizes\n * @returns {*}\n */\nfunction mapSizes(sizes) {\n return parseSizesInput(sizes)\n // map sizes while excluding non-matches\n .reduce((result, size) => {\n const mappedSize = parseInt(sizeMap[size], 10);\n if (mappedSize) {\n result.push(mappedSize);\n }\n return result;\n }, []);\n}\n\n/**\n * Test if bid has mediaType or mediaTypes set for video.\n * Also checks if the video object is present in the rubicon bidder params\n * @param {BidRequest} bidRequest\n * @returns {boolean}\n */\nexport function classifiedAsVideo(bidRequest) {\n let isVideo = typeof deepAccess(bidRequest, `mediaTypes.${VIDEO}`) !== 'undefined';\n const isBanner = typeof deepAccess(bidRequest, `mediaTypes.${BANNER}`) !== 'undefined';\n const isBidOnMultiformat = typeof deepAccess(bidRequest, `params.bidonmultiformat`) !== 'undefined';\n const isMissingVideoParams = typeof deepAccess(bidRequest, 'params.video') !== 'object';\n // If an ad has both video and banner types, a legacy implementation allows choosing video over banner\n // based on whether or not there is a video object defined in the params\n // Given this legacy implementation, other code depends on params.video being defined\n\n // if it's bidonmultiformat, we don't care of the video object\n if (isVideo && isBidOnMultiformat) return true;\n\n if (isBanner && isMissingVideoParams) {\n isVideo = false;\n }\n if (isVideo && isMissingVideoParams) {\n deepSetValue(bidRequest, 'params.video', {});\n }\n return isVideo;\n}\n\n/**\n * Determine bidRequest mediaTypes. All mediaTypes must be correct. If one fails, all the others will fail too.\n * @param bid the bid to test\n * @param log boolean. whether we should log errors/warnings for invalid bids\n * @returns {string|undefined} Returns an array containing one of 'video' or 'banner' or 'native' if resolves to a type.\n */\nfunction bidType(bid, log = false) {\n // Is it considered video ad unit by rubicon\n const bidTypes = [];\n if (classifiedAsVideo(bid)) {\n // Removed legacy mediaType support. new way using mediaTypes.video object is now required\n // We require either context as instream or outstream\n if (['outstream', 'instream'].indexOf(deepAccess(bid, `mediaTypes.${VIDEO}.context`)) === -1) {\n if (log) {\n logError('Rubicon: mediaTypes.video.context must be outstream or instream');\n }\n return bidTypes;\n }\n\n // we require playerWidth and playerHeight to come from one of params.playerWidth/playerHeight or mediaTypes.video.playerSize or adUnit.sizes\n if (parseSizes(bid, VIDEO).length < 2) {\n if (log) {\n logError('Rubicon: could not determine the playerSize of the video');\n }\n return bidTypes;\n }\n\n if (log) {\n logMessage('Rubicon: making video request for adUnit', bid.adUnitCode);\n }\n bidTypes.push(VIDEO);\n }\n if (typeof deepAccess(bid, `mediaTypes.${NATIVE}`) !== 'undefined') {\n bidTypes.push(NATIVE);\n }\n\n if (typeof deepAccess(bid, `mediaTypes.${BANNER}`) !== 'undefined') {\n // we require banner sizes to come from one of params.sizes or mediaTypes.banner.sizes or adUnit.sizes, in that order\n // if we cannot determine them, we reject it!\n if (parseSizes(bid, BANNER).length === 0) {\n if (log) {\n logError('Rubicon: could not determine the sizes for banner request');\n }\n return bidTypes;\n }\n\n // everything looks good for banner so lets do it\n if (log) {\n logMessage('Rubicon: making banner request for adUnit', bid.adUnitCode);\n }\n bidTypes.push(BANNER);\n }\n return bidTypes;\n}\n\nexport const resetRubiConf = () => rubiConf = {};\nexport const resetImpIdMap = () => impIdMap = {};\nexport function masSizeOrdering(sizes) {\n const MAS_SIZE_PRIORITY = [15, 2, 9];\n\n return sizes.sort((first, second) => {\n // sort by MAS_SIZE_PRIORITY priority order\n const firstPriority = MAS_SIZE_PRIORITY.indexOf(first);\n const secondPriority = MAS_SIZE_PRIORITY.indexOf(second);\n\n if (firstPriority > -1 || secondPriority > -1) {\n if (firstPriority === -1) {\n return 1;\n }\n if (secondPriority === -1) {\n return -1;\n }\n return firstPriority - secondPriority;\n }\n\n // and finally ascending order\n return first - second;\n });\n}\n\nexport function determineRubiconVideoSizeId(bid) {\n // If we have size_id in the bid then use it\n const rubiconSizeId = parseInt(deepAccess(bid, 'params.video.size_id'));\n if (!isNaN(rubiconSizeId)) {\n return rubiconSizeId;\n }\n // otherwise 203 for outstream and 201 for instream\n // When this function is used we know it has to be one of outstream or instream\n return deepAccess(bid, `mediaTypes.${VIDEO}.context`) === 'outstream' ? 203 : 201;\n}\n\n/**\n * @param {Object} config\n * @returns {{ranges: {ranges: Object[]}}}\n */\nexport function getPriceGranularity(config) {\n return {\n ranges: {\n low: [{max: 5.00, increment: 0.50}],\n medium: [{max: 20.00, increment: 0.10}],\n high: [{max: 20.00, increment: 0.01}],\n auto: [\n {max: 5.00, increment: 0.05},\n {min: 5.00, max: 10.00, increment: 0.10},\n {min: 10.00, max: 20.00, increment: 0.50}\n ],\n dense: [\n {max: 3.00, increment: 0.01},\n {min: 3.00, max: 8.00, increment: 0.05},\n {min: 8.00, max: 20.00, increment: 0.50}\n ],\n custom: config.getConfig('customPriceBucket') && config.getConfig('customPriceBucket').buckets\n }[config.getConfig('priceGranularity')]\n };\n}\n\n// Function to validate the required video params\nexport function hasValidVideoParams(bid) {\n let isValid = true;\n // incase future javascript changes the string represenation of the array or number classes!\n const arrayType = Object.prototype.toString.call([]);\n const numberType = Object.prototype.toString.call(0);\n // required params and their associated object type\n var requiredParams = {\n mimes: arrayType,\n protocols: arrayType,\n linearity: numberType\n }\n // loop through each param and verify it has the correct\n Object.keys(requiredParams).forEach(function(param) {\n if (Object.prototype.toString.call(deepAccess(bid, 'mediaTypes.video.' + param)) !== requiredParams[param]) {\n isValid = false;\n logError('Rubicon: mediaTypes.video.' + param + ' is required and must be of type: ' + requiredParams[param]);\n }\n })\n return isValid;\n}\n\n/**\n * Make sure the required params are present\n * @param {Object} schain\n */\nexport function hasValidSupplyChainParams(schain) {\n let isValid = false;\n const requiredFields = ['asi', 'sid', 'hp'];\n if (!schain.nodes) return isValid;\n isValid = schain.nodes.reduce((status, node) => {\n if (!status) return status;\n return requiredFields.every(field => node.hasOwnProperty(field));\n }, true);\n if (!isValid) logError('Rubicon: required schain params missing');\n return isValid;\n}\n\n/**\n * Creates a URL key value param, encoding the param unless the key is schain\n * @param {String} key\n * @param {String} param\n * @returns {String}\n */\nexport function encodeParam(key, param) {\n if (key === 'rp_schain') return `rp_schain=${param}`;\n return `${key}=${encodeURIComponent(param)}`;\n}\n\n/**\n * split array into multiple arrays of defined size\n * @param {Array} array\n * @param {number} size\n * @returns {Array}\n */\nfunction partitionArray(array, size) {\n const result = [];\n for (let i = 0; i < array.length; i += size) {\n result.push(array.slice(i, i + size));\n }\n return result;\n}\n\nvar hasSynced = false;\n\nexport function resetUserSync() {\n hasSynced = false;\n}\n\n/**\n * Sets the floor on the bidRequest. imp.bidfloor and imp.bidfloorcur\n * should be already set by the conversion library. if they're not,\n * or invalid, try to read from params.floor.\n * @param {*} bidRequest\n * @param {*} imp\n */\nfunction setBidFloors(bidRequest, imp) {\n if (imp.bidfloorcur != 'USD') {\n delete imp.bidfloor;\n delete imp.bidfloorcur;\n }\n\n if (!imp.bidfloor) {\n const bidFloor = parseFloat(deepAccess(bidRequest, 'params.floor'));\n\n if (!isNaN(bidFloor)) {\n imp.bidfloor = bidFloor;\n imp.bidfloorcur = 'USD';\n }\n }\n}\n\nfunction addOrtbFirstPartyData(data, nonBannerRequests, ortb2) {\n let fpd = {};\n const keywords = getAllOrtbKeywords(ortb2, ...nonBannerRequests.map(req => req.params.keywords))\n nonBannerRequests.forEach(bidRequest => {\n const bidFirstPartyData = {\n user: {ext: {data: {...bidRequest.params.visitor}}},\n site: {ext: {data: {...bidRequest.params.inventory}}}\n };\n\n // add site.content.language\n const impThatHasVideoLanguage = data.imp.find(imp => imp.ext?.prebid?.bidder?.rubicon?.video?.language);\n if (impThatHasVideoLanguage) {\n bidFirstPartyData.site.content = {\n language: impThatHasVideoLanguage.ext?.prebid?.bidder?.rubicon?.video?.language\n }\n }\n\n fpd = mergeDeep(fpd, bidRequest.ortb2 || {}, bidFirstPartyData);\n\n // add user.id from config.\n // NOTE: This is DEPRECATED. user.id should come from setConfig({ortb2}).\n const configUserId = config.getConfig('user.id');\n fpd.user.id = fpd.user.id || configUserId;\n });\n\n mergeDeep(data, fpd);\n\n if (keywords && keywords.length) {\n deepSetValue(data, 'site.keywords', keywords.join(','));\n }\n delete data?.ext?.prebid?.storedrequest;\n}\n\nregisterBidder(spec);\n"],"mappings":"AAAA,SAAQA,cAAc,IAAIC,IAAI,QAAO,wBAAwB;AAA7D,SAASC,aAAa,QAAQ,yCAAyC;AACvE,SAASC,aAAa,QAAQ,6CAA6C;AAC3E,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,MAAM,EAAEC,MAAM,EAAEC,KAAK,QAAQ,sBAAsB;AAC5D,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SACEC,UAAU,EACVC,YAAY,EACZC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,eAAe,EACfC,IAAI,EACJC,KAAK,EACLC,aAAa,QACR,iBAAiB;AACxB,SAAQC,kBAAkB,QAAO,mCAAmC;AACpE,SAAQC,iBAAiB,QAAO,6CAA6C;;AAE7E;AACA;AACA;;AAEA,MAAMC,mBAAmB,GAAG,WAAW;AACvC,MAAMC,uBAAuB,GAAG,MAAM;AACtC,MAAMC,oBAAoB,GAAG,0DAA0D;AACvF;;AAEA,IAAIC,QAAQ,GAAGzB,MAAM,CAAC0B,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAChD;AACA;AACA1B,MAAM,CAAC0B,SAAS,CAAC,SAAS,EAAE1B,MAAM,IAAI;EACpCe,SAAS,CAACU,QAAQ,EAAEzB,MAAM,CAAC2B,OAAO,CAAC;AACrC,CAAC,CAAC;AAEF,MAAMC,KAAK,GAAG,EAAE;AAEhB,IAAIC,QAAQ,GAAG,CAAC,CAAC;AAEjB,IAAIC,OAAO,GAAG;EACZ,CAAC,EAAE,QAAQ;EACX,CAAC,EAAE,QAAQ;EACX,CAAC,EAAE,QAAQ;EACX,CAAC,EAAE,SAAS;EACZ,CAAC,EAAE,SAAS;EACZ,CAAC,EAAE,SAAS;EACZ,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,KAAK;EACT,EAAE,EAAE,QAAQ;EACZ,EAAE,EAAE,QAAQ;EACZ,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,UAAU;EACd,EAAE,EAAE,UAAU;EACd,EAAE,EAAE,QAAQ;EACZ,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,QAAQ;EACZ,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,WAAW;EACf,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,WAAW;EACf,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,EAAE,EAAE,SAAS;EACb,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,KAAK;EACV,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,WAAW;EAChB,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,KAAK;EACV,GAAG,EAAE,KAAK;EACV,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,WAAW;EAChB,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,KAAK;EACV,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,UAAU;EACf,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE;AACP,CAAC;AAEDZ,KAAK,CAACY,OAAO,EAAE,CAACC,IAAI,EAAEC,GAAG,KAAKF,OAAO,CAACC,IAAI,CAAC,GAAGC,GAAG,CAAC;AAElD,OAAO,MAAMC,SAAS,GAAGpC,aAAa,CAAC;EACrCqC,OAAOA,CAACC,YAAY,EAAEC,IAAI,EAAEC,aAAa,EAAEC,OAAO,EAAE;IAClD,MAAM;MAACC;IAAW,CAAC,GAAGD,OAAO;IAC7B,MAAME,IAAI,GAAGL,YAAY,CAACC,IAAI,EAAEC,aAAa,EAAEC,OAAO,CAAC;IACvDE,IAAI,CAACC,GAAG,GAAG,CAAC,KAAK,CAAC;IAClBD,IAAI,CAACE,IAAI,GAAG1C,MAAM,CAAC0B,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7CnB,YAAY,CAACiC,IAAI,EAAE,kBAAkB,EAAE;MACrCG,OAAO,EAAE;QACPC,cAAc,EAAEnB,QAAQ,CAACoB,UAAU,KAAK;MAC1C;IACF,CAAC,CAAC;IAEFtC,YAAY,CAACiC,IAAI,EAAE,oBAAoB,EAAE;MACvCb,OAAO,EAAE;QACPmB,WAAW,EAAErB,QAAQ,CAACsB,QAAQ,IAAIxB;MACpC;IACF,CAAC,CAAC;IAEFhB,YAAY,CAACiC,IAAI,EAAE,uCAAuC,EAAEQ,mBAAmB,CAAChD,MAAM,CAAC,CAAC;IAExF,MAAMiD,OAAO,GAAI7C,SAAS,CAAC,CAAC,CAAE8C,gBAAgB;IAC9C,IAAID,OAAO,KAAK,CAACA,OAAO,CAACE,MAAM,IAAIF,OAAO,CAACG,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;MACrF7C,YAAY,CAACiC,IAAI,EAAE,sBAAsB,EAAE;QAAC,SAAS,EAAE;UAAC,kBAAkB,EAAE;QAAI;MAAC,CAAC,CAAC;IACrF;IAEAa,qBAAqB,CAACb,IAAI,EAAED,WAAW,EAAEF,aAAa,CAACiB,KAAK,CAAC;IAE7D,OAAOd,IAAI,EAAEe,GAAG,EAAEC,MAAM,EAAEC,aAAa;;IAEvC;IACA,IAAIhC,QAAQ,CAACiC,aAAa,KAAK,IAAI,EAAE;MACnC,OAAOlB,IAAI,CAACe,GAAG,CAACC,MAAM,CAACG,MAAM;IAC/B;;IAEA;IACA,MAAMC,wBAAwB,GAAGrB,WAAW,CAACsB,MAAM,CAACC,UAAU,IAAI,OAAOA,UAAU,CAACC,SAAS,KAAK,QAAQ,CAAC;IAC3G,IAAIH,wBAAwB,CAACT,MAAM,GAAG,CAAC,EAAE;MACvCX,IAAI,CAACe,GAAG,CAACC,MAAM,CAACG,MAAM,GAAG;QAAEK,OAAO,EAAE;MAAM,CAAC;IAC7C;IACA,OAAOxB,IAAI;EACb,CAAC;EACDyB,GAAGA,CAACC,QAAQ,EAAEJ,UAAU,EAAExB,OAAO,EAAE;IACjC;IACA,MAAM6B,cAAc,GAAGC,OAAO,CAACN,UAAU,CAAC;IAC1C,IAAIK,cAAc,CAACE,QAAQ,CAACpE,MAAM,CAAC,IAAIkE,cAAc,CAAChB,MAAM,IAAI,CAAC,EAAE;IAEnE,MAAMc,GAAG,GAAGC,QAAQ,CAACJ,UAAU,EAAExB,OAAO,CAAC;IACzC2B,GAAG,CAACK,EAAE,GAAGR,UAAU,CAACS,UAAU;IAC9B,OAAON,GAAG,CAACO,MAAM;IACjBV,UAAU,CAACW,MAAM,CAACC,QAAQ,KAAK,KAAK,IAAIT,GAAG,CAACU,KAAK,KAAKV,GAAG,CAACU,KAAK,CAACC,GAAG,GAAG,CAAC,CAAC;IACxEd,UAAU,CAACW,MAAM,CAACC,QAAQ,KAAK,KAAK,IAAIT,GAAG,CAACU,KAAK,KAAKV,GAAG,CAACU,KAAK,CAACC,GAAG,GAAG,CAAC,CAAC;IACxE,OAAOX,GAAG,CAACV,GAAG,EAAEC,MAAM,EAAEC,aAAa;IAErC,IAAIK,UAAU,CAACW,MAAM,CAACI,gBAAgB,KAAK,IAAI,IAAIV,cAAc,CAAChB,MAAM,GAAG,CAAC,EAAE;MAC5E5C,YAAY,CAAC0D,GAAG,EAAE,mCAAmC,EAAEE,cAAc,CAAC;IACxE;IAEAW,YAAY,CAAChB,UAAU,EAAEG,GAAG,CAAC;;IAE7B;IACAA,GAAG,CAACK,EAAE,GAAGzC,QAAQ,CAACoC,GAAG,CAACK,EAAE,CAAC,GAAGL,GAAG,CAACK,EAAE,GAAGzC,QAAQ,CAACoC,GAAG,CAACK,EAAE,CAAC,EAAE,IAAIzC,QAAQ,CAACoC,GAAG,CAACK,EAAE,CAAC,GAAG,CAAC,EAAEL,GAAG,CAACK,EAAE,CAAC;IAExF,OAAOL,GAAG;EACZ,CAAC;EACDc,WAAWA,CAACC,gBAAgB,EAAEC,GAAG,EAAE3C,OAAO,EAAE;IAC1C,MAAMyC,WAAW,GAAGC,gBAAgB,CAACC,GAAG,EAAE3C,OAAO,CAAC;IAClDyC,WAAW,CAACG,IAAI,CAACC,SAAS,GAAG7E,UAAU,CAAC2E,GAAG,EAAE,iBAAiB,CAAC;IAC/D,MAAM;MAACnB;IAAU,CAAC,GAAGxB,OAAO;IAE5B,MAAM,CAAC8C,cAAc,EAAEC,eAAe,CAAC,GAAGvB,UAAU,CAACwB,UAAU,CAACX,KAAK,EAAErC,OAAO,KAAK,WAAW,GAAGiD,UAAU,CAACzB,UAAU,EAAE3D,KAAK,CAAC,GAAG,CAACqF,SAAS,EAAEA,SAAS,CAAC;IACvJ;IACAT,WAAW,CAACU,KAAK,GAAGR,GAAG,CAACS,CAAC,IAAIN,cAAc,IAAIL,WAAW,CAACY,WAAW,IAAI,CAAC;IAC3EZ,WAAW,CAACa,MAAM,GAAGX,GAAG,CAACY,CAAC,IAAIR,eAAe,IAAIN,WAAW,CAACe,YAAY,IAAI,CAAC;IAE9E,IAAIf,WAAW,CAACI,SAAS,KAAKhF,KAAK,IAAI2D,UAAU,CAACwB,UAAU,CAACX,KAAK,CAACrC,OAAO,KAAK,WAAW,EAAE;MAC1FyC,WAAW,CAACgB,QAAQ,GAAGC,iBAAiB,CAACjB,WAAW,CAAC;IACvD;IAEA,IAAIzE,UAAU,CAAC2E,GAAG,EAAE,qBAAqB,CAAC,EAAE;MAC1C1E,YAAY,CAACwE,WAAW,EAAE,mBAAmB,EAAEE,GAAG,CAAC1B,GAAG,CAAC0C,MAAM,CAACC,EAAE,CAACC,KAAK,CAAC;IACzE;IACA,OAAOpB,WAAW;EACpB,CAAC;EACDzC,OAAO,EAAE;IACP8D,UAAU,EAAE3E,QAAQ,CAAC2E,UAAU,KAAK,KAAK;IAAE;IAC3CC,GAAG,EAAE;EACP,CAAC;EACDC,UAAU,EAAExG;AACd,CAAC,CAAC;AAEF,OAAO,MAAMyG,IAAI,GAAG;EAClBC,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE7E,KAAK;EACZ8E,mBAAmB,EAAE,CAACzG,MAAM,EAAEE,KAAK,EAAED,MAAM,CAAC;EAC5C;AACF;AACA;AACA;EACEyG,iBAAiB,EAAE,SAAAA,CAAU1B,GAAG,EAAE;IAChC,IAAI2B,KAAK,GAAG,IAAI;IAChB,IAAI,OAAO3B,GAAG,CAACR,MAAM,KAAK,QAAQ,EAAE;MAClC,OAAO,KAAK;IACd;IACA;IACA,KAAK,IAAIoC,CAAC,GAAG,CAAC,EAAEC,KAAK,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAED,CAAC,GAAGC,KAAK,CAAC3D,MAAM,EAAE0D,CAAC,EAAE,EAAE;MAChF5B,GAAG,CAACR,MAAM,CAACqC,KAAK,CAACD,CAAC,CAAC,CAAC,GAAGE,QAAQ,CAAC9B,GAAG,CAACR,MAAM,CAACqC,KAAK,CAACD,CAAC,CAAC,CAAC,CAAC;MACrD,IAAIG,KAAK,CAAC/B,GAAG,CAACR,MAAM,CAACqC,KAAK,CAACD,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/BjG,QAAQ,CAAC,yDAAyD,CAAC;QACnE,OAAO,KAAK;MACd;IACF;IACA,MAAMqG,UAAU,GAAG7C,OAAO,CAACa,GAAG,EAAE,IAAI,CAAC;IACrC;IACA,IAAI,CAACgC,UAAU,CAAC9D,MAAM,EAAE;MACtB,OAAO,KAAK;IACd,CAAC,MAAM,IAAI8D,UAAU,CAAC5C,QAAQ,CAAClE,KAAK,CAAC,EAAE;MAAE;MACvCyG,KAAK,GAAGM,mBAAmB,CAACjC,GAAG,CAAC;IAClC;IACA,MAAMkC,0BAA0B,GAAG,CAAClH,MAAM,EAAEC,MAAM,CAAC,CAAC2D,MAAM,CAACsB,SAAS,IAAI8B,UAAU,CAAC5C,QAAQ,CAACc,SAAS,CAAC,CAAC,CAAChC,MAAM,GAAG,CAAC;IAClH,IAAI,CAACgE,0BAA0B,EAAE,OAAOP,KAAK;IAC7C,OAAOA,KAAK,IAAIO,0BAA0B;EAC5C,CAAC;EACD;AACF;AACA;AACA;AACA;EACEC,aAAa,EAAE,SAAAA,CAAU7E,WAAW,EAAEF,aAAa,EAAE;IACnD;IACA,IAAIgF,QAAQ,GAAG,EAAE;IACjB,MAAMC,mBAAmB,GAAG,EAAE;IAC9B,IAAIC,gBAAgB;IAEpBA,gBAAgB,GAAGhF,WAAW,CAACsB,MAAM,CAAC2D,GAAG,IAAI;MAC3C,MAAMlC,UAAU,GAAGlB,OAAO,CAACoD,GAAG,CAAC,IAAI,EAAE;MACrC,MAAM;QAAErE;MAAO,CAAC,GAAGmC,UAAU;MAC7B,MAAM;QAAET,gBAAgB;QAAEF;MAAM,CAAC,GAAG6C,GAAG,CAAC/C,MAAM,IAAI,CAAC,CAAC;MAEpD;QACE;QACCtB,MAAM,KAAK,CAAC,KAAKmC,UAAU,CAACjB,QAAQ,CAAClE,KAAK,CAAC,IAAImF,UAAU,CAACjB,QAAQ,CAACnE,MAAM,CAAC,CAAC;QAC5E;QACCiD,MAAM,KAAK,CAAC,IAAI,CAACmC,UAAU,CAACjB,QAAQ,CAACpE,MAAM,CAAE;QAC9C;QACC0E,KAAK,IAAIW,UAAU,CAACjB,QAAQ,CAAClE,KAAK,CAAE;QACrC;QACC0E,gBAAgB,KAAKS,UAAU,CAACjB,QAAQ,CAAClE,KAAK,CAAC,IAAImF,UAAU,CAACjB,QAAQ,CAACnE,MAAM,CAAC;MAAE;IAErF,CAAC,CAAC;IAEF,IAAIqH,gBAAgB,IAAIA,gBAAgB,CAACpE,MAAM,EAAE;MAC/C,MAAMX,IAAI,GAAGP,SAAS,CAACwF,MAAM,CAAC;QAAClF,WAAW,EAAEgF,gBAAgB;QAAElF;MAAa,CAAC,CAAC;MAC7EqF,aAAa,CAAC,CAAC;MAEfJ,mBAAmB,CAACK,IAAI,CAAC;QACvBC,MAAM,EAAE,MAAM;QACdC,GAAG,EAAE,WAAWpG,QAAQ,CAACqG,SAAS,IAAI,eAAe,sCAAsC;QAC3FtF,IAAI;QACJsB,UAAU,EAAEyD;MACd,CAAC,CAAC;IACJ;IAEA,MAAMQ,iBAAiB,GAAGxF,WAAW,CAACsB,MAAM,CAAE2D,GAAG,IAAK;MACpD,MAAMlC,UAAU,GAAGlB,OAAO,CAACoD,GAAG,CAAC,IAAI,EAAE;MACrC,MAAM;QAAC3C,gBAAgB;QAAEF;MAAK,CAAC,GAAG6C,GAAG,CAAC/C,MAAM,IAAI,CAAC,CAAC;MAClD;QACE;QACAa,UAAU,CAACjB,QAAQ,CAACpE,MAAM,CAAC;QACzB;QACCqF,UAAU,CAACnC,MAAM,KAAK,CAAC;QACxB;QACA0B,gBAAgB;QAChB;QACC,CAACA,gBAAgB,IAAI,CAACF,KAAM;QAC7B;QACC,CAACE,gBAAgB,IAAIF,KAAK,IAAI,CAACW,UAAU,CAACjB,QAAQ,CAAClE,KAAK,CAAE;MAC5D;IAEL,CAAC,CAAC;IACF,IAAIsB,QAAQ,CAACuG,aAAa,KAAK,IAAI,EAAE;MACnC;MACAX,QAAQ,GAAGC,mBAAmB,CAACW,MAAM,CAACF,iBAAiB,CAACG,GAAG,CAACpE,UAAU,IAAI;QACxE,MAAMqE,SAAS,GAAG5B,IAAI,CAAC6B,gBAAgB,CAACtE,UAAU,EAAEzB,aAAa,CAAC;QAClE,OAAO;UACLuF,MAAM,EAAE,KAAK;UACbC,GAAG,EAAE,WAAWpG,QAAQ,CAAC4G,UAAU,IAAI,UAAU,yCAAyC;UAC1F7F,IAAI,EAAE+D,IAAI,CAAC+B,gBAAgB,CAACH,SAAS,CAAC,CAACI,MAAM,CAAC,CAACC,WAAW,EAAExG,GAAG,KAAK;YAClE,MAAMyG,SAAS,GAAGN,SAAS,CAACnG,GAAG,CAAC;YAChC,OAASrB,KAAK,CAAC8H,SAAS,CAAC,IAAIA,SAAS,KAAK,EAAE,IAAK/H,QAAQ,CAAC+H,SAAS,CAAC,GAAI,GAAGD,WAAW,GAAGE,WAAW,CAAC1G,GAAG,EAAEyG,SAAS,CAAC,GAAG,GAAGD,WAAW;UACxI,CAAC,EAAE,EAAE,CAAC,GAAG,gBAAgBG,IAAI,CAACC,MAAM,CAAC,CAAC,EAAE;UACxC9E;QACF,CAAC;MACH,CAAC,CAAC,CAAC;IACL,CAAC,MAAM;MACL;MACA;MACA,MAAM+E,kBAAkB,GAAGd,iBAAiB,CAACQ,MAAM,CAAC,CAACO,WAAW,EAAE7D,GAAG,KAAK;QACxE,CAAC6D,WAAW,CAAC7D,GAAG,CAACR,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAGqE,WAAW,CAAC7D,GAAG,CAACR,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAEkD,IAAI,CAAC1C,GAAG,CAAC;QACvF,OAAO6D,WAAW;MACpB,CAAC,EAAE,CAAC,CAAC,CAAC;;MAEN;MACA,MAAMC,aAAa,GAAG,EAAE;;MAExB;MACA1B,QAAQ,GAAGC,mBAAmB,CAACW,MAAM,CAACe,MAAM,CAACC,IAAI,CAACJ,kBAAkB,CAAC,CAACN,MAAM,CAAC,CAACW,SAAS,EAAEC,WAAW,KAAK;QACvG;QACAC,cAAc,CAACP,kBAAkB,CAACM,WAAW,CAAC,EAAEJ,aAAa,CAAC,CAACM,OAAO,CAACC,WAAW,IAAI;UACpF,MAAMC,kBAAkB,GAAGhD,IAAI,CAACiD,oBAAoB,CAACF,WAAW,CAACpB,GAAG,CAACpE,UAAU,IAAI;YACjF,OAAOyC,IAAI,CAAC6B,gBAAgB,CAACtE,UAAU,EAAEzB,aAAa,CAAC;UACzD,CAAC,CAAC,CAAC;;UAEH;UACA6G,SAAS,CAACvB,IAAI,CAAC;YACbC,MAAM,EAAE,KAAK;YACbC,GAAG,EAAE,WAAWpG,QAAQ,CAAC4G,UAAU,IAAI,UAAU,yCAAyC;YAC1F7F,IAAI,EAAE+D,IAAI,CAAC+B,gBAAgB,CAACiB,kBAAkB,CAAC,CAAChB,MAAM,CAAC,CAACC,WAAW,EAAExG,GAAG,KAAK;cAC3E,MAAMyG,SAAS,GAAGc,kBAAkB,CAACvH,GAAG,CAAC;cACzC,OAASrB,KAAK,CAAC8H,SAAS,CAAC,IAAIA,SAAS,KAAK,EAAE,IAAK/H,QAAQ,CAAC+H,SAAS,CAAC,GAAI,GAAGD,WAAW,GAAGE,WAAW,CAAC1G,GAAG,EAAEyG,SAAS,CAAC,GAAG,GAAGD,WAAW;YACxI,CAAC,EAAE,EAAE,CAAC,GAAG,SAASc,WAAW,CAACnG,MAAM,SAASwF,IAAI,CAACC,MAAM,CAAC,CAAC,EAAE;YAC5D9E,UAAU,EAAEwF;UACd,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,OAAOJ,SAAS;MAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT;IACA,OAAO7B,QAAQ;EACjB,CAAC;EAEDiB,gBAAgB,EAAE,SAAAA,CAAS7D,MAAM,EAAE;IACjC,MAAMgF,WAAW,GAAG,OAAO;IAC3B,MAAMC,WAAW,GAAG,OAAO;IAC3B,MAAMC,WAAW,GAAG,cAAc;IAElC,MAAMC,aAAa,GAAG,CACpB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,EACT,cAAc,EACd,OAAO,EACP,MAAM,EACN,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,WAAW,CACZ,CAAC3B,MAAM,CAACe,MAAM,CAACC,IAAI,CAACxE,MAAM,CAAC,CAACZ,MAAM,CAAC9B,IAAI,IAAI4H,WAAW,CAACjH,IAAI,CAACX,IAAI,CAAC,CAAC,CAAC,CACjEkG,MAAM,CAAC,CACN,eAAe,EACf,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,CACL,CAAC,CAACA,MAAM,CAACe,MAAM,CAACC,IAAI,CAACxE,MAAM,CAAC,CAACZ,MAAM,CAAC9B,IAAI,IAAI0H,WAAW,CAAC/G,IAAI,CAACX,IAAI,CAAC,CAAC,CAAC,CACpEkG,MAAM,CAACe,MAAM,CAACC,IAAI,CAACxE,MAAM,CAAC,CAACZ,MAAM,CAAC9B,IAAI,IAAI2H,WAAW,CAAChH,IAAI,CAACX,IAAI,CAAC,CAAC,CAAC,CAClEkG,MAAM,CAAC,CACN,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,MAAM,EACN,QAAQ,EACR,UAAU,EACV,WAAW,EACX,aAAa,CACd,CAAC;IAEJ,OAAO2B,aAAa,CAAC3B,MAAM,CAACe,MAAM,CAACC,IAAI,CAACxE,MAAM,CAAC,CAACZ,MAAM,CAAC9B,IAAI,IAAK6H,aAAa,CAACxG,OAAO,CAACrB,IAAI,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC;EACvG,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEyH,oBAAoB,EAAE,SAAAA,CAASK,cAAc,EAAE;IAC7C;IACA,IAAIA,cAAc,CAAC1G,MAAM,KAAK,CAAC,EAAE;MAC/B,OAAO0G,cAAc,CAAC,CAAC,CAAC;IAC1B;;IAEA;IACA,MAAMC,sBAAsB,GAAGD,cAAc,CAACtB,MAAM,CAAC,UAASwB,eAAe,EAAEC,cAAc,EAAEC,MAAM,EAAE;MACrGjB,MAAM,CAACC,IAAI,CAACe,cAAc,CAAC,CAACX,OAAO,CAAC,UAASa,KAAK,EAAE;QAClD,IAAI,CAACH,eAAe,CAACI,cAAc,CAACD,KAAK,CAAC,EAAE;UAC1CH,eAAe,CAACG,KAAK,CAAC,GAAG,IAAIE,KAAK,CAACP,cAAc,CAAC1G,MAAM,CAAC,CAAC,CAAC;QAC7D;QACA;QACA4G,eAAe,CAACG,KAAK,CAAC,CAACG,MAAM,CAACJ,MAAM,EAAE,CAAC,EAAED,cAAc,CAACE,KAAK,CAAC,CAAC;MACjE,CAAC,CAAC;MAEF,OAAOH,eAAe;IACxB,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA,MAAMO,EAAE,GAAG,IAAIC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;;IAE3CvB,MAAM,CAACC,IAAI,CAACa,sBAAsB,CAAC,CAACT,OAAO,CAAC,UAASa,KAAK,EAAE;MAC1D,MAAMM,OAAO,GAAGV,sBAAsB,CAACI,KAAK,CAAC,CAACO,IAAI,CAAC,GAAG,CAAC;MACvD;MACA,MAAMC,KAAK,GAAGF,OAAO,CAACE,KAAK,CAACJ,EAAE,CAAC;MAC/BR,sBAAsB,CAACI,KAAK,CAAC,GAAGQ,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGF,OAAO;IAC5D,CAAC,CAAC;IAEF,OAAOV,sBAAsB;EAC/B,CAAC;EAED;AACF;AACA;AACA;AACA;EACE1B,gBAAgB,EAAE,SAAAA,CAAStE,UAAU,EAAEzB,aAAa,EAAE;IACpDyB,UAAU,CAAC6G,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IAE3C,MAAMpG,MAAM,GAAGX,UAAU,CAACW,MAAM;;IAEhC;IACA,MAAMqG,WAAW,GAAGvF,UAAU,CAACzB,UAAU,EAAE,QAAQ,CAAC;IAEpD,MAAM,CAACiH,QAAQ,EAAEC,SAAS,CAAC,GAAGvG,MAAM,CAACwG,OAAO,IAAI,EAAE;IAElD,MAAMzI,IAAI,GAAG;MACX,YAAY,EAAEiC,MAAM,CAACyG,SAAS;MAC9B,SAAS,EAAEzG,MAAM,CAAC0G,MAAM;MACxB,SAAS,EAAE1G,MAAM,CAAC2G,MAAM;MACxB,SAAS,EAAEN,WAAW,CAAC,CAAC,CAAC;MACzB,cAAc,EAAEA,WAAW,CAACO,KAAK,CAAC,CAAC,CAAC,CAACZ,IAAI,CAAC,GAAG,CAAC,IAAIjF,SAAS;MAC3D,UAAU,EAAE,CAACf,MAAM,CAAC6G,KAAK,GAAGC,UAAU,CAAC9G,MAAM,CAAC6G,KAAK,CAAC,KAAK,IAAI,GAAG7G,MAAM,CAAC6G,KAAK,GAAG9F,SAAS;MACxF,WAAW,EAAE,GAAG;MAChB,UAAU,EAAE,GAAG/D,QAAQ,CAACsB,QAAQ,IAAIzB,mBAAmB,UAAoB;MAC3E,cAAc,EAAEe,aAAa,CAACiB,KAAK,EAAEkI,MAAM,EAAEC,GAAG;MAChD,eAAe,EAAE3H,UAAU,CAAC4H,QAAQ,EAAEnI,GAAG,EAAEkI,GAAG;MAC9C,aAAa,EAAE3H,UAAU,CAAC6H,KAAK;MAC/B,QAAQ,EAAE7H,UAAU,CAACR,KAAK,EAAEsI,MAAM,EAAErI,GAAG,EAAEsI,IAAI;MAC7C,IAAI,EAAE/H,UAAU,CAACR,KAAK,EAAEsI,MAAM,EAAEE,EAAE;MAClC,MAAM,EAAEhI,UAAU,CAACR,KAAK,EAAEsI,MAAM,EAAEG,IAAI;MACtC,cAAc,EAAEC,oBAAoB,CAAC,CAAC;MACtC,aAAa,EAAEvH,MAAM,CAACwH,MAAM;MAC5B,gBAAgB,EAAEjF,KAAK,CAACuE,UAAU,CAACR,QAAQ,CAAC,CAAC,GAAGvF,SAAS,GAAG+F,UAAU,CAACR,QAAQ,CAAC,CAACmB,OAAO,CAAC,CAAC,CAAC;MAC3F,iBAAiB,EAAElF,KAAK,CAACuE,UAAU,CAACP,SAAS,CAAC,CAAC,GAAGxF,SAAS,GAAG+F,UAAU,CAACP,SAAS,CAAC,CAACkB,OAAO,CAAC,CAAC,CAAC;MAC9F,WAAW,EAAEpI,UAAU,CAAC0C,IAAI;MAC5B,IAAI,EAAE2F,WAAW,CAACrI,UAAU,EAAEzB,aAAa;IAC7C,CAAC;;IAED;IACA,IAAI,OAAOyB,UAAU,CAACsI,QAAQ,KAAK,UAAU,IAAI,CAAC3K,QAAQ,CAACiC,aAAa,EAAE;MACxE,IAAI2I,SAAS;MACb,IAAI;QACFA,SAAS,GAAGvI,UAAU,CAACsI,QAAQ,CAAC;UAC9BE,QAAQ,EAAE,KAAK;UACfnH,SAAS,EAAE,QAAQ;UACnBoH,IAAI,EAAE;QACR,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOC,CAAC,EAAE;QACV5L,QAAQ,CAAC,oCAAoC,EAAE4L,CAAC,CAAC;MACnD;MACAhK,IAAI,CAAC,eAAe,CAAC,GAAGrB,aAAa,CAACkL,SAAS,CAAC,IAAIA,SAAS,CAACC,QAAQ,KAAK,KAAK,IAAI,CAACtF,KAAK,CAACD,QAAQ,CAACsF,SAAS,CAACf,KAAK,CAAC,CAAC,GAAGe,SAAS,CAACf,KAAK,GAAG9F,SAAS;IACrJ;;IAEA;IACA,IAAIf,MAAM,CAACI,gBAAgB,KAAK,IAAI,IAAIvE,UAAU,CAACwD,UAAU,EAAE,YAAY,CAAC,IAAIkF,MAAM,CAACC,IAAI,CAACnF,UAAU,CAACwB,UAAU,CAAC,CAACnC,MAAM,GAAG,CAAC,EAAE;MAC7HX,IAAI,CAAC,WAAW,CAAC,GAAGwG,MAAM,CAACC,IAAI,CAACnF,UAAU,CAACwB,UAAU,CAAC,CAACmF,IAAI,CAAC,GAAG,CAAC;IAClE;;IAEA;IACA;IACA,MAAMgC,UAAU,GAAG;MAAC,CAAC,EAAE,KAAK;MAAE,CAAC,EAAE;IAAK,CAAC;IACvC,MAAM7H,GAAG,GAAG6H,UAAU,CAACnM,UAAU,CAACwD,UAAU,EAAE,uBAAuB,CAAC,CAAC,IAAI,EAAE;IAC7EtB,IAAI,CAAC,OAAO,CAAC,GAAIiC,MAAM,CAACC,QAAQ,KAAK,KAAK,IAAID,MAAM,CAACC,QAAQ,KAAK,KAAK,GAAID,MAAM,CAACC,QAAQ,GAAGE,GAAG;;IAEhG;IACA,MAAM8H,YAAY,GAAG1M,MAAM,CAAC0B,SAAS,CAAC,SAAS,CAAC;IAChD,IAAIgL,YAAY,EAAE;MAChBlK,IAAI,CAAC,OAAO,CAAC,GAAGkK,YAAY;IAC9B;IAEA,IAAI5I,UAAU,EAAE4H,QAAQ,EAAEnI,GAAG,EAAEoJ,EAAE,EAAE;MACjCnK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAClB;IACA;IACA,IAAI,OAAOsB,UAAU,EAAER,KAAK,EAAEsJ,IAAI,EAAEC,MAAM,KAAK,QAAQ,EAAE;MACvDrK,IAAI,CAAC,eAAe,CAAC,GAAGsB,UAAU,CAACR,KAAK,CAACsJ,IAAI,CAACC,MAAM;IACtD;IAEAC,kBAAkB,CAACzK,aAAa,EAAEG,IAAI,CAAC;IACvC;IACA,IAAIsB,UAAU,EAAER,KAAK,EAAEyJ,IAAI,EAAExJ,GAAG,EAAEyJ,IAAI,EAAE;MACtClJ,UAAU,CAACR,KAAK,CAACyJ,IAAI,CAACxJ,GAAG,CAACyJ,IAAI,CAAC3D,OAAO,CAAC4D,IAAA,IAA4D;QAAA,IAA3D;UAAEzB,MAAM;UAAE0B,IAAI,GAAG,EAAE;UAAEC,QAAQ;UAAEC,OAAO;UAAEC,EAAE;UAAE9J,GAAG,GAAG,CAAC;QAAE,CAAC,GAAA0J,IAAA;QAC5F,IAAI;UACF;UACA,MAAMK,OAAO,GAAGJ,IAAI,CAAC,CAAC,CAAC;UACvB,IAAI,CAACI,OAAO,EAAE,OAAO,CAAC;;UAEtB;UACA,MAAMC,aAAa,GAAID,OAAO,IAAK,CACjCA,OAAO,CAAChJ,EAAE;UAAE;UACZgJ,OAAO,CAACE,KAAK,IAAI,EAAE,EACnB,EAAE;UAAE;UACJL,QAAQ,IAAI,EAAE,EACdC,OAAO,IAAI,EAAE,EACbC,EAAE,IAAI,EAAE,EACRC,OAAO,EAAE/J,GAAG,EAAEkK,UAAU,IAAIH,OAAO,EAAE/J,GAAG,EAAEmK,UAAU,IAAI,EAAE,CAC3D,CAACjD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;;UAEb,MAAMkD,QAAQ,GAAGJ,aAAa,CAACD,OAAO,CAAC,CAAC,CAAC;;UAEzC;UACA9K,IAAI,CAAC,OAAOgJ,MAAM,EAAE,CAAC,GAAGmC,QAAQ;;UAEhC;UACA,IAAI,CAACnL,IAAI,CAAC,OAAO,CAAC,EAAE;YAClB;YACA,MAAMoL,IAAI,GAAGV,IAAI,CAACW,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACvK,GAAG,EAAEwK,KAAK,KAAK,OAAO,CAAC;YACzD,IAAIH,IAAI,EAAEtJ,EAAE,EAAE;cACZ9B,IAAI,CAAC,OAAO,CAAC,GAAGoL,IAAI,CAACtJ,EAAE,CAAC,CAAC;YAC3B;UACF;QACF,CAAC,CAAC,OAAOkI,CAAC,EAAE;UACV;UACA1L,OAAO,CAAC,6BAA6B,EAAE;YAAE0K,MAAM;YAAE0B;UAAK,CAAC,EAAEV,CAAC,CAAC;QAC7D;MACF,CAAC,CAAC;IACJ;IAEA,IAAInK,aAAa,CAAC2L,WAAW,EAAE;MAC7B;MACA,IAAI,OAAO3L,aAAa,CAAC2L,WAAW,CAACC,WAAW,KAAK,SAAS,EAAE;QAC9DzL,IAAI,CAAC,MAAM,CAAC,GAAG0L,MAAM,CAAC7L,aAAa,CAAC2L,WAAW,CAACC,WAAW,CAAC;MAC9D;MACAzL,IAAI,CAAC,cAAc,CAAC,GAAGH,aAAa,CAAC2L,WAAW,CAACG,aAAa;IAChE;IAEA,IAAI9L,aAAa,CAAC+L,UAAU,EAAE;MAC5B5L,IAAI,CAAC,YAAY,CAAC,GAAG6L,kBAAkB,CAAChM,aAAa,CAAC+L,UAAU,CAAC;IACnE;IAEA,IAAI/L,aAAa,CAACiM,UAAU,EAAEC,SAAS,EAAE;MACvC/L,IAAI,CAAC,KAAK,CAAC,GAAGH,aAAa,CAACiM,UAAU,CAACC,SAAS;MAChD/L,IAAI,CAAC,SAAS,CAAC,GAAGH,aAAa,CAACiM,UAAU,EAAEE,kBAAkB,EAAEC,QAAQ,CAAC,CAAC;IAC5E;IAEAjM,IAAI,CAAC,YAAY,CAAC,GAAGH,aAAa,CAACqM,QAAQ;IAE3CC,QAAQ,CAAC7K,UAAU,EAAE7D,MAAM,EAAEuC,IAAI,CAAC;IAElC,IAAIxC,MAAM,CAAC0B,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;MACtCc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IACnB;;IAEA;IACA,MAAMoM,MAAM,GAAG9K,UAAU,EAAER,KAAK,EAAEkI,MAAM,EAAEjI,GAAG,EAAEqL,MAAM;IACrD,IAAIA,MAAM,IAAIC,yBAAyB,CAACD,MAAM,CAAC,EAAE;MAC/CpM,IAAI,CAACsM,SAAS,GAAGvI,IAAI,CAACwI,oBAAoB,CAACH,MAAM,CAAC;IACpD;IAEA,OAAOpM,IAAI;EACb,CAAC;EAED;AACF;AACA;AACA;AACA;EACEuM,oBAAoB,EAAE,SAAAA,CAAUC,WAAW,EAAE;IAC3C,MAAMC,kBAAkB,GAAGJ,yBAAyB,CAACG,WAAW,CAAC;IACjE,IAAI,CAACC,kBAAkB,EAAE,OAAO,EAAE;IAClC,MAAM;MAAEC,GAAG;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAGJ,WAAW;IAC5C,OAAO,GAAGE,GAAG,IAAIC,QAAQ,IAAI5I,IAAI,CAAC8I,yBAAyB,CAACD,KAAK,CAAC,EAAE;EACtE,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,yBAAyB,EAAE,SAAAA,CAAUD,KAAK,EAAE;IAC1C,MAAME,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;IACnE,OAAOF,KAAK,CAAClH,GAAG,CAACqH,IAAI,IAAI;MACvB,OAAOD,aAAa,CAACpH,GAAG,CAACsH,IAAI,IAAInB,kBAAkB,CAACkB,IAAI,CAACC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC/E,IAAI,CAAC,GAAG,CAAC;IAClF,CAAC,CAAC,CAACA,IAAI,CAAC,GAAG,CAAC;EACd,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEgF,iBAAiB,EAAE,SAAAA,CAAUC,WAAW,EAAExN,OAAO,EAAE;IACjDwN,WAAW,GAAGA,WAAW,CAACC,IAAI;IAC9B,MAAM;MAACnN;IAAI,CAAC,GAAGN,OAAO;;IAEtB;IACA,IAAI,CAACwN,WAAW,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE;MACnD,OAAO,EAAE;IACX;IACA;IACA,IAAIA,WAAW,CAACE,OAAO,EAAE;MACvB,MAAMC,cAAc,GAAGvP,UAAU,CAACoP,WAAW,EAAE,oBAAoB,CAAC;MACpE,IAAItF,KAAK,CAAC3J,OAAO,CAACoP,cAAc,CAAC,IAAIA,cAAc,CAAC1M,MAAM,GAAG,CAAC,EAAE;QAC9DrC,OAAO,CAAC,kCAAkC,CAAC;MAC7C;MACA,MAAMgP,IAAI,GAAG7N,SAAS,CAAC8N,QAAQ,CAAC;QAAC7N,OAAO,EAAEM,IAAI;QAAEwN,QAAQ,EAAEN;MAAW,CAAC,CAAC,CAACI,IAAI;MAC5E,OAAOA,IAAI;IACb;IAEA,IAAIG,GAAG,GAAGP,WAAW,CAACO,GAAG;IACzB,IAAIC,SAAS;IACb,IAAIC,QAAQ,GAAG,CAAC;IAChB,MAAM;MAACrM;IAAU,CAAC,GAAG5B,OAAO;;IAE5B;IACA,IAAI,OAAO4B,UAAU,KAAK,QAAQ,IAAI,CAACsG,KAAK,CAAC3J,OAAO,CAACqD,UAAU,CAAC,IAAIM,OAAO,CAACN,UAAU,CAAC,CAACO,QAAQ,CAAClE,KAAK,CAAC,IAAI,OAAO8P,GAAG,KAAK,QAAQ,EAAE;MAClIA,GAAG,GAAGA,GAAG,CAACnM,UAAU,CAACS,UAAU,CAAC;IAClC;;IAEA;IACA,IAAI,CAAC6F,KAAK,CAAC3J,OAAO,CAACwP,GAAG,CAAC,IAAIA,GAAG,CAAC9M,MAAM,GAAG,CAAC,EAAE;MACzC,OAAO,EAAE;IACX;IAEA,MAAM2M,IAAI,GAAGG,GAAG,CAAC1H,MAAM,CAAC,CAACuH,IAAI,EAAEM,EAAE,EAAEvJ,CAAC,KAAK;MACtCuJ,EAAE,CAACC,aAAa,IAAIH,SAAS,KAAKE,EAAE,CAACC,aAAa,GAAIF,QAAQ,EAAE,GAAGD,SAAS,GAAGE,EAAE,CAACC,aAAa;MAEhG,IAAID,EAAE,CAACE,MAAM,KAAK,IAAI,EAAE;QACtB,OAAOR,IAAI;MACb;;MAEA;MACA,MAAMS,oBAAoB,GAAGnG,KAAK,CAAC3J,OAAO,CAACqD,UAAU,CAAC,GAAGA,UAAU,CAAC+C,CAAC,GAAGsJ,QAAQ,CAAC,GAAGrM,UAAU;MAE9F,IAAIyM,oBAAoB,IAAI,OAAOA,oBAAoB,KAAK,QAAQ,EAAE;QACpE,MAAMtL,GAAG,GAAG;UACVuL,SAAS,EAAED,oBAAoB,CAAC5E,KAAK;UACrCW,QAAQ,EAAE,KAAK;UACfmE,UAAU,EAAEL,EAAE,CAACM,WAAW,IAAI,GAAGN,EAAE,CAACO,OAAO,IAAI,EAAE,IAAIP,EAAE,CAACQ,UAAU,IAAI,EAAE,EAAE;UAC1EC,GAAG,EAAET,EAAE,CAACS,GAAG,IAAI,CAAC;UAChBC,MAAM,EAAEV,EAAE,CAACW,IAAI;UACf1K,GAAG,EAAE,GAAG;UAAE;UACVD,UAAU,EAAE3E,QAAQ,CAAC2E,UAAU,KAAK,KAAK;UAAE;UAC3CzE,OAAO,EAAE;YACPqP,YAAY,EAAEZ,EAAE,CAACQ,UAAU;YAAEK,SAAS,EAAEb,EAAE,CAACO;UAC7C,CAAC;UACDzL,IAAI,EAAE;YACJ8L,YAAY,EAAEZ,EAAE,CAACQ,UAAU;YAAEK,SAAS,EAAEb,EAAE,CAACO,OAAO;YAAExL,SAAS,EAAElF;UACjE;QACF,CAAC;QAED,IAAImQ,EAAE,CAACc,aAAa,EAAE;UACpBjM,GAAG,CAACE,SAAS,GAAGiL,EAAE,CAACc,aAAa;QAClC;QAEA,IAAId,EAAE,CAACe,GAAG,IAAInI,MAAM,CAACC,IAAI,CAACmH,EAAE,CAACe,GAAG,CAAC,CAAChO,MAAM,EAAE;UACxC8B,GAAG,CAACC,IAAI,CAACiM,GAAG,GAAGf,EAAE,CAACe,GAAG;QACvB;QAEA,IAAIf,EAAE,CAACgB,OAAO,EAAE;UACdnM,GAAG,CAACC,IAAI,CAACmM,iBAAiB,GAAGjH,KAAK,CAAC3J,OAAO,CAAC2P,EAAE,CAACgB,OAAO,CAAC,GAAGhB,EAAE,CAACgB,OAAO,GAAG,CAAChB,EAAE,CAACgB,OAAO,CAAC;QACpF;QAEA,IAAIhB,EAAE,CAACkB,eAAe,EAAE;UACtBrM,GAAG,CAACC,IAAI,CAACC,SAAS,GAAGiL,EAAE,CAACkB,eAAe;QACzC;QAEA,IAAIlB,EAAE,CAACc,aAAa,KAAK/Q,KAAK,EAAE;UAC9B8E,GAAG,CAACQ,KAAK,GAAG8K,oBAAoB,CAAC9L,MAAM,CAACE,KAAK,CAACgB,WAAW;UACzDV,GAAG,CAACW,MAAM,GAAG2K,oBAAoB,CAAC9L,MAAM,CAACE,KAAK,CAACmB,YAAY;UAC3Db,GAAG,CAACsM,OAAO,GAAGnB,EAAE,CAACoB,kBAAkB;UACnCvM,GAAG,CAACoL,aAAa,GAAGD,EAAE,CAACC,aAAa;UACpCpL,GAAG,CAACwM,aAAa,GAAGrB,EAAE,CAACC,aAAa;QACtC,CAAC,MAAM;UACLpL,GAAG,CAACmL,EAAE,GAAGsB,eAAe,CAACtB,EAAE,CAACuB,MAAM,EAAEvB,EAAE,CAACC,aAAa,CAAC;UACrD,CAACpL,GAAG,CAACQ,KAAK,EAAER,GAAG,CAACW,MAAM,CAAC,GAAG9D,OAAO,CAACsO,EAAE,CAACwB,OAAO,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC3J,GAAG,CAAC4J,GAAG,IAAI5D,MAAM,CAAC4D,GAAG,CAAC,CAAC;QAClF;;QAEA;QACA7M,GAAG,CAAC8M,gBAAgB,GAAG,CAAC3H,KAAK,CAAC3J,OAAO,CAAC2P,EAAE,CAAC4B,SAAS,CAAC,GAAG5B,EAAE,CAAC4B,SAAS,GAAG,EAAE,EACpEzJ,MAAM,CAAC,CAAC0J,IAAI,EAAElQ,IAAI,KAAK;UACtBkQ,IAAI,CAAClQ,IAAI,CAACC,GAAG,CAAC,GAAGD,IAAI,CAACmQ,MAAM,CAAC,CAAC,CAAC;UAC/B,OAAOD,IAAI;QACb,CAAC,EAAE;UAAC,aAAa,EAAE1B,oBAAoB,CAAChM;QAAU,CAAC,CAAC;QAEtDuL,IAAI,CAACnI,IAAI,CAAC1C,GAAG,CAAC;MAChB,CAAC,MAAM;QACLrE,QAAQ,CAAC,mDAAmDiG,CAAC,EAAE,EAAE/C,UAAU,EAAE4L,WAAW,CAAC;MAC3F;MACA,OAAOI,IAAI;IACb,CAAC,EAAE,EAAE,CAAC,CAACqC,IAAI,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MACxB,OAAO,CAACA,GAAG,CAACxB,GAAG,IAAI,GAAG,KAAKuB,GAAG,CAACvB,GAAG,IAAI,GAAG,CAAC;IAC5C,CAAC,CAAC;IAEF,MAAMyB,oBAAoB,GAAG5C,WAAW,CAAC6C,wBAAwB,EAAErK,GAAG,CAAClI,MAAM,IAAI;MAC/E,OAAO;QAAEA,MAAM;QAAE2L,KAAK,EAAE3L,MAAM,CAAC2L;MAAM,CAAC;IACxC,CAAC,CAAC;IAEF,IAAI2G,oBAAoB,EAAE;MACxB,OAAO;QAAExC,IAAI;QAAE0C,KAAK,EAAEF;MAAqB,CAAC;IAC9C,CAAC,MAAM;MACL,OAAOxC,IAAI;IACb;EACF,CAAC;EACD2C,YAAY,EAAE,SAAAA,CAAUC,WAAW,EAAEC,SAAS,EAAE3E,WAAW,EAAEI,UAAU,EAAEE,UAAU,EAAE;IACnF,IAAI,CAACsE,SAAS,IAAIF,WAAW,CAACG,aAAa,EAAE;MAC3C;MACA,IAAIpO,MAAM,GAAGpD,iBAAiB,CAAC2M,WAAW,EAAEI,UAAU,EAAEE,UAAU,CAAC;MACnE7J,MAAM,GAAGuE,MAAM,CAACC,IAAI,CAACxE,MAAM,CAAC,CAACtB,MAAM,GAAG,IAAI3C,QAAQ,CAACiE,MAAM,CAAC,EAAE,GAAG,EAAE;MAEjEmO,SAAS,GAAG,IAAI;MAChB,OAAO;QACLE,IAAI,EAAE,QAAQ;QACdjL,GAAG,EAAE,WAAWpG,QAAQ,CAACsR,QAAQ,IAAI,KAAK,gCAAgC,GAAGtO;MAC/E,CAAC;IACH;EACF;AACF,CAAC;AAED,SAASuH,oBAAoBA,CAAA,EAAG;EAC9B,OAAO,CAACgH,MAAM,CAACC,MAAM,CAACxN,KAAK,EAAEuN,MAAM,CAACC,MAAM,CAACrN,MAAM,CAAC,CAAC6E,IAAI,CAAC,GAAG,CAAC;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS0B,WAAWA,CAACrI,UAAU,EAAEzB,aAAa,EAAE;EAC9C,IAAI6Q,OAAO;EACX,IAAIpP,UAAU,CAACW,MAAM,CAAC0O,QAAQ,EAAE;IAC9BD,OAAO,GAAGpP,UAAU,CAACW,MAAM,CAAC0O,QAAQ;EACtC,CAAC,MAAM;IACLD,OAAO,GAAG7Q,aAAa,CAAC+Q,WAAW,CAACC,IAAI;EAC1C;EACA,OAAOvP,UAAU,CAACW,MAAM,CAAC6O,MAAM,GAAGJ,OAAO,CAACK,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAGL,OAAO;AAClF;AAEA,SAASxB,eAAeA,CAACC,MAAM,EAAE6B,KAAK,EAAE;EACtC,OAAO;AACT;AACA;AACA;AACA,8BAA8BA,KAAK;AACnC,iCAAiC7B,MAAM;AACvC;AACA;AACA,QAAQ;AACR;AAEA,SAAS8B,gBAAgBA,CAACC,MAAM,EAAE;EAChC,MAAMC,EAAE,GAAGD,MAAM,CAACE,aAAa,CAAC,uBAAuB,CAAC;EACxD,IAAID,EAAE,EAAE;IACNA,EAAE,CAACE,KAAK,CAACC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC;EACzC;AACF;AAEA,SAASC,uBAAuBA,CAACL,MAAM,EAAE;EACvC,MAAMC,EAAE,GAAGD,MAAM,CAACE,aAAa,CAAC,0BAA0B,CAAC;EAC3D,MAAMI,WAAW,GAAGL,EAAE,IAAIA,EAAE,CAACK,WAAW;EACxC,IAAIA,WAAW,IAAIA,WAAW,CAACC,SAAS,KAAK,QAAQ,EAAE;IACrDD,WAAW,CAACH,KAAK,CAACC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC;EAClD;AACF;AAEA,SAASI,SAASA,CAACjP,GAAG,EAAE;EACtB;EACA,MAAMkP,aAAa,GAAGC,QAAQ,CAACC,cAAc,CAACpP,GAAG,CAACV,UAAU,CAAC;EAC7DkP,gBAAgB,CAACU,aAAa,CAAC;EAC/BJ,uBAAuB,CAACI,aAAa,CAAC;;EAEtC;EACA,MAAMG,aAAa,GAAG;IACpBC,KAAK,EAAE,QAAQ;IACf7P,QAAQ,EAAE,QAAQ;IAClB8P,WAAW,EAAE,KAAK;IAClBC,KAAK,EAAEjP,SAAS;IAChBkP,QAAQ,EAAE;EACZ,CAAC;EACD,MAAM1U,MAAM,GAAG;IAAE,GAAGsU,aAAa;IAAE,GAAGrP,GAAG,CAACc,QAAQ,CAACrE,SAAS,CAAC;EAAE,CAAC;EAChEuD,GAAG,CAACc,QAAQ,CAAC4B,IAAI,CAAC,MAAM;IACtBqL,MAAM,CAAC2B,WAAW,CAACC,QAAQ,CAAC;MAC1BnP,KAAK,EAAER,GAAG,CAACQ,KAAK;MAChBG,MAAM,EAAEX,GAAG,CAACW,MAAM;MAClB2L,OAAO,EAAEtM,GAAG,CAACsM,OAAO;MACpBsD,SAAS,EAAE;QACTC,QAAQ,EAAE,IAAI7P,GAAG,CAACV,UAAU,EAAE;QAC9BgQ,KAAK,EAAEvU,MAAM,CAACuU,KAAK;QACnB7P,QAAQ,EAAE1E,MAAM,CAAC0E;MACnB,CAAC;MACD8P,WAAW,EAAExU,MAAM,CAACwU,WAAW;MAC/BC,KAAK,EAAEzU,MAAM,CAACyU,KAAK;MACnBC,QAAQ,EAAE1U,MAAM,CAAC0U;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,SAAS1O,iBAAiBA,CAAC+O,MAAM,EAAE;EACjC,MAAMhP,QAAQ,GAAG1F,QAAQ,CAAC2U,OAAO,CAAC;IAChC1Q,EAAE,EAAEyQ,MAAM,CAACE,IAAI;IACfpN,GAAG,EAAEpG,QAAQ,CAACyT,WAAW,IAAI1T,oBAAoB;IACjDxB,MAAM,EAAEyB,QAAQ,CAAC0T,cAAc,IAAI,CAAC,CAAC;IACrCC,MAAM,EAAE,KAAK;IACb7Q,UAAU,EAAEwQ,MAAM,CAACxQ;EACrB,CAAC,CAAC;EAEF,IAAI;IACFwB,QAAQ,CAACsP,SAAS,CAACnB,SAAS,CAAC;EAC/B,CAAC,CAAC,OAAOoB,GAAG,EAAE;IACZxU,OAAO,CAAC,4CAA4C,EAAEwU,GAAG,CAAC;EAC5D;EAEA,OAAOvP,QAAQ;AACjB;AAEA,SAASR,UAAUA,CAACN,GAAG,EAAEE,SAAS,EAAE;EAClC,MAAMV,MAAM,GAAGQ,GAAG,CAACR,MAAM;EACzB,IAAIU,SAAS,KAAKhF,KAAK,EAAE;IACvB,IAAIoM,IAAI,GAAG,EAAE;IACb,IAAI9H,MAAM,CAACE,KAAK,IAAIF,MAAM,CAACE,KAAK,CAACgB,WAAW,IAAIlB,MAAM,CAACE,KAAK,CAACmB,YAAY,EAAE;MACzEyG,IAAI,GAAG,CACL9H,MAAM,CAACE,KAAK,CAACgB,WAAW,EACxBlB,MAAM,CAACE,KAAK,CAACmB,YAAY,CAC1B;IACH,CAAC,MAAM,IAAIsE,KAAK,CAAC3J,OAAO,CAACH,UAAU,CAAC2E,GAAG,EAAE,6BAA6B,CAAC,CAAC,IAAIA,GAAG,CAACK,UAAU,CAACX,KAAK,CAAC4Q,UAAU,CAACpS,MAAM,KAAK,CAAC,EAAE;MACxHoJ,IAAI,GAAGtH,GAAG,CAACK,UAAU,CAACX,KAAK,CAAC4Q,UAAU,CAAC,CAAC,CAAC;IAC3C,CAAC,MAAM,IAAInL,KAAK,CAAC3J,OAAO,CAACwE,GAAG,CAACuQ,KAAK,CAAC,IAAIvQ,GAAG,CAACuQ,KAAK,CAACrS,MAAM,GAAG,CAAC,IAAIiH,KAAK,CAAC3J,OAAO,CAACwE,GAAG,CAACuQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIvQ,GAAG,CAACuQ,KAAK,CAAC,CAAC,CAAC,CAACrS,MAAM,GAAG,CAAC,EAAE;MACrHoJ,IAAI,GAAGtH,GAAG,CAACuQ,KAAK,CAAC,CAAC,CAAC;IACrB;IACA,OAAOjJ,IAAI;EACb;;EAEA;EACA,IAAIiJ,KAAK,GAAG,EAAE;EACd,IAAIpL,KAAK,CAAC3J,OAAO,CAACgE,MAAM,CAAC+Q,KAAK,CAAC,EAAE;IAC/BA,KAAK,GAAG/Q,MAAM,CAAC+Q,KAAK;EACtB,CAAC,MAAM,IAAI,OAAOlV,UAAU,CAAC2E,GAAG,EAAE,yBAAyB,CAAC,KAAK,WAAW,EAAE;IAC5EuQ,KAAK,GAAGC,QAAQ,CAACxQ,GAAG,CAACK,UAAU,CAACd,MAAM,CAACgR,KAAK,CAAC;EAC/C,CAAC,MAAM,IAAIpL,KAAK,CAAC3J,OAAO,CAACwE,GAAG,CAACuQ,KAAK,CAAC,IAAIvQ,GAAG,CAACuQ,KAAK,CAACrS,MAAM,GAAG,CAAC,EAAE;IAC3DqS,KAAK,GAAGC,QAAQ,CAACxQ,GAAG,CAACuQ,KAAK,CAAC;EAC7B,CAAC,MAAM;IACL1U,OAAO,CAAC,sCAAsC,CAAC;EACjD;EAEA,OAAO4U,eAAe,CAACF,KAAK,CAAC;AAC/B;AAEA,SAAS7G,QAAQA,CAAC7K,UAAU,EAAEqB,SAAS,EAAE3C,IAAI,EAAE;EAC7C,MAAMmT,OAAO,GAAG;IACd5I,IAAI,EAAE;MAACxJ,GAAG,EAAE;QAACf,IAAI,EAAE;UAAC,GAAGsB,UAAU,CAACW,MAAM,CAACmR;QAAO;MAAC;IAAC,CAAC;IACnDhJ,IAAI,EAAE;MAACrJ,GAAG,EAAE;QAACf,IAAI,EAAE;UAAC,GAAGsB,UAAU,CAACW,MAAM,CAACoR;QAAS;MAAC;IAAC;EACtD,CAAC;EAED,IAAI/R,UAAU,CAACW,MAAM,CAACqR,QAAQ,EAAEH,OAAO,CAAC/I,IAAI,CAACkJ,QAAQ,GAAIrV,OAAO,CAACqD,UAAU,CAACW,MAAM,CAACqR,QAAQ,CAAC,GAAIhS,UAAU,CAACW,MAAM,CAACqR,QAAQ,CAACrL,IAAI,CAAC,GAAG,CAAC,GAAG3G,UAAU,CAACW,MAAM,CAACqR,QAAQ;EAEjK,MAAMC,GAAG,GAAGhV,SAAS,CAAC,CAAC,CAAC,EAAE+C,UAAU,CAACR,KAAK,IAAI,CAAC,CAAC,EAAEqS,OAAO,CAAC;EAC1D,MAAMK,MAAM,GAAG1V,UAAU,CAACwD,UAAU,CAAC4H,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;EAC3D,MAAMuK,UAAU,GAAG3V,UAAU,CAACwD,UAAU,CAAC4H,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;EAEpE,MAAMwK,IAAI,GAAG5V,UAAU,CAACwD,UAAU,EAAE,mBAAmB,CAAC;EACxD,MAAMqN,GAAG,GAAG7Q,UAAU,CAACyV,GAAG,EAAE,cAAc,CAAC;EAC3C,MAAMI,MAAM,GAAG;IAACpJ,IAAI,EAAE,CAAC,CAAC,CAAC;IAAEH,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;EAAC,CAAC;EACjD,MAAMwJ,GAAG,GAAG;IAACrJ,IAAI,EAAE,OAAO;IAAEH,IAAI,EAAE,OAAO;IAAEyJ,QAAQ,EAAE,uBAAuB;IAAEC,QAAQ,EAAE,eAAe;IAAER,QAAQ,EAAE;EAAI,CAAC;EACxH,MAAMS,QAAQ,GAAG,SAAAA,CAAS/G,IAAI,EAAExN,GAAG,EAAEwU,UAAU,EAAE;IAC/C,IAAIxU,GAAG,KAAK,MAAM,IAAIoI,KAAK,CAAC3J,OAAO,CAAC+O,IAAI,CAAC,EAAE;MACzC,OAAOA,IAAI,CAAC3L,MAAM,CAAC4S,IAAI,IAAIA,IAAI,CAACC,OAAO,IAAIpW,UAAU,CAACmW,IAAI,EAAE,YAAY,CAAC,IAAIN,MAAM,CAACK,UAAU,CAAC,IAC7FL,MAAM,CAACK,UAAU,CAAC,CAACpT,OAAO,CAAC9C,UAAU,CAACmW,IAAI,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAACvO,GAAG,CAACyO,KAAK,IAAI;QAChF,MAAMC,QAAQ,GAAGD,KAAK,CAACD,OAAO,CAAC7S,MAAM,CAACgT,GAAG,IAAIA,GAAG,CAACvS,EAAE,CAAC,CAACiE,MAAM,CAAC,CAACuO,MAAM,EAAED,GAAG,KAAK;UAC3EC,MAAM,CAACnP,IAAI,CAACkP,GAAG,CAACvS,EAAE,CAAC;UACnB,OAAOwS,MAAM;QACf,CAAC,EAAE,EAAE,CAAC;QACN,IAAIF,QAAQ,CAACzT,MAAM,GAAG,CAAC,EAAE,OAAOyT,QAAQ,CAACnI,QAAQ,CAAC,CAAC;MACrD,CAAC,CAAC,CAACA,QAAQ,CAAC,CAAC;IACf,CAAC,MAAM,IAAI,OAAOe,IAAI,KAAK,QAAQ,IAAI,CAACpF,KAAK,CAAC3J,OAAO,CAAC+O,IAAI,CAAC,EAAE;MAC3D,OAAOhK,SAAS;IAClB,CAAC,MAAM,IAAI,OAAOgK,IAAI,KAAK,WAAW,EAAE;MACtC,OAAQpF,KAAK,CAAC3J,OAAO,CAAC+O,IAAI,CAAC,GAAIA,IAAI,CAAC3L,MAAM,CAAC8S,KAAK,IAAI;QAClD,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,WAAW,EAAE,OAAOA,KAAK,CAAClI,QAAQ,CAAC,CAAC;QAEtF3N,OAAO,CAAC,2BAA2B,EAAE6V,KAAK,EAAE,SAAS,EAAE3U,GAAG,EAAE,qEAAqE,CAAC;MACpI,CAAC,CAAC,CAACyM,QAAQ,CAAC,CAAC,GAAGe,IAAI,CAACf,QAAQ,CAAC,CAAC;IACjC;EACF,CAAC;EACD,MAAMsI,aAAa,GAAG,SAAAA,CAASF,GAAG,EAAEJ,IAAI,EAAEzU,GAAG,EAAmB;IAAA,IAAjBgV,QAAQ,GAAAC,SAAA,CAAA9T,MAAA,QAAA8T,SAAA,QAAAzR,SAAA,GAAAyR,SAAA,MAAG,IAAI;IAC5D,MAAMC,GAAG,GAAGX,QAAQ,CAACM,GAAG,EAAE7U,GAAG,EAAEyU,IAAI,CAAC;IACpC,MAAMU,GAAG,GAAIf,GAAG,CAACpU,GAAG,CAAC,IAAIgV,QAAQ,GAAI,GAAGZ,GAAG,CAACpU,GAAG,CAAC,EAAE,GAAIA,GAAG,KAAK,MAAM,GAAI,GAAGoU,GAAG,CAACK,IAAI,CAAC,KAAK,GAAG,GAAGL,GAAG,CAACK,IAAI,CAAC,GAAGzU,GAAG,EAAE;IAChHQ,IAAI,CAAC2U,GAAG,CAAC,GAAI3U,IAAI,CAAC2U,GAAG,CAAC,GAAI3U,IAAI,CAAC2U,GAAG,CAAC,CAAClP,MAAM,CAAC,GAAG,EAAEiP,GAAG,CAAC,GAAGA,GAAG;EAC5D,CAAC;EAED,IAAI/R,SAAS,KAAKlF,MAAM,EAAE;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,CAACoJ,OAAO,CAACoN,IAAI,IAAI;MAC/BzN,MAAM,CAACC,IAAI,CAAC8M,GAAG,CAACU,IAAI,CAAC,CAAC,CAACpN,OAAO,CAAErH,GAAG,IAAK;QACtC,IAAIyU,IAAI,KAAK,MAAM,IAAIzU,GAAG,KAAK,SAAS,IAAI+T,GAAG,CAACU,IAAI,CAAC,CAACzU,GAAG,CAAC,CAACQ,IAAI,EAAE;UAC/DuU,aAAa,CAAChB,GAAG,CAACU,IAAI,CAAC,CAACzU,GAAG,CAAC,CAACQ,IAAI,EAAEiU,IAAI,EAAE,MAAM,CAAC;QAClD,CAAC,MAAM,IAAIzU,GAAG,KAAK,KAAK,EAAE;UACxB+U,aAAa,CAAChB,GAAG,CAACU,IAAI,CAAC,CAACzU,GAAG,CAAC,EAAEyU,IAAI,EAAEzU,GAAG,CAAC;QAC1C,CAAC,MAAM,IAAI+T,GAAG,CAACU,IAAI,CAAC,CAACzU,GAAG,CAAC,CAACQ,IAAI,EAAE;UAC9BwG,MAAM,CAACC,IAAI,CAAC8M,GAAG,CAACU,IAAI,CAAC,CAAClT,GAAG,CAACf,IAAI,CAAC,CAAC6G,OAAO,CAAErH,GAAG,IAAK;YAC/C+U,aAAa,CAAChB,GAAG,CAACU,IAAI,CAAC,CAAClT,GAAG,CAACf,IAAI,CAACR,GAAG,CAAC,EAAEyU,IAAI,EAAEzU,GAAG,EAAE,KAAK,CAAC;UAC1D,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IACFgH,MAAM,CAACC,IAAI,CAACgN,UAAU,CAAC,CAAC5M,OAAO,CAAErH,GAAG,IAAK;MACvC,IAAIA,GAAG,KAAK,UAAU,EAAE;QACtB+U,aAAa,CAACd,UAAU,CAACjU,GAAG,CAAC,EAAE,MAAM,EAAEA,GAAG,CAAC;MAC7C,CAAC,MAAM,IAAIiU,UAAU,CAACjU,GAAG,CAAC,CAACyU,IAAI,KAAK,KAAK,EAAE;QACzCM,aAAa,CAACd,UAAU,CAACjU,GAAG,CAAC,CAACoV,MAAM,EAAEX,IAAI,EAAEzU,GAAG,CAAC;MAClD;IACF,CAAC,CAAC;;IAEF;IACA,IAAIkU,IAAI,EAAE;MACR1T,IAAI,CAAC,QAAQ,CAAC,GAAG0T,IAAI;IACvB;;IAEA;IACA,IAAI/E,GAAG,IAAInI,MAAM,CAACC,IAAI,CAACkI,GAAG,CAAC,CAAChO,MAAM,EAAE;MAClClC,IAAI,CAACkQ,GAAG,EAAE,CACR,SAAS,EAAGkG,OAAO,IAAK7U,IAAI,CAAC,SAAS,CAAC,GAAG6U,OAAO,EACjD,aAAa,EAAGC,QAAQ,IAAK9U,IAAI,CAAC,aAAa,CAAC,GAAG8U,QAAQ,EAC3D,WAAW,EAAGC,SAAS,IAAK/U,IAAI,CAAC,cAAc,CAAC,GAAG+U,SAAS,EAC5D,WAAW,EAAGC,SAAS,IAAKhV,IAAI,CAAC,eAAe,CAAC,GAAGgV,SAAS,EAC7D,cAAc,EAAGC,YAAY,IAAK;QAChC,IAAIrN,KAAK,CAAC3J,OAAO,CAACgX,YAAY,CAAC,IAAIA,YAAY,CAACtU,MAAM,EAAE;UACtDX,IAAI,CAAC,iBAAiB,CAAC,GAAGiV,YAAY,CAAClP,MAAM,CAAC,CAAC2B,KAAK,EAAEwN,MAAM,KAAK;YAC/D;YACA,MAAMC,MAAM,GAAGD,MAAM,CAACC,MAAM,IAAI,EAAE;YAClC,IAAI,CAACA,MAAM,EAAE;cACX,OAAOzN,KAAK;YACd;;YAEA;YACA,MAAM0N,aAAa,GAAGF,MAAM,CAACG,SAAS,IAAIH,MAAM,CAACjT,MAAM;YACvD,IAAI,CAAC2F,KAAK,CAAC3J,OAAO,CAACmX,aAAa,CAAC,IAAIA,aAAa,CAACzU,MAAM,KAAK,CAAC,EAAE;cAC/D,OAAO+G,KAAK;YACd;;YAEA;YACA,IAAIA,KAAK,EAAE;cACTA,KAAK,IAAI,IAAI;YACf;YAEA,OAAOA,KAAK,IAAI,GAAGyN,MAAM,IAAIC,aAAa,CAACnN,IAAI,CAAC,GAAG,CAAC,EAAE;UACxD,CAAC,EAAE,EAAE,CAAC;QACR;MACF,CAAC,CACF,CAAC;IACJ;;IAEA;IACA,IAAIjI,IAAI,CAAC,eAAe,CAAC,EAAE;MACzB,OAAOA,IAAI,CAAC,uBAAuB,CAAC;IACtC;;IAEA;IACA,MAAMsV,WAAW,GAAGxX,UAAU,CAACyV,GAAG,EAAE,YAAY,CAAC;IACjD,IAAI+B,WAAW,IAAIrW,QAAQ,CAACsW,SAAS,KAAK,KAAK,EAAE;MAC/C;MACA9W,IAAI,CAAC6W,WAAW,EAAE,CAChB,cAAc,EAAEE,IAAI,IAAIxV,IAAI,CAACyV,SAAS,GAAGD,IAAI,EAC7C,SAAS,EAAEE,OAAO,IAAI1V,IAAI,CAAC2V,YAAY,GAAGD,OAAO,EACjD,UAAU,EAAEE,QAAQ,IAAI;QACtB,IAAI,CAAChO,KAAK,CAAC3J,OAAO,CAAC2X,QAAQ,CAAC,EAAE;QAC9B;QACA,MAAM,CAACC,EAAE,EAAEC,OAAO,CAAC,GAAGF,QAAQ,CAAC7P,MAAM,CAAC,CAACgQ,KAAK,EAAEC,WAAW,KAAK;UAC5DD,KAAK,CAAC,CAAC,CAAC,CAAC5Q,IAAI,CAAC,IAAI6Q,WAAW,EAAEC,KAAK,QAAQD,WAAW,EAAEE,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC;UACzE;UACA,IAAIF,WAAW,EAAEE,OAAO,EAAEvV,MAAM,GAAG,CAAC,EAAE;YACpCoV,KAAK,CAAC,CAAC,CAAC,CAAC5Q,IAAI,CAAC,IAAI6Q,WAAW,EAAEC,KAAK,QAAQD,WAAW,EAAEE,OAAO,EAAEjO,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;UACnF;UACA,OAAO8N,KAAK;QACd,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACZ/V,IAAI,CAACmW,OAAO,GAAGN,EAAE,EAAE5N,IAAI,GAAG,GAAG,CAAC;QAC9BjI,IAAI,CAACoW,aAAa,GAAGN,OAAO,EAAE7N,IAAI,GAAG,GAAG,CAAC;MAC3C,CAAC,EACD,QAAQ,EAAEoO,QAAQ,IAAIrW,IAAI,CAACsW,WAAW,GAAG,IAAID,QAAQ,EAAE,EACvD,OAAO,EAAEE,KAAK,IAAIvW,IAAI,CAACwW,UAAU,GAAGD,KAAK,EACzC,UAAU,EAAEE,QAAQ,IAAI;QACtBzW,IAAI,CAAC0W,aAAa,GAAGD,QAAQ,EAAER,KAAK;QACpCjW,IAAI,CAAC2W,iBAAiB,GAAGF,QAAQ,EAAEP,OAAO,EAAEjO,IAAI,GAAG,GAAG,CAAC;MACzD,CAAC,CACF,CAAC;IACJ;EACF,CAAC,MAAM;IACL,IAAIzB,MAAM,CAACC,IAAI,CAAC+M,MAAM,CAAC,CAAC7S,MAAM,EAAE;MAC9BpC,SAAS,CAACyB,IAAI,CAACyB,GAAG,CAAC,CAAC,CAAC,CAACV,GAAG,EAAEyS,MAAM,CAAC;IACpC;IACA;IACA,IAAIE,IAAI,EAAE;MACR1T,IAAI,CAACyB,GAAG,CAAC,CAAC,CAAC,CAACV,GAAG,CAAC2S,IAAI,GAAGA,IAAI;IAC7B;IAEAnV,SAAS,CAACyB,IAAI,EAAEuT,GAAG,CAAC;EACtB;AACF;AAEA,SAASjJ,kBAAkBA,CAACzK,aAAa,EAAE+W,MAAM,EAAE;EACjD,IAAI3X,QAAQ,CAAC4X,UAAU,KAAK,KAAK,EAAE;IACjC;EACF;EACA,MAAMC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAACrR,MAAM,CAACxG,QAAQ,CAAC8X,cAAc,EAAErR,GAAG,CAACsR,GAAG,IAAItL,MAAM,CAACsL,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;EACrG,MAAMC,SAAS,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAACxR,MAAM,CAACxG,QAAQ,CAACiY,cAAc,EAAExR,GAAG,CAACsR,GAAG,IAAItL,MAAM,CAACsL,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;EACzF,MAAMG,QAAQ,GAAGtX,aAAa,CAACiB,KAAK,EAAEyJ,IAAI,EAAEvK,IAAI,IAAI,EAAE;EACtD,MAAMoX,QAAQ,GAAGvX,aAAa,CAACiB,KAAK,EAAEsJ,IAAI,EAAEiN,OAAO,EAAErX,IAAI,IAAI,EAAE;EAC/DmX,QAAQ,CAACtQ,OAAO,CAACyQ,sBAAsB,CAACV,MAAM,EAAE,GAAG,EAAEK,SAAS,CAAC,CAAC;EAChEG,QAAQ,CAACvQ,OAAO,CAACyQ,sBAAsB,CAACV,MAAM,EAAE,GAAG,EAAEE,SAAS,CAAC,CAAC;AAClE;AAEA,SAASQ,sBAAsBA,CAACV,MAAM,EAAEW,IAAI,EAAEnD,QAAQ,EAAE;EACtD,OAAQoD,KAAK,IAAK;IAChB,MAAMC,QAAQ,GAAG/L,MAAM,CAAC8L,KAAK,CAACzW,GAAG,EAAE2W,MAAM,CAAC;IAC1C,IAAItD,QAAQ,CAACvS,QAAQ,CAAC4V,QAAQ,CAAC,EAAE;MAC/Bb,MAAM,CAAC,MAAMW,IAAI,OAAOE,QAAQ,EAAE,CAAC,GAAGD,KAAK,CAACtD,OAAO,EAAExO,GAAG,CAACsR,GAAG,IAAIA,GAAG,CAAClV,EAAE,CAAC,CAACmG,IAAI,CAAC,GAAG,CAAC;IACnF;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,SAASgL,QAAQA,CAACD,KAAK,EAAE;EACvB,OAAOxU,eAAe,CAACwU,KAAK;EAC5B;EAAA,CACGjN,MAAM,CAAC,CAACuO,MAAM,EAAEvK,IAAI,KAAK;IACxB,MAAM4N,UAAU,GAAGpT,QAAQ,CAACjF,OAAO,CAACyK,IAAI,CAAC,EAAE,EAAE,CAAC;IAC9C,IAAI4N,UAAU,EAAE;MACdrD,MAAM,CAACnP,IAAI,CAACwS,UAAU,CAAC;IACzB;IACA,OAAOrD,MAAM;EACf,CAAC,EAAE,EAAE,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASsD,iBAAiBA,CAACtW,UAAU,EAAE;EAC5C,IAAIuW,OAAO,GAAG,OAAO/Z,UAAU,CAACwD,UAAU,EAAE,cAAc3D,KAAK,EAAE,CAAC,KAAK,WAAW;EAClF,MAAMma,QAAQ,GAAG,OAAOha,UAAU,CAACwD,UAAU,EAAE,cAAc7D,MAAM,EAAE,CAAC,KAAK,WAAW;EACtF,MAAMsa,kBAAkB,GAAG,OAAOja,UAAU,CAACwD,UAAU,EAAE,yBAAyB,CAAC,KAAK,WAAW;EACnG,MAAM0W,oBAAoB,GAAG,OAAOla,UAAU,CAACwD,UAAU,EAAE,cAAc,CAAC,KAAK,QAAQ;EACvF;EACA;EACA;;EAEA;EACA,IAAIuW,OAAO,IAAIE,kBAAkB,EAAE,OAAO,IAAI;EAE9C,IAAID,QAAQ,IAAIE,oBAAoB,EAAE;IACpCH,OAAO,GAAG,KAAK;EACjB;EACA,IAAIA,OAAO,IAAIG,oBAAoB,EAAE;IACnCja,YAAY,CAACuD,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;EAC9C;EACA,OAAOuW,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASjW,OAAOA,CAACa,GAAG,EAAe;EAAA,IAAbwV,GAAG,GAAAxD,SAAA,CAAA9T,MAAA,QAAA8T,SAAA,QAAAzR,SAAA,GAAAyR,SAAA,MAAG,KAAK;EAC/B;EACA,MAAMyD,QAAQ,GAAG,EAAE;EACnB,IAAIN,iBAAiB,CAACnV,GAAG,CAAC,EAAE;IAC1B;IACA;IACA,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC7B,OAAO,CAAC9C,UAAU,CAAC2E,GAAG,EAAE,cAAc9E,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;MAC5F,IAAIsa,GAAG,EAAE;QACP7Z,QAAQ,CAAC,iEAAiE,CAAC;MAC7E;MACA,OAAO8Z,QAAQ;IACjB;;IAEA;IACA,IAAInV,UAAU,CAACN,GAAG,EAAE9E,KAAK,CAAC,CAACgD,MAAM,GAAG,CAAC,EAAE;MACrC,IAAIsX,GAAG,EAAE;QACP7Z,QAAQ,CAAC,0DAA0D,CAAC;MACtE;MACA,OAAO8Z,QAAQ;IACjB;IAEA,IAAID,GAAG,EAAE;MACP5Z,UAAU,CAAC,0CAA0C,EAAEoE,GAAG,CAACV,UAAU,CAAC;IACxE;IACAmW,QAAQ,CAAC/S,IAAI,CAACxH,KAAK,CAAC;EACtB;EACA,IAAI,OAAOG,UAAU,CAAC2E,GAAG,EAAE,cAAc/E,MAAM,EAAE,CAAC,KAAK,WAAW,EAAE;IAClEwa,QAAQ,CAAC/S,IAAI,CAACzH,MAAM,CAAC;EACvB;EAEA,IAAI,OAAOI,UAAU,CAAC2E,GAAG,EAAE,cAAchF,MAAM,EAAE,CAAC,KAAK,WAAW,EAAE;IAClE;IACA;IACA,IAAIsF,UAAU,CAACN,GAAG,EAAEhF,MAAM,CAAC,CAACkD,MAAM,KAAK,CAAC,EAAE;MACxC,IAAIsX,GAAG,EAAE;QACP7Z,QAAQ,CAAC,2DAA2D,CAAC;MACvE;MACA,OAAO8Z,QAAQ;IACjB;;IAEA;IACA,IAAID,GAAG,EAAE;MACP5Z,UAAU,CAAC,2CAA2C,EAAEoE,GAAG,CAACV,UAAU,CAAC;IACzE;IACAmW,QAAQ,CAAC/S,IAAI,CAAC1H,MAAM,CAAC;EACvB;EACA,OAAOya,QAAQ;AACjB;AAEA,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAMlZ,QAAQ,GAAG,CAAC,CAAC;AAChD,OAAO,MAAMiG,aAAa,GAAGA,CAAA,KAAM7F,QAAQ,GAAG,CAAC,CAAC;AAChD,OAAO,SAAS6T,eAAeA,CAACF,KAAK,EAAE;EACrC,MAAMoF,iBAAiB,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;EAEpC,OAAOpF,KAAK,CAACrD,IAAI,CAAC,CAAC0I,KAAK,EAAEC,MAAM,KAAK;IACnC;IACA,MAAMC,aAAa,GAAGH,iBAAiB,CAACxX,OAAO,CAACyX,KAAK,CAAC;IACtD,MAAMG,cAAc,GAAGJ,iBAAiB,CAACxX,OAAO,CAAC0X,MAAM,CAAC;IAExD,IAAIC,aAAa,GAAG,CAAC,CAAC,IAAIC,cAAc,GAAG,CAAC,CAAC,EAAE;MAC7C,IAAID,aAAa,KAAK,CAAC,CAAC,EAAE;QACxB,OAAO,CAAC;MACV;MACA,IAAIC,cAAc,KAAK,CAAC,CAAC,EAAE;QACzB,OAAO,CAAC,CAAC;MACX;MACA,OAAOD,aAAa,GAAGC,cAAc;IACvC;;IAEA;IACA,OAAOH,KAAK,GAAGC,MAAM;EACvB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASG,2BAA2BA,CAAChW,GAAG,EAAE;EAC/C;EACA,MAAMiW,aAAa,GAAGnU,QAAQ,CAACzG,UAAU,CAAC2E,GAAG,EAAE,sBAAsB,CAAC,CAAC;EACvE,IAAI,CAAC+B,KAAK,CAACkU,aAAa,CAAC,EAAE;IACzB,OAAOA,aAAa;EACtB;EACA;EACA;EACA,OAAO5a,UAAU,CAAC2E,GAAG,EAAE,cAAc9E,KAAK,UAAU,CAAC,KAAK,WAAW,GAAG,GAAG,GAAG,GAAG;AACnF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAAS6C,mBAAmBA,CAAChD,MAAM,EAAE;EAC1C,OAAO;IACLmb,MAAM,EAAE;MACNC,GAAG,EAAE,CAAC;QAACC,GAAG,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAC,CAAC;MACnCC,MAAM,EAAE,CAAC;QAACF,GAAG,EAAE,KAAK;QAAEC,SAAS,EAAE;MAAI,CAAC,CAAC;MACvCE,IAAI,EAAE,CAAC;QAACH,GAAG,EAAE,KAAK;QAAEC,SAAS,EAAE;MAAI,CAAC,CAAC;MACrCG,IAAI,EAAE,CACJ;QAACJ,GAAG,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAC,EAC5B;QAACI,GAAG,EAAE,IAAI;QAAEL,GAAG,EAAE,KAAK;QAAEC,SAAS,EAAE;MAAI,CAAC,EACxC;QAACI,GAAG,EAAE,KAAK;QAAEL,GAAG,EAAE,KAAK;QAAEC,SAAS,EAAE;MAAI,CAAC,CAC1C;MACDK,KAAK,EAAE,CACL;QAACN,GAAG,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAC,EAC5B;QAACI,GAAG,EAAE,IAAI;QAAEL,GAAG,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAC,EACvC;QAACI,GAAG,EAAE,IAAI;QAAEL,GAAG,EAAE,KAAK;QAAEC,SAAS,EAAE;MAAI,CAAC,CACzC;MACDM,MAAM,EAAE5b,MAAM,CAAC0B,SAAS,CAAC,mBAAmB,CAAC,IAAI1B,MAAM,CAAC0B,SAAS,CAAC,mBAAmB,CAAC,CAACma;IACzF,CAAC,CAAC7b,MAAM,CAAC0B,SAAS,CAAC,kBAAkB,CAAC;EACxC,CAAC;AACH;;AAEA;AACA,OAAO,SAASwF,mBAAmBA,CAACjC,GAAG,EAAE;EACvC,IAAI6W,OAAO,GAAG,IAAI;EAClB;EACA,MAAMC,SAAS,GAAG/S,MAAM,CAACgT,SAAS,CAACvN,QAAQ,CAACwN,IAAI,CAAC,EAAE,CAAC;EACpD,MAAMC,UAAU,GAAGlT,MAAM,CAACgT,SAAS,CAACvN,QAAQ,CAACwN,IAAI,CAAC,CAAC,CAAC;EACpD;EACA,IAAIE,cAAc,GAAG;IACnBC,KAAK,EAAEL,SAAS;IAChBM,SAAS,EAAEN,SAAS;IACpBO,SAAS,EAAEJ;EACb,CAAC;EACD;EACAlT,MAAM,CAACC,IAAI,CAACkT,cAAc,CAAC,CAAC9S,OAAO,CAAC,UAASa,KAAK,EAAE;IAClD,IAAIlB,MAAM,CAACgT,SAAS,CAACvN,QAAQ,CAACwN,IAAI,CAAC3b,UAAU,CAAC2E,GAAG,EAAE,mBAAmB,GAAGiF,KAAK,CAAC,CAAC,KAAKiS,cAAc,CAACjS,KAAK,CAAC,EAAE;MAC1G4R,OAAO,GAAG,KAAK;MACflb,QAAQ,CAAC,4BAA4B,GAAGsJ,KAAK,GAAG,oCAAoC,GAAGiS,cAAc,CAACjS,KAAK,CAAC,CAAC;IAC/G;EACF,CAAC,CAAC;EACF,OAAO4R,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASjN,yBAAyBA,CAACD,MAAM,EAAE;EAChD,IAAIkN,OAAO,GAAG,KAAK;EACnB,MAAMS,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;EAC3C,IAAI,CAAC3N,MAAM,CAACQ,KAAK,EAAE,OAAO0M,OAAO;EACjCA,OAAO,GAAGlN,MAAM,CAACQ,KAAK,CAAC7G,MAAM,CAAC,CAAC+H,MAAM,EAAEf,IAAI,KAAK;IAC9C,IAAI,CAACe,MAAM,EAAE,OAAOA,MAAM;IAC1B,OAAOiM,cAAc,CAACC,KAAK,CAACC,KAAK,IAAIlN,IAAI,CAACpF,cAAc,CAACsS,KAAK,CAAC,CAAC;EAClE,CAAC,EAAE,IAAI,CAAC;EACR,IAAI,CAACX,OAAO,EAAElb,QAAQ,CAAC,yCAAyC,CAAC;EACjE,OAAOkb,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASpT,WAAWA,CAAC1G,GAAG,EAAEkI,KAAK,EAAE;EACtC,IAAIlI,GAAG,KAAK,WAAW,EAAE,OAAO,aAAakI,KAAK,EAAE;EACpD,OAAO,GAAGlI,GAAG,IAAIqM,kBAAkB,CAACnE,KAAK,CAAC,EAAE;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASd,cAAcA,CAACsT,KAAK,EAAEnQ,IAAI,EAAE;EACnC,MAAMuK,MAAM,GAAG,EAAE;EACjB,KAAK,IAAIjQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6V,KAAK,CAACvZ,MAAM,EAAE0D,CAAC,IAAI0F,IAAI,EAAE;IAC3CuK,MAAM,CAACnP,IAAI,CAAC+U,KAAK,CAACrR,KAAK,CAACxE,CAAC,EAAEA,CAAC,GAAG0F,IAAI,CAAC,CAAC;EACvC;EACA,OAAOuK,MAAM;AACf;AAEA,IAAIlE,SAAS,GAAG,KAAK;AAErB,OAAO,SAAS+J,aAAaA,CAAA,EAAG;EAC9B/J,SAAS,GAAG,KAAK;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS9N,YAAYA,CAAChB,UAAU,EAAEG,GAAG,EAAE;EACrC,IAAIA,GAAG,CAAC2Y,WAAW,IAAI,KAAK,EAAE;IAC5B,OAAO3Y,GAAG,CAAC4Y,QAAQ;IACnB,OAAO5Y,GAAG,CAAC2Y,WAAW;EACxB;EAEA,IAAI,CAAC3Y,GAAG,CAAC4Y,QAAQ,EAAE;IACjB,MAAMC,QAAQ,GAAGvR,UAAU,CAACjL,UAAU,CAACwD,UAAU,EAAE,cAAc,CAAC,CAAC;IAEnE,IAAI,CAACkD,KAAK,CAAC8V,QAAQ,CAAC,EAAE;MACpB7Y,GAAG,CAAC4Y,QAAQ,GAAGC,QAAQ;MACvB7Y,GAAG,CAAC2Y,WAAW,GAAG,KAAK;IACzB;EACF;AACF;AAEA,SAASvZ,qBAAqBA,CAACb,IAAI,EAAEua,iBAAiB,EAAEzZ,KAAK,EAAE;EAC7D,IAAIyS,GAAG,GAAG,CAAC,CAAC;EACZ,MAAMD,QAAQ,GAAG1U,kBAAkB,CAACkC,KAAK,EAAE,GAAGyZ,iBAAiB,CAAC7U,GAAG,CAACV,GAAG,IAAIA,GAAG,CAAC/C,MAAM,CAACqR,QAAQ,CAAC,CAAC;EAChGiH,iBAAiB,CAAC1T,OAAO,CAACvF,UAAU,IAAI;IACtC,MAAMkZ,iBAAiB,GAAG;MACxBjQ,IAAI,EAAE;QAACxJ,GAAG,EAAE;UAACf,IAAI,EAAE;YAAC,GAAGsB,UAAU,CAACW,MAAM,CAACmR;UAAO;QAAC;MAAC,CAAC;MACnDhJ,IAAI,EAAE;QAACrJ,GAAG,EAAE;UAACf,IAAI,EAAE;YAAC,GAAGsB,UAAU,CAACW,MAAM,CAACoR;UAAS;QAAC;MAAC;IACtD,CAAC;;IAED;IACA,MAAMoH,uBAAuB,GAAGza,IAAI,CAACyB,GAAG,CAAC4J,IAAI,CAAC5J,GAAG,IAAIA,GAAG,CAACV,GAAG,EAAEC,MAAM,EAAEyC,MAAM,EAAEtE,OAAO,EAAEgD,KAAK,EAAEuY,QAAQ,CAAC;IACvG,IAAID,uBAAuB,EAAE;MAC3BD,iBAAiB,CAACpQ,IAAI,CAACiN,OAAO,GAAG;QAC/BqD,QAAQ,EAAED,uBAAuB,CAAC1Z,GAAG,EAAEC,MAAM,EAAEyC,MAAM,EAAEtE,OAAO,EAAEgD,KAAK,EAAEuY;MACzE,CAAC;IACH;IAEAnH,GAAG,GAAGhV,SAAS,CAACgV,GAAG,EAAEjS,UAAU,CAACR,KAAK,IAAI,CAAC,CAAC,EAAE0Z,iBAAiB,CAAC;;IAE/D;IACA;IACA,MAAMtQ,YAAY,GAAG1M,MAAM,CAAC0B,SAAS,CAAC,SAAS,CAAC;IAChDqU,GAAG,CAAChJ,IAAI,CAACzI,EAAE,GAAGyR,GAAG,CAAChJ,IAAI,CAACzI,EAAE,IAAIoI,YAAY;EAC3C,CAAC,CAAC;EAEF3L,SAAS,CAACyB,IAAI,EAAEuT,GAAG,CAAC;EAEpB,IAAID,QAAQ,IAAIA,QAAQ,CAAC3S,MAAM,EAAE;IAC/B5C,YAAY,CAACiC,IAAI,EAAE,eAAe,EAAEsT,QAAQ,CAACrL,IAAI,CAAC,GAAG,CAAC,CAAC;EACzD;EACA,OAAOjI,IAAI,EAAEe,GAAG,EAAEC,MAAM,EAAEC,aAAa;AACzC;AAEA1D,cAAc,CAACwG,IAAI,CAAC;AAx1CpB3G,IAAI,CAAC,mBAAmB,CAAC","ignoreList":[]}
@@ -0,0 +1,103 @@
1
+ import { registerModule as __r0 } from '../src/prebidGlobal.js';
2
+ import { registerBidder } from "../src/adapters/bidderFactory.js";
3
+ import { BANNER, VIDEO } from "../src/mediaTypes.js";
4
+ import { config } from "../src/config.js";
5
+ import { ortbConverter } from "../libraries/ortbConverter/converter.js";
6
+ import { deepSetValue, deepAccess, getBidIdParameter, logError, logWarn, triggerPixel, replaceAuctionPrice } from "../src/utils.js";
7
+ const BIDDER_CODE = 'rumble';
8
+ const ENDPOINT = 'https://a.ads.rmbl.ws/v1/sites/:id/ortb';
9
+ const VERSION = '1.0.0';
10
+ function fillParameters(bid) {
11
+ const global = config.getConfig('rumble') || {};
12
+ bid.params = bid.params || {};
13
+ ['publisherId', 'siteId', 'test'].forEach(function (k) {
14
+ if (bid.params[k]) {
15
+ return;
16
+ }
17
+ if (global[k]) {
18
+ bid.params[k] = global[k];
19
+ }
20
+ });
21
+ return bid.params;
22
+ }
23
+ export const converter = ortbConverter({
24
+ context: {
25
+ netRevenue: true,
26
+ ttl: 60,
27
+ currency: "USD"
28
+ },
29
+ request(buildRequest, imps, bidderRequest, context) {
30
+ const request = buildRequest(imps, bidderRequest, context);
31
+ const params = fillParameters(bidderRequest?.bids[0]);
32
+ if (params?.test) {
33
+ deepSetValue(request, 'test', 1);
34
+ }
35
+ deepSetValue(request, 'ext.adapter', {
36
+ version: VERSION,
37
+ name: 'prebidjs'
38
+ });
39
+ return request;
40
+ }
41
+ });
42
+ export const spec = {
43
+ code: BIDDER_CODE,
44
+ supportedMediaTypes: [BANNER, VIDEO],
45
+ isBidRequestValid: function (bid) {
46
+ fillParameters(bid);
47
+ if (bid && typeof bid.params !== 'object') {
48
+ logError(BIDDER_CODE + ': params is not defined or is incorrect in the bidder settings.');
49
+ return false;
50
+ }
51
+ const required = ['publisherId', 'siteId'];
52
+ for (let i = 0; i < required.length; i++) {
53
+ if (!getBidIdParameter(required[i], bid.params)) {
54
+ logError(BIDDER_CODE + `: ${required[i]} must be set as a bidder parameter`);
55
+ return false;
56
+ }
57
+ }
58
+ const banner = deepAccess(bid, `mediaTypes.banner`);
59
+ const video = deepAccess(bid, `mediaTypes.video`);
60
+ if (!banner && !video) {
61
+ logWarn(BIDDER_CODE + ': either banner or video mediaType must be provided');
62
+ return false;
63
+ }
64
+ return true;
65
+ },
66
+ buildRequests: function (bidRequests, bidderRequest) {
67
+ const publisherId = bidRequests[0].params.publisherId;
68
+ const siteId = bidRequests[0].params.siteId;
69
+ const zoneId = bidRequests[0].params.zoneId;
70
+ let endpoint = ENDPOINT.replace(':id', siteId) + "?pid=" + publisherId;
71
+ if (zoneId) {
72
+ endpoint += "&a=" + zoneId;
73
+ }
74
+ return bidRequests.map(bid => {
75
+ return {
76
+ url: endpoint,
77
+ method: 'POST',
78
+ data: converter.toORTB({
79
+ bidRequests: [bid],
80
+ bidderRequest
81
+ }),
82
+ bidRequest: bid
83
+ };
84
+ });
85
+ },
86
+ interpretResponse(response, request) {
87
+ return converter.fromORTB({
88
+ response: response.body,
89
+ request: request.data
90
+ }).bids;
91
+ },
92
+ onBidWon: function (bid) {
93
+ if (bid.burl) {
94
+ triggerPixel(replaceAuctionPrice(bid.burl, bid.originalCpm || bid.cpm));
95
+ }
96
+ if (bid.nurl) {
97
+ triggerPixel(replaceAuctionPrice(bid.nurl, bid.originalCpm || bid.cpm));
98
+ }
99
+ }
100
+ };
101
+ registerBidder(spec);
102
+ __r0('rumbleBidAdapter');
103
+ //# sourceMappingURL=rumbleBidAdapter.js.map