/** Teal */ function loadTlpbjs(account) { /* prebid.js v9.50.0 Updated: 2025-06-19 Modules: consentManagementTcf, consentManagementUsp, prebidServerBidAdapter, userId, pubProvidedIdSystem, criteoIdSystem, sharedIdSystem */ if(window.tlpbjs&&window.tlpbjs.libLoaded)try{window.tlpbjs.getConfig("debug")&&console.warn("Attempted to load a copy of Prebid.js that clashes with the existing 'tlpbjs' instance. Load aborted.")}catch(t){}else (function(){ (()=>{var r,t={433:(r,t,e)=>{function n(r,t,e,n,o){for(t=t.split?t.split("."):t,n=0;nn})},8128:r=>{ u.SYNC=1,u.ASYNC=2,u.QUEUE=4;var t="fun-hooks";var e=Object.freeze({useProxy:!0,ready:0}),n=new WeakMap,o="2,1,0"===[1].reduce((function(r,t,e){return[r,t,e]}),2).toString()?Array.prototype.reduce:function(r,t){var e,n=Object(this),o=n.length>>>0,i=0;if(t)e=t;else{for(;i{function n(r,t,e){t.split&&(t=t.split("."));for(var n,o,i=0,f=t.length,u=r;in})},5751:(r,t,e)=>{function n(r){var t,e,o;if(Array.isArray(r)){for(e=Array(t=r.length);t--;)e[t]=(o=r[t])&&"object"==typeof o?n(o):o;return e}if("[object Object]"===Object.prototype.toString.call(r)){for(t in e={},r)"__proto__"===t?Object.defineProperty(e,t,{value:n(r[t]),configurable:!0,enumerable:!0,writable:!0}):e[t]=(o=r[t])&&"object"==typeof o?n(o):o;return e}return r}e.d(t,{Q:()=>n})}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.m=t,r=[],n.O=(t,e,o,i)=>{if(!e){var f=1/0;for(l=0;l=i)&&Object.keys(n.O).every((r=>n.O[r](e[a])))?e.splice(a--,1):(u=!1,i0&&r[l-1][2]>i;l--)r[l]=r[l-1];r[l]=[e,o,i]},n.n=r=>{var t=r&&r.__esModule?()=>r.default:()=>r;return n.d(t,{a:t}),t},n.d=(r,t)=>{for(var e in t)n.o(t,e)&&!n.o(r,e)&&Object.defineProperty(r,e,{enumerable:!0,get:t[e]})},n.o=(r,t)=>Object.prototype.hasOwnProperty.call(r,t),(()=>{var r={673:0};n.O.j=t=>0===r[t];var t=(t,e)=>{var o,i,f=e[0],u=e[1],a=e[2],c=0;if(f.some((t=>0!==r[t]))){for(o in u)n.o(u,o)&&(n.m[o]=u[o]);if(a)var l=a(n)}for(t&&t(e);cn(8934)));o=n.O(o)})(); (self.tlpbjsChunk=self.tlpbjsChunk||[]).push([[802],{5789:(e,t,n)=>{n.d(t,{A4:()=>c,J7:()=>l,Pg:()=>u});var i=n(1580),r=n(1069),o=n(7873),s=n(5569);const a=(0,o.m)(),d="outstream";function c(e){const{url:t,config:n,id:o,callback:c,loaded:l,adUnitCode:u,renderNow:f}=e;this.url=t,this.config=n,this.handlers={},this.id=o,this.renderNow=f,this.adUnitCode=u,this.loaded=l,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):(0,r.vV)("Commands given to Renderer.push must be wrapped in a function")},this.callback=c||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):(0,r.JE)("No render function was provided, please use .setRender on the renderer")};!function(e){const t=a.adUnits.find((t=>t.code===e));if(!t)return!1;const n=t?.renderer,i=!!(n&&n.url&&n.render),r=t?.mediaTypes?.video?.renderer,o=!!(r&&r.url&&r.render);return!!(i&&!0!==n.backupOnly||o&&!0!==r.backupOnly)}(u)?f?n():(this.cmd.unshift(n),(0,i.R)(t,s.tp,d,this.callback,this.documentContext)):((0,r.JE)(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${u}`),n())}.bind(this)}function l(e){return!(!e||!e.url&&!e.renderNow)}function u(e,t,n){let i=null;e.config&&e.config.documentResolver&&(i=e.config.documentResolver(t,document,n)),i||(i=document),e.documentContext=i,e.render(t,e.documentContext)}c.install=function(e){let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new c({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},c.prototype.getConfig=function(){return this.config},c.prototype.setRender=function(e){this._render=e},c.prototype.setEventHandlers=function(e){this.handlers=e},c.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),(0,r.OG)(`Prebid Renderer event for id ${t} type ${n}`)},c.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){(0,r.vV)(`Error processing Renderer command on ad unit '${this.adUnitCode}':`,e)}}},6811:(e,t,n)=>{n.d(t,{DL:()=>c,Ml:()=>r,Ue:()=>i,VJ:()=>u,hE:()=>l,hq:()=>d,mo:()=>a,pY:()=>f,uc:()=>s,yl:()=>o});const i="accessDevice",r="syncUser",o="enrichEids",s="fetchBids",a="reportAnalytics",d="transmitEids",c="transmitUfpd",l="transmitPreciseGeo",u="transmitTid",f="loadExternalScript"},3441:(e,t,n)=>{n.d(t,{s:()=>r});var i=n(1445);const r=(0,n(2604).ZI)((e=>i.Ay.resolveAlias(e)))},5569:(e,t,n)=>{n.d(t,{Tn:()=>s,fW:()=>o,tW:()=>r,tp:()=>i});const i="prebid",r="bidder",o="userId",s="analytics"},2604:(e,t,n)=>{n.d(t,{Dk:()=>s,Ii:()=>o,TQ:()=>g,U3:()=>h,XG:()=>l,ZI:()=>p,Zw:()=>c,bt:()=>u,e3:()=>f,iK:()=>a,q7:()=>d});var i=n(5569),r=n(9214);const o="component",s=o+"Type",a=o+"Name",d="adapterCode",c="storageType",l="configName",u="syncType",f="syncUrl",g="_config";function p(e){return function(t,n,r){const c={[s]:t,[a]:n,[o]:`${t}.${n}`};return t===i.tW&&(c[d]=e(n)),h(Object.assign(c,r))}}const h=(0,r.A_)("sync",(e=>e))},6953:(e,t,n)=>{n.d(t,{Vx:()=>d,$p:()=>m});var i=n(433),r=n(3272),o=n(5139),s=n(6811);const a=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),d=["user.eids","user.ext.eids"],c=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],l=["device.ip"],u=["device.ipv6"];function f(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if(function(e){return null!=e&&("object"!=typeof e||Object.keys(e).length>0)}(o)&&r()){const e=this.get(o);void 0===e?delete n[i]:n[i]=e}}},e)}function g(e){return e.forEach((e=>{e.paths=e.paths.map((e=>{const t=e.split("."),n=t.pop();return[t.length>0?t.join("."):null,n]}))})),function(t,n){const r=[];for(var o=arguments.length,s=new Array(o>2?o-2:0),a=2;a1?t-1:0),i=1;i{if(!1!==t[e.name])for(const[o,s]of e.paths){const a=null==o?n:(0,i.A)(n,o);if(r.push(e.run(n,o,a,s,d.bind(null,e))),!1===t[e.name])return}})),r.filter((e=>null!=e))}}function p(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.io;return function(n){return!t(e,n)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;return[{name:s.DL,paths:a,applies:p(s.DL,e)},{name:s.hq,paths:d,applies:p(s.hq,e)},{name:s.hE,paths:c,applies:p(s.hE,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:s.hE,paths:l,applies:p(s.hE,e),get:e=>function(e){if(!e)return null;let t=e.split(".").map(Number);if(4!=t.length)return null;let n=[];for(let e=0;e<4;e++){let t=Math.max(0,Math.min(8,24-8*e));n.push(255<<8-t&255)}return t.map(((e,t)=>e&n[t])).join(".")}(e)},{name:s.hE,paths:u,applies:p(s.hE,e),get:e=>function(e){if(!e)return null;let t=e.split(":").map((e=>parseInt(e,16)));for(t=t.map((e=>isNaN(e)?0:e));t.length<8;)t.push(0);if(8!=t.length)return null;let n=[];for(let e=0;e<8;e++){let t=Math.max(0,Math.min(16,64-16*e));n.push(65535<<16-t&65535)}return t.map(((e,t)=>e&n[t])).map((e=>e.toString(16))).join(":")}(e)},{name:s.VJ,paths:["source.tid"],applies:p(s.VJ,e)}].map(f)}const m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;const t=g(h(e)),n=g(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;return[{name:s.hq,paths:["userId","userIdAsEids"],applies:p(s.hq,e)},{name:s.VJ,paths:["ortb2Imp.ext.tid"],applies:p(s.VJ,e)}].map(f)}(e));return function(e){const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();(0,o.qB)(s.VJ,"enableTIDs config",(()=>{if(!r.$W.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}))},5139:(e,t,n)=>{n.d(t,{io:()=>s,qB:()=>o});var i=n(1069),r=n(2604);const[o,s]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,i.h0)("Activity control:");const t={};function n(e){return t[e]=t[e]||[]}function o(t,n,i,o){let s;try{s=i(o)}catch(i){e.logError(`Exception in rule ${n} for '${t}'`,i),s={allow:!1,reason:i}}return s&&Object.assign({activity:t,name:n,component:o[r.Ii]},s)}const s={};function a(t){let{activity:n,name:i,allow:r,reason:o,component:a}=t;const d=`${i} ${r?"allowed":"denied"} '${n}' for '${a}'${o?":":""}`,c=s.hasOwnProperty(d);if(c&&clearTimeout(s[d]),s[d]=setTimeout((()=>delete s[d]),1e3),!c){const t=[d];o&&t.push(o),(r?e.logInfo:e.logWarn).apply(e,t)}}return[function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const o=n(e),s=o.findIndex((e=>{let[t]=e;return r=0&&o.splice(e,1)}},function(e,t){let i,r;for(const[s,d,c]of n(e)){if(i!==s&&r)break;i=s;const n=o(e,d,c,t);if(n){if(!n.allow)return a(n),!1;r=n}}return r&&a(r),!0}]}()},9075:(e,t,n)=>{n.d(t,{$A:()=>T,BS:()=>P,Hh:()=>q,Pk:()=>N,Uc:()=>R,XO:()=>V,bw:()=>_,n6:()=>C,qn:()=>$,vB:()=>W,vW:()=>S,vd:()=>U});var i=n(1069),r=n(5023),o=n(8969),s=n(3272),a=n(5789),d=n(1371),c=n(6881),l=n(6031),u=n(9214),f=n(2449),g=n(5555),p=n(1445),h=n(6894),m=n(7779),b=n(3005);const{AD_RENDER_FAILED:y,AD_RENDER_SUCCEEDED:v,STALE_RENDER:E,BID_WON:A,EXPIRED_RENDER:w}=o.qY,{EXCEPTION:I}=o.as,T=(0,u.A_)("sync",(function(e){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:g.U9.resolve()).then((t=>t??c.n.findBidByAdId(e))).catch((()=>{}))})),C=(0,u.A_)("sync",(function(e){((0,b.$T)(e.eventtrackers)[b.RO]?.[b.Ni]||[]).forEach((e=>(0,i.z$)(e))),r.Ic(A,e),c.n.addWinningBid(e)}));function B(e){let{reason:t,message:n,bid:o,id:s}=e;const a={reason:t,message:n};o&&(a.bid=o,a.adId=o.adId),s&&(a.adId=s),(0,i.vV)(`Error rendering ad (id: ${s}): ${n}`),r.Ic(y,a)}function O(e){let{doc:t,bid:n,id:i}=e;const o={doc:t};n&&(o.bid=n),i&&(o.adId=i),p.Ay.callAdRenderSucceededBidder(n.adapterCode||n.bidder,n),r.Ic(v,o)}function R(e,t){switch(e.event){case o.qY.AD_RENDER_FAILED:B({bid:t,id:t.adId,reason:e.info.reason,message:e.info.message});break;case o.qY.AD_RENDER_SUCCEEDED:O({doc:null,bid:t,id:t.adId});break;default:(0,i.vV)(`Received event request for unsupported event: '${e.event}' (adId: '${t.adId}')`)}}function S(e,t,n){let{resizeFn:i,fireTrackers:r=f.vO}=n;if("resizeNativeHeight"===e.action)i(e.width,e.height);else r(e,t)}const k={[o.nl.EVENT]:R};k[o.nl.NATIVE]=S;const U=(0,u.A_)("sync",(function(e,t){const{ad:n,adUrl:r,cpm:o,originalCpm:s,width:a,height:d,instl:c}=e,l={AUCTION_PRICE:s||o,CLICKTHROUGH:t?.clickUrl||""};return{ad:(0,i.gM)(n,l),adUrl:(0,i.gM)(r,l),width:a,height:d,instl:c}})),D=(0,u.A_)("sync",(function(e){let{renderFn:t,resizeFn:n,bidResponse:r,options:s,doc:a,isMainDocument:c=a===document&&!(0,i.al)()}=e;const l=r.mediaType===d.G_;if(c||l)return void B({reason:o.as.PREVENT_WRITING_ON_MAIN_DOCUMENT,message:l?"Cannot render video ad without a renderer":"renderAd was prevented from writing to the main document.",bid:r,id:r.adId});const u=U(r,s);t(Object.assign({adId:r.adId},u));const{width:f,height:g}=u;null!=(f??g)&&n(f,g)}));function _(e){let{renderFn:t,resizeFn:n,adId:a,options:d,bidResponse:c,doc:l}=e;q(c,(()=>{if(null!=c){if((c.status!==o.tl.RENDERED||((0,i.JE)(`Ad id ${a} has been rendered before`),r.Ic(E,c),!s.$W.getConfig("auctionOptions")?.suppressStaleRender))&&(m.uW.isBidNotExpired(c)||((0,i.JE)(`Ad id ${a} has been expired`),r.Ic(w,c),!s.$W.getConfig("auctionOptions")?.suppressExpiredRender)))try{D({renderFn:t,resizeFn:n,bidResponse:c,options:d,doc:l})}catch(e){B({reason:o.as.EXCEPTION,message:e.message,id:a,bid:c})}}else B({reason:o.as.CANNOT_FIND_AD,message:`Cannot find ad '${a}'`,id:a})}))}function $(e){const t=(0,h.BO)(e.metrics);t.checkpoint("bidRender"),t.timeBetween("bidWon","bidRender","render.deferred"),t.timeBetween("auctionEnd","bidRender","render.pending"),t.timeBetween("requestBids","bidRender","render.e2e"),e.status=o.tl.RENDERED}D.before((function(e,t){const{bidResponse:n,doc:i}=t;(0,a.J7)(n.renderer)?((0,a.Pg)(n.renderer,n,i),O({doc:i,bid:n,id:n.adId}),e.bail()):e(t)}),100);const j=new WeakMap,x=new WeakSet;function q(e,t){null!=e?(j.set(e,t),e.deferRendering||W(e),N(e)):t()}function N(e){x.has(e)||(x.add(e),C(e))}function W(e){const t=j.get(e);t&&(t(),$(e),j.delete(e))}function P(e,t,n){let r;function s(e,n){B(Object.assign({id:t,bid:r},{reason:e,message:n}))}function a(t,n){const i=e.defaultView?.frameElement;i&&(t&&(i.width=t,i.style.width&&(i.style.width=`${t}px`)),n&&(i.height=n,i.style.height&&(i.style.height=`${n}px`)))}const d=(c={resizeFn:a},function(e,t,n){k.hasOwnProperty(e)&&k[e](t,n,c)});var c;function u(t){t.ad?(e.write(t.ad),e.close(),O({doc:e,bid:r,id:r.adId})):(0,l.HH)(r).then((n=>n(t,{sendMessage:(e,t)=>d(e,t,r),mkFrame:i.hw},e.defaultView))).then((()=>O({doc:e,bid:r,id:r.adId})),(e=>{s(e?.reason||o.as.EXCEPTION,e?.message),e?.stack&&(0,i.vV)(e)}));const n=document.createComment(`Creative ${r.creativeId} served by ${r.bidder} Prebid.js Header Bidding`);(0,i._s)(n,e,"html")}try{t&&e?T(t).then((i=>{r=i,_({renderFn:u,resizeFn:a,adId:t,options:{clickUrl:n?.clickThrough},bidResponse:i,doc:e})})):s(o.as.MISSING_DOC_OR_ADID,"missing "+(t?"doc":"adId"))}catch(e){s(I,e.message)}}function V(){if(!window.frames[o.IY])if(document.body){const e=(0,i.CA)();e.name=o.IY,document.body.appendChild(e)}else window.requestAnimationFrame(V)}},9759:(e,t,n)=>{function i(e){var t=e;return{callBids:function(){},setBidderCode:function(e){t=e},getBidderCode:function(){return t}}}n.d(t,{A:()=>i})},1445:(e,t,n)=>{n.d(t,{Ay:()=>z,pX:()=>M,K5:()=>N});var i=n(1069),r=n(2449),o=n(7377),s=n(8044),a=n(3272),d=n(9214);let c={};function l(e,t,n){let i=function(e,t){let n=c[e]=c[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}(e,n);return i[t]=(i[t]||0)+1,i[t]}function u(e){return l(e,"auctionsCounter")}function f(e){return c?.[e]?.requestsCounter||0}function g(e,t){return c?.[e]?.bidders?.[t]?.requestsCounter||0}function p(e,t){return c?.[e]?.bidders?.[t]?.winsCounter||0}function h(e){return c?.[e]?.auctionsCounter||0}var m=n(7934),b=n(6916),y=n(5023),v=n(8969),E=n(6894),A=n(6881),w=n(5569),I=n(5139),T=n(6811),C=n(2604),B=n(6953),O=n(3005);const R="pbsBidAdapter",S={CLIENT:"client",SERVER:"server"},k={isAllowed:I.io,redact:B.$p};let U={},D=U.bidderRegistry={},_=U.aliasRegistry={},$=[];a.$W.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&($=(0,i.cy)(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var j={};const x=(0,C.ZI)((e=>U.resolveAlias(e)));function q(e){return e.configName??e.name}function N(e){return x(w.tp,R,{[C.XG]:q(e)})}const W=(0,d.A_)("sync",(function(e){let{bidderCode:t,auctionId:n,bidderRequestId:r,adUnits:o,src:s,metrics:a}=e;return o.reduce(((e,o)=>{const d=o.bids.filter((e=>e.bidder===t));return null==t&&0===d.length&&null!=o.s2sBid&&d.push({bidder:null}),e.push(d.reduce(((e,d)=>{const c=null==(d=Object.assign({},d,{ortb2Imp:(0,i.D9)({},o.ortb2Imp,d.ortb2Imp)},(0,i.SH)(o,["nativeParams","nativeOrtbRequest","mediaType","renderer"]))).mediaTypes?o.mediaTypes:d.mediaTypes;return(0,i.wD)(c)?d=Object.assign({},d,{mediaTypes:c}):(0,i.vV)(`mediaTypes is not correctly configured for adunit ${o.code}`),"client"===s&&function(e,t){l(e,"requestsCounter",t)}(o.code,t),e.push(Object.assign({},d,{adUnitCode:o.code,transactionId:o.transactionId,adUnitId:o.adUnitId,sizes:c?.banner?.sizes||c?.video?.playerSize||[],bidId:d.bid_id||(0,i.s0)(),bidderRequestId:r,auctionId:n,src:s,metrics:a,auctionsCount:h(o.code),bidRequestsCount:f(o.code),bidderRequestsCount:g(o.code,d.bidder),bidderWinsCount:p(o.code,d.bidder),deferBilling:!!o.deferBilling})),e}),[])),e}),[]).reduce(i.Bq,[]).filter((e=>""!==e))}),"getBids");const P=(0,d.A_)("sync",(function(e,t){let{getS2SBidders:n=M}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)return e;{const i=n(t);return e.filter((e=>{if(!i.has(e.bidder))return!1;if(null==e.s2sConfigName)return!0;const n=q(t);return(Array.isArray(e.s2sConfigName)?e.s2sConfigName:[e.s2sConfigName]).includes(n)}))}}),"filterBidsForAdUnit");const V=(0,d.A_)("sync",((e,t)=>e),"setupAdUnitMediaTypes");function M(e){(0,i.cy)(e)||(e=[e]);const t=new Set([null]);return e.filter((e=>e&&e.enabled)).flatMap((e=>e.bidders)).forEach((e=>t.add(e))),t}const G=(0,d.A_)("sync",(function(e,t){let{getS2SBidders:n=M}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n(t);return(0,i.ZA)(e).reduce(((e,t)=>(e[r.has(t)?S.SERVER:S.CLIENT].push(t),e)),{[S.CLIENT]:[],[S.SERVER]:[]})}),"partitionBidders");function F(e,t){const n=D[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function H(e,t,n,r){try{(0,i.fH)(`Invoking ${e}.${t}`);for(var o=arguments.length,s=new Array(o>4?o-4:0),d=4;d5&&void 0!==arguments[5]?arguments[5]:{},c=arguments.length>6?arguments[6]:void 0;c=(0,E.BO)(c),y.Ic(v.qY.BEFORE_REQUEST_BIDS,e),(0,r.nk)(e),e.map((e=>e.code)).filter(i.hj).forEach(u),e.forEach((e=>{(0,i.Qd)(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||k.isAllowed(T.uc,x(w.tW,e.bidder)))),l(e.code,"requestsCounter")})),e=V(e,s);let{[S.CLIENT]:f,[S.SERVER]:g}=G(e,$);a.$W.getConfig("bidderSequence")===a.Ov&&(f=(0,i.k4)(f));const p=(0,m.EN)();let h=[];const A=d.global||{},I=d.bidder||{};function C(e,t){const r=k.redact(null!=t?t:x(w.tW,e.bidderCode)),o=(0,i.D9)({source:{tid:n}},A,I[e.bidderCode]);!function(e){const t=e.user?.eids;Array.isArray(t)&&t.length&&(e.user.ext=e.user.ext||{},e.user.ext.eids=[...e.user.ext.eids||[],...t],delete e.user.eids)}(o);const s=Object.freeze(r.ortb2(o));return e.ortb2=s,e.bids=e.bids.map((e=>(e.ortb2=s,r.bidRequest(e)))),e}$.forEach((r=>{const o=N(r);if(r&&r.enabled&&k.isAllowed(T.uc,o)){let{adUnits:s,hasModuleBids:a}=function(e,t){let n=(0,i.Go)(e),r=!1;return n.forEach((e=>{const n=e.bids.filter((e=>e.module===R&&e.params?.configName===q(t)));1===n.length?(e.s2sBid=n[0],r=!0,e.ortb2Imp=(0,i.D9)({},e.s2sBid.ortb2Imp,e.ortb2Imp)):n.length>1&&(0,i.JE)('Multiple "module" bids for the same s2s configuration; all will be ignored',n),e.bids=P(e.bids,t).map((e=>(e.bid_id=(0,i.s0)(),e)))})),n=n.filter((e=>0!==e.bids.length||null!=e.s2sBid)),{adUnits:n,hasModuleBids:r}}(e,r),d=(0,i.lk)();(0===g.length&&a?[null]:g).forEach((e=>{const a=(0,i.s0)(),l=c.fork(),u=C({bidderCode:e,auctionId:n,bidderRequestId:a,uniquePbsTid:d,bids:W({bidderCode:e,auctionId:n,bidderRequestId:a,adUnits:(0,i.Go)(s),src:v.RW.SRC,metrics:l}),auctionStart:t,timeout:r.timeout,src:v.RW.SRC,refererInfo:p,metrics:l},o);0!==u.bids.length&&h.push(u)})),s.forEach((e=>{let t=e.bids.filter((e=>h.find((t=>t.bids.find((t=>t.bidId===e.bid_id))))));e.bids=t})),h.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=s.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));let B=function(e){let t=(0,i.Go)(e);return t.forEach((e=>{e.bids=P(e.bids,null)})),t=t.filter((e=>0!==e.bids.length)),t}(e);return f.forEach((e=>{const r=(0,i.s0)(),a=c.fork(),d=C({bidderCode:e,auctionId:n,bidderRequestId:r,bids:W({bidderCode:e,auctionId:n,bidderRequestId:r,adUnits:(0,i.Go)(B),labels:s,src:"client",metrics:a}),auctionStart:t,timeout:o,refererInfo:p,metrics:a}),l=D[e];l||(0,i.vV)(`Trying to make a request for bidder that does not exist: ${e}`),l&&d.bids&&0!==d.bids.length&&h.push(d)})),h.forEach((e=>{b.mW.getConsentData()&&(e.gdprConsent=b.mW.getConsentData()),b.t6.getConsentData()&&(e.uspConsent=b.t6.getConsentData()),b.ad.getConsentData()&&(e.gppConsent=b.ad.getConsentData())})),h}),"makeBidRequests"),U.callBids=function(e,t,n,r,o,d,c){let l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void(0,i.JE)("callBids executed with no bidRequests. Were they filtered by labels or sizing?");let[u,f]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===v.RW.SRC)].push(t),e)),[[],[]]);var g=[];f.forEach((e=>{for(var t=-1,n=0;n{if(e&&g[p]&&M(e).has(g[p].bidderCode)){const t=(0,s.g4)(d,o?{request:o.request.bind(null,"s2s"),done:o.done}:void 0);let a=e.bidders;const u=D[e.adapter];let h=g[p].uniquePbsTid,m=g[p].adUnitsS2SCopy,b=f.filter((e=>e.uniquePbsTid===h));if(u){let o={ad_units:m,s2sConfig:e,ortb2Fragments:l,requestBidsTimeout:d};if(o.ad_units.length){let e=b.map((e=>(e.start=(0,i.vE)(),function(t){t||c(e.bidderRequestId),r.apply(e,arguments)})));const s=(0,i.ZA)(o.ad_units).filter((e=>a.includes(e)));(0,i.OG)(`CALLING S2S HEADER BIDDERS ==== ${s.length>0?s.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only'}`),b.forEach((e=>{y.Ic(v.qY.BID_REQUESTED,{...e,tid:e.auctionId})})),u.callBids(o,f,n,(t=>e.forEach((e=>e(t)))),t)}}else(0,i.vV)("missing "+e.adapter);p++}})),u.forEach((e=>{e.start=(0,i.vE)();const t=D[e.bidderCode];a.$W.runWithBidder(e.bidderCode,(()=>{(0,i.OG)("CALLING BIDDER"),y.Ic(v.qY.BID_REQUESTED,e)}));let l=(0,s.g4)(d,o?{request:o.request.bind(null,e.bidderCode),done:o.done}:void 0);const u=r.bind(e);try{a.$W.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,u,l,(()=>c(e.bidderRequestId)),a.$W.callbackWithBidder(e.bidderCode)))}catch(t){(0,i.vV)(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),u()}}))},U.videoAdapters=[],U.registerBidAdapter=function(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(D[t]=e,b.o2.register(w.tW,t,e.getSpec?.().gvlid),n.includes("video")&&U.videoAdapters.push(t),n.includes("native")&&r.mT.push(t)):(0,i.vV)("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):(0,i.vV)("bidAdapter or bidderCode not specified")},U.aliasBidAdapter=function(e,t,n){if(void 0===D[t]){let s=D[e];if(void 0===s){const n=[];$.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&r.includes(t)?_[t]=e:n.push(e)}})),n.forEach((e=>{(0,i.vV)('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{let a,d=function(e){let t=[];return U.videoAdapters.includes(e)&&t.push("video"),r.mT.includes(e)&&t.push("native"),t}(e);if(s.constructor.prototype!=Object.prototype)a=new s.constructor,a.setBidderCode(t);else{const{useBaseGvlid:r=!1}=n||{};let d=s.getSpec();const c=r?d.gvlid:n?.gvlid;null==c&&null!=d.gvlid&&(0,i.JE)(`Alias '${t}' will NOT re-use the GVL ID of the original adapter ('${d.code}', gvlid: ${d.gvlid}). Functionality that requires TCF consent may not work as expected.`);let l=n&&n.skipPbsAliasing;a=(0,o.xb)(Object.assign({},d,{code:t,gvlid:c,skipPbsAliasing:l})),_[t]=e}U.registerBidAdapter(a,t,{supportedMediaTypes:d})}catch(t){(0,i.vV)(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else(0,i.OG)('alias name "'+t+'" has been already specified.')},U.resolveAlias=function(e){let t,n=e;for(;_[n]&&(!t||!t.has(n));)n=_[n],(t=t||new Set).add(n);return n},U.registerAnalyticsAdapter=function(e){let{adapter:t,code:n,gvlid:r}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,j[n]={adapter:t,gvlid:r},b.o2.register(w.Tn,n,r)):(0,i.vV)(`Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function`):(0,i.vV)("Prebid Error: analyticsAdapter or analyticsCode not specified")},U.enableAnalytics=function(e){(0,i.cy)(e)||(e=[e]),e.forEach((e=>{const t=j[e.provider];t&&t.adapter?k.isAllowed(T.mo,x(w.Tn,e.provider,{[C.TQ]:e}))&&t.adapter.enableAnalytics(e):(0,i.vV)(`Prebid Error: no analytics adapter found in registry for '${e.provider}'.`)}))},U.getBidAdapter=function(e){return D[e]},U.getAnalyticsAdapter=function(e){return j[e]},U.callTimedOutBidders=function(e,t,n){t=t.map((t=>(t.params=(0,i.SB)(e,t.adUnitCode,t.bidder),t.timeout=n,t))),t=(0,i.$z)(t,"bidder"),Object.keys(t).forEach((e=>{L(e,"onTimeout",t[e])}))},U.callBidWonBidder=function(e,t,n){var r,o;t.params=(0,i.SB)(n,t.adUnitCode,t.bidder),r=t.adUnitCode,o=t.bidder,l(r,"winsCounter",o),L(e,"onBidWon",t)},U.triggerBilling=(()=>{const e=new WeakSet;return t=>{e.has(t)||(e.add(t),((0,O.$T)(t.eventtrackers)[O.OA]?.[O.Ni]||[]).forEach((e=>i.mM.triggerPixel(e))),L(t.bidder,"onBidBillable",t))}})(),U.callSetTargetingBidder=function(e,t){L(e,"onSetTargeting",t)},U.callBidViewableBidder=function(e,t){L(e,"onBidViewable",t)},U.callBidderError=function(e,t,n){L(e,"onBidderError",{error:t,bidderRequest:n})},U.callAdRenderSucceededBidder=function(e,t){L(e,"onAdRenderSucceeded",t)},U.callDataDeletionRequest=(0,d.A_)("sync",(function(){for(var e=arguments.length,t=new Array(e),n=0;n!_.hasOwnProperty(e))).forEach((e=>{const n=F(e,r);if(null!=n){const i=A.n.getBidsRequested().filter((t=>function(e){const t=new Set;for(;_.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=_[e];return e}(t.bidderCode)===e));H(e,r,...n,i,...t)}})),Object.entries(j).forEach((e=>{let[n,o]=e;const s=o?.adapter?.[r];if("function"==typeof s)try{s.apply(o.adapter,t)}catch(e){(0,i.vV)(`error calling ${r} of ${n}`,e)}}))}));const z=U},7377:(e,t,n)=>{n.d(t,{JN:()=>R,fn:()=>S,xb:()=>T});var i=n(9759),r=n(1445),o=n(3272),s=n(3597),a=n(8230),d=n(2449),c=n(3895),l=n(8969),u=n(5023),f=n(1069),g=n(9214),p=n(6881),h=n(2693),m=n(6894),b=n(5139),y=n(3441),v=n(5569),E=n(6811);const A=["cpm","ttl","creativeId","netRevenue","currency"],w=["auctionId","transactionId"];const I=(0,f.Bj)((e=>{let{bidderCode:t}=e;if((0,b.io)(E.VJ,(0,y.s)(v.tW,t)))return{bidRequest:e=>e,bidderRequest:e=>e};function n(e,t,n){return w.includes(t)?null:Reflect.get(e,t,n)}function i(e,t){const n=new Proxy(e,t);return Object.entries(e).filter((e=>{let[t,n]=e;return"function"==typeof n})).forEach((t=>{let[i,r]=t;return n[i]=r.bind(e)})),n}const r=(0,f.Bj)((e=>i(e,{get:n})),(e=>e.bidId));return{bidRequest:r,bidderRequest:e=>i(e,{get:(t,i,o)=>"bids"===i?e.bids.map(r):n(t,i,o)})}}));function T(e){return Object.assign(new i.A(e.code),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:t,callBids:function(n,i,a,d,c,g){if(!Array.isArray(n.bids))return;const p=I(n),b={};const y=[];function v(){a(),o.$W.runWithBidder(e.code,(()=>{u.Ic(l.qY.BIDDER_DONE,n),t(y,n.gdprConsent,n.uspConsent,n.gppConsent)}))}const E=k(n).measureTime("validate",(()=>n.bids.filter((t=>function(t){if(!e.isBidRequestValid(t))return(0,f.JE)(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(t)}`),!1;return!0}(p.bidRequest(t))))));if(0===E.length)return void v();const A={};E.forEach((e=>{A[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),B(e,E,n,d,g,{onRequest:e=>u.Ic(l.qY.BEFORE_BIDDER_HTTP,n,e),onResponse:t=>{c(e.code),y.push(t)},onPaapi:e=>{const t=A[e.bidId];t?R(t,e):(0,f.JE)("Received fledge auction configuration for an unknown bidId",e)},onError:(t,i)=>{i.timedOut||c(e.code),r.Ay.callBidderError(e.code,i,n),u.Ic(l.qY.BIDDER_ERROR,{error:i,bidderRequest:n}),(0,f.vV)(`Server call for ${e.code} failed: ${t} ${i.status}. Continuing without bids.`,{bidRequests:E})},onBid:t=>{const n=A[t.requestId];if(n){if(t.adapterCode=n.bidder,function(e,t){let n=h.u.get(t,"allowAlternateBidderCodes")||!1,i=h.u.get(t,"allowedAlternateBidderCodes");if(e&&t&&t!==e&&(i=(0,f.cy)(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(f.hj):i,!n||(0,f.cy)(i)&&"*"!==i[0]&&!i.includes(e)))return!0;return!1}(t.bidderCode,n.bidder))return(0,f.JE)(`${t.bidderCode} is not a registered partner or known bidder of ${n.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`),void i.reject(n.adUnitCode,t,l.Tf.BIDDER_DISALLOWED);t.originalCpm=t.cpm,t.originalCurrency=t.currency,t.meta=t.meta||Object.assign({},t[n.bidder]),t.deferBilling=n.deferBilling,t.deferRendering=t.deferBilling&&(t.deferRendering??"function"!=typeof e.onBidBillable);const r=Object.assign((0,s.O)(l.XQ.GOOD,n),t,(0,f.Up)(n,w));!function(e,t){const n=(0,m.BO)(t.metrics);n.checkpoint("addBidResponse"),b[e]=!0,n.measureTime("addBidResponse.validate",(()=>S(e,t)))?i(e,t):i.reject(e,t,l.Tf.INVALID)}(n.adUnitCode,r)}else(0,f.JE)(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),i.reject(null,t,l.Tf.INVALID_REQUEST_ID)},onCompletion:v})}});function t(t,n,i,r){O(e,t,n,i,r)}}const C=["bids","paapi"],B=(0,g.A_)("async",(function(e,t,n,i,r,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:u,onCompletion:g}=o;const p=k(n);g=p.startTiming("total").stopBefore(g);const m=I(n);let A=p.measureTime("buildRequests",(()=>e.buildRequests(t.map(m.bidRequest),m.bidderRequest(n))));if(!A||0===A.length)return void g();Array.isArray(A)||(A=[A]);const w=(0,f.U6)(g,A.length);A.forEach((t=>{const n=p.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),u(e)}const g=r((function(i,r){A();try{i=JSON.parse(i)}catch(e){}i={body:i,headers:{get:r.getResponseHeader.bind(r)}},a(i);try{i=n.measureTime("interpretResponse",(()=>e.interpretResponse(i,t)))}catch(t){return(0,f.vV)(`Bidder ${e.code} failed to interpret the server's response. Continuing without bids`,null,t),void w()}let s,c;i&&!Object.keys(i).some((e=>!C.includes(e)))?(s=i.bids,c=i.paapi):s=i,(0,f.cy)(c)&&c.forEach(d),s&&((0,f.cy)(s)?s.forEach(o):o(s)),w()})),m=r((function(e,t){A(),c(e,t),w()}));s(t);const A=n.startTiming("net");function I(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&((h.u.get(e.code,"topicsHeader")??!0)&&(0,b.io)(E.DL,(0,y.s)(v.tW,e.code)))})}switch(t.method){case"GET":i(`${t.url}${function(e){if(e)return`?${"object"==typeof e?(0,f.bL)(e):e}`;return""}(t.data)}`,{success:g,error:m},void 0,I({method:"GET",withCredentials:!0}));break;case"POST":const n=t.options?.endpointCompression,r="TRUE"===(0,f.Ez)(l.M).toUpperCase()||(0,f.dp)(),o=e=>{let{url:t,payload:n}=e;i(t,{success:g,error:m},n,I({method:"POST",contentType:"text/plain",withCredentials:!0}))};n&&r&&(0,f.JE)(`Skipping GZIP compression for ${e.code} as debug mode is enabled`),n&&!r&&(0,f.nT)()?(0,f.ZK)(t.data).then((e=>{const n=new URL(t.url,window.location.origin);n.searchParams.has("gzip")||n.searchParams.set("gzip","1"),o({url:n.href,payload:e})})):o({url:t.url,payload:"string"==typeof t.data?t.data:JSON.stringify(t.data)});break;default:(0,f.JE)(`Skipping invalid request from ${e.code}. Request type ${t.type} must be GET or POST`),w()}}))}),"processBidderRequests"),O=(0,g.A_)("async",(function(e,t,n,i,s){const d=o.$W.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(d||!r.Ay.aliasRegistry[e.code])){let r=e.getUserSyncs({iframeEnabled:a.zt.canBidderRegisterSync("iframe",e.code),pixelEnabled:a.zt.canBidderRegisterSync("image",e.code)},t,n,i,s);r&&(Array.isArray(r)||(r=[r]),r.forEach((t=>{a.zt.registerSync(t.type,e.code,t.url)})),a.zt.bidderDone(e.code))}}),"registerSyncs"),R=(0,g.A_)("sync",((e,t)=>{}),"addPaapiConfig");function S(e,t){let{index:n=p.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}return e?t?function(){let e=Object.keys(t);return A.every((n=>e.includes(n)&&![void 0,null].includes(t[n])))}()?"native"!==t.mediaType||(0,d.Bm)(t,{index:n})?"video"!==t.mediaType||(0,c.vk)(t,{index:n})?!("banner"===t.mediaType&&!function(e,t){let{index:n=p.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((t.width||0===parseInt(t.width,10))&&(t.height||0===parseInt(t.height,10)))return t.width=parseInt(t.width,10),t.height=parseInt(t.height,10),!0;if(null!=t.wratio&&null!=t.hratio)return t.wratio=parseInt(t.wratio,10),t.hratio=parseInt(t.hratio,10),!0;const i=n.getBidRequest(t),r=n.getMediaTypes(t),o=i&&i.sizes||r&&r.banner&&r.banner.sizes,s=(0,f.kK)(o);if(1===s.length){const[e,n]=s[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n}))||((0,f.vV)(i("Banner bids require a width and height")),!1):((0,f.vV)(i("Video bid does not have required vastUrl or renderer property")),!1):((0,f.vV)(i("Native bid missing some required properties.")),!1):((0,f.vV)(i(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1):((0,f.JE)(`Some adapter tried to add an undefined bid for ${e}.`),!1):((0,f.JE)("No adUnitCode was supplied to addBidResponse."),!1)}function k(e){return(0,m.BO)(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}},1580:(e,t,n)=>{n.d(t,{R:()=>c});var i=n(6811),r=n(3441),o=n(5139),s=n(1069);const a=new WeakMap,d=["debugging","outstream","aaxBlockmeter","adagio","adloox","akamaidap","arcspan","airgrid","browsi","brandmetrics","clean.io","humansecurity","confiant","contxtful","hadron","mediafilter","medianet","azerionedge","a1Media","geoedge","qortex","dynamicAdBoost","51Degrees","symitridap","wurfl","nodalsAi","anonymised","optable","justtag","tncId","ftrackId","id5"];function c(e,t,n,c,l,u){if(!(0,o.io)(i.pY,(0,r.s)(t,n)))return;if(!n||!e)return void(0,s.vV)("cannot load external script without url and moduleCode");if(!d.includes(n))return void(0,s.vV)(`${n} not whitelisted for loading external JavaScript`);l||(l=document);const f=h(l,e);if(f)return c&&"function"==typeof c&&(f.loaded?c():f.callbacks.push(c)),f.tag;const g=a.get(l)||{},p={loaded:!1,tag:null,callbacks:[]};return g[e]=p,a.set(l,g),c&&"function"==typeof c&&p.callbacks.push(c),(0,s.JE)(`module ${n} is loading external JavaScript`),function(t,n,i,r){i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const a=h(i,e);a&&(a.tag=o);o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=function(){n()};o.src=t,r&&(0,s.Bg)(o,r);return(0,s._s)(o,i),o}(e,(function(){p.loaded=!0;try{for(let e=0;e{n.d(t,{Q:()=>i});const i=(0,n(9214).A_)("sync",(()=>{}))},8044:(e,t,n)=>{n.d(t,{RD:()=>f,g4:()=>u});var i=n(3272),r=n(1069);const o={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),(0,r.vV)(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},s="GET",a="POST",d="Content-Type";function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(t,n)=>{let r;null==e||null!=n?.signal||i.$W.getConfig("disableAjaxTimeout")||(r=o.timeout(e,t),n=Object.assign({signal:r.signal},n));let s=o.fetch(t,n);return null!=r?.done&&(s=s.finally(r.done)),s};return null==t&&null==n||(r=(e=>function(i,r){const o=new URL(null==i?.url?i:i.url,document.location).origin;let s=e(i,r);return t&&t(o),n&&(s=s.finally((()=>n(o)))),s})(r)),r}function l(e,t){let{status:n,statusText:i="",headers:o,url:s}=e,a=0;function c(e){if(0===a)try{a=(new DOMParser).parseFromString(t,o?.get(d)?.split(";")?.[0])}catch(t){a=null,e&&e(t)}return a}return{readyState:XMLHttpRequest.DONE,status:n,statusText:i,responseText:t,response:t,responseType:"",responseURL:s,get responseXML(){return c(r.vV)},getResponseHeader:e=>o?.has(e)?o.get(e):null,toJSON(){return Object.assign({responseXML:c()},this)},timedOut:!1}}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=c(e,{request:t,done:n});return function(e,t,n){!function(e,t){const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>(0,r.vV)("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=l(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(l({status:0},""),{reason:e,timedOut:"AbortError"===e?.name}))))}(i(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.method||(t?a:s);if(i===s&&t){const i=(0,r.Dl)(e,n);Object.assign(i.search,t),e=(0,r.c$)(i)}const c=new Headers(n.customHeaders);c.set(d,n.contentType||"text/plain");const l={method:i,headers:c};return i!==s&&t&&(l.body=t),n.withCredentials&&(l.credentials="include"),isSecureContext&&["browsingTopics","adAuctionHeaders"].forEach((e=>{n[e]&&(l[e]=!0)})),n.keepalive&&(l.keepalive=!0),o.makeRequest(e,l)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}const f=u();c()},6881:(e,t,n)=>{n.d(t,{n:()=>ae});var i=n(1069),r=n(6833),o=n(2449),s=n(8044),a=n(3272);const d=15,c=new Map;function l(e){let{index:t=ae.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=u(e),i=t.getAuction(e);let r={type:"xml",value:n,ttlseconds:Number(e.ttl)+d};return a.$W.getConfig("cache.vasttrack")&&(r.bidder=e.bidder,r.bidid=e.requestId,r.aid=e.auctionId),null!=i&&(r.timestamp=i.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(r.key=e.customCacheKey),r}function u(e){return e.vastXml?e.vastXml:(t=e.vastUrl,n=e.vastImpUrl,`\n \n \n prebid.org wrapper\n \n ${(n=n&&(Array.isArray(n)?n:[n]))?n.map((e=>``)).join(""):""}\n \n \n \n `);var t,n}const f=e=>{const t=u(e),n=URL.createObjectURL(new Blob([t],{type:"text/xml"}));g(e,n),c.set(e.videoCacheKey,n)},g=(e,t,n)=>{e.videoCacheKey=n||(0,i.lk)(),e.vastUrl||(e.vastUrl=t)},p={store:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.g4;const i={puts:e.map(l)};n(a.$W.getConfig("cache.timeout"))(a.$W.getConfig("cache.url"),function(e){return{success:function(t){let n;try{n=JSON.parse(t).responses}catch(t){return void e(t,[])}n?e(null,n):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(t,n){e(new Error(`Error storing video ad in the cache: ${t}: ${JSON.stringify(n)}`),[])}}}(t),JSON.stringify(i),{contentType:"text/plain",withCredentials:!0})}};function h(e){const t=e.map((e=>e.bidResponse));p.store(t,(function(n,r){var o;n?(o=n,(0,i.vV)(`Failed to save to the video cache: ${o}. Video bids will be discarded:`,t)):e.length!==r.length?(0,i.vV)(`expected ${e.length} cache IDs, got ${r.length} instead`):r.forEach(((t,n)=>{const{auctionInstance:r,bidResponse:o,afterBidAdded:s}=e[n];var d;""===t.uuid?(0,i.JE)("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(g(o,(d=t.uuid,`${a.$W.getConfig("cache.url")}?uuid=${d}`),t.uuid),J(r,o),s())}))}))}let m,b,y;a.$W.getConfig("cache",(e=>{let{cache:t}=e;m="number"==typeof t.batchSize&&t.batchSize>0?t.batchSize:1,b="number"==typeof t.batchTimeout&&t.batchTimeout>0?t.batchTimeout:0,t.useLocal&&!y&&(y=ae.onExpiry((e=>{e.getBidsReceived().forEach((e=>{const t=c.get(e.videoCacheKey);t&&t.startsWith("blob")&&URL.revokeObjectURL(t),c.delete(e.videoCacheKey)}))})))}));const v=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h,n=[[]],i=!1;const r=e=>e();return function(o,s,a){const d=b>0?e:r;n[n.length-1].length>=m&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),b))}}();var E=n(5789),A=n(8230),w=n(9214),I=n(3895),T=n(1371),C=n(2693),B=n(5023),O=n(1445),R=n(8969),S=n(5555),k=n(6894);var U=n(7873),D=n(6853),_=n(7863);const{syncUsers:$}=A.zt,j="started",x="inProgress",q="completed";B.on(R.qY.BID_ADJUSTMENT,(function(e){!function(e){let t=function(e,t,n){let{index:r=ae.index,bs:o=C.u}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||r.getBidRequest(t);const s=t?.adapterCode,a=t?.bidderCode||n?.bidder,d=o.get(t?.adapterCode,"adjustAlternateBids"),c=o.getOwn(a,"bidCpmAdjustment")||o.get(d?s:a,"bidCpmAdjustment");if(c&&"function"==typeof c)try{return c(e,Object.assign({},t),n)}catch(e){(0,i.vV)("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const N=4,W={},P={},V=[],M=(0,U.m)();function G(e){let{adUnits:t,adUnitCodes:n,callback:s,cbTimeout:d,labels:c,auctionId:l,ortb2Fragments:u,metrics:g}=e;g=(0,k.BO)(g);const p=t,h=c,m=n,b=l||(0,i.lk)(),y=d,v=new Set,A=(0,S.v6)(),w=(0,S.v6)();let C,U,G,Y,X=[],Z=s,ee=[],te=(0,D.H)({startTime:e=>e.responseTimestamp,ttl:e=>null==(0,_.S9)()?null:1e3*Math.max((0,_.S9)(),e.ttl)}),ne=[],ie=[],re=[];function se(){return{auctionId:b,timestamp:C,auctionEnd:U,auctionStatus:Y,adUnits:p,adUnitCodes:m,labels:h,bidderRequests:ee,noBids:ne,bidsReceived:te.toArray(),bidsRejected:X,winningBids:ie,timeout:y,metrics:g,seatNonBids:re}}function de(e){if(e?B.Ic(R.qY.AUCTION_TIMEOUT,se()):clearTimeout(G),void 0===U){let n=[];e&&((0,i.OG)(`Auction ${b} timedOut`),n=ee.filter((e=>!v.has(e.bidderRequestId))).flatMap((e=>e.bids)),n.length&&B.Ic(R.qY.BID_TIMEOUT,n)),Y=q,U=Date.now(),g.checkpoint("auctionEnd"),g.timeBetween("requestBids","auctionEnd","requestBids.total"),g.timeBetween("callBids","auctionEnd","requestBids.callBids"),A.resolve(),B.Ic(R.qY.AUCTION_END,se()),z(p,(function(){try{if(null!=Z){const t=te.toArray().filter((e=>m.includes(e.adUnitCode))).reduce(oe,{});Z.apply(M,[t,e,b]),Z=null}}catch(e){(0,i.vV)("Error executing bidsBackHandler",null,e)}finally{n.length&&O.Ay.callTimedOutBidders(t,n,y);let e=a.$W.getConfig("userSync")||{};e.enableOverride||$(e.syncDelay)}}))}}function ce(){a.$W.resetBidder(),(0,i.fH)(`Bids Received for Auction with id: ${b}`,te.toArray()),Y=q,de(!1)}function le(e){v.add(e)}function ue(e){e.forEach((e=>{var t;t=e,ee=ee.concat(t)}));let t={},n={bidRequests:e,run:()=>{G=setTimeout((()=>de(!0)),y),Y=x,B.Ic(R.qY.AUCTION_INIT,se());let n=function(e,t){let{index:n=ae.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=0,d=!1,c=new Set,l={};function u(){s--,d&&0===s&&e()}function g(e,t,n){return l[t.requestId]=!0,function(e,t){let{index:n=ae.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.getBidderRequest(e),o=n.getAdUnit(e),s=r&&r.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||(0,i.vE)(),requestTimestamp:e.requestTimestamp||s,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=o?.ttlBuffer&&(e.ttlBuffer=o.ttlBuffer);e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),s++,n(u)}function p(e,s){g(e,s,(e=>{let d=function(e){let{index:t=ae.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};B.Ic(R.qY.BID_ADJUSTMENT,e);const n=t.getAdUnit(e);e.instl=1===n?.ortb2Imp?.instl;const i=t.getBidRequest(e)?.renderer||n.renderer,o=e.mediaType,s=t.getMediaTypes(e),d=s&&s[o];var c=d&&d.renderer,l=null;!c||!c.render||!0===c.backupOnly&&e.renderer?!i||!i.render||!0===i.backupOnly&&e.renderer||(l=i):l=c;l&&(e.renderer=E.A4.install({url:l.url,config:l.options,renderNow:null==l.url}),e.renderer.setRender(l.render));const u=K(e.mediaType,s,a.$W.getConfig("mediaTypePriceGranularity")),f=(0,r.j)(e.cpm,"object"==typeof u?u:a.$W.getConfig("customPriceBucket"),a.$W.getConfig("currency.granularityMultiplier"));return e.pbLg=f.low,e.pbMg=f.med,e.pbHg=f.high,e.pbAg=f.auto,e.pbDg=f.dense,e.pbCg=f.custom,e}(s);B.Ic(R.qY.BID_ACCEPTED,d),d.mediaType===T.G_?function(e,t,n){let{index:r=ae.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=!0;const s=r.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId})?.video,d=s&&s?.context,c=s&&s?.useCacheKey,{useLocal:l,url:u,ignoreBidderCacheKey:g}=a.$W.getConfig("cache")||{};l?f(t):u&&(c||d!==I.H6)&&(!t.videoCacheKey||g?(o=!1,Q(e,t,n,s)):t.vastUrl||((0,i.vV)("videoCacheKey specified but not required vastUrl for video bid"),o=!1));o&&(J(e,t),n())}(t,d,e):((0,o.l6)(d)&&(0,o.gs)(d,n.getAdUnit(d)),J(t,d),e())}))}function h(e,n,r){return g(e,n,(e=>{n.rejectionReason=r,(0,i.JE)(`Bid from ${n.bidder||"unknown bidder"} was rejected: ${r}`,n),B.Ic(R.qY.BID_REJECTED,n),t.addBidRejected(n),e()}))}function m(){let n=this,r=t.getBidRequests();const o=a.$W.getConfig("auctionOptions");if(c.add(n),o&&!(0,i.Im)(o)){const e=o.secondaryBidders;e&&!r.every((t=>e.includes(t.bidderCode)))&&(r=r.filter((t=>!e.includes(t.bidderCode))))}d=r.every((e=>c.has(e))),n.bids.forEach((e=>{l[e.bidId]||(t.addNoBid(e),B.Ic(R.qY.NO_BID,e))})),d&&0===s&&e()}return{addBidResponse:function(){function e(e,t){F.call({dispatch:p},e,t,(()=>{let n=!1;return i=>{n||(h(e,t,i),n=!0)}})())}return e.reject=h,e}(),adapterDone:function(){H(S.U9.resolve()).finally((()=>m.call(this)))}}}(ce,this);O.Ay.callBids(p,e,n.addBidResponse,n.adapterDone,{request(e,n){d(W,n),d(t,e),P[e]||(P[e]={SRA:!0,origin:n}),t[e]>1&&(P[e].SRA=!1)},done(e){W[e]--,V[0]&&s(V[0])&&V.shift()}},y,le,u),w.resolve()}};function s(e){let t=!0,n=a.$W.getConfig("maxRequestsPerOrigin")||N;return e.bidRequests.some((e=>{let i=1,r=void 0!==e.src&&e.src===R.RW.SRC?"s2s":e.bidderCode;return P[r]&&(!1===P[r].SRA&&(i=Math.min(e.bids.length,n)),W[P[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function d(e,t){void 0===e[t]?e[t]=1:e[t]++}s(n)||((0,i.JE)("queueing auction due to limited endpoint capacity"),V.push(n))}return(0,_.lc)((()=>te.refresh())),B.on(R.qY.SEAT_NON_BID,(e=>{var t;e.auctionId===b&&(t=e.seatnonbid,re=re.concat(t))})),{addBidReceived:function(e){te.add(e)},addBidRejected:function(e){X=X.concat(e)},addNoBid:function(e){ne=ne.concat(e)},callBids:function(){Y=j,C=Date.now();let e=g.measureTime("requestBids.makeRequests",(()=>O.Ay.makeBidRequests(p,C,b,y,h,u,g)));(0,i.fH)(`Bids Requested for Auction with id: ${b}`,e),g.checkpoint("callBids"),e.length<1?((0,i.JE)("No valid bid requests returned for auction"),ce()):L.call({dispatch:ue,context:this},e)},addWinningBid:function(e){ie=ie.concat(e),O.Ay.callBidWonBidder(e.adapterCode||e.bidder,e,t),e.deferBilling||O.Ay.triggerBilling(e)},setBidTargeting:function(e){O.Ay.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>ie,getAuctionStart:()=>C,getAuctionEnd:()=>U,getTimeout:()=>y,getAuctionId:()=>b,getAuctionStatus:()=>Y,getAdUnits:()=>p,getAdUnitCodes:()=>m,getBidRequests:()=>ee,getBidsReceived:()=>te.toArray(),getNoBids:()=>ne,getNonBids:()=>re,getFPD:()=>u,getMetrics:()=>g,end:A.promise,requestsDone:w.promise,getProperties:se}}const F=(0,w.u2)((0,w.A_)("async",(function(e,t,n){!function(e){const t=a.$W.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(R.Tf.PRICE_TOO_HIGH):this.dispatch.call(null,e,t)}),"addBidResponse")),H=(0,w.A_)("sync",(e=>e),"responsesReady"),L=(0,w.A_)("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),z=(0,w.A_)("async",(function(e,t){t&&t()}),"bidsBackCallback");function J(e,t){!function(e){let t;const n=!0===C.u.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=ae.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};const s=ie(t.mediaType,e);re(r,s,t,i),e&&C.u.getOwn(e,R.iD.ADSERVER_TARGETING)&&(re(r,C.u.ownSettingsFor(e),t,i),t.sendStandardTargeting=C.u.get(e,"sendStandardTargeting"));t.native&&(r=Object.assign({},r,(0,o.Zj)(t)));return r}(e.bidderCode,e));e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),(0,k.BO)(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),B.Ic(R.qY.BID_RESPONSE,t)}const Q=(0,w.A_)("async",(function(e,t,n,i){v(e,t,n)}),"callPrebidCache");function K(e,t,n){if(e&&n){if(e===T.G_){const e=t?.[T.G_]?.context??"instream";if(n[`${T.G_}-${e}`])return n[`${T.G_}-${e}`]}return n[e]}}const Y=e=>t=>{const n=e||function(e){let{index:t=ae.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=K(e.mediaType,t.getMediaTypes(e),a.$W.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":a.$W.getConfig("priceGranularity")}(t);return n===R.UE.AUTO?t.pbAg:n===R.UE.DENSE?t.pbDg:n===R.UE.LOW?t.pbLg:n===R.UE.MEDIUM?t.pbMg:n===R.UE.HIGH?t.pbHg:n===R.UE.CUSTOM?t.pbCg:void 0},X=()=>e=>e.creativeId?e.creativeId:"",Z=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",ee=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?e?.meta?.networkName||e?.meta?.networkId:"",te=()=>e=>{const t=e?.meta?.primaryCatId;return Array.isArray(t)?t[0]||"":t||""};function ne(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return e[t]}}}function ie(e,t){const n=Object.assign({},C.u.settingsFor(null));if(n[R.iD.ADSERVER_TARGETING]||(n[R.iD.ADSERVER_TARGETING]=[ne(R.xS.BIDDER,"bidderCode"),ne(R.xS.AD_ID,"adId"),ne(R.xS.PRICE_BUCKET,Y()),ne(R.xS.SIZE,"size"),ne(R.xS.DEAL,"dealId"),ne(R.xS.SOURCE,"source"),ne(R.xS.FORMAT,"mediaType"),ne(R.xS.ADOMAIN,Z()),ne(R.xS.ACAT,te()),ne(R.xS.DSP,ee()),ne(R.xS.CRID,X())]),"video"===e){const e=n[R.iD.ADSERVER_TARGETING].slice();if(n[R.iD.ADSERVER_TARGETING]=e,[R.xS.UUID,R.xS.CACHE_ID].forEach((t=>{void 0===e.find((e=>e.key===t))&&e.push(ne(t,"videoCacheKey"))})),a.$W.getConfig("cache.url")&&(!t||!1!==C.u.get(t,"sendStandardTargeting"))){const t=(0,i.Dl)(a.$W.getConfig("cache.url"));void 0===e.find((e=>e.key===R.xS.CACHE_HOST))&&e.push(ne(R.xS.CACHE_HOST,(function(e){return e?.adserverTargeting?.[R.xS.CACHE_HOST]||t.hostname})))}}return n}function re(e,t,n,r){var o=t[R.iD.ADSERVER_TARGETING];return n.size=n.getSize(),(o||[]).forEach((function(o){var s=o.key,a=o.val;if(e[s]&&(0,i.JE)("The key: "+s+" is being overwritten"),(0,i.fp)(a))try{a=a(n,r)}catch(e){(0,i.vV)("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==R.xS.DEAL&&s!==R.xS.ACAT&&s!==R.xS.DSP&&s!==R.xS.CRID||!(0,i.xQ)(a)&&null!=a?e[s]=a:(0,i.fH)("suppressing empty key '"+s+"' from adserver targeting")})),e}function oe(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function se(e){Object.assign(this,{getAuction(t){let{auctionId:n}=t;if(null!=n)return e().find((e=>e.getAuctionId()===n))},getAdUnit(t){let{adUnitId:n}=t;if(null!=n)return e().flatMap((e=>e.getAdUnits())).find((e=>e.adUnitId===n))},getMediaTypes(e){let{adUnitId:t,requestId:n}=e;if(null!=n){const e=this.getBidRequest({requestId:n});if(null!=e&&(null==t||e.adUnitId===t))return e.mediaTypes}else if(null!=t){const e=this.getAdUnit({adUnitId:t});if(null!=e)return e.mediaTypes}},getBidderRequest(t){let{requestId:n,bidderRequestId:i}=t;if(null!=n||null!=i){let t=e().flatMap((e=>e.getBidRequests()));return null!=i&&(t=t.filter((e=>e.bidderRequestId===i))),null==n?t[0]:t.find((e=>e.bids&&null!=e.bids.find((e=>e.bidId===n))))}},getBidRequest(t){let{requestId:n}=t;if(null!=n)return e().flatMap((e=>e.getBidRequests())).flatMap((e=>e.bids)).find((e=>e&&e.bidId===n))},getOrtb2(e){return this.getBidderRequest(e)?.ortb2||this.getAuction(e)?.getFPD()?.global?.ortb2}})}const ae=function(){const e=(0,D.H)({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:e=>null==(0,_.S9)()?null:e.end.then((()=>1e3*Math.max((0,_.S9)(),...e.getBidsReceived().map((e=>e.ttl)))))});(0,_.lc)((()=>e.refresh()));const t={onExpiry:e.onExpiry};function n(t){for(const n of e)if(n.getAuctionId()===t)return n}function r(){return e.toArray().flatMap((e=>e.getBidsReceived()))}return t.addWinningBid=function(e){const t=(0,k.BO)(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const r=n(e.auctionId);r?r.addWinningBid(e):(0,i.JE)("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===q},getAdUnitCodes:{post:i.hj}}).forEach((n=>{let[i,{name:r=i,pre:o,post:s}]=n;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);t[i]=()=>d(e.toArray().flatMap(a))})),t.getAllBidsForAdUnitCode=function(e){return r().filter((t=>t&&t.adUnitCode===e))},t.createAuction=function(t){const n=G(t);return function(t){e.add(t)}(n),n},t.findBidByAdId=function(e){return r().find((t=>t.adId===e))},t.getStandardBidderAdServerTargeting=function(){return ie()[R.iD.ADSERVER_TARGETING]},t.setStatusForBids=function(e,i){let r=t.findBidByAdId(e);if(r&&(r.status=i),r&&i===R.tl.BID_TARGETING_SET){const e=n(r.auctionId);e&&e.setBidTargeting(r)}},t.getLastAuctionId=function(){const t=e.toArray();return t.length&&t[t.length-1].getAuctionId()},t.clearAllAuctions=function(){e.clear()},t.index=new se((()=>e.toArray())),t}()},7863:(e,t,n)=>{n.d(t,{S9:()=>l,cT:()=>c,lc:()=>u});var i=n(3272),r=n(1069);const o="minBidCacheTTL";let s=1,a=null;const d=[];function c(e){return e.ttl-(e.hasOwnProperty("ttlBuffer")?e.ttlBuffer:s)}function l(){return a}function u(e){d.push(e)}i.$W.getConfig("ttlBuffer",(e=>{"number"==typeof e.ttlBuffer?s=e.ttlBuffer:(0,r.vV)("Invalid value for ttlBuffer",e.ttlBuffer)})),i.$W.getConfig(o,(e=>{const t=a;a=e?.[o],a="number"==typeof a?a:null,t!==a&&d.forEach((e=>e(a)))}))},2693:(e,t,n)=>{n.d(t,{u:()=>a});var i=n(433),r=n(1069),o=n(7873),s=n(8969);const a=new class{constructor(e,t){this.getSettings=e,this.defaultScope=t}get(e,t){let n=this.getOwn(e,t);return void 0===n&&(n=this.getOwn(null,t)),n}getOwn(e,t){return e=this.#e(e),(0,i.A)(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return(0,r.D9)({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#e(e),this.getSettings()[e]||{}}#e(e){return null==e?this.defaultScope:e}}((()=>(0,o.m)().bidderSettings||{}),s.iD.BD_SETTING_STANDARD)},3597:(e,t,n)=>{n.d(t,{O:()=>o});var i=n(1069);function r(e){let{src:t="client",bidder:n="",bidId:r,transactionId:o,adUnitId:s,auctionId:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var d=t,c=e||0;Object.assign(this,{bidderCode:n,width:0,height:0,statusMessage:function(){switch(c){case 0:return"Pending";case 1:return"Bid available";case 2:return"Bid returned empty or error response";case 3:return"Bid timed out"}}(),adId:(0,i.s0)(),requestId:r,transactionId:o,adUnitId:s,auctionId:a,mediaType:"banner",source:d}),this.getStatusCode=function(){return c},this.getSize=function(){return this.width+"x"+this.height},this.getIdentifiers=function(){return{src:this.source,bidder:this.bidderCode,bidId:this.requestId,transactionId:this.transactionId,adUnitId:this.adUnitId,auctionId:this.auctionId}}}function o(e,t){return new r(e,t)}},3272:(e,t,n)=>{n.d(t,{$W:()=>p,Ov:()=>c});var i=n(6833),r=n(1069),o=n(433),s=n(8969);const a="TRUE"===(0,r.Ez)(s.M).toUpperCase(),d={},c="random",l={};l[c]=!0,l.fixed=!0;const u=c,f={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"};function g(e){const t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?{priceGranularity:f.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:u,auctionOptions:{}}:{};function n(e){return t[e]}function o(n,i){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=i}const s={publisherDomain:{set(e){null!=e&&(0,r.JE)("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"),o("publisherDomain",e)}},priceGranularity:{set(e){d(e)&&("string"==typeof e?o("priceGranularity",a(e)?e:f.MEDIUM):(0,r.Qd)(e)&&(o("customPriceBucket",e),o("priceGranularity",f.CUSTOM),(0,r.OG)("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&o("mediaTypePriceGranularity",Object.keys(e).reduce(((t,i)=>(d(e[i])?"string"==typeof e?t[i]=a(e[i])?e[i]:n("priceGranularity"):(0,r.Qd)(e)&&(t[i]=e[i],(0,r.OG)(`Using custom price granularity for ${i}`)):(0,r.JE)(`Invalid price granularity for media type: ${i}`),t)),{}))}},bidderSequence:{set(e){l[e]?o("bidderSequence",e):(0,r.JE)(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!(0,r.Qd)(e))return(0,r.JE)("Auction Options must be an object"),!1;for(let t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return(0,r.JE)(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!(0,r.cy)(e[t]))return(0,r.JE)(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(r.O8))return(0,r.JE)(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!(0,r.Lm)(e[t]))return(0,r.JE)(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&o("auctionOptions",e)}}};return Object.defineProperties(e,Object.fromEntries(Object.entries(s).map((e=>{let[i,r]=e;return[i,Object.assign({get:n.bind(null,i),set:o.bind(null,i),enumerable:t.hasOwnProperty(i),configurable:!t.hasOwnProperty(i)},r)]})))),e;function a(e){return Object.keys(f).find((t=>e===f[t]))}function d(e){if(!e)return(0,r.vV)("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)a(e)||(0,r.JE)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if((0,r.Qd)(e)&&!(0,i.q)(e))return(0,r.vV)("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const p=function(){let e,t,n,i=[],s=null;function c(){e={};let i=g({debug:a,bidderTimeout:3e3,enableSendAllBids:true,useBidCache:false,deviceAccess:true,disableAjaxTimeout:false,maxNestedIframes:10,maxBid:5e3,userSync:{topics:d}});t&&y(Object.keys(t).reduce(((e,n)=>(t[n]!==i[n]&&(e[n]=i[n]||{}),e)),{})),t=i,n={}}function l(){if(s&&n&&(0,r.Qd)(n[s])){const e=n[s],i=new Set([...Object.keys(t),...Object.keys(e)]),o={};for(const n of i){const i=t[n],s=e[n];o[n]=void 0===s?i:void 0===i?s:(0,r.Qd)(s)?(0,r.D9)({},i,s):s}return o}return{...t}}const[u,f]=[l,function(){const e=l();return Object.defineProperty(e,"ortb2",{get:function(){throw new Error("invalid access to 'orbt2' config - use request parameters instead")}}),e}].map((e=>function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){const t=arguments.length<=0?void 0:arguments[0];return t?(0,o.A)(e(),t):l()}return b(...arguments)})),[p,h]=[f,u].map((e=>function(){let t=e(...arguments);return t&&"object"==typeof t&&(t=(0,r.Go)(t)),t}));function m(n){if(!(0,r.Qd)(n))return void(0,r.vV)("setConfig options must be an object");let i=Object.keys(n),o={};i.forEach((i=>{let s=n[i];(0,r.Qd)(e[i])&&(0,r.Qd)(s)&&(s=Object.assign({},e[i],s));try{o[i]=t[i]=s}catch(e){(0,r.JE)(`Cannot set config for property ${i} : `,e)}})),y(o)}function b(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t;if("string"!=typeof e&&(o=e,e="*",n=t||{}),"function"!=typeof o)return void(0,r.vV)("listener must be a function");const s={topic:e,callback:o};return i.push(s),n.init&&o("*"===e?f():{[e]:f(e)}),function(){i.splice(i.indexOf(s),1)}}function y(e){const t=Object.keys(e);i.filter((e=>t.includes(e.topic))).forEach((t=>{t.callback({[t.topic]:e[t.topic]})})),i.filter((e=>"*"===e.topic)).forEach((t=>t.callback(e)))}function v(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{!function(e){if(!(0,r.Qd)(e))throw"setBidderConfig bidder options must be an object";if(!Array.isArray(e.bidders)||!e.bidders.length)throw"setBidderConfig bidder options must contain a bidders list with at least 1 bidder";if(!(0,r.Qd)(e.config))throw"setBidderConfig bidder options must contain a config object"}(e),e.bidders.forEach((i=>{n[i]||(n[i]=g({},!1)),Object.keys(e.config).forEach((o=>{let s=e.config[o];const a=n[i][o];if((0,r.Qd)(s)&&(null==a||(0,r.Qd)(a))){const e=t?r.D9:Object.assign;n[i][o]=e({},a||{},s)}else n[i][o]=s}))}))}catch(e){(0,r.vV)(e)}}function E(e,t){s=e;try{return t()}finally{A()}}function A(){s=null}return c(),{getCurrentBidder:function(){return s},resetBidder:A,getConfig:f,getAnyConfig:u,readConfig:p,readAnyConfig:h,setConfig:m,mergeConfig:function(e){if(!(0,r.Qd)(e))return void(0,r.vV)("mergeConfig input must be an object");const t=(0,r.D9)(l(),e);return m({...t}),t},setDefaults:function(n){(0,r.Qd)(e)?(Object.assign(e,n),Object.assign(t,n)):(0,r.vV)("defaults must be an object")},resetConfig:c,runWithBidder:E,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),o=0;o{n.d(t,{B1:()=>s,SL:()=>p,ad:()=>l,mW:()=>d,o2:()=>f,t6:()=>c});var i=n(1069),r=n(5555),o=n(3272);const s=Object.freeze({});class a{#t;#n;#i;#r;#o=!0;#s;generatedTime;hashFields;constructor(){this.reset()}#a(e){this.#r=!0,this.#n=e,this.#i.resolve(e)}reset(){this.#i=(0,r.v6)(),this.#t=!1,this.#n=null,this.#r=!1,this.generatedTime=null}enable(){this.#t=!0}get enabled(){return this.#t}get ready(){return this.#r}get promise(){return this.#r?r.U9.resolve(this.#n):(this.#t||this.#a(null),this.#i.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,i.vE)();this.generatedTime=t,this.#o=!0,this.#a(e)}getConsentData(){return this.#n}get hash(){return this.#o&&(this.#s=(0,i.PB)(JSON.stringify(this.#n&&this.hashFields?this.hashFields.map((e=>this.#n[e])):this.#n)),this.#o=!1),this.#s}}const d=new class extends a{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:(0,i.O8)(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},c=new class extends a{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},l=new class extends a{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},u=(()=>{function e(){return!!o.$W.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return r.U9.resolve(e())},get hash(){return e()?"1":"0"}}})(),f=function(){const e={},t={},n={};return{register(i,r,o){o&&((e[r]=e[r]||{})[i]=o,t.hasOwnProperty(r)?t[r]!==o&&(t[r]=n):t[r]=o)},get(i){const r={modules:e[i]||{}};return t.hasOwnProperty(i)&&t[i]!==n&&(r.gvlid=t[i]),r}}}(),g={gdpr:d,usp:c,gpp:l,coppa:u};const p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;return e=Object.entries(e),Object.assign({get promise(){return r.U9.all(e.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return(0,i.PB)(e.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((t=>{return[t,(n=t,function(){return Object.fromEntries(e.map((e=>{let[t,i]=e;return[t,i[n]()]})))})];var n}))))}()},8969:(e,t,n)=>{n.d(t,{IY:()=>A,M:()=>r,RW:()=>g,Tf:()=>h,UE:()=>c,XQ:()=>o,Zh:()=>u,_B:()=>v,as:()=>a,cA:()=>d,h0:()=>m,iD:()=>i,jO:()=>b,nl:()=>E,oA:()=>y,qY:()=>s,tl:()=>p,x5:()=>f,xS:()=>l});const i={PL_CODE:"code",PL_SIZE:"sizes",PL_BIDS:"bids",BD_BIDDER:"bidder",BD_ID:"paramsd",BD_PL_ID:"placementId",ADSERVER_TARGETING:"adserverTargeting",BD_SETTING_STANDARD:"standard"},r="pbjs_debug",o={GOOD:1},s={AUCTION_INIT:"auctionInit",AUCTION_TIMEOUT:"auctionTimeout",AUCTION_END:"auctionEnd",BID_ADJUSTMENT:"bidAdjustment",BID_TIMEOUT:"bidTimeout",BID_REQUESTED:"bidRequested",BID_RESPONSE:"bidResponse",BID_REJECTED:"bidRejected",NO_BID:"noBid",SEAT_NON_BID:"seatNonBid",BID_WON:"bidWon",BIDDER_DONE:"bidderDone",BIDDER_ERROR:"bidderError",SET_TARGETING:"setTargeting",BEFORE_REQUEST_BIDS:"beforeRequestBids",BEFORE_BIDDER_HTTP:"beforeBidderHttp",REQUEST_BIDS:"requestBids",ADD_AD_UNITS:"addAdUnits",AD_RENDER_FAILED:"adRenderFailed",AD_RENDER_SUCCEEDED:"adRenderSucceeded",TCF2_ENFORCEMENT:"tcf2Enforcement",AUCTION_DEBUG:"auctionDebug",BID_VIEWABLE:"bidViewable",STALE_RENDER:"staleRender",EXPIRED_RENDER:"expiredRender",BILLABLE_EVENT:"billableEvent",BID_ACCEPTED:"bidAccepted",RUN_PAAPI_AUCTION:"paapiRunAuction",PBS_ANALYTICS:"pbsAnalytics",PAAPI_BID:"paapiBid",PAAPI_NO_BID:"paapiNoBid",PAAPI_ERROR:"paapiError",BEFORE_PBS_HTTP:"beforePBSHttp",BROWSI_INIT:"browsiInit",BROWSI_DATA:"browsiData"},a={PREVENT_WRITING_ON_MAIN_DOCUMENT:"preventWritingOnMainDocument",NO_AD:"noAd",EXCEPTION:"exception",CANNOT_FIND_AD:"cannotFindAd",MISSING_DOC_OR_ADID:"missingDocOrAdid"},d={bidWon:"adUnitCode"},c={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"},l={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",SOURCE:"hb_source",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_ID:"hb_cache_id",CACHE_HOST:"hb_cache_host",ADOMAIN:"hb_adomain",ACAT:"hb_acat",CRID:"hb_crid",DSP:"hb_dsp"},u={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_HOST:"hb_cache_host"},f={title:"hb_native_title",body:"hb_native_body",body2:"hb_native_body2",privacyLink:"hb_native_privacy",privacyIcon:"hb_native_privicon",sponsoredBy:"hb_native_brand",image:"hb_native_image",icon:"hb_native_icon",clickUrl:"hb_native_linkurl",displayUrl:"hb_native_displayurl",cta:"hb_native_cta",rating:"hb_native_rating",address:"hb_native_address",downloads:"hb_native_downloads",likes:"hb_native_likes",phone:"hb_native_phone",price:"hb_native_price",salePrice:"hb_native_saleprice",rendererUrl:"hb_renderer_url",adTemplate:"hb_adTemplate"},g={SRC:"s2s",DEFAULT_ENDPOINT:"https://prebid.adnxs.com/pbs/v1/openrtb2/auction",SYNCED_BIDDERS_KEY:"pbjsSyncs"},p={BID_TARGETING_SET:"targetingSet",RENDERED:"rendered",BID_REJECTED:"bidRejected"},h={INVALID:"Bid has missing or invalid properties",INVALID_REQUEST_ID:"Invalid request ID",BIDDER_DISALLOWED:"Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",FLOOR_NOT_MET:"Bid does not meet price floor",CANNOT_CONVERT_CURRENCY:"Unable to convert currency",DSA_REQUIRED:"Bid does not provide required DSA transparency info",DSA_MISMATCH:"Bid indicates inappropriate DSA rendering method",PRICE_TOO_HIGH:"Bid price exceeds maximum value"},m={body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl"},b={sponsored:1,desc:2,rating:3,likes:4,downloads:5,price:6,saleprice:7,phone:8,address:9,desc2:10,displayurl:11,ctatext:12},y={ICON:1,MAIN:3},v=["privacyIcon","clickUrl","sendTargetingKeys","adTemplate","rendererUrl","type"],E={REQUEST:"Prebid Request",RESPONSE:"Prebid Response",NATIVE:"Prebid Native",EVENT:"Prebid Event"},A="__pb_locator__"},6833:(e,t,n)=>{n.d(t,{j:()=>u,q:()=>g});var i=n(1069),r=n(3272);const o=2,s={buckets:[{max:5,increment:.5}]},a={buckets:[{max:20,increment:.1}]},d={buckets:[{max:20,increment:.01}]},c={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},l={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function u(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=parseFloat(e);return isNaN(i)&&(i=""),{low:""===i?"":f(e,s,n),med:""===i?"":f(e,a,n),high:""===i?"":f(e,d,n),auto:""===i?"":f(e,l,n),dense:""===i?"":f(e,c,n),custom:""===i?"":f(e,t,n)}}function f(e,t,n){let s="";if(!g(t))return s;const a=t.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let d=0,c=t.buckets.find((t=>{if(e>a.max*n){let e=t.precision;void 0===e&&(e=o),s=(t.max*n).toFixed(e)}else{if(e<=t.max*n&&e>=d*n)return t.min=d,t;d=t.max}}));return c&&(s=function(e,t,n){const s=void 0!==t.precision?t.precision:o,a=t.increment*n,d=t.min*n;let c=Math.floor,l=r.$W.getConfig("cpmRoundingFunction");"function"==typeof l&&(c=l);let u,f,g=Math.pow(10,s+2),p=(e*g-d*g)/(a*g);try{u=c(p)*a+d}catch(e){f=!0}(f||"number"!=typeof u)&&((0,i.JE)("Invalid rounding function passed in config"),u=Math.floor(p)*a+d);return u=Number(u.toFixed(10)),u.toFixed(s)}(e,c,n)),s}function g(e){if((0,i.Im)(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}},6031:(e,t,n)=>{n.d(t,{HH:()=>c,kj:()=>d,xh:()=>a});var i=n(5555),r=n(1069),o=n(4595),s=n(9214);const a=3,d=(0,s.A_)("sync",(function(e){return o.G})),c=function(){const e={};return function(t){const n=d(t);return e.hasOwnProperty(n)||(e[n]=new i.U9((e=>{const t=(0,r.CA)();t.srcdoc=` Skip to Content

California lawmaker pushes to ban AI-powered surveillance pricing before legislative deadline

Courtesy KPIX
Courtesy KPIX

By Darrielle Fair

A California lawmaker is making a final push to pass legislation that would restrict companies from using consumers’ personal data and artificial intelligence to set individualized prices, with supporters hoping to send the bill to the governor before the Legislature adjourns at the end of the month.

Assembly Bill 446, authored by Assemblymember Chris Ward, D-San Diego, would prohibit businesses from using a consumer’s personal information to determine how much they are willing to pay for a product or service, a practice commonly referred to as “surveillance pricing.”

Ward said negotiations over the bill are continuing as lawmakers work to address concerns raised by opponents while preserving the measure’s core protections.

“We are actively meeting daily, both with opposition but also with other interested partners, to make sure that the technical detail of this is right,” Ward said.

The current California Consumer Privacy Act (2018) grants consumers various rights over their personal information, but it does not address how businesses use the data when setting prices.

“While California provides some of the strongest privacy protections in the nation, existing law does not restrict businesses from using consumer data to change their internal pricing, a form of individualized price discrimination,” said Assemblymember Ash Kalra.

Ward said he is willing to make amendments to the bill to gain additional support but does not want to weaken it to the point that it becomes ineffective.

Democratic lawmakers, union leaders, and consumer advocacy groups say they hope to get the legislation onto Gov. Gavin Newsom’s desk before the August 31 deadline. 

“I am really imploring our Senate to be able to do the right thing and find the courage because there’s been a lot of opposition voices,” said Ward, who has led the effort to pass AB 2564. 

Supporters say surveillance pricing allows companies to use artificial intelligence and data collected through web browsing, app usage and other online activity to determine what individual consumers may be willing to pay, resulting in different prices for the same product.

“We need to make sure that we are not treating different people differently across the board, but particularly when it comes to this affordability question, that we’re using their own personal information to decide whether willingness to pay is for something and really discriminate based on that,” Ward said.

Opponents of AB 2564 have claimed that the bill would prohibit both price increases and decreases, pointing to the potential loss of discounts.  

California is among multiple states, including Maryland and Connecticut, that have passed or are considering similar measures.  

Lorena Gonzalez, president of the California Labor Federation, AFL-CIO, said the legislation targets large companies that use extensive consumer data to maximize profits rather than small businesses offering traditional discounts or coupons.

“We’re talking about Instacart and Vons and using everything about you, everything they know about you, which unfortunately is a lot, to extract as much profit as possible,” she added.

Gonzalez acknowledged it can be difficult for consumers to prevent companies from collecting their personal data as artificial intelligence becomes more integrated into everyday technology.

“It’s really hard,” Gonzalez said. “I often see like I don’t use AI, right. But I just realized if I Google something now, I can’t avoid AI.”

Ward said he expects to introduce another round of amendments before asking the Senate to take up the bill for a floor vote in the coming weeks.

He added that he is in close conversation with Governor Newsom’s office to give the bill the best chance of becoming law, and there will likely be one more set of amendments in the coming weeks.

Article Topic Follows: News

KPIX

BE PART OF THE CONVERSATION

KION 46 is committed to providing a forum for civil and constructive conversation.

Please keep your comments respectful and relevant. You can review our Community Guidelines by clicking here

If you would like to share a story idea, please submit it here.