prebid.js 9.5.0 → 9.7.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 (253) hide show
  1. package/.github/PULL_REQUEST_TEMPLATE.md +1 -1
  2. package/.github/release-drafter.yml +4 -0
  3. package/README.md +4 -4
  4. package/dist/33acrossAnalyticsAdapter.js +1 -1
  5. package/dist/33acrossBidAdapter.js +1 -1
  6. package/dist/33acrossIdSystem.js +1 -1
  7. package/dist/BTBidAdapter.js +1 -1
  8. package/dist/adagioAnalyticsAdapter.js +1 -1
  9. package/dist/adagioBidAdapter.js +1 -1
  10. package/dist/adagioUtils.js +1 -1
  11. package/dist/addefendBidAdapter.js +1 -1
  12. package/dist/adgenerationBidAdapter.js +1 -1
  13. package/dist/adkernelBidAdapter.js +1 -1
  14. package/dist/adlooxRtdProvider.js +1 -1
  15. package/dist/adqueryBidAdapter.js +1 -1
  16. package/dist/adrelevantisBidAdapter.js +1 -1
  17. package/dist/adstirBidAdapter.js +1 -1
  18. package/dist/adtrgtmeBidAdapter.js +1 -1
  19. package/dist/adxcgAnalyticsAdapter.js +1 -1
  20. package/dist/adxcgBidAdapter.js +1 -1
  21. package/dist/adyoulikeBidAdapter.js +1 -1
  22. package/dist/agmaAnalyticsAdapter.js +1 -1
  23. package/dist/aidemBidAdapter.js +1 -1
  24. package/dist/ajaBidAdapter.js +1 -1
  25. package/dist/amxBidAdapter.js +1 -1
  26. package/dist/amxIdSystem.js +1 -1
  27. package/dist/appierAnalyticsAdapter.js +1 -1
  28. package/dist/appnexusBidAdapter.js +1 -1
  29. package/dist/asoBidAdapter.js +1 -1
  30. package/dist/axonixBidAdapter.js +1 -1
  31. package/dist/bidglassBidAdapter.js +1 -1
  32. package/dist/big-richmediaBidAdapter.js +1 -1
  33. package/dist/bridBidAdapter.js +1 -1
  34. package/dist/bridgewellBidAdapter.js +1 -1
  35. package/dist/brightMountainMediaBidAdapter.js +1 -1
  36. package/dist/carodaBidAdapter.js +1 -1
  37. package/dist/chtnwBidAdapter.js +1 -1
  38. package/dist/chunk-core.js +1 -1
  39. package/dist/cleanmedianetBidAdapter.js +1 -1
  40. package/dist/concertBidAdapter.js +1 -1
  41. package/dist/connectIdSystem.js +1 -1
  42. package/dist/connectadBidAdapter.js +1 -1
  43. package/dist/connectionInfo.js +1 -0
  44. package/dist/consumableBidAdapter.js +1 -1
  45. package/dist/conversantAnalyticsAdapter.js +1 -1
  46. package/dist/conversantBidAdapter.js +1 -1
  47. package/dist/craftBidAdapter.js +1 -1
  48. package/dist/criteoBidAdapter.js +1 -1
  49. package/dist/cwireBidAdapter.js +1 -1
  50. package/dist/dailymotionBidAdapter.js +1 -1
  51. package/dist/dependencies.json +31 -2
  52. package/dist/docereeAdManagerBidAdapter.js +1 -1
  53. package/dist/dspxBidAdapter.js +1 -1
  54. package/dist/dxkultureBidAdapter.js +1 -1
  55. package/dist/eplanningBidAdapter.js +1 -1
  56. package/dist/euidIdSystem.js +1 -1
  57. package/dist/exadsBidAdapter.js +1 -1
  58. package/dist/feedadBidAdapter.js +1 -1
  59. package/dist/finativeBidAdapter.js +1 -1
  60. package/dist/freewheel-sspBidAdapter.js +1 -1
  61. package/dist/gamoshiBidAdapter.js +1 -1
  62. package/dist/gmosspBidAdapter.js +1 -1
  63. package/dist/goldbachBidAdapter.js +1 -1
  64. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  65. package/dist/greenbidsRtdProvider.js +1 -1
  66. package/dist/gridBidAdapter.js +1 -1
  67. package/dist/gumgumBidAdapter.js +1 -1
  68. package/dist/h12mediaBidAdapter.js +1 -1
  69. package/dist/hypelabBidAdapter.js +1 -1
  70. package/dist/id5AnalyticsAdapter.js +1 -1
  71. package/dist/id5IdSystem.js +1 -1
  72. package/dist/idImportLibrary.js +1 -1
  73. package/dist/imdsBidAdapter.js +1 -1
  74. package/dist/improvedigitalBidAdapter.js +1 -1
  75. package/dist/insticatorBidAdapter.js +1 -1
  76. package/dist/intentIqAnalyticsAdapter.js +1 -1
  77. package/dist/ixBidAdapter.js +1 -1
  78. package/dist/jixieBidAdapter.js +1 -1
  79. package/dist/justpremiumBidAdapter.js +1 -1
  80. package/dist/kargoBidAdapter.js +1 -1
  81. package/dist/kimberliteBidAdapter.js +1 -1
  82. package/dist/konduitAnalyticsAdapter.js +1 -1
  83. package/dist/kueezBidAdapter.js +1 -1
  84. package/dist/lassoBidAdapter.js +1 -1
  85. package/dist/lifestreetBidAdapter.js +1 -1
  86. package/dist/liveIntentIdSystem.js +1 -1
  87. package/dist/logicadBidAdapter.js +1 -1
  88. package/dist/loglyliftBidAdapter.js +1 -1
  89. package/dist/luceadBidAdapter.js +1 -1
  90. package/dist/mabidderBidAdapter.js +1 -1
  91. package/dist/magniteAnalyticsAdapter.js +1 -1
  92. package/dist/malltvAnalyticsAdapter.js +1 -1
  93. package/dist/marsmediaBidAdapter.js +1 -1
  94. package/dist/mediafuseBidAdapter.js +1 -1
  95. package/dist/medianetAnalyticsAdapter.js +1 -1
  96. package/dist/medianetBidAdapter.js +1 -1
  97. package/dist/mediasquareBidAdapter.js +1 -1
  98. package/dist/mgidBidAdapter.js +1 -1
  99. package/dist/minutemediaBidAdapter.js +1 -1
  100. package/dist/missenaBidAdapter.js +1 -1
  101. package/dist/mobianRtdProvider.js +1 -1
  102. package/dist/nexx360BidAdapter.js +1 -1
  103. package/dist/nobidAnalyticsAdapter.js +1 -1
  104. package/dist/nobidBidAdapter.js +1 -1
  105. package/dist/not-for-prod/prebid.js +174 -170
  106. package/dist/oguryBidAdapter.js +1 -1
  107. package/dist/onetagBidAdapter.js +1 -1
  108. package/dist/ooloAnalyticsAdapter.js +1 -1
  109. package/dist/openwebBidAdapter.js +1 -1
  110. package/dist/openxBidAdapter.js +1 -1
  111. package/dist/optidigitalBidAdapter.js +1 -1
  112. package/dist/orbidderBidAdapter.js +1 -1
  113. package/dist/ortbConverter.js +1 -1
  114. package/dist/outbrainBidAdapter.js +1 -1
  115. package/dist/ownadxBidAdapter.js +1 -0
  116. package/dist/pixfutureBidAdapter.js +1 -1
  117. package/dist/prismaBidAdapter.js +1 -1
  118. package/dist/publinkIdSystem.js +1 -1
  119. package/dist/publirBidAdapter.js +1 -1
  120. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  121. package/dist/pubmaticBidAdapter.js +1 -1
  122. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  123. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  124. package/dist/pxyzBidAdapter.js +1 -1
  125. package/dist/quantcastBidAdapter.js +1 -1
  126. package/dist/readpeakBidAdapter.js +1 -1
  127. package/dist/relaidoBidAdapter.js +1 -1
  128. package/dist/retailspotBidAdapter.js +1 -1
  129. package/dist/rhythmoneBidAdapter.js +1 -1
  130. package/dist/riseBidAdapter.js +1 -1
  131. package/dist/riseUtils.js +1 -0
  132. package/dist/rubiconBidAdapter.js +1 -1
  133. package/dist/seedingAllianceBidAdapter.js +1 -1
  134. package/dist/seedtagBidAdapter.js +1 -1
  135. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  136. package/dist/sharethroughBidAdapter.js +1 -1
  137. package/dist/shinezBidAdapter.js +1 -1
  138. package/dist/smaatoBidAdapter.js +1 -1
  139. package/dist/smartadserverBidAdapter.js +1 -1
  140. package/dist/smarthubBidAdapter.js +1 -1
  141. package/dist/smartxBidAdapter.js +1 -1
  142. package/dist/smilewantedBidAdapter.js +1 -1
  143. package/dist/snigelBidAdapter.js +1 -1
  144. package/dist/sonobiBidAdapter.js +1 -1
  145. package/dist/sovrnBidAdapter.js +1 -1
  146. package/dist/sspBCBidAdapter.js +1 -1
  147. package/dist/stnBidAdapter.js +1 -1
  148. package/dist/stvBidAdapter.js +1 -1
  149. package/dist/sublimeBidAdapter.js +1 -1
  150. package/dist/taboolaBidAdapter.js +1 -1
  151. package/dist/tappxBidAdapter.js +1 -1
  152. package/dist/targetVideoBidAdapter.js +1 -1
  153. package/dist/teadsBidAdapter.js +1 -1
  154. package/dist/telariaBidAdapter.js +1 -1
  155. package/dist/teqblazeUtils.js +1 -1
  156. package/dist/terceptAnalyticsAdapter.js +1 -1
  157. package/dist/themoneytizerBidAdapter.js +1 -1
  158. package/dist/trionBidAdapter.js +1 -1
  159. package/dist/tripleliftBidAdapter.js +1 -1
  160. package/dist/ttdBidAdapter.js +1 -1
  161. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  162. package/dist/uid2IdSystem.js +1 -1
  163. package/dist/uid2IdSystem_shared.js +1 -1
  164. package/dist/underdogmediaBidAdapter.js +1 -1
  165. package/dist/undertoneBidAdapter.js +1 -1
  166. package/dist/unrulyBidAdapter.js +1 -1
  167. package/dist/viantOrtbBidAdapter.js +1 -1
  168. package/dist/vidazooUtils.js +1 -1
  169. package/dist/videobyteBidAdapter.js +1 -1
  170. package/dist/visxBidAdapter.js +1 -1
  171. package/dist/vuukleBidAdapter.js +1 -1
  172. package/dist/widespaceBidAdapter.js +1 -1
  173. package/dist/winrBidAdapter.js +1 -1
  174. package/dist/wurflRtdProvider.js +1 -0
  175. package/dist/yahooAdsBidAdapter.js +1 -1
  176. package/dist/yieldmoBidAdapter.js +1 -1
  177. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  178. package/integrationExamples/gpt/wurflRtdProvider_example.html +106 -0
  179. package/libraries/connectionInfo/connectionUtils.js +33 -0
  180. package/libraries/ortbConverter/processors/video.js +2 -24
  181. package/libraries/riseUtils/index.js +331 -0
  182. package/libraries/teqblazeUtils/bidderUtils.js +15 -11
  183. package/libraries/vidazooUtils/bidderUtils.js +16 -0
  184. package/modules/.submodules.json +3 -1
  185. package/modules/51DegreesRtdProvider.md +11 -7
  186. package/modules/adagioAnalyticsAdapter.js +101 -84
  187. package/modules/adagioAnalyticsAdapter.md +4 -0
  188. package/modules/adagioBidAdapter.js +14 -66
  189. package/modules/adkernelBidAdapter.js +2 -2
  190. package/modules/aidemBidAdapter.js +2 -0
  191. package/modules/appnexusBidAdapter.js +1 -1
  192. package/modules/cleanmedianetBidAdapter.js +1 -1
  193. package/modules/connectIdSystem.js +5 -3
  194. package/modules/dailymotionBidAdapter.js +19 -0
  195. package/modules/docereeAdManagerBidAdapter.js +9 -12
  196. package/modules/gamoshiBidAdapter.js +1 -1
  197. package/modules/greenbidsAnalyticsAdapter.js +7 -4
  198. package/modules/greenbidsRtdProvider.js +15 -5
  199. package/modules/id5IdSystem.js +14 -93
  200. package/modules/idImportLibrary.js +14 -6
  201. package/modules/insticatorBidAdapter.js +35 -31
  202. package/modules/kargoBidAdapter.js +11 -14
  203. package/modules/kimberliteBidAdapter.js +24 -7
  204. package/modules/kimberliteBidAdapter.md +30 -1
  205. package/modules/minutemediaBidAdapter.js +21 -398
  206. package/modules/mobianRtdProvider.js +28 -14
  207. package/modules/nexx360BidAdapter.js +3 -2
  208. package/modules/openwebBidAdapter.js +18 -396
  209. package/modules/ownadxBidAdapter.js +99 -0
  210. package/modules/prismaBidAdapter.js +1 -27
  211. package/modules/publirBidAdapter.js +20 -273
  212. package/modules/pubmaticBidAdapter.js +2 -1
  213. package/modules/resetdigitalBidAdapter.md +54 -45
  214. package/modules/riseBidAdapter.js +19 -400
  215. package/modules/sharethroughBidAdapter.js +5 -0
  216. package/modules/shinezBidAdapter.js +17 -361
  217. package/modules/smarthubBidAdapter.js +45 -177
  218. package/modules/stnBidAdapter.js +22 -398
  219. package/modules/telariaBidAdapter.js +2 -32
  220. package/modules/ttdBidAdapter.js +14 -32
  221. package/modules/uid2IdSystem_shared.js +51 -39
  222. package/modules/viantOrtbBidAdapter.js +1 -1
  223. package/modules/wurflRtdProvider.js +213 -0
  224. package/modules/wurflRtdProvider.md +67 -0
  225. package/package.json +1 -1
  226. package/src/adloader.js +1 -0
  227. package/src/prebid.js +6 -1
  228. package/src/video.js +78 -1
  229. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +231 -141
  230. package/test/spec/modules/adagioBidAdapter_spec.js +32 -67
  231. package/test/spec/modules/appnexusBidAdapter_spec.js +0 -33
  232. package/test/spec/modules/cleanmedianetBidAdapter_spec.js +1 -1
  233. package/test/spec/modules/connectIdSystem_spec.js +27 -28
  234. package/test/spec/modules/dailymotionBidAdapter_spec.js +50 -0
  235. package/test/spec/modules/docereeAdManagerBidAdapter_spec.js +1 -0
  236. package/test/spec/modules/gamoshiBidAdapter_spec.js +1 -1
  237. package/test/spec/modules/id5IdSystem_spec.js +25 -98
  238. package/test/spec/modules/idImportLibrary_spec.js +14 -0
  239. package/test/spec/modules/insticatorBidAdapter_spec.js +8 -1
  240. package/test/spec/modules/kargoBidAdapter_spec.js +7 -8
  241. package/test/spec/modules/kimberliteBidAdapter_spec.js +137 -65
  242. package/test/spec/modules/mobianRtdProvider_spec.js +46 -43
  243. package/test/spec/modules/nexx360BidAdapter_spec.js +1 -1
  244. package/test/spec/modules/ownadxBidAdapter_spec.js +103 -0
  245. package/test/spec/modules/pubmaticBidAdapter_spec.js +18 -0
  246. package/test/spec/modules/sharethroughBidAdapter_spec.js +35 -0
  247. package/test/spec/modules/smarthubBidAdapter_spec.js +6 -4
  248. package/test/spec/modules/ttdBidAdapter_spec.js +10 -1
  249. package/test/spec/modules/viantOrtbBidAdapter_spec.js +1 -1
  250. package/test/spec/modules/vidazooBidAdapter_spec.js +12 -4
  251. package/test/spec/modules/wurflRtdProvider_spec.js +324 -0
  252. package/test/spec/unit/pbjs_api_spec.js +11 -0
  253. package/test/spec/video_spec.js +103 -1
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[28731],{14975:(e,t,i)=>{var r=i(7873),a=i(57377),s=i(71371),n=i(91069),d=i(70433),o=i(43272),p=i(95789),c=i(82621);const m="9.5.0",u=300,l="USD",b=["admixer.net","adserver.org","adtelligent.com","akamai.com","amxdt.net","audigent.com","britepool.com","criteo.com","crwdcntrl.net","deepintent.com","epsilon.com","hcn.health","id5-sync.com","idx.lat","intentiq.com","intimatemerger.com","liveintent.com","liveramp.com","mediawallahscript.com","merkleinc.com","netid.de","neustar.biz","nextroll.com","novatiq.com","pubcid.org","quantcast.com","tapad.com","uidapi.com","yahoo.com","zeotap.com"];function v(e,t){const i=e.bidder||e.bidderCode;return o.$W.getConfig(`${i}.${t}`)}function g(e){return{w:parseInt(e[0]),h:parseInt(e[1])}}function y(e){return(0,n.isArray)(e)&&2===e.length&&!(0,n.isArray)(e[0])?[g(e)]:e.map(g)}function f(e){return(0,n.isArray)((0,d.A)(e,"userIdAsEids"))?e.userIdAsEids.filter((e=>-1!==b.indexOf(e.source))):[]}function h(e){return(0,d.A)(e,"params.bidOverride.imp.secure")||"https:"===document.location.protocol?1:0}function A(e){let t;return(0,d.A)(e,"params.pubId")?t=!0:(0,d.A)(e,"params.dcn")&&(0,d.A)(e,"params.pos")&&(t=!1),t}function x(e){let t=v(e,"mode");return t=t?t.toLowerCase():void 0,void 0===t||t===s.D4?s.D4:t===s.G_?s.G_:"all"===t?"*":void 0}function O(e){const t=x(e),i={currency:(0,d.A)(e,"params.bidOverride.cur")||l,mediaType:t,size:"*"};return!!(0,n.isFn)(e.getFloor)&&e.getFloor(i)}function T(e,t,i,r){const a={...r};for(const r in i)switch(e){case"string":-1!==t.indexOf(r)&&(0,n.isStr)(i[r])&&(a[r]=i[r]);break;case"number":-1!==t.indexOf(r)&&(0,n.isNumber)(i[r])&&(a[r]=i[r]);break;case"array":-1!==t.indexOf(r)&&(0,n.isArray)(i[r])&&(a[r]=i[r]);break;case"object":-1!==t.indexOf(r)&&(0,n.isPlainObject)(i[r])&&(a[r]=i[r]);break;case"objectAllKeys":(0,n.isPlainObject)(i)&&(a[r]=i[r])}return a}function j(e){const t=v(e,"ttl");return k(t||(0,d.A)(e,"params.ttl"))}function k(e){return(0,n.isNumber)(e)&&e>0&&e<3600?e:u}function w(e){return(0,n.isStr)(e)&&e.length>0}function I(e,t){if(e){let i={id:(0,n.generateUUID)(),cur:[O(e).currency||(0,d.A)(t,"params.bidOverride.cur")||l],imp:[],site:{page:(0,d.A)(e,"refererInfo.page")},device:{dnt:0,ua:navigator.userAgent,ip:(0,d.A)(t,"params.bidOverride.device.ip")||(0,d.A)(t,"params.ext.ip")||void 0,w:window.screen.width,h:window.screen.height},regs:{ext:{us_privacy:e.uspConsent?e.uspConsent:"",gdpr:e.gdprConsent&&e.gdprConsent.gdprApplies?1:0,gpp:e.gppConsent?e.gppConsent.gppString:"",gpp_sid:e.gppConsent?e.gppConsent.applicableSections:[]}},source:{ext:{hb:1,adapterver:"1.1.0",prebidver:m,integration:{name:"prebid.js",ver:m}},fd:1},user:{ext:{consent:e.gdprConsent&&e.gdprConsent.gdprApplies?e.gdprConsent.consentString:"",eids:f(t)}}};!0===A(t)?(i.site.publisher={id:t.params.pubId},((0,d.A)(t,"params.bidOverride.site.id")||(0,d.A)(t,"params.siteId"))&&(i.site.id=(0,d.A)(t,"params.bidOverride.site.id")||t.params.siteId)):i.site.id=t.params.dcn,e.ortb2?.regs?.gpp&&(i.regs.ext.gpp=e.ortb2.regs.gpp,i.regs.ext.gpp_sid=e.ortb2.regs.gpp_sid),e.ortb2&&(i=function(e,t){const i=t.ortb2,r=(0,d.A)(i,"site")||void 0,a=(0,d.A)(r,"content")||void 0,s=(0,d.A)(r,"publisher")||void 0,o=(0,d.A)(r,"content.data")||void 0,p=(0,d.A)(i,"app.content")||void 0,c=(0,d.A)(i,"app.content.data")||void 0,m=(0,d.A)(i,"user")||void 0;if(r&&(0,n.isPlainObject)(r)){const t=["name","domain","page","ref","keywords","search"],i=["cat","sectioncat","pagecat"],a=["ext"];e.site=T("string",t,r,e.site),e.site=T("array",i,r,e.site),e.site=T("object",a,r,e.site)}if(s&&(0,n.isPlainObject)(s)){const t=["ext"];e.site.publisher=T("object",t,s,e.site.publisher)}if(a&&(0,n.isPlainObject)(a)){const t=["id","title","series","season","genre","contentrating","language"],i=["episode","prodq","context","livestream","len"],r=["cat"],s=["ext"];e.site.content=T("string",t,a,e.site.content),e.site.content=T("number",i,a,e.site.content),e.site.content=T("array",r,a,e.site.content),e.site.content=T("object",s,a,e.site.content),o&&(0,n.isArray)(o)&&o.every((t=>{let i={};const r=["segment"],a=["ext"];i=T("string",["id","name"],t,i),i=T("array",r,t,i),i=T("object",a,t,i),e.site.content.data=[],e.site.content.data.push(i)}))}p&&(0,n.isPlainObject)(p)&&c&&(0,n.isArray)(c)&&c.every((t=>{let i={};const r=["segment"],a=["ext"];i=T("string",["id","name"],t,i),i=T("array",r,t,i),i=T("object",a,t,i),e.app={content:{data:[]}},e.app.content.data.push(i)}));if(m&&(0,n.isPlainObject)(m)){const t=["id","buyeruid","gender","keywords","customdata"],i=["yob"],r=["data"],a=["ext"];e.user=T("string",t,m,e.user),e.user=T("number",i,m,e.user),e.user=T("array",r,m,e.user),e.user.ext=T("object",a,m,e.user.ext)}return e}(i,t));const r=(0,d.A)(t,"schain.nodes");return(0,n.isArray)(r)&&r.length>0&&(i.source.ext.schain=t.schain,i.source.ext.schain.nodes[0].rid=i.id),i}}function C(e,t){const i=x(e);if(t&&e){const r={id:e.bidId,secure:h(e),bidfloor:O(e).floor||(0,d.A)(e,"params.bidOverride.imp.bidfloor")};if(!e.mediaTypes.banner||void 0!==i&&i!==s.D4&&"*"!==i||(r.banner={mimes:e.mediaTypes.banner.mimes||["text/html","text/javascript","application/javascript","image/jpg"],format:y(e.sizes)},e.mediaTypes.banner.pos&&(r.banner.pos=e.mediaTypes.banner.pos)),e.mediaTypes.video&&(i===s.G_||"*"===i)){const t=y(e.mediaTypes.video.playerSize);r.video={mimes:(0,d.A)(e,"params.bidOverride.imp.video.mimes")||e.mediaTypes.video.mimes||["video/mp4","application/javascript"],w:(0,d.A)(e,"params.bidOverride.imp.video.w")||t[0].w,h:(0,d.A)(e,"params.bidOverride.imp.video.h")||t[0].h,maxbitrate:(0,d.A)(e,"params.bidOverride.imp.video.maxbitrate")||e.mediaTypes.video.maxbitrate||void 0,maxduration:(0,d.A)(e,"params.bidOverride.imp.video.maxduration")||e.mediaTypes.video.maxduration||void 0,minduration:(0,d.A)(e,"params.bidOverride.imp.video.minduration")||e.mediaTypes.video.minduration||void 0,api:(0,d.A)(e,"params.bidOverride.imp.video.api")||e.mediaTypes.video.api||[2],delivery:(0,d.A)(e,"params.bidOverride.imp.video.delivery")||e.mediaTypes.video.delivery||void 0,pos:(0,d.A)(e,"params.bidOverride.imp.video.pos")||e.mediaTypes.video.pos||void 0,playbackmethod:(0,d.A)(e,"params.bidOverride.imp.video.playbackmethod")||e.mediaTypes.video.playbackmethod||void 0,placement:(0,d.A)(e,"params.bidOverride.imp.video.placement")||e.mediaTypes.video.placement||void 0,plcmt:(0,d.A)(e,"params.bidOverride.imp.video.plcmt")||e.mediaTypes.video.plcmt||void 0,linearity:(0,d.A)(e,"params.bidOverride.imp.video.linearity")||e.mediaTypes.video.linearity||1,protocols:(0,d.A)(e,"params.bidOverride.imp.video.protocols")||e.mediaTypes.video.protocols||[2,5],startdelay:(0,d.A)(e,"params.bidOverride.imp.video.startdelay")||e.mediaTypes.video.startdelay||0,rewarded:(0,d.A)(e,"params.bidOverride.imp.video.rewarded")||void 0}}if(r.ext={dfp_ad_unit_code:e.adUnitCode},(0,d.A)(e,"params.kvp")&&(0,n.isPlainObject)(e.params.kvp)){r.ext.kvs={};for(const t in e.params.kvp)if((0,n.isStr)(e.params.kvp[t])||(0,n.isNumber)(e.params.kvp[t]))r.ext.kvs[t]=e.params.kvp[t];else if((0,n.isArray)(e.params.kvp[t])){const i=e.params.kvp[t];(i.every((e=>(0,n.isStr)(e)))||i.every((e=>(0,n.isNumber)(e))))&&(r.ext.kvs[t]=e.params.kvp[t])}}(0,d.A)(e,"ortb2Imp.ext.data")&&(0,n.isPlainObject)(e.ortb2Imp.ext.data)&&(r.ext.data=e.ortb2Imp.ext.data),(0,d.A)(e,"ortb2Imp.instl")&&(0,n.isNumber)(e.ortb2Imp.instl)&&1===e.ortb2Imp.instl&&(r.instl=e.ortb2Imp.instl),!1===A(e)?(r.tagid=e.params.pos,r.ext.pos=e.params.pos):(0,d.A)(e,"params.placementId")&&(r.tagid=e.params.placementId),t.imp.push(r)}}function _(e){let{payload:t,requestOptions:i,bidderRequest:r}=e;const a=A(r),o=v(r,"endpoint");let p=o||"https://c2shb.pubgw.yahoo.com/bidRequest";if(!0===a&&(p=o||"https://c2shb.pubgw.yahoo.com/admax/bid/partners/PBJS"),!0===(0,d.A)(r,"params.testing.e2etest"))if((0,n.logInfo)("Adapter e2etest mode is active"),i.withCredentials=!1,!0===a)t.site.id="1234567";else{const e=x(r);t.site.id="8a969516017a7a396ec539d97f540011",t.imp.forEach((t=>{if(t.ext.e2eTestMode=!0,e===s.D4)t.tagid="8a969978017a7aaabab4ab0bc01a0009";else if(e===s.G_)t.tagid="8a96958a017a7a57ac375d50c0c700cc";else{const e=r.bidderCode;(0,n.logWarn)(`e2etest mode does not support ${e}.mode="all". \n Please specify either "banner" or "video"`),(0,n.logWarn)(`Adapter e2etest mode: Please make sure your adUnit matches the ${e}.mode video or banner`)}}))}return{url:p,method:"POST",data:t,options:i,bidderRequest:r}}const S={code:"yahooAds",gvlid:25,aliases:[{code:"yahoossp",gvlid:25},{code:"yahooAdvertising",gvlid:25}],supportedMediaTypes:[s.D4,s.G_],isBidRequestValid:function(e){const t=e.params;return!0===(0,d.A)(t,"testing.e2etest")||(!(!(0,n.isPlainObject)(t)||!(w(t.pubId)||w(t.dcn)&&w(t.pos)))||((0,n.logWarn)("Bidder params missing or incorrect, please pass object with either: dcn & pos OR pubId"),!1))},buildRequests:function(e,t){if((0,n.isEmpty)(e)||(0,n.isEmpty)(t))return void(0,n.logWarn)('buildRequests called with either empty "validBidRequests" or "bidderRequest"');const i={contentType:"application/json",customHeaders:{"x-openrtb-version":"2.5"}};i.withCredentials=(0,c.C)(t.gdprConsent);const r=function(e){const t=x(e[0]);let i=[];return t===s.D4?i=e.filter((e=>Object.keys(e.mediaTypes).some((e=>e===s.D4)))):t===s.G_?i=e.filter((e=>Object.keys(e.mediaTypes).some((e=>e===s.G_)))):"*"===t&&(i=e.filter((e=>Object.keys(e.mediaTypes).some((e=>e===s.D4||e===s.G_))))),i}(e);if(!0===v(t,"singleRequestMode")){const e=I(t,r[0]);return r.forEach((t=>{C(t,e)})),[_({payload:e,requestOptions:i,bidderRequest:t})]}return r.map((e=>{const r=I(t,e);return C(e,r),_({payload:r,requestOptions:i,bidderRequest:e})}))},interpretResponse:function(e,t){let{bidderRequest:i}=t;const r=[];if(!e.body||!Array.isArray(e.body.seatbid))return r;return e.body.seatbid.forEach((e=>{let t;try{t=e.bid[0]}catch(e){return r}let a=t.ext&&t.ext.encp?t.ext.encp:t.price,o={adId:(0,d.A)(t,"adId")?t.adId:t.impid||t.crid,requestId:t.impid,cpm:a,width:t.w,height:t.h,creativeId:t.crid||0,currency:t.cur||l,dealId:t.dealid?t.dealid:null,netRevenue:!0,ttl:j(i),meta:{advertiserDomains:t.adomain}};const c=function(e){const t=e.adm;return-1!==t.indexOf("o2playerSettings")||-1!==t.indexOf("YAHOO.VideoPlatform.VideoPlayer")||-1!==t.indexOf("AdPlacement")?s.D4:-1!==t.indexOf("VAST")?s.G_:void 0}(t);c===s.D4?(o.mediaType=s.D4,o.ad=t.adm,o.meta.mediaType=s.D4):c===s.G_&&(o.mediaType=s.G_,o.meta.mediaType=s.G_,o.vastXml=t.adm,t.nurl&&(o.vastUrl=t.nurl)),"outstream"!==(0,d.A)(i,"mediaTypes.video.context")||i.renderer||(o.renderer=function(e,t){const i=p.A4.install({url:"https://s.yimg.com/kp/prebid-outstream-renderer/renderer.js",loaded:!1,adUnitCode:e.adUnitCode});try{i.setRender((function(t){setTimeout((function(){o2PlayerRender(t)}),(0,d.A)(e,"params.testing.renderer.setTimeout")||700)}))}catch(e){(0,n.logWarn)("Renderer error: setRender() failed",e)}return i}(i)||void 0),r.push(o)})),r},getUserSyncs:function(e,t,i,r,a){const s=!(0,n.isEmpty)(t)&&t[0].body;if(s&&s.ext&&s.ext.pixels){const t=function(e,t){let i=/(img|iframe)[\s\S]*?src\s*=\s*("|')(.*?)\2/gi,r=/\w*(?=\s)/,a=/src=("|')(.*?)\1/,s=[];if(t){let n=t.match(i);n&&n.forEach((t=>{let i=t.match(r)[0],n=t.match(a)[2];if(i&&n){let t="img"===i.toLowerCase()?"image":"iframe";if(!e.iframeEnabled&&"iframe"===t||!e.pixelEnabled&&"image"===t)return;s.push({type:t,url:n})}}))}return s}(e,s.ext.pixels);return t.forEach((e=>{e.url=function(e,t){const i={gdpr_consent:t.gdpr?t.gdpr.consentString:"",gdpr:t.gdpr&&t.gdpr.gdprApplies?"1":"0",us_privacy:t.uspConsent?t.uspConsent:"",gpp:t.gpp?t.gpp.gppString:"",gpp_sid:t.gpp&&Array.isArray(t.gpp.applicableSections)?t.gpp.applicableSections.join(","):""},r=new URL(e),a=r.searchParams;for(const[e,t]of Object.entries(i))a.set(e,t);return r.search=a.toString(),r.toString()}(e.url,{gpp:a,gdpr:i,uspConsent:r})})),t}return[]}};(0,a.a$)(S),(0,r.E)("yahooAdsBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=14975,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[28731],{14975:(e,t,i)=>{var r=i(7873),a=i(57377),s=i(71371),n=i(91069),d=i(70433),o=i(43272),p=i(95789),c=i(82621);const m="9.7.0",u=300,l="USD",b=["admixer.net","adserver.org","adtelligent.com","akamai.com","amxdt.net","audigent.com","britepool.com","criteo.com","crwdcntrl.net","deepintent.com","epsilon.com","hcn.health","id5-sync.com","idx.lat","intentiq.com","intimatemerger.com","liveintent.com","liveramp.com","mediawallahscript.com","merkleinc.com","netid.de","neustar.biz","nextroll.com","novatiq.com","pubcid.org","quantcast.com","tapad.com","uidapi.com","yahoo.com","zeotap.com"];function v(e,t){const i=e.bidder||e.bidderCode;return o.$W.getConfig(`${i}.${t}`)}function g(e){return{w:parseInt(e[0]),h:parseInt(e[1])}}function y(e){return(0,n.isArray)(e)&&2===e.length&&!(0,n.isArray)(e[0])?[g(e)]:e.map(g)}function f(e){return(0,n.isArray)((0,d.A)(e,"userIdAsEids"))?e.userIdAsEids.filter((e=>-1!==b.indexOf(e.source))):[]}function h(e){return(0,d.A)(e,"params.bidOverride.imp.secure")||"https:"===document.location.protocol?1:0}function A(e){let t;return(0,d.A)(e,"params.pubId")?t=!0:(0,d.A)(e,"params.dcn")&&(0,d.A)(e,"params.pos")&&(t=!1),t}function x(e){let t=v(e,"mode");return t=t?t.toLowerCase():void 0,void 0===t||t===s.D4?s.D4:t===s.G_?s.G_:"all"===t?"*":void 0}function O(e){const t=x(e),i={currency:(0,d.A)(e,"params.bidOverride.cur")||l,mediaType:t,size:"*"};return!!(0,n.isFn)(e.getFloor)&&e.getFloor(i)}function T(e,t,i,r){const a={...r};for(const r in i)switch(e){case"string":-1!==t.indexOf(r)&&(0,n.isStr)(i[r])&&(a[r]=i[r]);break;case"number":-1!==t.indexOf(r)&&(0,n.isNumber)(i[r])&&(a[r]=i[r]);break;case"array":-1!==t.indexOf(r)&&(0,n.isArray)(i[r])&&(a[r]=i[r]);break;case"object":-1!==t.indexOf(r)&&(0,n.isPlainObject)(i[r])&&(a[r]=i[r]);break;case"objectAllKeys":(0,n.isPlainObject)(i)&&(a[r]=i[r])}return a}function j(e){const t=v(e,"ttl");return k(t||(0,d.A)(e,"params.ttl"))}function k(e){return(0,n.isNumber)(e)&&e>0&&e<3600?e:u}function w(e){return(0,n.isStr)(e)&&e.length>0}function I(e,t){if(e){let i={id:(0,n.generateUUID)(),cur:[O(e).currency||(0,d.A)(t,"params.bidOverride.cur")||l],imp:[],site:{page:(0,d.A)(e,"refererInfo.page")},device:{dnt:0,ua:navigator.userAgent,ip:(0,d.A)(t,"params.bidOverride.device.ip")||(0,d.A)(t,"params.ext.ip")||void 0,w:window.screen.width,h:window.screen.height},regs:{ext:{us_privacy:e.uspConsent?e.uspConsent:"",gdpr:e.gdprConsent&&e.gdprConsent.gdprApplies?1:0,gpp:e.gppConsent?e.gppConsent.gppString:"",gpp_sid:e.gppConsent?e.gppConsent.applicableSections:[]}},source:{ext:{hb:1,adapterver:"1.1.0",prebidver:m,integration:{name:"prebid.js",ver:m}},fd:1},user:{ext:{consent:e.gdprConsent&&e.gdprConsent.gdprApplies?e.gdprConsent.consentString:"",eids:f(t)}}};!0===A(t)?(i.site.publisher={id:t.params.pubId},((0,d.A)(t,"params.bidOverride.site.id")||(0,d.A)(t,"params.siteId"))&&(i.site.id=(0,d.A)(t,"params.bidOverride.site.id")||t.params.siteId)):i.site.id=t.params.dcn,e.ortb2?.regs?.gpp&&(i.regs.ext.gpp=e.ortb2.regs.gpp,i.regs.ext.gpp_sid=e.ortb2.regs.gpp_sid),e.ortb2&&(i=function(e,t){const i=t.ortb2,r=(0,d.A)(i,"site")||void 0,a=(0,d.A)(r,"content")||void 0,s=(0,d.A)(r,"publisher")||void 0,o=(0,d.A)(r,"content.data")||void 0,p=(0,d.A)(i,"app.content")||void 0,c=(0,d.A)(i,"app.content.data")||void 0,m=(0,d.A)(i,"user")||void 0;if(r&&(0,n.isPlainObject)(r)){const t=["name","domain","page","ref","keywords","search"],i=["cat","sectioncat","pagecat"],a=["ext"];e.site=T("string",t,r,e.site),e.site=T("array",i,r,e.site),e.site=T("object",a,r,e.site)}if(s&&(0,n.isPlainObject)(s)){const t=["ext"];e.site.publisher=T("object",t,s,e.site.publisher)}if(a&&(0,n.isPlainObject)(a)){const t=["id","title","series","season","genre","contentrating","language"],i=["episode","prodq","context","livestream","len"],r=["cat"],s=["ext"];e.site.content=T("string",t,a,e.site.content),e.site.content=T("number",i,a,e.site.content),e.site.content=T("array",r,a,e.site.content),e.site.content=T("object",s,a,e.site.content),o&&(0,n.isArray)(o)&&o.every((t=>{let i={};const r=["segment"],a=["ext"];i=T("string",["id","name"],t,i),i=T("array",r,t,i),i=T("object",a,t,i),e.site.content.data=[],e.site.content.data.push(i)}))}p&&(0,n.isPlainObject)(p)&&c&&(0,n.isArray)(c)&&c.every((t=>{let i={};const r=["segment"],a=["ext"];i=T("string",["id","name"],t,i),i=T("array",r,t,i),i=T("object",a,t,i),e.app={content:{data:[]}},e.app.content.data.push(i)}));if(m&&(0,n.isPlainObject)(m)){const t=["id","buyeruid","gender","keywords","customdata"],i=["yob"],r=["data"],a=["ext"];e.user=T("string",t,m,e.user),e.user=T("number",i,m,e.user),e.user=T("array",r,m,e.user),e.user.ext=T("object",a,m,e.user.ext)}return e}(i,t));const r=(0,d.A)(t,"schain.nodes");return(0,n.isArray)(r)&&r.length>0&&(i.source.ext.schain=t.schain,i.source.ext.schain.nodes[0].rid=i.id),i}}function C(e,t){const i=x(e);if(t&&e){const r={id:e.bidId,secure:h(e),bidfloor:O(e).floor||(0,d.A)(e,"params.bidOverride.imp.bidfloor")};if(!e.mediaTypes.banner||void 0!==i&&i!==s.D4&&"*"!==i||(r.banner={mimes:e.mediaTypes.banner.mimes||["text/html","text/javascript","application/javascript","image/jpg"],format:y(e.sizes)},e.mediaTypes.banner.pos&&(r.banner.pos=e.mediaTypes.banner.pos)),e.mediaTypes.video&&(i===s.G_||"*"===i)){const t=y(e.mediaTypes.video.playerSize);r.video={mimes:(0,d.A)(e,"params.bidOverride.imp.video.mimes")||e.mediaTypes.video.mimes||["video/mp4","application/javascript"],w:(0,d.A)(e,"params.bidOverride.imp.video.w")||t[0].w,h:(0,d.A)(e,"params.bidOverride.imp.video.h")||t[0].h,maxbitrate:(0,d.A)(e,"params.bidOverride.imp.video.maxbitrate")||e.mediaTypes.video.maxbitrate||void 0,maxduration:(0,d.A)(e,"params.bidOverride.imp.video.maxduration")||e.mediaTypes.video.maxduration||void 0,minduration:(0,d.A)(e,"params.bidOverride.imp.video.minduration")||e.mediaTypes.video.minduration||void 0,api:(0,d.A)(e,"params.bidOverride.imp.video.api")||e.mediaTypes.video.api||[2],delivery:(0,d.A)(e,"params.bidOverride.imp.video.delivery")||e.mediaTypes.video.delivery||void 0,pos:(0,d.A)(e,"params.bidOverride.imp.video.pos")||e.mediaTypes.video.pos||void 0,playbackmethod:(0,d.A)(e,"params.bidOverride.imp.video.playbackmethod")||e.mediaTypes.video.playbackmethod||void 0,placement:(0,d.A)(e,"params.bidOverride.imp.video.placement")||e.mediaTypes.video.placement||void 0,plcmt:(0,d.A)(e,"params.bidOverride.imp.video.plcmt")||e.mediaTypes.video.plcmt||void 0,linearity:(0,d.A)(e,"params.bidOverride.imp.video.linearity")||e.mediaTypes.video.linearity||1,protocols:(0,d.A)(e,"params.bidOverride.imp.video.protocols")||e.mediaTypes.video.protocols||[2,5],startdelay:(0,d.A)(e,"params.bidOverride.imp.video.startdelay")||e.mediaTypes.video.startdelay||0,rewarded:(0,d.A)(e,"params.bidOverride.imp.video.rewarded")||void 0}}if(r.ext={dfp_ad_unit_code:e.adUnitCode},(0,d.A)(e,"params.kvp")&&(0,n.isPlainObject)(e.params.kvp)){r.ext.kvs={};for(const t in e.params.kvp)if((0,n.isStr)(e.params.kvp[t])||(0,n.isNumber)(e.params.kvp[t]))r.ext.kvs[t]=e.params.kvp[t];else if((0,n.isArray)(e.params.kvp[t])){const i=e.params.kvp[t];(i.every((e=>(0,n.isStr)(e)))||i.every((e=>(0,n.isNumber)(e))))&&(r.ext.kvs[t]=e.params.kvp[t])}}(0,d.A)(e,"ortb2Imp.ext.data")&&(0,n.isPlainObject)(e.ortb2Imp.ext.data)&&(r.ext.data=e.ortb2Imp.ext.data),(0,d.A)(e,"ortb2Imp.instl")&&(0,n.isNumber)(e.ortb2Imp.instl)&&1===e.ortb2Imp.instl&&(r.instl=e.ortb2Imp.instl),!1===A(e)?(r.tagid=e.params.pos,r.ext.pos=e.params.pos):(0,d.A)(e,"params.placementId")&&(r.tagid=e.params.placementId),t.imp.push(r)}}function _(e){let{payload:t,requestOptions:i,bidderRequest:r}=e;const a=A(r),o=v(r,"endpoint");let p=o||"https://c2shb.pubgw.yahoo.com/bidRequest";if(!0===a&&(p=o||"https://c2shb.pubgw.yahoo.com/admax/bid/partners/PBJS"),!0===(0,d.A)(r,"params.testing.e2etest"))if((0,n.logInfo)("Adapter e2etest mode is active"),i.withCredentials=!1,!0===a)t.site.id="1234567";else{const e=x(r);t.site.id="8a969516017a7a396ec539d97f540011",t.imp.forEach((t=>{if(t.ext.e2eTestMode=!0,e===s.D4)t.tagid="8a969978017a7aaabab4ab0bc01a0009";else if(e===s.G_)t.tagid="8a96958a017a7a57ac375d50c0c700cc";else{const e=r.bidderCode;(0,n.logWarn)(`e2etest mode does not support ${e}.mode="all". \n Please specify either "banner" or "video"`),(0,n.logWarn)(`Adapter e2etest mode: Please make sure your adUnit matches the ${e}.mode video or banner`)}}))}return{url:p,method:"POST",data:t,options:i,bidderRequest:r}}const S={code:"yahooAds",gvlid:25,aliases:[{code:"yahoossp",gvlid:25},{code:"yahooAdvertising",gvlid:25}],supportedMediaTypes:[s.D4,s.G_],isBidRequestValid:function(e){const t=e.params;return!0===(0,d.A)(t,"testing.e2etest")||(!(!(0,n.isPlainObject)(t)||!(w(t.pubId)||w(t.dcn)&&w(t.pos)))||((0,n.logWarn)("Bidder params missing or incorrect, please pass object with either: dcn & pos OR pubId"),!1))},buildRequests:function(e,t){if((0,n.isEmpty)(e)||(0,n.isEmpty)(t))return void(0,n.logWarn)('buildRequests called with either empty "validBidRequests" or "bidderRequest"');const i={contentType:"application/json",customHeaders:{"x-openrtb-version":"2.5"}};i.withCredentials=(0,c.C)(t.gdprConsent);const r=function(e){const t=x(e[0]);let i=[];return t===s.D4?i=e.filter((e=>Object.keys(e.mediaTypes).some((e=>e===s.D4)))):t===s.G_?i=e.filter((e=>Object.keys(e.mediaTypes).some((e=>e===s.G_)))):"*"===t&&(i=e.filter((e=>Object.keys(e.mediaTypes).some((e=>e===s.D4||e===s.G_))))),i}(e);if(!0===v(t,"singleRequestMode")){const e=I(t,r[0]);return r.forEach((t=>{C(t,e)})),[_({payload:e,requestOptions:i,bidderRequest:t})]}return r.map((e=>{const r=I(t,e);return C(e,r),_({payload:r,requestOptions:i,bidderRequest:e})}))},interpretResponse:function(e,t){let{bidderRequest:i}=t;const r=[];if(!e.body||!Array.isArray(e.body.seatbid))return r;return e.body.seatbid.forEach((e=>{let t;try{t=e.bid[0]}catch(e){return r}let a=t.ext&&t.ext.encp?t.ext.encp:t.price,o={adId:(0,d.A)(t,"adId")?t.adId:t.impid||t.crid,requestId:t.impid,cpm:a,width:t.w,height:t.h,creativeId:t.crid||0,currency:t.cur||l,dealId:t.dealid?t.dealid:null,netRevenue:!0,ttl:j(i),meta:{advertiserDomains:t.adomain}};const c=function(e){const t=e.adm;return-1!==t.indexOf("o2playerSettings")||-1!==t.indexOf("YAHOO.VideoPlatform.VideoPlayer")||-1!==t.indexOf("AdPlacement")?s.D4:-1!==t.indexOf("VAST")?s.G_:void 0}(t);c===s.D4?(o.mediaType=s.D4,o.ad=t.adm,o.meta.mediaType=s.D4):c===s.G_&&(o.mediaType=s.G_,o.meta.mediaType=s.G_,o.vastXml=t.adm,t.nurl&&(o.vastUrl=t.nurl)),"outstream"!==(0,d.A)(i,"mediaTypes.video.context")||i.renderer||(o.renderer=function(e,t){const i=p.A4.install({url:"https://s.yimg.com/kp/prebid-outstream-renderer/renderer.js",loaded:!1,adUnitCode:e.adUnitCode});try{i.setRender((function(t){setTimeout((function(){o2PlayerRender(t)}),(0,d.A)(e,"params.testing.renderer.setTimeout")||700)}))}catch(e){(0,n.logWarn)("Renderer error: setRender() failed",e)}return i}(i)||void 0),r.push(o)})),r},getUserSyncs:function(e,t,i,r,a){const s=!(0,n.isEmpty)(t)&&t[0].body;if(s&&s.ext&&s.ext.pixels){const t=function(e,t){let i=/(img|iframe)[\s\S]*?src\s*=\s*("|')(.*?)\2/gi,r=/\w*(?=\s)/,a=/src=("|')(.*?)\1/,s=[];if(t){let n=t.match(i);n&&n.forEach((t=>{let i=t.match(r)[0],n=t.match(a)[2];if(i&&n){let t="img"===i.toLowerCase()?"image":"iframe";if(!e.iframeEnabled&&"iframe"===t||!e.pixelEnabled&&"image"===t)return;s.push({type:t,url:n})}}))}return s}(e,s.ext.pixels);return t.forEach((e=>{e.url=function(e,t){const i={gdpr_consent:t.gdpr?t.gdpr.consentString:"",gdpr:t.gdpr&&t.gdpr.gdprApplies?"1":"0",us_privacy:t.uspConsent?t.uspConsent:"",gpp:t.gpp?t.gpp.gppString:"",gpp_sid:t.gpp&&Array.isArray(t.gpp.applicableSections)?t.gpp.applicableSections.join(","):""},r=new URL(e),a=r.searchParams;for(const[e,t]of Object.entries(i))a.set(e,t);return r.search=a.toString(),r.toString()}(e.url,{gpp:a,gdpr:i,uspConsent:r})})),t}return[]}};(0,a.a$)(S),(0,r.E)("yahooAdsBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=14975,e(e.s=t);var t}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[69380],{64668:(e,t,r)=>{var i=r(7873),n=r(91069),o=r(70433),s=r(63172),a=r(71371),d=r(57377),p=r(95789),c=r(15901);const u="USD",m=300,l=!0,f="https://prebid-outstream.yieldmo.com/bundle.js",g=["mimes","startdelay","placement","plcmt","skipafter","protocols","api","playbackmethod","maxduration","minduration","pos","skip","skippable"],y=["name","domain","cat","keywords"],b=(0,n.getWindowTop)(),h=2,v=0,A=["description","title","pr","page_url"],x={code:"yieldmo",supportedMediaTypes:[a.D4,a.G_],gvlid:173,isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(I(e)||w(e))&&function(e){if(!w(e))return!0;const t=(e,t,r)=>{let i=`"${e}" is required`;throw r&&(i+=" when "+r),new Error(i)},r=(e,t,r)=>{throw r=r?", expected: "+r:"",t=JSON.stringify(t),new Error(`"${e}"=${t} is invalid${r}`)},i=e=>void 0!==e,s=(t,r,i,n)=>{if(0===t.indexOf("video")){const s="params."+t,a="mediaTypes."+t,d=(0,o.A)(e,s),p=(0,o.A)(e,a),c=r(d),u=r(p);return c?d:u||(c?u||i(a,p,n):i(s,d,n),d||p)}{const s=(0,o.A)(e,t);return r(s)||i(t,s,n),s}};try{return s("video.context",(e=>!(0,n.isEmpty)(e)),t),s("params.placementId",(e=>!(0,n.isEmpty)(e)),t),s("video.playerSize",(e=>(0,n.isArrayOfNums)(e,2)||(0,n.isArray)(e)&&e.every((e=>(0,n.isArrayOfNums)(e,2)))),r,"array of 2 integers, ex: [640,480] or [[640,480]]"),s("video.mimes",(e=>i(e)),t),s("video.mimes",(e=>(0,n.isArray)(e)&&e.every((e=>(0,n.isStr)(e)))),r,'array of strings, ex: ["video/mp4"]'),s("video.protocols",(e=>i(e)),t),s("video.api",(e=>i(e)),t),s("video.api",(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=6))),r,"array of numbers, ex: [2,3]"),s("video.playbackmethod",(e=>!i(e)||(0,n.isArrayOfNums)(e)),r,"array of integers, ex: [2,6]"),s("video.maxduration",(e=>i(e)),t),s("video.maxduration",(e=>(0,n.isInteger)(e)),r),s("video.minduration",(e=>!i(e)||(0,n.isNumber)(e)),r),s("video.skippable",(e=>!i(e)||(0,n.isBoolean)(e)),r),s("video.skipafter",(e=>!i(e)||(0,n.isNumber)(e)),r),s("video.pos",(e=>!i(e)||(0,n.isNumber)(e)),r),s("params.badv",(e=>!i(e)||(0,n.isArray)(e)),r,'array of strings, ex: ["ford.com","pepsi.com"]'),s("params.bcat",(e=>!i(e)||(0,n.isArray)(e)),r,'array of strings, ex: ["IAB1-5","IAB1-6"]'),!0}catch(e){return(0,n.logError)(e.message),!1}}(e))},buildRequests:function(e,t){const r=function(e){return!!e.refererInfo?.referer?.includes("pb_force_a")}(t),i=N("/exchange/prebid",r),d=N("/exchange/prebidvideo",r),p=e.filter((e=>I(e))),u=e.filter((e=>w(e)));let m=[];const l=function(e){if((0,o.A)(e,"userIdAsEids"))return e.userIdAsEids||[]}(e[0])||[],f=function(e){const t=(0,o.A)(e,"ortb2.user.data")||[],r=t.filter((e=>{const t=e.ext?.segtax;return t>=600&&t<=609}))[0];if(r){return{taxonomy:r.ext.segtax,classifier:r.ext.segclass,topics:Object.values(r.segment).map((e=>Number(e)))}}return null}(t),y=function(e){const t=(0,o.A)(e,"ortb2.device.ext.cdep")||null;return t}(t);if(p.length>0){let e={pbav:"9.5.0",p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:"1"===window.doNotTrack||"1"===window.navigator.doNotTrack||!1,description:_(),tmax:t.timeout||400,userConsent:JSON.stringify({gdprApplies:(0,o.A)(t,"gdprConsent.gdprApplies")||"",cmp:(0,o.A)(t,"gdprConsent.consentString")||"",gpp:(0,o.A)(t,"gppConsent.gppString")||"",gpp_sid:(0,o.A)(t,"gppConsent.applicableSections")||[]}),us_privacy:(0,o.A)(t,"uspConsent")||""};f&&(e.topics=JSON.stringify(f));const r=k(t);r&&(e.gpc=r),y&&(e.cdep=y),function(){try{if((0,n.getWindowTop)().location.href)return!0}catch(e){return!1}}()&&(e.pr=b.document&&b.document.referrer||"",e.scrd=b.devicePixelRatio||0,e.title=b.document.title||"",e.w=b.innerWidth,e.h=b.innerHeight);const s=window.navigator.maxTouchPoints;s&&(e.mtp=s),p.forEach((t=>{e.p.push(function(e){const t=(0,o.A)(e,"ortb2Imp.ext.gpid")||(0,o.A)(e,"ortb2Imp.ext.data.pbadslot"),r={placement_id:e.adUnitCode,callback_id:e.bidId,sizes:e.mediaTypes.banner.sizes};if(e.params){e.params.placementId&&(r.ym_placement_id=e.params.placementId);const t=T(e,a.D4);t&&(r.bidFloor=t)}t&&(r.gpid=t);const i=(0,o.A)(e,"ortb2Imp.ext.tid");i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(t));const r=S(t,"pubcid");r?e.pubcid=r:t.crumbs&&t.crumbs.pubcid&&(e.pubcid=t.crumbs.pubcid);const i=S(t,"tdid");i&&(e.tdid=i);const n=S(t,"criteoId");n&&(e.cri_prebid=n),t.schain&&(e.schain=JSON.stringify(t.schain)),(0,o.A)(t,"params.lr_env")&&(e.ats_envelope=t.params.lr_env)})),e.p="["+e.p.toString()+"]",l.length&&(e.eids=JSON.stringify(l));let d=`${i}?${(0,n.parseQueryStringParameters)(e)}`.length-8e3;if(d>0)for(let t=0;t<A.length&&(d=E(d,e,A[t]),!(d<=0));t++);m.push({method:"GET",url:i,data:e})}if(u.length>0){const e=function(e,t){const r=e[0].schain;let i={id:e[0].bidderRequestId,tmax:t.timeout||400,at:1,imp:e.map((e=>function(e){const t=(0,o.A)(e,"ortb2Imp.ext.gpid")||(0,o.A)(e,"ortb2Imp.ext.data.pbadslot"),r=function(e){const t=(0,o.A)(e,"mediaTypes.video.playerSize");if((0,n.isArrayOfNums)(t,2))return t;if((0,n.isArray)(t)&&(0,n.isArrayOfNums)(t[0],2))return t[0];return null}(e),i={id:e.bidId,tagid:e.adUnitCode,bidfloor:T(e,a.G_),ext:{placement_id:e.params.placementId,tid:(0,o.A)(e,"ortb2Imp.ext.tid")},video:{w:r[0],h:r[1],linearity:1}},s=(0,o.A)(e,"mediaTypes.video",{});Object.keys(s).filter((e=>(0,c.mK)(g,e))).forEach((e=>i.video[e]=s[e]));const d=(0,o.A)(e,"params.video",{});Object.keys(d).filter((e=>(0,c.mK)(g,e))).forEach((e=>i.video[e]=d[e])),i.video.skippable&&(i.video.skip=1,delete i.video.skippable);1===i.video.plcmt&&1===i.video.placement||(i.video.startdelay=v,i.video.playbackmethod=[h]);t&&(i.ext.gpid=t);return i}(e))),site:O(e[0],t),device:(0,o.A)(t,"ortb2.device"),badv:e[0].params.badv||[],bcat:(0,o.A)(t,"bcat")||e[0].params.bcat||[],ext:{prebid:"9.5.0"},ats_envelope:e[0].params.lr_env};r&&(i.schain=r);const d=k(t);d&&(0,s.J)(i,"regs.ext.gpc",d);e[0].auctionId&&(i.auctionId=e[0].auctionId);return function(e,t){const r=t.gdprConsent,i=(0,o.A)(t,"gppConsent.gppString"),n=(0,o.A)(t,"gppConsent.applicableSections");i?(0,s.J)(e,"regs.ext.gpp",i):((0,s.J)(e,"regs.ext.gdpr",r&&r.gdprApplies?1:0),(0,s.J)(e,"user.ext.consent",r&&r.consentString?r.consentString:""));n&&n.length>0&&(0,s.J)(e,"regs.ext.gpp_sid",n);const a=(0,o.A)(t,"uspConsent");!i&&a&&(0,s.J)(e,"regs.ext.us_privacy",a)}(i,t),i}(u,t);f&&(e.topics=f),l.length&&(0,s.J)(e,"user.ext.eids",l),m.push({method:"POST",url:d,data:e})}return m},interpretResponse:function(e,t){let r=[];const i=e.body;if(i.length>0&&i.forEach((e=>{e.cpm>0&&r.push(function(e){return{dealId:e.publisherDealId,requestId:e.callback_id,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.creative_id,currency:u,netRevenue:l,ttl:300,ad:e.ad,meta:{advertiserDomains:e.adomain||[],mediaType:a.D4}}}(e))})),i.seatbid){i.seatbid.reduce(((e,t)=>e.concat(t.bid)),[]).forEach((e=>r.push(function(e,t){const r=(0,c.I6)((0,o.A)(t,"data.imp")||[],(t=>t.id===e.impid));let i={dealId:e.dealid,requestId:r.id,cpm:e.price,width:r.video.w,height:r.video.h,creativeId:e.crid||e.adid,currency:u,netRevenue:l,mediaType:a.G_,ttl:m,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:a.G_}};if(r.video.plcmt&&1!==r.video.plcmt){const e=p.A4.install({url:f,config:{width:i.width,height:i.height,vastTimeout:15e3,maxAllowedVastTagRedirects:5,allowVpaid:!0,autoPlay:!0,preload:!0,mute:!0},id:r.tagid,loaded:!1});e.setRender((function(e){e.renderer.push((()=>{const{id:t,config:r}=e.renderer;window.YMoutstreamPlayer(e,t,r)}))})),i.renderer=e}return i}(e,t))))}return r},getUserSyncs:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";const n=[],o="&gdpr="+(r.gdprApplies?1:0),s=`&gdpr_consent=${encodeURIComponent(r.consentString||"")}`,a=`https://ads.yieldmo.com/pbcas?${`us_privacy=${encodeURIComponent(i)}`}${o}${s}`;return e.iframeEnabled?n.push({type:"iframe",url:a+"&type=iframe"}):e.pixelEnabled&&n.push({type:"image",url:a+"&type=image"}),n}};function I(e){return!!(0,o.A)(e,"mediaTypes.banner")}function w(e){return!!(0,o.A)(e,"mediaTypes.video")}function _(){return document.querySelector('meta[name="description"]')&&document.querySelector('meta[name="description"]').getAttribute("content")||""}function S(e,t){return"object"==typeof(0,o.A)(e,"userId")?e.userId[t]:void 0}function k(e){return(0,o.A)(e,"ortb2.regs.ext.gpc")}function T(e,t){let r={};return"function"==typeof e.getFloor&&(r=e.getFloor({currency:u,mediaType:t,size:"*"})),r.floor||e.params.bidfloor||e.params.bidFloor||0}function O(e,t){let r={};const i=(0,n.parseUrl)((0,o.A)(t,"refererInfo.page"));(0,n.isEmpty)(i)||(r.page=`${i.protocol}://${i.hostname}${i.pathname}`),t.refererInfo?.ref&&(r.ref=t.refererInfo.ref);const s=document.getElementsByTagName("meta").keywords;s&&s.content&&(r.keywords=s.content);const a=(0,o.A)(e,"params.site");return a&&Object.keys(a).filter((e=>(0,c.mK)(y,e))).forEach((e=>r[e]=a[e])),r}function E(e,t,r){if(t[r].length>e)return t[r]=t[r].substring(0,t[r].length-e),0;const i=e-t[r].length;return t[r]="",i}function N(e,t){return`${t?"https://ads-stg.yieldmo.com":"https://ads.yieldmo.com"}${e}`}(0,d.a$)(x),(0,i.E)("yieldmoBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=64668,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[69380],{64668:(e,t,r)=>{var i=r(7873),n=r(91069),o=r(70433),s=r(63172),a=r(71371),d=r(57377),p=r(95789),c=r(15901);const u="USD",m=300,l=!0,f="https://prebid-outstream.yieldmo.com/bundle.js",g=["mimes","startdelay","placement","plcmt","skipafter","protocols","api","playbackmethod","maxduration","minduration","pos","skip","skippable"],y=["name","domain","cat","keywords"],b=(0,n.getWindowTop)(),h=2,v=0,A=["description","title","pr","page_url"],x={code:"yieldmo",supportedMediaTypes:[a.D4,a.G_],gvlid:173,isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(I(e)||w(e))&&function(e){if(!w(e))return!0;const t=(e,t,r)=>{let i=`"${e}" is required`;throw r&&(i+=" when "+r),new Error(i)},r=(e,t,r)=>{throw r=r?", expected: "+r:"",t=JSON.stringify(t),new Error(`"${e}"=${t} is invalid${r}`)},i=e=>void 0!==e,s=(t,r,i,n)=>{if(0===t.indexOf("video")){const s="params."+t,a="mediaTypes."+t,d=(0,o.A)(e,s),p=(0,o.A)(e,a),c=r(d),u=r(p);return c?d:u||(c?u||i(a,p,n):i(s,d,n),d||p)}{const s=(0,o.A)(e,t);return r(s)||i(t,s,n),s}};try{return s("video.context",(e=>!(0,n.isEmpty)(e)),t),s("params.placementId",(e=>!(0,n.isEmpty)(e)),t),s("video.playerSize",(e=>(0,n.isArrayOfNums)(e,2)||(0,n.isArray)(e)&&e.every((e=>(0,n.isArrayOfNums)(e,2)))),r,"array of 2 integers, ex: [640,480] or [[640,480]]"),s("video.mimes",(e=>i(e)),t),s("video.mimes",(e=>(0,n.isArray)(e)&&e.every((e=>(0,n.isStr)(e)))),r,'array of strings, ex: ["video/mp4"]'),s("video.protocols",(e=>i(e)),t),s("video.api",(e=>i(e)),t),s("video.api",(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=6))),r,"array of numbers, ex: [2,3]"),s("video.playbackmethod",(e=>!i(e)||(0,n.isArrayOfNums)(e)),r,"array of integers, ex: [2,6]"),s("video.maxduration",(e=>i(e)),t),s("video.maxduration",(e=>(0,n.isInteger)(e)),r),s("video.minduration",(e=>!i(e)||(0,n.isNumber)(e)),r),s("video.skippable",(e=>!i(e)||(0,n.isBoolean)(e)),r),s("video.skipafter",(e=>!i(e)||(0,n.isNumber)(e)),r),s("video.pos",(e=>!i(e)||(0,n.isNumber)(e)),r),s("params.badv",(e=>!i(e)||(0,n.isArray)(e)),r,'array of strings, ex: ["ford.com","pepsi.com"]'),s("params.bcat",(e=>!i(e)||(0,n.isArray)(e)),r,'array of strings, ex: ["IAB1-5","IAB1-6"]'),!0}catch(e){return(0,n.logError)(e.message),!1}}(e))},buildRequests:function(e,t){const r=function(e){return!!e.refererInfo?.referer?.includes("pb_force_a")}(t),i=N("/exchange/prebid",r),d=N("/exchange/prebidvideo",r),p=e.filter((e=>I(e))),u=e.filter((e=>w(e)));let m=[];const l=function(e){if((0,o.A)(e,"userIdAsEids"))return e.userIdAsEids||[]}(e[0])||[],f=function(e){const t=(0,o.A)(e,"ortb2.user.data")||[],r=t.filter((e=>{const t=e.ext?.segtax;return t>=600&&t<=609}))[0];if(r){return{taxonomy:r.ext.segtax,classifier:r.ext.segclass,topics:Object.values(r.segment).map((e=>Number(e)))}}return null}(t),y=function(e){const t=(0,o.A)(e,"ortb2.device.ext.cdep")||null;return t}(t);if(p.length>0){let e={pbav:"9.7.0",p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:"1"===window.doNotTrack||"1"===window.navigator.doNotTrack||!1,description:_(),tmax:t.timeout||400,userConsent:JSON.stringify({gdprApplies:(0,o.A)(t,"gdprConsent.gdprApplies")||"",cmp:(0,o.A)(t,"gdprConsent.consentString")||"",gpp:(0,o.A)(t,"gppConsent.gppString")||"",gpp_sid:(0,o.A)(t,"gppConsent.applicableSections")||[]}),us_privacy:(0,o.A)(t,"uspConsent")||""};f&&(e.topics=JSON.stringify(f));const r=k(t);r&&(e.gpc=r),y&&(e.cdep=y),function(){try{if((0,n.getWindowTop)().location.href)return!0}catch(e){return!1}}()&&(e.pr=b.document&&b.document.referrer||"",e.scrd=b.devicePixelRatio||0,e.title=b.document.title||"",e.w=b.innerWidth,e.h=b.innerHeight);const s=window.navigator.maxTouchPoints;s&&(e.mtp=s),p.forEach((t=>{e.p.push(function(e){const t=(0,o.A)(e,"ortb2Imp.ext.gpid")||(0,o.A)(e,"ortb2Imp.ext.data.pbadslot"),r={placement_id:e.adUnitCode,callback_id:e.bidId,sizes:e.mediaTypes.banner.sizes};if(e.params){e.params.placementId&&(r.ym_placement_id=e.params.placementId);const t=T(e,a.D4);t&&(r.bidFloor=t)}t&&(r.gpid=t);const i=(0,o.A)(e,"ortb2Imp.ext.tid");i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(t));const r=S(t,"pubcid");r?e.pubcid=r:t.crumbs&&t.crumbs.pubcid&&(e.pubcid=t.crumbs.pubcid);const i=S(t,"tdid");i&&(e.tdid=i);const n=S(t,"criteoId");n&&(e.cri_prebid=n),t.schain&&(e.schain=JSON.stringify(t.schain)),(0,o.A)(t,"params.lr_env")&&(e.ats_envelope=t.params.lr_env)})),e.p="["+e.p.toString()+"]",l.length&&(e.eids=JSON.stringify(l));let d=`${i}?${(0,n.parseQueryStringParameters)(e)}`.length-8e3;if(d>0)for(let t=0;t<A.length&&(d=E(d,e,A[t]),!(d<=0));t++);m.push({method:"GET",url:i,data:e})}if(u.length>0){const e=function(e,t){const r=e[0].schain;let i={id:e[0].bidderRequestId,tmax:t.timeout||400,at:1,imp:e.map((e=>function(e){const t=(0,o.A)(e,"ortb2Imp.ext.gpid")||(0,o.A)(e,"ortb2Imp.ext.data.pbadslot"),r=function(e){const t=(0,o.A)(e,"mediaTypes.video.playerSize");if((0,n.isArrayOfNums)(t,2))return t;if((0,n.isArray)(t)&&(0,n.isArrayOfNums)(t[0],2))return t[0];return null}(e),i={id:e.bidId,tagid:e.adUnitCode,bidfloor:T(e,a.G_),ext:{placement_id:e.params.placementId,tid:(0,o.A)(e,"ortb2Imp.ext.tid")},video:{w:r[0],h:r[1],linearity:1}},s=(0,o.A)(e,"mediaTypes.video",{});Object.keys(s).filter((e=>(0,c.mK)(g,e))).forEach((e=>i.video[e]=s[e]));const d=(0,o.A)(e,"params.video",{});Object.keys(d).filter((e=>(0,c.mK)(g,e))).forEach((e=>i.video[e]=d[e])),i.video.skippable&&(i.video.skip=1,delete i.video.skippable);1===i.video.plcmt&&1===i.video.placement||(i.video.startdelay=v,i.video.playbackmethod=[h]);t&&(i.ext.gpid=t);return i}(e))),site:O(e[0],t),device:(0,o.A)(t,"ortb2.device"),badv:e[0].params.badv||[],bcat:(0,o.A)(t,"bcat")||e[0].params.bcat||[],ext:{prebid:"9.7.0"},ats_envelope:e[0].params.lr_env};r&&(i.schain=r);const d=k(t);d&&(0,s.J)(i,"regs.ext.gpc",d);e[0].auctionId&&(i.auctionId=e[0].auctionId);return function(e,t){const r=t.gdprConsent,i=(0,o.A)(t,"gppConsent.gppString"),n=(0,o.A)(t,"gppConsent.applicableSections");i?(0,s.J)(e,"regs.ext.gpp",i):((0,s.J)(e,"regs.ext.gdpr",r&&r.gdprApplies?1:0),(0,s.J)(e,"user.ext.consent",r&&r.consentString?r.consentString:""));n&&n.length>0&&(0,s.J)(e,"regs.ext.gpp_sid",n);const a=(0,o.A)(t,"uspConsent");!i&&a&&(0,s.J)(e,"regs.ext.us_privacy",a)}(i,t),i}(u,t);f&&(e.topics=f),l.length&&(0,s.J)(e,"user.ext.eids",l),m.push({method:"POST",url:d,data:e})}return m},interpretResponse:function(e,t){let r=[];const i=e.body;if(i.length>0&&i.forEach((e=>{e.cpm>0&&r.push(function(e){return{dealId:e.publisherDealId,requestId:e.callback_id,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.creative_id,currency:u,netRevenue:l,ttl:300,ad:e.ad,meta:{advertiserDomains:e.adomain||[],mediaType:a.D4}}}(e))})),i.seatbid){i.seatbid.reduce(((e,t)=>e.concat(t.bid)),[]).forEach((e=>r.push(function(e,t){const r=(0,c.I6)((0,o.A)(t,"data.imp")||[],(t=>t.id===e.impid));let i={dealId:e.dealid,requestId:r.id,cpm:e.price,width:r.video.w,height:r.video.h,creativeId:e.crid||e.adid,currency:u,netRevenue:l,mediaType:a.G_,ttl:m,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:a.G_}};if(r.video.plcmt&&1!==r.video.plcmt){const e=p.A4.install({url:f,config:{width:i.width,height:i.height,vastTimeout:15e3,maxAllowedVastTagRedirects:5,allowVpaid:!0,autoPlay:!0,preload:!0,mute:!0},id:r.tagid,loaded:!1});e.setRender((function(e){e.renderer.push((()=>{const{id:t,config:r}=e.renderer;window.YMoutstreamPlayer(e,t,r)}))})),i.renderer=e}return i}(e,t))))}return r},getUserSyncs:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";const n=[],o="&gdpr="+(r.gdprApplies?1:0),s=`&gdpr_consent=${encodeURIComponent(r.consentString||"")}`,a=`https://ads.yieldmo.com/pbcas?${`us_privacy=${encodeURIComponent(i)}`}${o}${s}`;return e.iframeEnabled?n.push({type:"iframe",url:a+"&type=iframe"}):e.pixelEnabled&&n.push({type:"image",url:a+"&type=image"}),n}};function I(e){return!!(0,o.A)(e,"mediaTypes.banner")}function w(e){return!!(0,o.A)(e,"mediaTypes.video")}function _(){return document.querySelector('meta[name="description"]')&&document.querySelector('meta[name="description"]').getAttribute("content")||""}function S(e,t){return"object"==typeof(0,o.A)(e,"userId")?e.userId[t]:void 0}function k(e){return(0,o.A)(e,"ortb2.regs.ext.gpc")}function T(e,t){let r={};return"function"==typeof e.getFloor&&(r=e.getFloor({currency:u,mediaType:t,size:"*"})),r.floor||e.params.bidfloor||e.params.bidFloor||0}function O(e,t){let r={};const i=(0,n.parseUrl)((0,o.A)(t,"refererInfo.page"));(0,n.isEmpty)(i)||(r.page=`${i.protocol}://${i.hostname}${i.pathname}`),t.refererInfo?.ref&&(r.ref=t.refererInfo.ref);const s=document.getElementsByTagName("meta").keywords;s&&s.content&&(r.keywords=s.content);const a=(0,o.A)(e,"params.site");return a&&Object.keys(a).filter((e=>(0,c.mK)(y,e))).forEach((e=>r[e]=a[e])),r}function E(e,t,r){if(t[r].length>e)return t[r]=t[r].substring(0,t[r].length-e),0;const i=e-t[r].length;return t[r]="",i}function N(e,t){return`${t?"https://ads-stg.yieldmo.com":"https://ads.yieldmo.com"}${e}`}(0,d.a$)(x),(0,i.E)("yieldmoBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=64668,e(e.s=t);var t}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[38743],{98059:(e,t,n)=>{var s=n(7873),i=n(91069),d=n(68044),a=n(88910),o=n(78969),r=n(11445),c=n(97779),g=n(67314);const l={},p={},b={},u={};u[o.qY.BID_ADJUSTMENT]=!0,u[o.qY.BIDDER_DONE]=!0,u[o.qY.AUCTION_END]=!0;let v="",f="https://pool.tsukiji.iponweb.net/hba",I="";function S(e,t){e.adUnitCode&&t[e.adUnitCode]&&(e.adUnitName=t[e.adUnitCode]),(0,i.isArray)(e.adUnits)&&e.adUnits.forEach((e=>{e.code&&t[e.code]&&(e.name=t[e.code])})),(0,i.isArray)(e.adUnitCodes)&&(e.adUnitNames=e.adUnitCodes.map((e=>t[e]))),["bids","bidderRequests","bidsReceived","noBids"].forEach((n=>{!function(e,t){(0,i.isArray)(e)&&e.forEach((e=>{S(e,t)}))}(e[n],t)}))}const y=Object.assign((0,a.Ay)({analyticsType:"endpoint"}),{getUrl:()=>f,track(e){let{eventType:t,args:n={}}=e;if(t===o.qY.BID_REQUESTED){const e=`${n.bidderCode}_${n.auctionId}`;l[e]=(0,i.deepClone)(n),l[e].bids=[],n.bids.forEach((e=>{p[`${e.bidId}_${e.auctionId}`]=e}))}if(t===o.qY.BID_TIMEOUT&&(0,i.isArray)(n)){const e=y.eventsStorage,s={};n.forEach((n=>{const i=`${n.bidId}_${n.auctionId}`,d=`${n.bidder}_${n.auctionId}`;e[n.auctionId]||(e[n.auctionId]={events:[]}),(l[d]||s[n.bidder])&&p[i]&&(s[n.bidder]||(s[n.bidder]=l[d],e[n.auctionId].events.push({eventType:t,params:s[n.bidder]}),delete l[d]),s[n.bidder].bids.push(p[i]),delete p[i])}))}else if(v=n.auctionId||v,v){const e=y.eventsStorage;e[v]||(e[v]={events:[]});const s=n.refererInfo&&n.refererInfo.page;s&&b[v]!==s&&(b[v]=s);const i=Object.assign({},n);if(delete i.ad,i.bidsReceived&&(i.bidsReceived=i.bidsReceived.map((e=>{const t=Object.assign({},e);return delete t.ad,t}))),u[t]||e[v].events.push({eventType:t,params:i}),t===o.qY.AUCTION_END||t===o.qY.BID_WON){if(i.adServerTargeting=c.iS.getAllTargeting(g.n.getAdUnitCodes(),g.n.getBidsReceived()),y.eventsStorage[v]&&y.eventsStorage[v].events.length){y.eventsStorage[v].page={url:b[v]},y.eventsStorage[v].pubId=I,y.eventsStorage[v].wrapper_version="9.5.0";const e=function(){if(window.googletag&&window.googletag.pubads){const e=googletag.pubads();if(e&&e.getSlots){const t=e.getSlots();if(t&&t.length){const e={};return t.forEach((t=>{const n=t.getSlotElementId(),s=(t.getAdUnitPath()||"").split("/").pop();e[n]=s})),e}}}}();e&&y.eventsStorage[v].events.forEach((t=>{S(t.params,e)}))}y.sendStat(y.eventsStorage[v],v)}}},sendStat(e,t){e&&e.events&&e.events.length&&(delete y.eventsStorage[t],(0,d.RD)(f,{success:function(){},error:function(){}},JSON.stringify(e),{method:"POST"}))}});y.eventsStorage={},y.originEnableAnalytics=y.enableAnalytics,y.enableAnalytics=function(e){const t=e&&e.options;t&&("string"==typeof t.url&&(f=t.url),t.pubId&&(I=t.pubId.toString())),y.originEnableAnalytics(e)},r.Ay.registerAnalyticsAdapter({adapter:y,code:"yieldone"});(0,s.E)("yieldoneAnalyticsAdapter")}},e=>{e.O(0,[2630,60802,51085],(()=>{return t=98059,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[38743],{98059:(e,t,n)=>{var s=n(7873),i=n(91069),d=n(68044),a=n(88910),o=n(78969),r=n(11445),c=n(97779),g=n(67314);const l={},p={},b={},u={};u[o.qY.BID_ADJUSTMENT]=!0,u[o.qY.BIDDER_DONE]=!0,u[o.qY.AUCTION_END]=!0;let v="",f="https://pool.tsukiji.iponweb.net/hba",I="";function S(e,t){e.adUnitCode&&t[e.adUnitCode]&&(e.adUnitName=t[e.adUnitCode]),(0,i.isArray)(e.adUnits)&&e.adUnits.forEach((e=>{e.code&&t[e.code]&&(e.name=t[e.code])})),(0,i.isArray)(e.adUnitCodes)&&(e.adUnitNames=e.adUnitCodes.map((e=>t[e]))),["bids","bidderRequests","bidsReceived","noBids"].forEach((n=>{!function(e,t){(0,i.isArray)(e)&&e.forEach((e=>{S(e,t)}))}(e[n],t)}))}const y=Object.assign((0,a.Ay)({analyticsType:"endpoint"}),{getUrl:()=>f,track(e){let{eventType:t,args:n={}}=e;if(t===o.qY.BID_REQUESTED){const e=`${n.bidderCode}_${n.auctionId}`;l[e]=(0,i.deepClone)(n),l[e].bids=[],n.bids.forEach((e=>{p[`${e.bidId}_${e.auctionId}`]=e}))}if(t===o.qY.BID_TIMEOUT&&(0,i.isArray)(n)){const e=y.eventsStorage,s={};n.forEach((n=>{const i=`${n.bidId}_${n.auctionId}`,d=`${n.bidder}_${n.auctionId}`;e[n.auctionId]||(e[n.auctionId]={events:[]}),(l[d]||s[n.bidder])&&p[i]&&(s[n.bidder]||(s[n.bidder]=l[d],e[n.auctionId].events.push({eventType:t,params:s[n.bidder]}),delete l[d]),s[n.bidder].bids.push(p[i]),delete p[i])}))}else if(v=n.auctionId||v,v){const e=y.eventsStorage;e[v]||(e[v]={events:[]});const s=n.refererInfo&&n.refererInfo.page;s&&b[v]!==s&&(b[v]=s);const i=Object.assign({},n);if(delete i.ad,i.bidsReceived&&(i.bidsReceived=i.bidsReceived.map((e=>{const t=Object.assign({},e);return delete t.ad,t}))),u[t]||e[v].events.push({eventType:t,params:i}),t===o.qY.AUCTION_END||t===o.qY.BID_WON){if(i.adServerTargeting=c.iS.getAllTargeting(g.n.getAdUnitCodes(),g.n.getBidsReceived()),y.eventsStorage[v]&&y.eventsStorage[v].events.length){y.eventsStorage[v].page={url:b[v]},y.eventsStorage[v].pubId=I,y.eventsStorage[v].wrapper_version="9.7.0";const e=function(){if(window.googletag&&window.googletag.pubads){const e=googletag.pubads();if(e&&e.getSlots){const t=e.getSlots();if(t&&t.length){const e={};return t.forEach((t=>{const n=t.getSlotElementId(),s=(t.getAdUnitPath()||"").split("/").pop();e[n]=s})),e}}}}();e&&y.eventsStorage[v].events.forEach((t=>{S(t.params,e)}))}y.sendStat(y.eventsStorage[v],v)}}},sendStat(e,t){e&&e.events&&e.events.length&&(delete y.eventsStorage[t],(0,d.RD)(f,{success:function(){},error:function(){}},JSON.stringify(e),{method:"POST"}))}});y.eventsStorage={},y.originEnableAnalytics=y.enableAnalytics,y.enableAnalytics=function(e){const t=e&&e.options;t&&("string"==typeof t.url&&(f=t.url),t.pubId&&(I=t.pubId.toString())),y.originEnableAnalytics(e)},r.Ay.registerAnalyticsAdapter({adapter:y,code:"yieldone"});(0,s.E)("yieldoneAnalyticsAdapter")}},e=>{e.O(0,[2630,60802,51085],(()=>{return t=98059,e(e.s=t);var t}));e.O()}]);
@@ -0,0 +1,106 @@
1
+ <html>
2
+
3
+ <head>
4
+ <meta http-equiv="delegate-ch" content="sec-ch-ua https://prebid.wurflcloud.com; sec-ch-ua-bitness https://prebid.wurflcloud.com; sec-ch-ua-arch https://prebid.wurflcloud.com; sec-ch-ua-model https://prebid.wurflcloud.com; sec-ch-ua-platform https://prebid.wurflcloud.com; sec-ch-ua-platform-version https://prebid.wurflcloud.com; sec-ch-ua-full-version https://prebid.wurflcloud.com; sec-ch-ua-full-version-list https://prebid.wurflcloud.com; sec-ch-ua-mobile https://prebid.wurflcloud.com">
5
+ <script async src="../../build/dev/prebid.js"></script>
6
+ <script async src="https://www.googletagservices.com/tag/js/gpt.js"></script>
7
+ <script>
8
+ var FAILSAFE_TIMEOUT = 3300;
9
+ var PREBID_TIMEOUT = 2000;
10
+
11
+ var adUnits = [
12
+ {
13
+ code: 'div-gpt-ad-1460505748561-0',
14
+ mediaTypes: {
15
+ banner: {
16
+ sizes: [[300, 250]],
17
+ }
18
+ },
19
+ sizes: [
20
+ [300, 250],
21
+ [728, 90]
22
+ ],
23
+ bids: [
24
+ {
25
+ bidder: 'appnexus',
26
+ params: {
27
+ placementId: 13144370
28
+ }
29
+ },
30
+ ]
31
+
32
+ }];
33
+
34
+ var pbjs = pbjs || {};
35
+ pbjs.que = pbjs.que || [];
36
+ </script>
37
+
38
+ <script>
39
+ var googletag = googletag || {};
40
+ googletag.cmd = googletag.cmd || [];
41
+ googletag.cmd.push(function () {
42
+ googletag.pubads().disableInitialLoad();
43
+ });
44
+
45
+ pbjs.que.push(function () {
46
+ // configure the WURFL RTD module
47
+ pbjs.setConfig({
48
+ debug: true, // enabled for testing purposes
49
+ realTimeData: {
50
+ auctionDelay: 2000,
51
+ dataProviders: [
52
+ // WURFL RTD module configuration
53
+ {
54
+ name: 'wurfl',
55
+ waitForIt: true
56
+ },
57
+ ]
58
+ }
59
+ });
60
+
61
+ pbjs.addAdUnits(adUnits);
62
+
63
+ pbjs.requestBids({
64
+ bidsBackHandler: sendAdserverRequest,
65
+ timeout: PREBID_TIMEOUT
66
+ });
67
+ });
68
+
69
+ function sendAdserverRequest() {
70
+ if (pbjs.adserverRequestSent) return;
71
+ pbjs.adserverRequestSent = true;
72
+ googletag.cmd.push(function () {
73
+ pbjs.que.push(function () {
74
+ pbjs.setTargetingForGPTAsync();
75
+ googletag.pubads().refresh();
76
+ });
77
+ });
78
+ }
79
+
80
+ setTimeout(function () {
81
+ sendAdserverRequest();
82
+ }, FAILSAFE_TIMEOUT);
83
+
84
+ </script>
85
+
86
+ <script>
87
+ googletag.cmd.push(function () {
88
+ googletag.defineSlot('/19968336/header-bid-tag-0', [[300, 250], [300, 600]], 'div-gpt-ad-1460505748561-0').addService(googletag.pubads());
89
+
90
+ googletag.pubads().enableSingleRequest();
91
+ googletag.enableServices();
92
+ });
93
+ </script>
94
+ </head>
95
+
96
+ <body>
97
+ <h2>Prebid.js Test</h2>
98
+ <h5>Div-1</h5>
99
+ <div id='div-gpt-ad-1460505748561-0'>
100
+ <script type='text/javascript'>
101
+ googletag.cmd.push(function () { googletag.display('div-gpt-ad-1460505748561-0'); });
102
+ </script>
103
+ </div>
104
+ </body>
105
+
106
+ </html>
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Returns the type of connection.
3
+ *
4
+ * @returns {number} - Type of connection.
5
+ */
6
+ export function getConnectionType() {
7
+ const connection = navigator.connection || navigator.webkitConnection;
8
+ if (!connection) {
9
+ return 0;
10
+ }
11
+ switch (connection.type) {
12
+ case 'ethernet':
13
+ return 1;
14
+ case 'wifi':
15
+ return 2;
16
+ case 'wimax':
17
+ return 6;
18
+ default:
19
+ switch (connection.effectiveType) {
20
+ case 'slow-2g':
21
+ case '2g':
22
+ return 4;
23
+ case '3g':
24
+ return 5;
25
+ case '4g':
26
+ return 6;
27
+ case '5g':
28
+ return 7;
29
+ default:
30
+ return connection.type == 'cellular' ? 3 : 0;
31
+ }
32
+ }
33
+ }
@@ -1,30 +1,7 @@
1
1
  import {deepAccess, isEmpty, logWarn, mergeDeep, sizesToSizeTuples, sizeTupleToRtbSize} from '../../../src/utils.js';
2
2
  import {VIDEO} from '../../../src/mediaTypes.js';
3
3
 
4
- // parameters that share the same name & semantics between pbjs adUnits and imp.video
5
- const ORTB_VIDEO_PARAMS = new Set([
6
- 'pos',
7
- 'placement',
8
- 'plcmt',
9
- 'api',
10
- 'mimes',
11
- 'protocols',
12
- 'playbackmethod',
13
- 'minduration',
14
- 'maxduration',
15
- 'w',
16
- 'h',
17
- 'startdelay',
18
- 'placement',
19
- 'linearity',
20
- 'skip',
21
- 'skipmin',
22
- 'skipafter',
23
- 'minbitrate',
24
- 'maxbitrate',
25
- 'delivery',
26
- 'playbackend'
27
- ]);
4
+ import {ORTB_VIDEO_PARAMS} from '../../../src/video.js';
28
5
 
29
6
  export function fillVideoImp(imp, bidRequest, context) {
30
7
  if (context.mediaType && context.mediaType !== VIDEO) return;
@@ -32,6 +9,7 @@ export function fillVideoImp(imp, bidRequest, context) {
32
9
  const videoParams = deepAccess(bidRequest, 'mediaTypes.video');
33
10
  if (!isEmpty(videoParams)) {
34
11
  const video = Object.fromEntries(
12
+ // Parameters that share the same name & semantics between pbjs adUnits and imp.video
35
13
  Object.entries(videoParams)
36
14
  .filter(([name]) => ORTB_VIDEO_PARAMS.has(name))
37
15
  );
@@ -0,0 +1,331 @@
1
+ import {
2
+ isArray,
3
+ isFn,
4
+ deepAccess,
5
+ isEmpty,
6
+ contains,
7
+ isInteger,
8
+ getBidIdParameter
9
+ } from '../../src/utils.js';
10
+ import { BANNER, VIDEO } from '../../src/mediaTypes.js';
11
+ import {config} from '../../src/config.js';
12
+
13
+ export function getFloor(bid, mediaType) {
14
+ if (!isFn(bid.getFloor)) {
15
+ return 0;
16
+ }
17
+ let floorResult = bid.getFloor({
18
+ currency: 'USD',
19
+ mediaType: mediaType,
20
+ size: '*'
21
+ });
22
+ return floorResult.currency === 'USD' && floorResult.floor ? floorResult.floor : 0;
23
+ }
24
+
25
+ export function getSizesArray(bid, mediaType) {
26
+ let sizesArray = [];
27
+
28
+ if (deepAccess(bid, `mediaTypes.${mediaType}.sizes`)) {
29
+ sizesArray = bid.mediaTypes[mediaType].sizes;
30
+ } else if (Array.isArray(bid.sizes) && bid.sizes.length > 0) {
31
+ sizesArray = bid.sizes;
32
+ }
33
+
34
+ return sizesArray;
35
+ }
36
+
37
+ export function getSupplyChain(schainObject) {
38
+ if (isEmpty(schainObject)) {
39
+ return '';
40
+ }
41
+ let scStr = `${schainObject.ver},${schainObject.complete}`;
42
+ schainObject.nodes.forEach((node) => {
43
+ scStr += '!';
44
+ scStr += `${getEncodedValIfNotEmpty(node.asi)},`;
45
+ scStr += `${getEncodedValIfNotEmpty(node.sid)},`;
46
+ scStr += `${getEncodedValIfNotEmpty(node.hp)},`;
47
+ scStr += `${getEncodedValIfNotEmpty(node.rid)},`;
48
+ scStr += `${getEncodedValIfNotEmpty(node.name)},`;
49
+ scStr += `${getEncodedValIfNotEmpty(node.domain)}`;
50
+ });
51
+ return scStr;
52
+ }
53
+
54
+ export function getEncodedValIfNotEmpty(val) {
55
+ return (val !== '' && val !== undefined) ? encodeURIComponent(val) : '';
56
+ }
57
+
58
+ export function getAllowedSyncMethod(filterSettings, bidderCode) {
59
+ const iframeConfigsToCheck = ['all', 'iframe'];
60
+ const pixelConfigToCheck = 'image';
61
+ if (filterSettings && iframeConfigsToCheck.some(config => isSyncMethodAllowed(filterSettings[config], bidderCode))) {
62
+ return 'iframe';
63
+ }
64
+ if (!filterSettings || !filterSettings[pixelConfigToCheck] || isSyncMethodAllowed(filterSettings[pixelConfigToCheck], bidderCode)) {
65
+ return 'pixel';
66
+ }
67
+ }
68
+
69
+ export function isSyncMethodAllowed(syncRule, bidderCode) {
70
+ if (!syncRule) {
71
+ return false;
72
+ }
73
+ const isInclude = syncRule.filter === 'include';
74
+ const bidders = isArray(syncRule.bidders) ? syncRule.bidders : [bidderCode];
75
+ return isInclude && contains(bidders, bidderCode);
76
+ }
77
+
78
+ export function getEndpoint(testMode, baseUrl, modes) {
79
+ const protocol = baseUrl.startsWith('http') ? '' : 'https://';
80
+ const url = baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`;
81
+ return testMode
82
+ ? `${protocol}${url}${modes.TEST}`
83
+ : `${protocol}${url}${modes.PRODUCTION}`;
84
+ }
85
+
86
+ export function getDeviceType(ua) {
87
+ if (/ipad|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(ua.toLowerCase())) {
88
+ return '5';
89
+ }
90
+ if (/iphone|ipod|android|blackberry|opera|mini|windows\\sce|palm|smartphone|iemobile/i.test(ua.toLowerCase())) {
91
+ return '4';
92
+ }
93
+ if (/smart[-_\\s]?tv|hbbtv|appletv|googletv|hdmi|netcast|viera|nettv|roku|\\bdtv\\b|sonydtv|inettvbrowser|\\btv\\b/i.test(ua.toLowerCase())) {
94
+ return '3';
95
+ }
96
+ return '1';
97
+ }
98
+
99
+ export function generateBidsParams(validBidRequests, bidderRequest) {
100
+ const bidsArray = [];
101
+
102
+ if (validBidRequests.length) {
103
+ validBidRequests.forEach(bid => {
104
+ bidsArray.push(generateBidParameters(bid, bidderRequest));
105
+ });
106
+ }
107
+
108
+ return bidsArray;
109
+ }
110
+
111
+ export function generateBidParameters(bid, bidderRequest) {
112
+ const { params } = bid;
113
+ const mediaType = isBanner(bid) ? BANNER : VIDEO;
114
+ const sizesArray = getSizesArray(bid, mediaType);
115
+
116
+ if (isNaN(params.floorPrice)) {
117
+ params.floorPrice = 0;
118
+ }
119
+
120
+ const bidObject = {
121
+ mediaType,
122
+ adUnitCode: getBidIdParameter('adUnitCode', bid),
123
+ sizes: sizesArray,
124
+ floorPrice: Math.max(getFloor(bid, mediaType), params.floorPrice),
125
+ bidId: getBidIdParameter('bidId', bid),
126
+ loop: bid.bidderRequestsCount || 0,
127
+ bidderRequestId: getBidIdParameter('bidderRequestId', bid),
128
+ transactionId: bid.ortb2Imp?.ext?.tid || '',
129
+ coppa: 0,
130
+ };
131
+
132
+ const pos = deepAccess(bid, `mediaTypes.${mediaType}.pos`);
133
+ if (pos) {
134
+ bidObject.pos = pos;
135
+ }
136
+
137
+ const gpid = deepAccess(bid, `ortb2Imp.ext.gpid`);
138
+ if (gpid) {
139
+ bidObject.gpid = gpid;
140
+ }
141
+
142
+ const placementId = params.placementId || deepAccess(bid, `mediaTypes.${mediaType}.name`);
143
+ if (placementId) {
144
+ bidObject.placementId = placementId;
145
+ }
146
+
147
+ const mimes = deepAccess(bid, `mediaTypes.${mediaType}.mimes`);
148
+ if (mimes) {
149
+ bidObject.mimes = mimes;
150
+ }
151
+
152
+ const api = deepAccess(bid, `mediaTypes.${mediaType}.api`);
153
+ if (api) {
154
+ bidObject.api = api;
155
+ }
156
+
157
+ const sua = deepAccess(bid, `ortb2.device.sua`);
158
+ if (sua) {
159
+ bidObject.sua = sua;
160
+ }
161
+
162
+ const coppa = deepAccess(bid, `ortb2.regs.coppa`);
163
+ if (coppa) {
164
+ bidObject.coppa = 1;
165
+ }
166
+
167
+ if (mediaType === VIDEO) {
168
+ const playbackMethod = deepAccess(bid, `mediaTypes.video.playbackmethod`);
169
+ let playbackMethodValue;
170
+
171
+ if (Array.isArray(playbackMethod) && isInteger(playbackMethod[0])) {
172
+ playbackMethodValue = playbackMethod[0];
173
+ } else if (isInteger(playbackMethod)) {
174
+ playbackMethodValue = playbackMethod;
175
+ }
176
+
177
+ if (playbackMethodValue) {
178
+ bidObject.playbackMethod = playbackMethodValue;
179
+ }
180
+
181
+ const placement = deepAccess(bid, `mediaTypes.video.placement`);
182
+ if (placement) {
183
+ bidObject.placement = placement;
184
+ }
185
+
186
+ const minDuration = deepAccess(bid, `mediaTypes.video.minduration`);
187
+ if (minDuration) {
188
+ bidObject.minDuration = minDuration;
189
+ }
190
+
191
+ const maxDuration = deepAccess(bid, `mediaTypes.video.maxduration`);
192
+ if (maxDuration) {
193
+ bidObject.maxDuration = maxDuration;
194
+ }
195
+
196
+ const skip = deepAccess(bid, `mediaTypes.video.skip`);
197
+ if (skip) {
198
+ bidObject.skip = skip;
199
+ }
200
+
201
+ const linearity = deepAccess(bid, `mediaTypes.video.linearity`);
202
+ if (linearity) {
203
+ bidObject.linearity = linearity;
204
+ }
205
+
206
+ const protocols = deepAccess(bid, `mediaTypes.video.protocols`);
207
+ if (protocols) {
208
+ bidObject.protocols = protocols;
209
+ }
210
+
211
+ const plcmt = deepAccess(bid, `mediaTypes.video.plcmt`);
212
+ if (plcmt) {
213
+ bidObject.plcmt = plcmt;
214
+ }
215
+ }
216
+
217
+ return bidObject;
218
+ }
219
+
220
+ export function buildBidResponse(adUnit, DEFAULT_CURRENCY, TTL, VIDEO, BANNER) {
221
+ const bidResponse = {
222
+ requestId: adUnit.requestId,
223
+ cpm: adUnit.cpm,
224
+ currency: adUnit.currency || DEFAULT_CURRENCY,
225
+ width: adUnit.width,
226
+ height: adUnit.height,
227
+ ttl: adUnit.ttl || TTL,
228
+ creativeId: adUnit.creativeId,
229
+ netRevenue: adUnit.netRevenue || true,
230
+ nurl: adUnit.nurl,
231
+ mediaType: adUnit.mediaType,
232
+ meta: {
233
+ mediaType: adUnit.mediaType
234
+ }
235
+ };
236
+
237
+ if (adUnit.mediaType === VIDEO) {
238
+ bidResponse.vastXml = adUnit.vastXml;
239
+ } else if (adUnit.mediaType === BANNER) {
240
+ bidResponse.ad = adUnit.ad;
241
+ }
242
+
243
+ if (adUnit.adomain && adUnit.adomain.length) {
244
+ bidResponse.meta.advertiserDomains = adUnit.adomain;
245
+ }
246
+
247
+ return bidResponse;
248
+ }
249
+
250
+ function isBanner(bid) {
251
+ return bid.mediaTypes && bid.mediaTypes.banner;
252
+ }
253
+
254
+ export function generateGeneralParams(generalObject, bidderRequest, adapterVersion) {
255
+ const domain = window.location.hostname;
256
+ const { syncEnabled, filterSettings } = config.getConfig('userSync') || {};
257
+ const { bidderCode } = bidderRequest;
258
+ const generalBidParams = generalObject.params;
259
+ const timeout = bidderRequest.timeout;
260
+ const adapVer = adapterVersion || '6.0.0';
261
+
262
+ const generalParams = {
263
+ wrapper_type: 'prebidjs',
264
+ wrapper_vendor: '$$PREBID_GLOBAL$$',
265
+ wrapper_version: '$prebid.version$',
266
+ adapter_version: adapVer,
267
+ auction_start: bidderRequest.auctionStart,
268
+ publisher_id: generalBidParams.org,
269
+ publisher_name: domain,
270
+ site_domain: domain,
271
+ dnt: (navigator.doNotTrack === 'yes' || navigator.doNotTrack === '1' || navigator.msDoNotTrack === '1') ? 1 : 0,
272
+ device_type: getDeviceType(navigator.userAgent),
273
+ ua: navigator.userAgent,
274
+ is_wrapper: !!generalBidParams.isWrapper,
275
+ session_id: generalBidParams.sessionId || getBidIdParameter('bidderRequestId', generalObject),
276
+ tmax: timeout
277
+ };
278
+
279
+ const userIdsParam = getBidIdParameter('userId', generalObject);
280
+ if (userIdsParam) {
281
+ generalParams.userIds = JSON.stringify(userIdsParam);
282
+ }
283
+
284
+ const ortb2Metadata = bidderRequest.ortb2 || {};
285
+ if (ortb2Metadata.site) {
286
+ generalParams.site_metadata = JSON.stringify(ortb2Metadata.site);
287
+ }
288
+ if (ortb2Metadata.user) {
289
+ generalParams.user_metadata = JSON.stringify(ortb2Metadata.user);
290
+ }
291
+
292
+ if (syncEnabled) {
293
+ const allowedSyncMethod = getAllowedSyncMethod(filterSettings, bidderCode);
294
+ if (allowedSyncMethod) {
295
+ generalParams.cs_method = allowedSyncMethod;
296
+ }
297
+ }
298
+
299
+ if (bidderRequest.uspConsent) {
300
+ generalParams.us_privacy = bidderRequest.uspConsent;
301
+ }
302
+
303
+ if (bidderRequest && bidderRequest.gdprConsent && bidderRequest.gdprConsent.gdprApplies) {
304
+ generalParams.gdpr = bidderRequest.gdprConsent.gdprApplies;
305
+ generalParams.gdpr_consent = bidderRequest.gdprConsent.consentString;
306
+ }
307
+
308
+ if (bidderRequest.gppConsent) {
309
+ generalParams.gpp = bidderRequest.gppConsent.gppString;
310
+ generalParams.gpp_sid = bidderRequest.gppConsent.applicableSections;
311
+ } else if (bidderRequest.ortb2?.regs?.gpp) {
312
+ generalParams.gpp = bidderRequest.ortb2.regs.gpp;
313
+ generalParams.gpp_sid = bidderRequest.ortb2.regs.gpp_sid;
314
+ }
315
+
316
+ if (generalBidParams.ifa) {
317
+ generalParams.ifa = generalBidParams.ifa;
318
+ }
319
+
320
+ if (generalObject.schain) {
321
+ generalParams.schain = getSupplyChain(generalObject.schain);
322
+ }
323
+
324
+ if (bidderRequest && bidderRequest.refererInfo) {
325
+ generalParams.referrer = deepAccess(bidderRequest, 'refererInfo.ref');
326
+ generalParams.page_url = deepAccess(bidderRequest, 'refererInfo.page') || deepAccess(window, 'location.href');
327
+ generalParams.page_domain = deepAccess(bidderRequest, 'refererInfo.domain') || deepAccess(window, 'location.hostname');
328
+ }
329
+
330
+ return generalParams;
331
+ }