prebid.js 9.5.0 → 9.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/BTBidAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adagioUtils.js +1 -1
- package/dist/addefendBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelBidAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adstirBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.js +1 -1
- package/dist/aidemBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectIdSystem.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailymotionBidAdapter.js +1 -1
- package/dist/dependencies.json +26 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/exadsBidAdapter.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/intentIqAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kimberliteBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/luceadBidAdapter.js +1 -1
- package/dist/mabidderBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/missenaBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +163 -162
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openwebBidAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/orbidderBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/publirBidAdapter.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/riseUtils.js +1 -0
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smarthubBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/snigelBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stnBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/telariaBidAdapter.js +1 -1
- package/dist/teqblazeUtils.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/uid2IdSystem_shared.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/vidazooUtils.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahooAdsBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/libraries/riseUtils/index.js +330 -0
- package/libraries/teqblazeUtils/bidderUtils.js +15 -11
- package/modules/adagioAnalyticsAdapter.js +101 -84
- package/modules/adagioAnalyticsAdapter.md +4 -0
- package/modules/adagioBidAdapter.js +4 -16
- package/modules/adkernelBidAdapter.js +2 -2
- package/modules/aidemBidAdapter.js +2 -0
- package/modules/connectIdSystem.js +5 -3
- package/modules/insticatorBidAdapter.js +35 -31
- package/modules/kargoBidAdapter.js +11 -14
- package/modules/kimberliteBidAdapter.js +24 -7
- package/modules/kimberliteBidAdapter.md +30 -1
- package/modules/minutemediaBidAdapter.js +21 -398
- package/modules/nexx360BidAdapter.js +3 -2
- package/modules/openwebBidAdapter.js +18 -396
- package/modules/publirBidAdapter.js +20 -273
- package/modules/resetdigitalBidAdapter.md +54 -45
- package/modules/riseBidAdapter.js +19 -400
- package/modules/shinezBidAdapter.js +17 -361
- package/modules/smarthubBidAdapter.js +45 -177
- package/modules/stnBidAdapter.js +22 -398
- package/modules/telariaBidAdapter.js +2 -32
- package/modules/uid2IdSystem_shared.js +51 -39
- package/package.json +1 -1
- package/src/prebid.js +4 -0
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +231 -141
- package/test/spec/modules/adagioBidAdapter_spec.js +32 -66
- package/test/spec/modules/connectIdSystem_spec.js +27 -28
- package/test/spec/modules/insticatorBidAdapter_spec.js +8 -1
- package/test/spec/modules/kargoBidAdapter_spec.js +7 -8
- package/test/spec/modules/kimberliteBidAdapter_spec.js +137 -65
- package/test/spec/modules/nexx360BidAdapter_spec.js +1 -1
- package/test/spec/modules/smarthubBidAdapter_spec.js +6 -4
- package/test/spec/unit/pbjs_api_spec.js +11 -0
package/dist/uid2IdSystem.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[68907,56293],{85263:(e,t,s)=>{var r=s(7873),i=s(91069),n=s(16833),o=s(12938),a=s(45569),l=s(84259),d=s(50646);const u="uid2",c=`PrebidJS-9.5.0-UID2Module-${l.kz}`,p="UID2: ";function h(e,t){return function(){for(var s=arguments.length,r=new Array(s),i=0;i<s;i++)r[i]=arguments[i];e(t+" ",...r)}}const g=h(i.logInfo,p),y=h(i.logWarn,p),f=(0,o.vM)({moduleType:a.fW,moduleName:u}),b={name:u,decode(e){const t=function(e){if("string"==typeof e){g("Found server-only token. Refresh is unavailable for this token.");return{uid2:{id:e}}}if("optout"===e.latestToken)return g("Found optout token. Refresh is unavailable for this token."),{uid2:{optout:!0}};if(Date.now()<e.latestToken.identity_expires)return{uid2:{id:e.latestToken.advertising_token}};return null}(e);return g("UID2 decode returned",t),t},getId(e,t){if(!0===t?.gdprApplies)return void y("UID2 is not intended for use where GDPR applies. The UID2 module will not run.");const s={apiBaseUrl:e?.params?.uid2ApiBase??"https://prod.uidapi.com",paramToken:e?.params?.uid2Token,serverCookieName:e?.params?.uid2Cookie??e?.params?.uid2ServerCookie,storage:e?.params?.storage??"localStorage",clientId:c,internalStorage:"__uid2_advertising_token"};s.cstg={serverPublicKey:e?.params?.serverPublicKey,subscriptionId:e?.params?.subscriptionId,...(0,l.E0)(e?.params??{})},g("UID2 configuration loaded and mapped.",s);const r=(0,l.wq)(s,f,g,y);return g("UID2 getId returned",r),r},eids:d.x};(0,n.bz)("userId",b),(0,r.E)("uid2IdSystem")},84259:(e,t,s)=>{s.d(t,{E0:()=>h,kz:()=>o,wq:()=>p});var r=s(7873),i=s(68044),n=s(91069);const o="1.1";function a(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}class l{constructor(e,t,s,r){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=s,this._logWarn=r}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s<e.length;s++)t[s]=e.charCodeAt(s);return t}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isValidRefreshResponse(e){return this.hasStatusResponse(e)&&("optout"===e.status||"expired_token"===e.status||"success"===e.status&&e.body&&a(e.body))}ResponseToRefreshResult(e){return this.isValidRefreshResponse(e)?"success"===e.status?{status:e.status,identity:e.body}:e:"Response didn't contain a valid status"}callRefreshApi(e){const t=this._baseUrl+"/v2/token/refresh";let s,r;const n=new Promise(((e,t)=>{s=e,r=t}));return this._logInfo("Sending refresh request",e),(0,i.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const i=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,12),tagLength:128},e,i.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const i=JSON.parse(t),n=this.ResponseToRefreshResult(i);"string"==typeof n?r(n):s(n)}),(e=>this._logWarn("Call to UID2 API failed",e)))}),(e=>this._logWarn("Call to UID2 API failed",e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(i):s(i)}}catch(e){r(t)}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(i):s(i)}catch(t){r(e)}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),n}}class d{constructor(e,t,s,r){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=r}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return e?.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),r=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),i=t();if(i){if("string"==typeof i){const t=r();if(t&&"object"==typeof t)return this._logInfo(`${e} contained a basic token, but found a refreshable token fallback. Copying the fallback value to ${e}.`),s(t),t}}else{const t=r();if(t)return this._logInfo(`${e} was empty, but found a fallback value.`),"object"==typeof t&&(this._logInfo(`Copying the fallback value to ${e}.`),s(t)),t}return i}}function u(e,t,s,r,i,n){i("UID2 base url provided: ",e);return new l({baseUrl:e},s,i,n).callRefreshApi(t).then((e=>{i("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=r.getStoredValueWithFallback();return n?.originalIdentity&&(s.originalIdentity=n.originalIdentity),r.storeValue(s),s}))}let c;{const e=9;c={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t('CSTG is not being used, but is included in the Prebid.js bundle. You can reduce the bundle size by passing "--disable UID2_CSTG" to the Prebid.js build.'),!1;const s=e;if(!s.serverPublicKey&&!s.subscriptionId)return t("CSTG has been enabled but its parameters have not been set."),!1;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const r=/^(UID2|EUID)-X-[A-Z]-.+/;return r.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t(`CSTG opts.serverPublicKey must match the regular expression ${r}`),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const r=t.normalizeEmail(e.email);return void 0===r?void s("CSTG opts.email is invalid"):{email:r}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,r){if(t){if("optout"===t.latestToken)return!0;const r=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,r))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,r,i,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(r);n("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(r),latestToken:l.identity};return i.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static EMAIL_EXTENSION_SYMBOL="+";static EMAIL_DOT=".";static GMAIL_DOMAIN="gmail.com";static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:r,domain:i}=s,n=this.isGmail(i),o=this.normalizeAddressPart(r,n,n);return o?`${o}@${i}`:void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let r=e;return t&&(r=r.replaceAll(this.EMAIL_DOT,"")),s&&(r=this.dropExtension(r)),r}}class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._logInfo=t,this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&a(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await o.hash(e.email)}}if("phone"in e){return{phone_hash:await o.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e);this._logInfo("Building CSTG request for",t);const s=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),i=new TextEncoder,n=Date.now(),{iv:a,ciphertext:l}=await s.encrypt(i.encode(JSON.stringify(t)),i.encode(JSON.stringify([n]))),d=await o.exportPublicKey(s.clientPublicKey),u={payload:o.bytesToBase64(new Uint8Array(l)),iv:o.bytesToBase64(new Uint8Array(a)),public_key:o.bytesToBase64(new Uint8Array(d)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(u,s)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let r,n;const a=new Promise(((e,t)=>{r=e,n=t}));return this._logInfo("Sending CSTG request",e),(0,i.RD)(s,{success:async(e,s)=>{try{const s=o.base64ToBytes(e),i=await t.decrypt(s.slice(0,12),s.slice(12)),a=(new TextDecoder).decode(i),l=JSON.parse(a);this.isCstgApiSuccessResponse(l)?r({status:"success",identity:l.body}):this.isCstgApiOptoutResponse(l)?r({status:"optout",identity:"optout"}):n(`API error: Response body was invalid for HTTP status 200: ${a}`)}catch(e){n(e)}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?n(`Client error: ${e.message}`):n(`API error: Response body was invalid for HTTP status 400: ${t.responseText}`)}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?n(`Forbidden: ${e.message}`):n(`API error: Response body was invalid for HTTP status 403: ${t.responseText}`)}else n(`API error: Unexpected HTTP status ${t.status}: ${e}`)}catch(t){n(e)}}},JSON.stringify(e),{method:"POST"}),a}}class r{static _namedCurve="P-256";constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await o.generateKeyPair(r._namedCurve),s=await o.importPublicKey(e,this._namedCurve),i=await o.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}class o{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function p(e,t,s,r){let i=null;const n="cookie"!==e.storage,o=new d(t,n,e.internalStorage,s);s(`Module is using ${n?"local storage":"cookies"} for internal storage.`);const a=c&&c.isCSTGOptionsValid(e.cstg,r);a?(s("Module is using client-side token generation."),i=null):e.paramToken?(i=e.paramToken,s("Read token from params",i)):e.serverCookieName&&(i=o.readProvidedCookie(e.serverCookieName),s("Read token from server-supplied cookie",i));let l=o.getStoredValueWithFallback();if(s("Loaded module-stored tokens:",l),l&&"string"==typeof l){if(!i&&!a)return s("Returning legacy cookie value."),{id:l};s("Discarding superseded legacy cookie."),l=null}if(i&&l&&l.originalToken?.advertising_token!==i.advertising_token&&(s("Server supplied new token - ignoring stored value.",l.originalToken?.advertising_token,i.advertising_token),l=null),a){const t=c.getValidIdentity(e.cstg,r);if(t&&(l&&c.isStoredTokenInvalid(t,l,s,r)&&(l=null),!l||Date.now()>l.latestToken.refresh_expires)){const i=c.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,o,s,r);return s("Generate token using CSTG"),{callback:e=>{i.then((t=>{s("Token generation responded, passing the new token on.",t),e(t)}))}}}}const p=!l?.latestToken||i&&i.identity_expires>l.latestToken.identity_expires,h=p?i:l.latestToken;if(s("UID2 module selected latest token",p,h),!h||Date.now()>h.refresh_expires)return s("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>h.identity_expires){const t=u(e.apiBaseUrl,h,e.clientId,o,s,r);return s("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{s("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>h.refresh_from&&(s("Refreshing token in background with low priority."),u(e.apiBaseUrl,h,e.clientId,o,s,r));const g={originalToken:i??l?.originalToken,latestToken:h};return a&&(g.originalIdentity=l?.originalIdentity),o.storeValue(g),{id:g}}function h(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[44950,60802,51085],(()=>{return t=85263,e(e.s=t);var t}));e.O()}]);
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[68907,56293],{85263:(e,t,s)=>{var r=s(7873),i=s(91069),n=s(16833),o=s(12938),a=s(45569),l=s(84259),d=s(50646);const u="uid2",c=`PrebidJS-9.6.0-UID2Module-${l.kz}`,p="UID2: ";function h(e,t){return function(){for(var s=arguments.length,r=new Array(s),i=0;i<s;i++)r[i]=arguments[i];e(t+" ",...r)}}const g=h(i.logInfo,p),y=h(i.logWarn,p),f=(0,o.vM)({moduleType:a.fW,moduleName:u}),b={name:u,decode(e){const t=function(e){if("string"==typeof e){g("Found server-only token. Refresh is unavailable for this token.");return{uid2:{id:e}}}if("optout"===e.latestToken)return g("Found optout token. Refresh is unavailable for this token."),{uid2:{optout:!0}};if(Date.now()<e.latestToken.identity_expires)return{uid2:{id:e.latestToken.advertising_token}};return null}(e);return g("UID2 decode returned",t),t},getId(e,t){if(!0===t?.gdprApplies)return void y("UID2 is not intended for use where GDPR applies. The UID2 module will not run.");const s={apiBaseUrl:e?.params?.uid2ApiBase??"https://prod.uidapi.com",paramToken:e?.params?.uid2Token,serverCookieName:e?.params?.uid2Cookie??e?.params?.uid2ServerCookie,storage:e?.params?.storage??"localStorage",clientId:c,internalStorage:"__uid2_advertising_token"};s.cstg={serverPublicKey:e?.params?.serverPublicKey,subscriptionId:e?.params?.subscriptionId,...(0,l.E0)(e?.params??{})},g("UID2 configuration loaded and mapped.",s);const r=(0,l.wq)(s,f,g,y);return g("UID2 getId returned",r),r},eids:d.x};(0,n.bz)("userId",b),(0,r.E)("uid2IdSystem")},84259:(e,t,s)=>{s.d(t,{E0:()=>y,kz:()=>o,wq:()=>g});var r=s(7873),i=s(68044),n=s(91069);const o="1.1";function a(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}function l(e){return`UID2 shared library - ${e}`}function d(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];e(l(s[0]),...s.slice(1))}class u{constructor(e,t,s,r){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return d(s,...t)},this._logWarn=r}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s<e.length;s++)t[s]=e.charCodeAt(s);return t}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isValidRefreshResponse(e){return this.hasStatusResponse(e)&&("optout"===e.status||"expired_token"===e.status||"success"===e.status&&e.body&&a(e.body))}ResponseToRefreshResult(e){return this.isValidRefreshResponse(e)?"success"===e.status?{status:e.status,identity:e.body}:e:l("Response didn't contain a valid status")}callRefreshApi(e){const t=this._baseUrl+"/v2/token/refresh";let s,r;const n=new Promise(((e,t)=>{s=e,r=t}));return this._logInfo("Sending refresh request",e),(0,i.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const i=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,12),tagLength:128},e,i.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const i=JSON.parse(t),n=this.ResponseToRefreshResult(i);"string"==typeof n?r(l(n)):s(n)}),(e=>this._logWarn(l("Call to UID2 API failed"),e)))}),(e=>this._logWarn(l("Call to UID2 API failed"),e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(l(i)):s(i)}}catch(e){r(l(t))}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(l(i)):s(i)}catch(t){r(l(e))}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),n}}class c{constructor(e,t,s,r){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return d(r,...t)}}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return e?.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),r=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),i=t();if(i){if("string"==typeof i){const t=r();if(t&&"object"==typeof t)return this._logInfo(`${e} contained a basic token, but found a refreshable token fallback. Copying the fallback value to ${e}.`),s(t),t}}else{const t=r();if(t)return this._logInfo(`${e} was empty, but found a fallback value.`),"object"==typeof t&&(this._logInfo(`Copying the fallback value to ${e}.`),s(t)),t}return i}}function p(e,t,s,r,i,n){i("UID2 base url provided: ",e);return new u({baseUrl:e},s,i,n).callRefreshApi(t).then((e=>{i("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=r.getStoredValueWithFallback();return n?.originalIdentity&&(s.originalIdentity=n.originalIdentity),r.storeValue(s),s}))}let h;{const e=9;h={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t('CSTG is not being used, but is included in the Prebid.js bundle. You can reduce the bundle size by passing "--disable UID2_CSTG" to the Prebid.js build.'),!1;const s=e;if(!s.serverPublicKey&&!s.subscriptionId)return t("CSTG has been enabled but its parameters have not been set."),!1;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const r=/^(UID2|EUID)-X-[A-Z]-.+/;return r.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t(`CSTG opts.serverPublicKey must match the regular expression ${r}`),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const r=t.normalizeEmail(e.email);return void 0===r?void s("CSTG opts.email is invalid"):{email:r}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,r){if(t){if("optout"===t.latestToken)return!0;const r=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,r))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,r,i,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(r);n("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(r),latestToken:l.identity};return i.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static EMAIL_EXTENSION_SYMBOL="+";static EMAIL_DOT=".";static GMAIL_DOMAIN="gmail.com";static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:r,domain:i}=s,n=this.isGmail(i),o=this.normalizeAddressPart(r,n,n);return o?`${o}@${i}`:void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let r=e;return t&&(r=r.replaceAll(this.EMAIL_DOT,"")),s&&(r=this.dropExtension(r)),r}}class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._logInfo=function(){for(var e=arguments.length,s=new Array(e),r=0;r<e;r++)s[r]=arguments[r];return d(t,...s)},this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&a(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await o.hash(e.email)}}if("phone"in e){return{phone_hash:await o.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e);this._logInfo("Building CSTG request for",t);const s=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),i=new TextEncoder,n=Date.now(),{iv:a,ciphertext:l}=await s.encrypt(i.encode(JSON.stringify(t)),i.encode(JSON.stringify([n]))),d=await o.exportPublicKey(s.clientPublicKey),u={payload:o.bytesToBase64(new Uint8Array(l)),iv:o.bytesToBase64(new Uint8Array(a)),public_key:o.bytesToBase64(new Uint8Array(d)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(u,s)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let r,n;const a=new Promise(((e,t)=>{r=e,n=t}));return this._logInfo("Sending CSTG request",e),(0,i.RD)(s,{success:async(e,s)=>{try{const s=o.base64ToBytes(e),i=await t.decrypt(s.slice(0,12),s.slice(12)),a=(new TextDecoder).decode(i),d=JSON.parse(a);this.isCstgApiSuccessResponse(d)?r({status:"success",identity:d.body}):this.isCstgApiOptoutResponse(d)?r({status:"optout",identity:"optout"}):n(l(`API error: Response body was invalid for HTTP status 200: ${a}`))}catch(e){n(l(e))}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?n(l(`Client error: ${e.message}`)):n(l(`UID2 API error: Response body was invalid for HTTP status 400: ${t.responseText}`))}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?n(l(`Forbidden: ${e.message}`)):n(l(`UID2 API error: Response body was invalid for HTTP status 403: ${t.responseText}`))}else n(l(`UID2 API error: Unexpected HTTP status ${t.status}: ${e}`))}catch(t){n(l(e))}}},JSON.stringify(e),{method:"POST"}),a}}class r{static _namedCurve="P-256";constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await o.generateKeyPair(r._namedCurve),s=await o.importPublicKey(e,this._namedCurve),i=await o.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}class o{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function g(e,t,s,r){const i=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return d(s,...t)};let n=null;const o="cookie"!==e.storage,a=new c(t,o,e.internalStorage,i);i(`Module is using ${o?"local storage":"cookies"} for internal storage.`);const l=h&&h.isCSTGOptionsValid(e.cstg,r);l?(i("Module is using client-side token generation."),n=null):e.paramToken?(n=e.paramToken,i("Read token from params",n)):e.serverCookieName&&(n=a.readProvidedCookie(e.serverCookieName),i("Read token from server-supplied cookie",n));let u=a.getStoredValueWithFallback();if(i("Loaded module-stored tokens:",u),u&&"string"==typeof u){if(!n&&!l)return i("Returning legacy cookie value."),{id:u};i("Discarding superseded legacy cookie."),u=null}if(n&&u&&u.originalToken?.advertising_token!==n.advertising_token&&(i("Server supplied new token - ignoring stored value.",u.originalToken?.advertising_token,n.advertising_token),u=null),l){const t=h.getValidIdentity(e.cstg,r);if(t&&(u&&h.isStoredTokenInvalid(t,u,i,r)&&(u=null),!u||Date.now()>u.latestToken.refresh_expires)){const s=h.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,a,i,r);return i("Generate token using CSTG"),{callback:e=>{s.then((t=>{i("Token generation responded, passing the new token on.",t),e(t)}))}}}}const g=!u?.latestToken||n&&n.identity_expires>u.latestToken.identity_expires,y=g?n:u.latestToken;if(i("UID2 module selected latest token",g,y),!y||Date.now()>y.refresh_expires)return i("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>y.identity_expires){const t=p(e.apiBaseUrl,y,e.clientId,a,i,r);return i("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{i("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>y.refresh_from&&(i("Refreshing token in background with low priority."),p(e.apiBaseUrl,y,e.clientId,a,i,r));const f={originalToken:n??u?.originalToken,latestToken:y};return l&&(f.originalIdentity=u?.originalIdentity),a.storeValue(f),{id:f}}function y(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[44950,60802,51085],(()=>{return t=85263,e(e.s=t);var t}));e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[56293],{84259:(e,t,s)=>{s.d(t,{E0:()=>p,kz:()=>o,wq:()=>h});var i=s(7873),r=s(68044),n=s(91069);const o="1.1";function a(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}class l{constructor(e,t,s,i){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=s,this._logWarn=i}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s<e.length;s++)t[s]=e.charCodeAt(s);return t}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isValidRefreshResponse(e){return this.hasStatusResponse(e)&&("optout"===e.status||"expired_token"===e.status||"success"===e.status&&e.body&&a(e.body))}ResponseToRefreshResult(e){return this.isValidRefreshResponse(e)?"success"===e.status?{status:e.status,identity:e.body}:e:"Response didn't contain a valid status"}callRefreshApi(e){const t=this._baseUrl+"/v2/token/refresh";let s,i;const n=new Promise(((e,t)=>{s=e,i=t}));return this._logInfo("Sending refresh request",e),(0,r.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const r=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:r.slice(0,12),tagLength:128},e,r.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const r=JSON.parse(t),n=this.ResponseToRefreshResult(r);"string"==typeof n?i(n):s(n)}),(e=>this._logWarn("Call to UID2 API failed",e)))}),(e=>this._logWarn("Call to UID2 API failed",e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),r=this.ResponseToRefreshResult(e);"string"==typeof r?i(r):s(r)}}catch(e){i(t)}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),r=this.ResponseToRefreshResult(e);"string"==typeof r?i(r):s(r)}catch(t){i(e)}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),n}}class c{constructor(e,t,s,i){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=i}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return e?.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),i=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),r=t();if(r){if("string"==typeof r){const t=i();if(t&&"object"==typeof t)return this._logInfo(`${e} contained a basic token, but found a refreshable token fallback. Copying the fallback value to ${e}.`),s(t),t}}else{const t=i();if(t)return this._logInfo(`${e} was empty, but found a fallback value.`),"object"==typeof t&&(this._logInfo(`Copying the fallback value to ${e}.`),s(t)),t}return r}}function d(e,t,s,i,r,n){r("UID2 base url provided: ",e);return new l({baseUrl:e},s,r,n).callRefreshApi(t).then((e=>{r("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=i.getStoredValueWithFallback();return n?.originalIdentity&&(s.originalIdentity=n.originalIdentity),i.storeValue(s),s}))}let u;{const e=9;u={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t('CSTG is not being used, but is included in the Prebid.js bundle. You can reduce the bundle size by passing "--disable UID2_CSTG" to the Prebid.js build.'),!1;const s=e;if(!s.serverPublicKey&&!s.subscriptionId)return t("CSTG has been enabled but its parameters have not been set."),!1;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const i=/^(UID2|EUID)-X-[A-Z]-.+/;return i.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t(`CSTG opts.serverPublicKey must match the regular expression ${i}`),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const i=t.normalizeEmail(e.email);return void 0===i?void s("CSTG opts.email is invalid"):{email:i}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,i){if(t){if("optout"===t.latestToken)return!0;const i=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,i))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,i,r,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(i);n("CSTG endpoint responded with:",l);const c={originalIdentity:this.encodeOriginalIdentity(i),latestToken:l.identity};return r.storeValue(c),c},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static EMAIL_EXTENSION_SYMBOL="+";static EMAIL_DOT=".";static GMAIL_DOMAIN="gmail.com";static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:i,domain:r}=s,n=this.isGmail(r),o=this.normalizeAddressPart(i,n,n);return o?`${o}@${r}`:void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let i=e;return t&&(i=i.replaceAll(this.EMAIL_DOT,"")),s&&(i=this.dropExtension(i)),i}}class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._logInfo=t,this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&a(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await o.hash(e.email)}}if("phone"in e){return{phone_hash:await o.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e);this._logInfo("Building CSTG request for",t);const s=await i.build(this.stripPublicKeyPrefix(this._serverPublicKey)),r=new TextEncoder,n=Date.now(),{iv:a,ciphertext:l}=await s.encrypt(r.encode(JSON.stringify(t)),r.encode(JSON.stringify([n]))),c=await o.exportPublicKey(s.clientPublicKey),d={payload:o.bytesToBase64(new Uint8Array(l)),iv:o.bytesToBase64(new Uint8Array(a)),public_key:o.bytesToBase64(new Uint8Array(c)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(d,s)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let i,n;const a=new Promise(((e,t)=>{i=e,n=t}));return this._logInfo("Sending CSTG request",e),(0,r.RD)(s,{success:async(e,s)=>{try{const s=o.base64ToBytes(e),r=await t.decrypt(s.slice(0,12),s.slice(12)),a=(new TextDecoder).decode(r),l=JSON.parse(a);this.isCstgApiSuccessResponse(l)?i({status:"success",identity:l.body}):this.isCstgApiOptoutResponse(l)?i({status:"optout",identity:"optout"}):n(`API error: Response body was invalid for HTTP status 200: ${a}`)}catch(e){n(e)}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?n(`Client error: ${e.message}`):n(`API error: Response body was invalid for HTTP status 400: ${t.responseText}`)}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?n(`Forbidden: ${e.message}`):n(`API error: Response body was invalid for HTTP status 403: ${t.responseText}`)}else n(`API error: Unexpected HTTP status ${t.status}: ${e}`)}catch(t){n(e)}}},JSON.stringify(e),{method:"POST"}),a}}class i{static _namedCurve="P-256";constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await o.generateKeyPair(i._namedCurve),s=await o.importPublicKey(e,this._namedCurve),r=await o.deriveKey(s,t.privateKey);return new i(t.publicKey,r)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}class o{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function h(e,t,s,i){let r=null;const n="cookie"!==e.storage,o=new c(t,n,e.internalStorage,s);s(`Module is using ${n?"local storage":"cookies"} for internal storage.`);const a=u&&u.isCSTGOptionsValid(e.cstg,i);a?(s("Module is using client-side token generation."),r=null):e.paramToken?(r=e.paramToken,s("Read token from params",r)):e.serverCookieName&&(r=o.readProvidedCookie(e.serverCookieName),s("Read token from server-supplied cookie",r));let l=o.getStoredValueWithFallback();if(s("Loaded module-stored tokens:",l),l&&"string"==typeof l){if(!r&&!a)return s("Returning legacy cookie value."),{id:l};s("Discarding superseded legacy cookie."),l=null}if(r&&l&&l.originalToken?.advertising_token!==r.advertising_token&&(s("Server supplied new token - ignoring stored value.",l.originalToken?.advertising_token,r.advertising_token),l=null),a){const t=u.getValidIdentity(e.cstg,i);if(t&&(l&&u.isStoredTokenInvalid(t,l,s,i)&&(l=null),!l||Date.now()>l.latestToken.refresh_expires)){const r=u.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,o,s,i);return s("Generate token using CSTG"),{callback:e=>{r.then((t=>{s("Token generation responded, passing the new token on.",t),e(t)}))}}}}const h=!l?.latestToken||r&&r.identity_expires>l.latestToken.identity_expires,p=h?r:l.latestToken;if(s("UID2 module selected latest token",h,p),!p||Date.now()>p.refresh_expires)return s("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>p.identity_expires){const t=d(e.apiBaseUrl,p,e.clientId,o,s,i);return s("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{s("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>p.refresh_from&&(s("Refreshing token in background with low priority."),d(e.apiBaseUrl,p,e.clientId,o,s,i));const g={originalToken:r??l?.originalToken,latestToken:p};return a&&(g.originalIdentity=l?.originalIdentity),o.storeValue(g),{id:g}}function p(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,i.E)("uid2IdSystem_shared")}},e=>{e.O(0,[60802,51085],(()=>{return t=84259,e(e.s=t);var t}));e.O()}]);
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[56293],{84259:(e,t,s)=>{s.d(t,{E0:()=>y,kz:()=>o,wq:()=>g});var r=s(7873),i=s(68044),n=s(91069);const o="1.1";function a(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}function l(e){return`UID2 shared library - ${e}`}function c(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];e(l(s[0]),...s.slice(1))}class d{constructor(e,t,s,r){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return c(s,...t)},this._logWarn=r}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s<e.length;s++)t[s]=e.charCodeAt(s);return t}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isValidRefreshResponse(e){return this.hasStatusResponse(e)&&("optout"===e.status||"expired_token"===e.status||"success"===e.status&&e.body&&a(e.body))}ResponseToRefreshResult(e){return this.isValidRefreshResponse(e)?"success"===e.status?{status:e.status,identity:e.body}:e:l("Response didn't contain a valid status")}callRefreshApi(e){const t=this._baseUrl+"/v2/token/refresh";let s,r;const n=new Promise(((e,t)=>{s=e,r=t}));return this._logInfo("Sending refresh request",e),(0,i.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const i=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,12),tagLength:128},e,i.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const i=JSON.parse(t),n=this.ResponseToRefreshResult(i);"string"==typeof n?r(l(n)):s(n)}),(e=>this._logWarn(l("Call to UID2 API failed"),e)))}),(e=>this._logWarn(l("Call to UID2 API failed"),e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(l(i)):s(i)}}catch(e){r(l(t))}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(l(i)):s(i)}catch(t){r(l(e))}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),n}}class u{constructor(e,t,s,r){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return c(r,...t)}}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return e?.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),r=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),i=t();if(i){if("string"==typeof i){const t=r();if(t&&"object"==typeof t)return this._logInfo(`${e} contained a basic token, but found a refreshable token fallback. Copying the fallback value to ${e}.`),s(t),t}}else{const t=r();if(t)return this._logInfo(`${e} was empty, but found a fallback value.`),"object"==typeof t&&(this._logInfo(`Copying the fallback value to ${e}.`),s(t)),t}return i}}function h(e,t,s,r,i,n){i("UID2 base url provided: ",e);return new d({baseUrl:e},s,i,n).callRefreshApi(t).then((e=>{i("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=r.getStoredValueWithFallback();return n?.originalIdentity&&(s.originalIdentity=n.originalIdentity),r.storeValue(s),s}))}let p;{const e=9;p={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t('CSTG is not being used, but is included in the Prebid.js bundle. You can reduce the bundle size by passing "--disable UID2_CSTG" to the Prebid.js build.'),!1;const s=e;if(!s.serverPublicKey&&!s.subscriptionId)return t("CSTG has been enabled but its parameters have not been set."),!1;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const r=/^(UID2|EUID)-X-[A-Z]-.+/;return r.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t(`CSTG opts.serverPublicKey must match the regular expression ${r}`),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const r=t.normalizeEmail(e.email);return void 0===r?void s("CSTG opts.email is invalid"):{email:r}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,r){if(t){if("optout"===t.latestToken)return!0;const r=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,r))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,r,i,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(r);n("CSTG endpoint responded with:",l);const c={originalIdentity:this.encodeOriginalIdentity(r),latestToken:l.identity};return i.storeValue(c),c},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static EMAIL_EXTENSION_SYMBOL="+";static EMAIL_DOT=".";static GMAIL_DOMAIN="gmail.com";static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:r,domain:i}=s,n=this.isGmail(i),o=this.normalizeAddressPart(r,n,n);return o?`${o}@${i}`:void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let r=e;return t&&(r=r.replaceAll(this.EMAIL_DOT,"")),s&&(r=this.dropExtension(r)),r}}class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._logInfo=function(){for(var e=arguments.length,s=new Array(e),r=0;r<e;r++)s[r]=arguments[r];return c(t,...s)},this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&a(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await o.hash(e.email)}}if("phone"in e){return{phone_hash:await o.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e);this._logInfo("Building CSTG request for",t);const s=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),i=new TextEncoder,n=Date.now(),{iv:a,ciphertext:l}=await s.encrypt(i.encode(JSON.stringify(t)),i.encode(JSON.stringify([n]))),c=await o.exportPublicKey(s.clientPublicKey),d={payload:o.bytesToBase64(new Uint8Array(l)),iv:o.bytesToBase64(new Uint8Array(a)),public_key:o.bytesToBase64(new Uint8Array(c)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(d,s)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let r,n;const a=new Promise(((e,t)=>{r=e,n=t}));return this._logInfo("Sending CSTG request",e),(0,i.RD)(s,{success:async(e,s)=>{try{const s=o.base64ToBytes(e),i=await t.decrypt(s.slice(0,12),s.slice(12)),a=(new TextDecoder).decode(i),c=JSON.parse(a);this.isCstgApiSuccessResponse(c)?r({status:"success",identity:c.body}):this.isCstgApiOptoutResponse(c)?r({status:"optout",identity:"optout"}):n(l(`API error: Response body was invalid for HTTP status 200: ${a}`))}catch(e){n(l(e))}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?n(l(`Client error: ${e.message}`)):n(l(`UID2 API error: Response body was invalid for HTTP status 400: ${t.responseText}`))}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?n(l(`Forbidden: ${e.message}`)):n(l(`UID2 API error: Response body was invalid for HTTP status 403: ${t.responseText}`))}else n(l(`UID2 API error: Unexpected HTTP status ${t.status}: ${e}`))}catch(t){n(l(e))}}},JSON.stringify(e),{method:"POST"}),a}}class r{static _namedCurve="P-256";constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await o.generateKeyPair(r._namedCurve),s=await o.importPublicKey(e,this._namedCurve),i=await o.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}class o{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function g(e,t,s,r){const i=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return c(s,...t)};let n=null;const o="cookie"!==e.storage,a=new u(t,o,e.internalStorage,i);i(`Module is using ${o?"local storage":"cookies"} for internal storage.`);const l=p&&p.isCSTGOptionsValid(e.cstg,r);l?(i("Module is using client-side token generation."),n=null):e.paramToken?(n=e.paramToken,i("Read token from params",n)):e.serverCookieName&&(n=a.readProvidedCookie(e.serverCookieName),i("Read token from server-supplied cookie",n));let d=a.getStoredValueWithFallback();if(i("Loaded module-stored tokens:",d),d&&"string"==typeof d){if(!n&&!l)return i("Returning legacy cookie value."),{id:d};i("Discarding superseded legacy cookie."),d=null}if(n&&d&&d.originalToken?.advertising_token!==n.advertising_token&&(i("Server supplied new token - ignoring stored value.",d.originalToken?.advertising_token,n.advertising_token),d=null),l){const t=p.getValidIdentity(e.cstg,r);if(t&&(d&&p.isStoredTokenInvalid(t,d,i,r)&&(d=null),!d||Date.now()>d.latestToken.refresh_expires)){const s=p.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,a,i,r);return i("Generate token using CSTG"),{callback:e=>{s.then((t=>{i("Token generation responded, passing the new token on.",t),e(t)}))}}}}const g=!d?.latestToken||n&&n.identity_expires>d.latestToken.identity_expires,y=g?n:d.latestToken;if(i("UID2 module selected latest token",g,y),!y||Date.now()>y.refresh_expires)return i("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>y.identity_expires){const t=h(e.apiBaseUrl,y,e.clientId,a,i,r);return i("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{i("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>y.refresh_from&&(i("Refreshing token in background with low priority."),h(e.apiBaseUrl,y,e.clientId,a,i,r));const f={originalToken:n??d?.originalToken,latestToken:y};return l&&(f.originalIdentity=d?.originalIdentity),a.storeValue(f),{id:f}}function y(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[60802,51085],(()=>{return t=84259,e(e.s=t);var t}));e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[2443],{14049:(e,t,n)=>{var i=n(7873),r=n(91069),d=n(70433),o=n(43272),s=n(57377),a=n(51252);const p="7.30V",u="9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[2443],{14049:(e,t,n)=>{var i=n(7873),r=n(91069),d=n(70433),o=n(43272),s=n(57377),a=n(51252);const p="7.30V",u="9.6.0",l={standard:1,sticky:2};let c=!1;(0,r.logMessage)(`Initializing UDM Adapter. PBJS Version: ${u} with adapter version: ${p} Updated 2023 01 26`);const g={NON_MEASURABLE:-1,code:"underdogmedia",bidParams:[],isBidRequestValid:function(e){if(!e.params)return(0,r.logWarn)("[Underdog Media] bid params are missing"),!1;if(!e.params.siteId)return(0,r.logWarn)("[Underdog Media] siteId is missing"),!1;if(e.params.productId&&!l[e.params.productId])return(0,r.logWarn)("[Underdog Media] invalid productId"),!1;const t=e.mediaTypes&&e.mediaTypes.banner&&e.mediaTypes.banner.sizes?e.mediaTypes.banner.sizes:e.sizes;return!(!t||t.length<1)||((0,r.logWarn)("[Underdog Media] bid sizes are missing"),!1)},buildRequests:function(e,t){var n=[],i=0;let s={dt:10,gdpr:{},pbTimeout:+o.$W.getConfig("bidderTimeout")||3001,pbjsVersion:u,placements:[],ref:(0,d.A)(t,"refererInfo.page")?t.refererInfo.page:void 0,usp:{},userIds:{"33acrossId":(0,d.A)(e[0],"userId.33acrossId.envelope")?e[0].userId["33acrossId"].envelope:void 0,pubcid:(0,d.A)(e[0],"crumbs.pubcid")?e[0].crumbs.pubcid:void 0,unifiedId:(0,d.A)(e[0],"userId.tdid")?e[0].userId.tdid:void 0},version:p};if(e.forEach((e=>{let t={},o=e.mediaTypes&&e.mediaTypes.banner&&e.mediaTypes.banner.sizes?e.mediaTypes.banner.sizes:e.sizes;n=(0,r.flatten)(n,(0,r.parseSizesInput)(o)),i=+e.params.siteId;let p=e.adUnitCode,u=function(e){return document.getElementById(e)||document.getElementById(function(e){if((0,r.isGptPubadsDefined)()){const t=googletag.pubads().getSlots(),n=(0,a.mw)(e);for(let i=0;i<t.length;i++)if(n(t[i])){const n=t[i].getSlotElementId();return(0,r.logInfo)(`[Underdogmedia Adapter] Map ad unit path to HTML element id: '${e}' -> ${n}`),n}}return(0,r.logWarn)(`[Underdogmedia Adapter] Unable to locate element for ad unit code: '${e}'`),null}(e))}(p),c=function(e){return e.reduce(((e,t)=>t.h*t.w<e.h*e.w?t:e))}(o);if(t.sizes=(0,r.parseSizesInput)(o),t.adUnitCode=p,t.productId=l[e.params.productId]||l.standard,(0,d.A)(e,"params.productId")?"standard"===e.params.productId?t.productId=1:"adhesion"===e.params.productId&&(t.productId=2):t.productId=1,t.gpid=(0,d.A)(e,"ortb2Imp.ext.gpid")?e.ortb2Imp.ext.gpid:void 0,function(e){return!function(){try{return(0,r.getWindowSelf)()!==(0,r.getWindowTop)()}catch(e){return!0}}()&&null!==e}(u)){const e={w:c[0],h:c[1]};let n=Math.round(function(e,t){let{w:n,h:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return"visible"===t.document.visibilityState?function(e,t){let{w:n,h:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=function(e){let{w:t,h:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{width:i,height:r,left:d,top:o,right:s,bottom:a}=e.getBoundingClientRect();(0===i||0===r)&&t&&n&&(i=t,r=n,s=d+t,a=o+n);return{width:i,height:r,left:d,top:o,right:s,bottom:a}}(e,{w:n,h:i}),d=function(e){const t={left:e[0].left,right:e[0].right,top:e[0].top,bottom:e[0].bottom};for(let n=1;n<e.length;++n){if(t.left=Math.max(t.left,e[n].left),t.right=Math.min(t.right,e[n].right),t.left>=t.right)return null;if(t.top=Math.max(t.top,e[n].top),t.bottom=Math.min(t.bottom,e[n].bottom),t.top>=t.bottom)return null}return t.width=t.right-t.left,t.height=t.bottom-t.top,t}([{left:0,top:0,right:t.innerWidth,bottom:t.innerHeight},r]);let o,s;if(null!==d)return o=d.width*d.height,s=r.width*r.height,o/s*100;return 0}(e,t,{w:n,h:i}):0}(u,(0,r.getWindowTop)(),e));t.viewability=n}else t.viewability=-1;s.placements.push(t)})),s.sid=i,t&&t.gdprConsent&&(void 0!==t.gdprConsent.gdprApplies&&(s.gdpr.gdprApplies=!!t.gdprConsent.gdprApplies),t.gdprConsent.vendorData&&t.gdprConsent.vendorData.vendorConsents&&void 0!==t.gdprConsent.vendorData.vendorConsents[159]&&(s.gdpr.consentGiven=!!t.gdprConsent.vendorData.vendorConsents[159]),void 0!==t.gdprConsent.consentString&&(s.gdpr.consentData=t.gdprConsent.consentString)),t.uspConsent&&(s.usp.uspConsent=t.uspConsent),!s.gdpr||!s.gdpr.gdprApplies||s.gdpr.consentGiven)return{method:"POST",url:`https://udmserve.net/udm/img.fetch?sid=${i}`,data:s,bidParams:e}},getUserSyncs:function(e,t){if(!c&&t.length>0&&t[0].body&&t[0].body.userSyncs&&t[0].body.userSyncs.length>0){c=!0;return t[0].body.userSyncs.filter((t=>{const{type:n}=t;return!(!e.iframeEnabled||"iframe"!==n)||(!(!e.pixelEnabled||"image"!==n)||void 0)}))}},interpretResponse:function(e,t){const n=[];return e.body.mids.forEach((e=>{const i=t.bidParams.find((t=>{if(e.ad_unit_code===t.adUnitCode)return!0}));if(!i)return;const r={requestId:i.bidId,cpm:parseFloat(e.cpm),width:e.width,height:e.height,ad:e.ad_code_html,creativeId:e.mid,currency:"USD",netRevenue:!1,ttl:e.ttl||300,meta:{advertiserDomains:e.advertiser_domains||[]}};r.cpm<=0||r.ad.length<=0||(r.ad+=function(e,t,n){let i=t.notification_url;const r=i.indexOf(";version=");r+1&&(i=i.substring(0,r));i+=`;version=${p}`,i+=";cb="+Math.random(),i+=";qqq="+1/e.cpm,i+=";hbt="+o.$W.getConfig("bidderTimeout"),i+=";style=adapter",i+=";vis="+encodeURIComponent(document.visibilityState),i+=";traffic_info="+encodeURIComponent(JSON.stringify(function(){for(var e,t={},n=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),i=0;i<n.length;i++)(e=n[i].split("="))[0].match(/^utm_/)&&(t[e[0]]=e[1].substr(0,150));return t}())),n.params.subId&&(i+=";subid="+encodeURIComponent(n.params.subId));return'<script async src="'+i+'"><\/script>'}(r,e,i),n.push(r))})),n}};(0,s.a$)(g),(0,i.E)("underdogmediaBidAdapter")}},e=>{e.O(0,[33005,60802,51085],(()=>{return t=14049,e(e.s=t);var t}));e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[48785],{64747:(e,t,n)=>{var r=n(7873),a=n(91069),i=n(70433),s=n(57377),p=n(71371);function o(e){if(!e)return null;return`gdpr=${e.gdprApplies?"1":"0"}&gdprstr=${e.consentString?e.consentString:""}`}function d(e){let t=document.getElementById(e),n=-1,r=-1;if(t){n=t.offsetLeft,r=t.offsetTop;let e=t.offsetParent;return e&&(n+=e.offsetLeft,r+=e.offsetTop),[n,r]}return null}const l={code:"undertone",gvlid:677,supportedMediaTypes:[p.D4,p.G_],isBidRequestValid:function(e){if(e&&e.params&&e.params.publisherId)return e.params.publisherId=parseInt(e.params.publisherId),!0},buildRequests:function(e,t){const n=Math.max(document.documentElement.clientWidth,window.innerWidth||0),r=Math.max(document.documentElement.clientHeight,window.innerHeight||0),s=0==n||0==r?null:[n,r],l={adapterVersion:"9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[48785],{64747:(e,t,n)=>{var r=n(7873),a=n(91069),i=n(70433),s=n(57377),p=n(71371);function o(e){if(!e)return null;return`gdpr=${e.gdprApplies?"1":"0"}&gdprstr=${e.consentString?e.consentString:""}`}function d(e){let t=document.getElementById(e),n=-1,r=-1;if(t){n=t.offsetLeft,r=t.offsetTop;let e=t.offsetParent;return e&&(n+=e.offsetLeft,r+=e.offsetTop),[n,r]}return null}const l={code:"undertone",gvlid:677,supportedMediaTypes:[p.D4,p.G_],isBidRequestValid:function(e){if(e&&e.params&&e.params.publisherId)return e.params.publisherId=parseInt(e.params.publisherId),!0},buildRequests:function(e,t){const n=Math.max(document.documentElement.clientWidth,window.innerWidth||0),r=Math.max(document.documentElement.clientHeight,window.innerHeight||0),s=0==n||0==r?null:[n,r],l={adapterVersion:"9.6.0",uids:e[0].userId,pageSize:s};e[0].schain&&(l.schain=e[0].schain);const u={"x-ut-hb-params":[],commons:l},c=t.refererInfo.topmostLocation,m=t.refererInfo.canonicalUrl;c&&(l.referrer=c),m&&(l.canonicalUrl=m);let h=function(e){let t=null;try{let n=/[-\w]+\.([-\w]+|[-\w]{3,}|[-\w]{1,3}\.[-\w]{2})$/i.exec(e);if(null!=n&&n.length>0){t=n[0];for(let e=1;e<n.length;e++)n[e].length>t.length&&(t=n[e])}}catch(e){t=null}return t}((0,a.parseUrl)(c).hostname);const f=m||c;let y=`https://hb.undertone.com/hb?pid=${e[0].params.publisherId}&domain=${h}`,g=o(t.gdprConsent);if(g&&(y+=`&${g}`),t.uspConsent&&(y+=`&ccpa=${t.uspConsent}`),t.gppConsent){y+=`&gpp=${t.gppConsent.gppString??""}&gpp_sid=${t.gppConsent.applicableSections??""}`}return e.map((e=>{const t={bidRequestId:e.bidId,coordinates:d(e.adUnitCode),hbadaptor:"prebid",url:f,domain:h,placementId:null!=e.params.placementId?e.params.placementId:null,publisherId:e.params.publisherId,gpid:(0,i.A)(e,"ortb2Imp.ext.gpid",(0,i.A)(e,"ortb2Imp.ext.data.pbadslot","")),sizes:e.sizes,params:e.params},n=(0,i.A)(e,"mediaTypes.video"),r=n?p.G_:p.D4;t.mediaType=r,t.bidfloor=function(e,t){if("function"!=typeof e.getFloor)return 0;const n=e.getFloor({currency:"USD",mediaType:t,size:"*"});return n&&"USD"===n.currency&&n.floor||0}(e,r),n&&(t.video={playerSize:(0,i.A)(e,"mediaTypes.video.playerSize")||null,streamType:(0,i.A)(e,"mediaTypes.video.context")||null,playbackMethod:(0,i.A)(e,"params.video.playbackMethod")||null,maxDuration:(0,i.A)(e,"params.video.maxDuration")||null,skippable:(0,i.A)(e,"params.video.skippable")||null,placement:(0,i.A)(e,"mediaTypes.video.placement")||null,plcmt:(0,i.A)(e,"mediaTypes.video.plcmt")||null}),u["x-ut-hb-params"].push(t)})),{method:"POST",url:y,withCredentials:!0,data:JSON.stringify(u)}},interpretResponse:function(e,t){const n=[],r=e.body;return r&&Array.isArray(r)&&r.length>0&&r.forEach((e=>{if(e.ad&&e.cpm>0){const t={requestId:e.bidRequestId,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.adId,currency:e.currency,netRevenue:e.netRevenue,ttl:e.ttl||360,meta:{advertiserDomains:e.adomain?e.adomain:[]}};e.mediaType&&"video"===e.mediaType?(t.vastXml=e.ad,t.mediaType=e.mediaType):t.ad=e.ad,n.push(t)}})),n},getUserSyncs:function(e,t,n,r){const a=[];let i=o(n),s="",p="";return i&&(s+=`?${i}`,p+=`&${i}`),r&&(s+=""!=s?"&":"?",s+=`ccpa=${r}`,p+=`&ccpa=${r}`),e.iframeEnabled?a.push({type:"iframe",url:"https://cdn.undertone.com/js/usersync.html"+s}):e.pixelEnabled&&a.push({type:"image",url:"https://usr.undertone.com/userPixel/syncOne?id=1&of=2"+p},{type:"image",url:"https://usr.undertone.com/userPixel/syncOne?id=2&of=2"+p}),a}};(0,s.a$)(l),(0,r.E)("undertoneBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=64747,e(e.s=t);var t}));e.O()}]);
|
package/dist/unrulyBidAdapter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[99582],{27364:(e,r,n)=>{var t=n(7873),i=n(70433),d=n(91069),o=n(95789),s=n(57377),a=n(71371);const u=(e,r,n)=>{const{bids:t,bidderRequestId:d,bidderCode:o,...s}=n,a=n.bids.length-r.length;let u={};r.forEach((r=>{const n=r.params.siteId;(e=>{Object.keys(e.mediaTypes).forEach((r=>{let n;n="function"==typeof e.getFloor?e.getFloor({currency:"USD",mediaType:r,size:"*"}).floor||0:e.params.floor||0,e.mediaTypes[r].floor=n}))})(r),(e=>{let r=(0,i.A)(e,"mediaTypes.banner");if(r){let e={},n=[];r.sizes.forEach((r=>{e[r.toString()]||(e[r.toString()]=!0,n.push(r))})),r.sizes=n}})(r),((e,r)=>{!r&&e.ortb2Imp&&e.ortb2Imp.ext&&delete e.ortb2Imp.ext.ae})(r,e.protectedAudienceEnabled),u[n]=u[n]||[],u[n].push(r)}));let l=[];return Object.keys(u).forEach((r=>{let n={bidderRequest:Object.assign({},{bids:u[r],invalidBidsCount:a,prebidVersion:"9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[99582],{27364:(e,r,n)=>{var t=n(7873),i=n(70433),d=n(91069),o=n(95789),s=n(57377),a=n(71371);const u=(e,r,n)=>{const{bids:t,bidderRequestId:d,bidderCode:o,...s}=n,a=n.bids.length-r.length;let u={};r.forEach((r=>{const n=r.params.siteId;(e=>{Object.keys(e.mediaTypes).forEach((r=>{let n;n="function"==typeof e.getFloor?e.getFloor({currency:"USD",mediaType:r,size:"*"}).floor||0:e.params.floor||0,e.mediaTypes[r].floor=n}))})(r),(e=>{let r=(0,i.A)(e,"mediaTypes.banner");if(r){let e={},n=[];r.sizes.forEach((r=>{e[r.toString()]||(e[r.toString()]=!0,n.push(r))})),r.sizes=n}})(r),((e,r)=>{!r&&e.ortb2Imp&&e.ortb2Imp.ext&&delete e.ortb2Imp.ext.ae})(r,e.protectedAudienceEnabled),u[n]=u[n]||[],u[n].push(r)}));let l=[];return Object.keys(u).forEach((r=>{let n={bidderRequest:Object.assign({},{bids:u[r],invalidBidsCount:a,prebidVersion:"9.6.0",...s})};l.push(Object.assign({},{data:n,...e}))})),l},l=e=>{if(e.ad)return e;(0,d.logError)(new Error("UnrulyBidAdapter: Missing ad config."))},p=e=>{if(e.vastUrl||e.vastXml)return e;(0,d.logError)(new Error("UnrulyBidAdapter: Missing vastUrl or vastXml config."))},c=e=>{const r=!!(0,i.A)(e,"ext.renderer.config"),n=!!(0,i.A)(e,"ext.renderer.config.siteId");if(!r)return void(0,d.logError)(new Error("UnrulyBidAdapter: Missing renderer config."));if(!n)return void(0,d.logError)(new Error("UnrulyBidAdapter: Missing renderer siteId."));const t=(0,i.A)(e,"ext.renderer");!function(e,r){if(!e.config)throw new Error("UnrulyBidAdapter: Missing renderer config.");if(!e.config.siteId)throw new Error("UnrulyBidAdapter: Missing renderer siteId.");parent.window.unruly=parent.window.unruly||{},parent.window.unruly.native=parent.window.unruly.native||{},parent.window.unruly.native.siteId=parent.window.unruly.native.siteId||e.config.siteId,parent.window.unruly.native.adSlotId=r,parent.window.unruly.native.supplyMode="prebid"}(t,e.requestId),parent.window.unruly.native.prebid=parent.window.unruly.native.prebid||{},parent.window.unruly.native.prebid.uq=parent.window.unruly.native.prebid.uq||[];const s=o.A4.install(Object.assign({},t)),a=Object.assign({},e,{renderer:s,adUnitCode:(0,i.A)(e,"ext.adUnitCode")});return s.setRender((()=>{var e;e=a,parent.window.unruly.native.prebid.uq.push(["render",e])})),e.renderer=e.renderer||s,e},y=e=>{if(!e.context)return!1;return-1!==["outstream","instream"].indexOf(e.context)},f=e=>e.sizes,b={code:"unruly",supportedMediaTypes:[a.G_,a.D4],gvlid:36,isBidRequestValid:function(e){let r=(0,i.A)(e,"params.siteId")&&(e=>{const r=(0,i.A)(e,"mediaTypes.video"),n=(0,i.A)(e,"mediaTypes.banner");let t=!(!r&&!n);return t&&r&&(t=y(r)),t&&n&&(t=f(n)),t})(e);return!!r},buildRequests:function(e,r){let n="https://targeting.unrulymedia.com/unruly_prebid";return e[0]&&(n=(0,i.A)(e[0],"params.endpoint")||n),u({url:n,method:"POST",options:{contentType:"application/json"},protectedAudienceEnabled:r.paapi?.enabled},e,r)},interpretResponse:function(e){if(!e||!e.body||!e.body.auctionConfigs&&!e.body.bids)return[];const r=e.body;let n=[],t=null;if(r.bids.length&&(n=(e=>{let r=[];return e.forEach((e=>{let n,t=(0,i.A)(e,"meta.mediaType");if(t&&"banner"===t.toLowerCase())e.mediaType=a.D4,n=l(e);else if(t&&"video"===t.toLowerCase()){let r=(0,i.A)(e,"meta.videoContext");e.mediaType=a.G_,"instream"===r?n=p(e):"outstream"===r&&(n=c(e))}n&&r.push(n)})),r})(r.bids)),r.auctionConfigs){let e=r.auctionConfigs,n=Object.keys(e);n.length&&n.forEach((r=>{t=[{bidId:r,config:e[r]}]}))}return t?{bids:n,paapi:t}:n}};(0,s.a$)(b),(0,t.E)("unrulyBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return r=27364,e(e.s=r);var r}));e.O()}]);
|
package/dist/vidazooUtils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[85946],{42986:(e,t,n)=>{n.d(t,{$d:()=>f,EE:()=>y,GH:()=>u,Lp:()=>$,W:()=>I,Wu:()=>D,Zq:()=>C,bH:()=>S,lE:()=>U});var r=n(91069),i=n(70433),o=n(29906),a=n(44796),d=n(12693),s=n(43272),c=n(71371);function u(){return"wsid_"+parseInt(Date.now()*Math.random())}function p(){try{return(0,r.parseUrl)(window.top.document.URL,{decodeSearchAsString:!0}).search}catch(e){return""}}function l(e){return e.cId||e.CID||e.cID||e.CId||e.cid||e.ciD||e.Cid||e.CiD}function g(e){return e.pId||e.PID||e.pID||e.PId||e.pid||e.piD||e.Pid||e.PiD}function m(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}function f(e){const t=e.params||{};return!(!l(t)||!g(t))}function b(e,t,n,r){try{const i=r||Date.now(),o=JSON.stringify({value:n,created:i});e.setDataInLocalStorage(t,o)}catch(e){}}function h(e,t){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(e.getDataFromLocalStorage(t,null))}catch(e){}return null}function I(e,t){let n=e.getDataFromLocalStorage(t,null);return n||(n=String(Date.now()),e.setDataInLocalStorage(t,n,null)),n}function C(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.Xz;try{const r=h(e,t);let i,o=0;r&&r.value&&Date.now()-r.created<n&&(o=r.value,i=r.created);const a=o+1;return b(e,t,a,i),a}catch(e){return 0}}function S(e){if(!e.nurl)return;const t={adId:e.adId,creativeId:e.creativeId,auctionId:e.auctionId,transactionId:e.transactionId,adUnitCode:e.adUnitCode,cpm:e.cpm,currency:e.currency,originalCpm:e.originalCpm,originalCurrency:e.originalCurrency,netRevenue:e.netRevenue,mediaType:e.mediaType,timeToRespond:e.timeToRespond,status:e.status},n=(0,r.formatQS)(t),i=e.nurl+(-1===e.nurl.indexOf("?")?"?":"&")+n;(0,r.triggerPixel)(i)}function y(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{iframeSyncUrl:"",imageSyncUrl:""};return function(t,n){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const s=[],{iframeEnabled:c,pixelEnabled:u}=t,{gdprApplies:p,consentString:l=""}=o,{gppString:g,applicableSections:m}=d,f=n.filter((e=>(0,i.A)(e,"body.cid"))).map((e=>e.body.cid)).filter(r.uniques);let b=`?cid=${encodeURIComponent(f.join(","))}&gdpr=${p?1:0}&gdpr_consent=${encodeURIComponent(l||"")}&us_privacy=${encodeURIComponent(a||"")}`;return g&&m?.length&&(b+="&gpp="+encodeURIComponent(g),b+="&gpp_sid="+encodeURIComponent(m.join(","))),c&&e.iframeSyncUrl&&s.push({type:"iframe",url:`${e.iframeSyncUrl}/${b}`}),u&&e.imageSyncUrl&&s.push({type:"image",url:`${e.imageSyncUrl}/${b}`}),s}}function D(e){return h(e,a.T7)||""}function v(e,t,n,o,s,c,u,l,m){const{params:f,bidId:I,userId:C,adUnitCode:S,schain:y,mediaTypes:D,ortb2Imp:v,bidderRequestId:$,bidRequestsCount:U,bidderRequestsCount:A,bidderWinsCount:R}=e,{ext:T}=f;let{bidFloor:w}=f;const q=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";const n=e.length;let r=0,i=0;if(n>0)for(;i<n;)r=(r<<5)-r+e.charCodeAt(i++)|0;return t+r}(t),z=(0,r.isFn)(m)?m(q,e):{},_=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.dB;const r=`u_${t}`,i=Date.now(),o=h(e,r);let d;return!o||!o.value||i-o.created>n?(d=`${t}_${i.toString()}`,b(e,r,d)):d=o.value,d}(c,q),x=g(f),O=d.u.get(l,"storageAllowed"),j=(0,i.A)(e,"ortb2Imp.ext.gpid")||(0,i.A)(e,"ortb2Imp.ext.data.pbadslot",""),E=(0,i.A)(o,"ortb2.site.cat",[]),F=(0,i.A)(o,"ortb2.site.pagecat",[]),P=(0,i.A)(o,"ortb2.site.content.data",[]),W=(0,i.A)(o,"ortb2.user.data",[]);if((0,r.isFn)(e.getFloor)){const t=e.getFloor({currency:"USD",mediaType:"*",size:"*"});"USD"===t.currency&&(w=t.floor)}let L={url:encodeURIComponent(t),uqs:p(),cb:Date.now(),bidFloor:w,bidId:I,referrer:o.refererInfo.ref,adUnitCode:S,publisherId:x,sizes:n,uniqueDealId:_,bidderVersion:u,prebidVersion:"9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[85946],{42986:(e,t,n)=>{n.d(t,{$d:()=>f,EE:()=>y,GH:()=>u,Lp:()=>$,W:()=>I,Wu:()=>D,Zq:()=>C,bH:()=>S,lE:()=>U});var r=n(91069),i=n(70433),o=n(29906),a=n(44796),d=n(12693),s=n(43272),c=n(71371);function u(){return"wsid_"+parseInt(Date.now()*Math.random())}function p(){try{return(0,r.parseUrl)(window.top.document.URL,{decodeSearchAsString:!0}).search}catch(e){return""}}function l(e){return e.cId||e.CID||e.cID||e.CId||e.cid||e.ciD||e.Cid||e.CiD}function g(e){return e.pId||e.PID||e.pID||e.PId||e.pid||e.piD||e.Pid||e.PiD}function m(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}function f(e){const t=e.params||{};return!(!l(t)||!g(t))}function b(e,t,n,r){try{const i=r||Date.now(),o=JSON.stringify({value:n,created:i});e.setDataInLocalStorage(t,o)}catch(e){}}function h(e,t){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(e.getDataFromLocalStorage(t,null))}catch(e){}return null}function I(e,t){let n=e.getDataFromLocalStorage(t,null);return n||(n=String(Date.now()),e.setDataInLocalStorage(t,n,null)),n}function C(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.Xz;try{const r=h(e,t);let i,o=0;r&&r.value&&Date.now()-r.created<n&&(o=r.value,i=r.created);const a=o+1;return b(e,t,a,i),a}catch(e){return 0}}function S(e){if(!e.nurl)return;const t={adId:e.adId,creativeId:e.creativeId,auctionId:e.auctionId,transactionId:e.transactionId,adUnitCode:e.adUnitCode,cpm:e.cpm,currency:e.currency,originalCpm:e.originalCpm,originalCurrency:e.originalCurrency,netRevenue:e.netRevenue,mediaType:e.mediaType,timeToRespond:e.timeToRespond,status:e.status},n=(0,r.formatQS)(t),i=e.nurl+(-1===e.nurl.indexOf("?")?"?":"&")+n;(0,r.triggerPixel)(i)}function y(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{iframeSyncUrl:"",imageSyncUrl:""};return function(t,n){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const s=[],{iframeEnabled:c,pixelEnabled:u}=t,{gdprApplies:p,consentString:l=""}=o,{gppString:g,applicableSections:m}=d,f=n.filter((e=>(0,i.A)(e,"body.cid"))).map((e=>e.body.cid)).filter(r.uniques);let b=`?cid=${encodeURIComponent(f.join(","))}&gdpr=${p?1:0}&gdpr_consent=${encodeURIComponent(l||"")}&us_privacy=${encodeURIComponent(a||"")}`;return g&&m?.length&&(b+="&gpp="+encodeURIComponent(g),b+="&gpp_sid="+encodeURIComponent(m.join(","))),c&&e.iframeSyncUrl&&s.push({type:"iframe",url:`${e.iframeSyncUrl}/${b}`}),u&&e.imageSyncUrl&&s.push({type:"image",url:`${e.imageSyncUrl}/${b}`}),s}}function D(e){return h(e,a.T7)||""}function v(e,t,n,o,s,c,u,l,m){const{params:f,bidId:I,userId:C,adUnitCode:S,schain:y,mediaTypes:D,ortb2Imp:v,bidderRequestId:$,bidRequestsCount:U,bidderRequestsCount:A,bidderWinsCount:R}=e,{ext:T}=f;let{bidFloor:w}=f;const q=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";const n=e.length;let r=0,i=0;if(n>0)for(;i<n;)r=(r<<5)-r+e.charCodeAt(i++)|0;return t+r}(t),z=(0,r.isFn)(m)?m(q,e):{},_=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.dB;const r=`u_${t}`,i=Date.now(),o=h(e,r);let d;return!o||!o.value||i-o.created>n?(d=`${t}_${i.toString()}`,b(e,r,d)):d=o.value,d}(c,q),x=g(f),O=d.u.get(l,"storageAllowed"),j=(0,i.A)(e,"ortb2Imp.ext.gpid")||(0,i.A)(e,"ortb2Imp.ext.data.pbadslot",""),E=(0,i.A)(o,"ortb2.site.cat",[]),F=(0,i.A)(o,"ortb2.site.pagecat",[]),P=(0,i.A)(o,"ortb2.site.content.data",[]),W=(0,i.A)(o,"ortb2.user.data",[]);if((0,r.isFn)(e.getFloor)){const t=e.getFloor({currency:"USD",mediaType:"*",size:"*"});"USD"===t.currency&&(w=t.floor)}let L={url:encodeURIComponent(t),uqs:p(),cb:Date.now(),bidFloor:w,bidId:I,referrer:o.refererInfo.ref,adUnitCode:S,publisherId:x,sizes:n,uniqueDealId:_,bidderVersion:u,prebidVersion:"9.6.0",res:`${screen.width}x${screen.height}`,schain:y,mediaTypes:D,isStorageAllowed:O,gpid:j,cat:E,contentData:P,userData:W,pagecat:F,transactionId:v?.ext?.tid,bidderRequestId:$,bidRequestsCount:U,bidderRequestsCount:A,bidderWinsCount:R,bidderTimeout:s,...z};!function(e,t){let n;(0,r._each)(t,((t,r)=>{switch(n=`uid.${r}`,r){case"lipb":e[n]=t.lipbid;break;case"id5id":e[n]=t.uid;break;default:e[n]=t}}))}(L,C);const M=(0,i.A)(o,"ortb2.device.sua");if(M&&(L.sua=M),o.gdprConsent&&(o.gdprConsent.consentString&&(L.gdprConsent=o.gdprConsent.consentString),void 0!==o.gdprConsent.gdprApplies&&(L.gdpr=o.gdprConsent.gdprApplies?1:0)),o.uspConsent&&(L.usPrivacy=o.uspConsent),o.gppConsent?(L.gppString=o.gppConsent.gppString,L.gppSid=o.gppConsent.applicableSections):o.ortb2?.regs?.gpp&&(L.gppString=o.ortb2.regs.gpp,L.gppSid=o.ortb2.regs.gpp_sid),o.paapi?.enabled){const e=(0,i.A)(o,"ortb2Imp.ext.ae");e&&(L.fledge=e)}return(0,r._each)(T,((e,t)=>{L["ext."+t]=e})),L}function $(e,t){return function(n,r){if(!n||!n.body)return[];const o=t&&s.$W.getConfig(`${e}.singleRequest`),d=(0,i.A)(r,"data.bidId"),{results:u}=n.body;let p=[];try{return u.forEach(((e,t)=>{const{creativeId:n,ad:r,price:i,exp:s,width:u,height:l,currency:g,bidId:m,nurl:f,advertiserDomains:b,metaData:h,mediaType:I=c.D4}=e;if(!r||!i)return;const C={requestId:o&&m?m:d,cpm:i,width:u,height:l,creativeId:n,currency:g||a.UM,netRevenue:!0,ttl:s||a.Xd};f&&(C.nurl=f),h?Object.assign(C,{meta:h}):Object.assign(C,{meta:{advertiserDomains:b||[]}}),I===c.D4?Object.assign(C,{ad:r}):Object.assign(C,{vastXml:r,mediaType:c.G_}),p.push(C)})),p}catch(e){return[]}}}function U(e,t,n,i,a,d){function u(r,o,d,s,c){const{params:u}=r,p=l(u),g=m(u),f=v(r,o,d,s,c,n,a,i,t);return{method:"POST",url:`${e(g)}/prebid/multi/${p}`,data:f}}return function(p,g){const f=g.refererInfo.page||g.refererInfo.topmostLocation,b=s.$W.getConfig("bidderTimeout"),h=d&&s.$W.getConfig(`${i}.singleRequest`),I=[];if(h){const d=p.filter((e=>(0,r.isArray)(e.mediaTypes)?e.mediaTypes.includes(c.D4):void 0!==e.mediaTypes[c.D4]));if(d.length>0){const c=function(d,c,u,p){const{params:g}=d[0],f=l(g),b=m(g),h=d.map((e=>{const o=(0,r.parseSizesInput)(e.sizes);return v(e,u,o,c,p,n,a,i,t)})),I=Math.min(20,s.$W.getConfig(`${i}.chunkSize`)||10);return(0,o.i)(h,I).map((t=>({method:"POST",url:`${e(b)}/prebid/multi/${f}`,data:{bids:t}})))}(d,g,f,b);I.push(...c)}p.filter((e=>void 0!==e.mediaTypes[c.G_])).forEach((e=>{const t=(0,r.parseSizesInput)(e.sizes),n=u(e,f,t,g,b);I.push(n)}))}else p.forEach((e=>{const t=(0,r.parseSizesInput)(e.sizes),n=u(e,f,t,g,b);I.push(n)}));return I}}},44796:(e,t,n)=>{n.d(t,{T7:()=>d,UM:()=>r,Xd:()=>i,Xz:()=>o,Zb:()=>s,dB:()=>a,mB:()=>c});const r="USD",i=300,o=9e5,a=36e5,d="vidSid",s="vdzwopt",c="vdzHum"}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[19376],{17580:(e,t,r)=>{var i=r(7873),n=r(91069),o=r(70433),a=r(63172),s=r(57377),d=r(71371);const c=["mimes","minduration","maxduration","placement","plcmt","protocols","startdelay","skip","skipafter","minbitrate","maxbitrate","delivery","playbackmethod","api","linearity"],p={code:"videobyte",supportedMediaTypes:[d.G_],VERSION:"1.0.0",ENDPOINT:"https://x.videobyte.com/ortbhb",isBidRequestValid:function(e){return function(e){if(!e.params)return!1;if(!e.params.pubId)return(0,n.logError)("failed validation: pubId not declared"),!1;const t=(0,o.A)(e,"mediaTypes.video",{}),r=(0,o.A)(e,"params.video",{});if(r&&r.e2etest)return!0;const i={...t,...r};if(!i.context)return(0,n.logError)("failed validation: context id not declared"),!1;if("instream"!==i.context)return(0,n.logError)("failed validation: only context instream is supported "),!1;if(void 0===i.playerSize||!Array.isArray(i.playerSize)||!Array.isArray(i.playerSize[0]))return(0,n.logError)("failed validation: player size not declared or is not in format [[w,h]]"),!1;return!0}(e)},buildRequests:function(e,t){if(e)return e.map((e=>{const{params:r}=e;let i=r.pubId;const o=r.placementId,a=r.nid;e.params.video&&e.params.video.e2etest&&((0,n.logMessage)("E2E test mode enabled"),i="e2etest");let s=p.ENDPOINT+"?pid="+i;return o&&(s+="&placementId="+o),a&&(s+="&nid="+a),{method:"POST",url:s,data:JSON.stringify(l(e,t))}}))},interpretResponse:function(e){const t=[],r=(e||{}).body;if(r&&r.seatbid&&1===r.seatbid.length&&r.seatbid[0].bid&&1===r.seatbid[0].bid.length){const e=r.seatbid[0].bid[0];if(e.adm&&e.price){let i={requestId:r.id,cpm:e.price,width:e.w,height:e.h,ttl:300,creativeId:e.crid,netRevenue:true,currency:"USD",mediaType:"video",vastXml:e.adm,meta:{advertiserDomains:e.adomain}};t.push(i)}}return t},getUserSyncs:function(e,t){let r=[];return e.iframeEnabled||e.pixelEnabled?(t.forEach((t=>{const i=(0,o.A)(t,"body.ext.usersync");if(i){let t=[];Object.keys(i).forEach((e=>{const r=i[e];r.syncs&&r.syncs.length&&(t=t.concat(r.syncs))})),t.forEach((e=>{r.push({type:"iframe"===e.type?"iframe":"image",url:e.url})})),e.iframeEnabled?r=r.filter((e=>"iframe"===e.type)):e.pixelEnabled&&(r=r.filter((e=>"image"===e.type)))}})),r):r}};function l(e,t){const{params:r}=e,i=(0,o.A)(e,"mediaTypes.video",{}),s=(0,o.A)(e,"params.video",{}),d={...i,...s};e.params.video&&e.params.video.e2etest&&(d.playerSize=[[640,480]],d.conext="instream");const l={w:parseInt(d.playerSize[0][0],10),h:parseInt(d.playerSize[0][1],10)};c.forEach((e=>{d.hasOwnProperty(e)&&(l[e]=d[e])}));const u={currency:e.params.cur||"USD",mediaType:"video",size:"*"};let f=e.params;(0,n.isFn)(e.getFloor)?f=e.getFloor(u):r.bidfloor&&(f={floor:r.bidfloor,currency:r.currency||"USD"});const m={id:e.bidId,imp:[{id:"1",video:l,secure:"https:"===document.location.protocol?1:0,bidfloor:f.floor,bidfloorcur:f.currency}],site:{domain:t.refererInfo.domain,page:t.refererInfo.page,ref:t.refererInfo.ref},ext:{hb:1,prebidver:"9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[19376],{17580:(e,t,r)=>{var i=r(7873),n=r(91069),o=r(70433),a=r(63172),s=r(57377),d=r(71371);const c=["mimes","minduration","maxduration","placement","plcmt","protocols","startdelay","skip","skipafter","minbitrate","maxbitrate","delivery","playbackmethod","api","linearity"],p={code:"videobyte",supportedMediaTypes:[d.G_],VERSION:"1.0.0",ENDPOINT:"https://x.videobyte.com/ortbhb",isBidRequestValid:function(e){return function(e){if(!e.params)return!1;if(!e.params.pubId)return(0,n.logError)("failed validation: pubId not declared"),!1;const t=(0,o.A)(e,"mediaTypes.video",{}),r=(0,o.A)(e,"params.video",{});if(r&&r.e2etest)return!0;const i={...t,...r};if(!i.context)return(0,n.logError)("failed validation: context id not declared"),!1;if("instream"!==i.context)return(0,n.logError)("failed validation: only context instream is supported "),!1;if(void 0===i.playerSize||!Array.isArray(i.playerSize)||!Array.isArray(i.playerSize[0]))return(0,n.logError)("failed validation: player size not declared or is not in format [[w,h]]"),!1;return!0}(e)},buildRequests:function(e,t){if(e)return e.map((e=>{const{params:r}=e;let i=r.pubId;const o=r.placementId,a=r.nid;e.params.video&&e.params.video.e2etest&&((0,n.logMessage)("E2E test mode enabled"),i="e2etest");let s=p.ENDPOINT+"?pid="+i;return o&&(s+="&placementId="+o),a&&(s+="&nid="+a),{method:"POST",url:s,data:JSON.stringify(l(e,t))}}))},interpretResponse:function(e){const t=[],r=(e||{}).body;if(r&&r.seatbid&&1===r.seatbid.length&&r.seatbid[0].bid&&1===r.seatbid[0].bid.length){const e=r.seatbid[0].bid[0];if(e.adm&&e.price){let i={requestId:r.id,cpm:e.price,width:e.w,height:e.h,ttl:300,creativeId:e.crid,netRevenue:true,currency:"USD",mediaType:"video",vastXml:e.adm,meta:{advertiserDomains:e.adomain}};t.push(i)}}return t},getUserSyncs:function(e,t){let r=[];return e.iframeEnabled||e.pixelEnabled?(t.forEach((t=>{const i=(0,o.A)(t,"body.ext.usersync");if(i){let t=[];Object.keys(i).forEach((e=>{const r=i[e];r.syncs&&r.syncs.length&&(t=t.concat(r.syncs))})),t.forEach((e=>{r.push({type:"iframe"===e.type?"iframe":"image",url:e.url})})),e.iframeEnabled?r=r.filter((e=>"iframe"===e.type)):e.pixelEnabled&&(r=r.filter((e=>"image"===e.type)))}})),r):r}};function l(e,t){const{params:r}=e,i=(0,o.A)(e,"mediaTypes.video",{}),s=(0,o.A)(e,"params.video",{}),d={...i,...s};e.params.video&&e.params.video.e2etest&&(d.playerSize=[[640,480]],d.conext="instream");const l={w:parseInt(d.playerSize[0][0],10),h:parseInt(d.playerSize[0][1],10)};c.forEach((e=>{d.hasOwnProperty(e)&&(l[e]=d[e])}));const u={currency:e.params.cur||"USD",mediaType:"video",size:"*"};let f=e.params;(0,n.isFn)(e.getFloor)?f=e.getFloor(u):r.bidfloor&&(f={floor:r.bidfloor,currency:r.currency||"USD"});const m={id:e.bidId,imp:[{id:"1",video:l,secure:"https:"===document.location.protocol?1:0,bidfloor:f.floor,bidfloorcur:f.currency}],site:{domain:t.refererInfo.domain,page:t.refererInfo.page,ref:t.refererInfo.ref},ext:{hb:1,prebidver:"9.6.0",adapterver:p.VERSION}};if(d.content&&(0,n.isPlainObject)(d.content)){m.site.content={};const e=["id","title","series","season","genre","contentrating","language","url"],t=["episode","prodq","context","livestream","len"],r=["cat"],i=["ext"];for(const o in s.content)e.indexOf(o)>-1&&(0,n.isStr)(d.content[o])||t.indexOf(o)>-1&&(0,n.isNumber)(d.content[o])||i.indexOf(o)>-1&&(0,n.isPlainObject)(d.content[o])||r.indexOf(o)>-1&&(0,n.isArray)(d.content[o])&&d.content[o].every((e=>(0,n.isStr)(e)))?m.site.content[o]=d.content[o]:(0,n.logMessage)("videobyte bid adapter validation error: ",o," is either not supported is OpenRTB V2.5 or value is undefined")}return e.schain&&((0,a.J)(m,"source.ext.schain",e.schain),m.source.ext.schain.nodes[0].rid=m.id),t.gdprConsent&&((0,a.J)(m,"user.ext.consent",t.gdprConsent.consentString),(0,a.J)(m,"regs.ext.gdpr",t.gdprConsent.gdprApplies?1:0)),t.uspConsent&&(0,a.J)(m,"regs.ext.us_privacy",t.uspConsent),m}(0,s.a$)(p),(0,i.E)("videobyteBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=17580,e(e.s=t);var t}));e.O()}]);
|
package/dist/visxBidAdapter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[86727],{90975:(e,t,n)=>{var r=n(7873),i=n(91069),s=n(70433),o=n(57377),d=n(43272),a=n(71371),p=n(63895),u=n(12938),c=n(51252),m=n(70392);const l="visx",g="EUR",f="/push_sync",y={noAuid:"Bid from response has no auid parameter - ",noAdm:"Bid from response has no adm parameter - ",noBid:"Array of bid objects is empty",noImpId:"Bid from response has no impid parameter - ",noPlacementCode:"Can't find in requested bids the bid with auid - ",emptyUids:"Uids should not be empty",emptySeatbid:"Seatbid array from response has an empty item",emptyResponse:"Response is empty",hasEmptySeatbidArray:"Response has empty seatbid array",hasNoArrayOfBids:"Seatbid from response has no array of bid objects - ",notAllowedCurrency:"Currency is not supported - ",currencyMismatch:"Currency from the request is not match currency from the response - ",onlyVideoInstream:`Only video ${p.mn} supported`,videoMissing:"Bid request videoType property is missing - "},b=["EUR","USD","GBP","PLN","CHF","SEK"],v=(0,u.vM)({bidderCode:l}),h=[],x={code:l,gvlid:154,supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:function(e){return!(I(e)&&!A(e,!0)&&!function(e){return e.mediaType===a.D4||(0,s.A)(e,"mediaTypes.banner")}(e))&&(!!e.params.uid&&!isNaN(parseInt(e.params.uid)))},buildRequests:function(e,t){const n=[],r={},o=e||[],a=d.$W.getConfig(`currency.bidderCurrencyDefault.${l}`)||d.$W.getConfig("currency.adServerCurrency")||"EUR";let p,u,m,g,f,h,x,C,T,E,_;if(-1===b.indexOf(a))return void(0,i.logError)(y.notAllowedCurrency+a);const R=[];o.forEach((e=>{u=e.bidderRequestId;const t=function(e){const{params:{uid:t},bidId:n,mediaTypes:r,sizes:o,adUnitCode:d}=e,a=r&&I(e)&&A(e)&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=Object.keys(e).filter((e=>"context"!==e&&"playerSize"!==e)).reduce(((t,n)=>(t[n]=e[n],t)),{w:(0,s.A)(e,"playerSize.0.0"),h:(0,s.A)(e,"playerSize.0.1")});if(t.w&&t.h)return t}(r.video),p=function(e){const t=e&&e.sizes;if(t){if((0,i.parseSizesInput)(t).length){return{format:(0,i.sizesToSizeTuples)(t).map(i.sizeTupleToRtbSize)}}}}(r&&r.banner||!a&&{sizes:o}),u={id:n,...p&&{banner:p},...a&&{video:a},ext:{bidder:{uid:parseInt(t)}}};u.banner&&(u.ext.bidder.adslotExists=function(e){if(document.getElementById(e))return!0;const t=(0,c.p)(e);if(t.divId&&document.getElementById(t.divId))return!0;return!1}(d));if(u.ext.bidder.uid&&(u.banner||u.video))return u}(e);t&&(R.push(t),r[e.bidId]=e);const{params:{uid:o},schain:d,userId:a,userIdAsEids:p}=e;!m&&d&&(m=d),!f&&p&&(f=p),!g&&a&&(g=a),n.push(o)}));const z={};if(t){h=t.timeout,t.gdprConsent&&(t.gdprConsent.consentString&&(z.gdpr_consent=t.gdprConsent.consentString),z.gdpr_applies="boolean"==typeof t.gdprConsent.gdprApplies?Number(t.gdprConsent.gdprApplies):1);const{ortb2:e}=t,{device:n,site:r,regs:s,content:o}=e,d=e.user;let a,p;const u=function(){const e="__vads";let t;v.cookiesAreEnabled()?t=v.getCookie(e):v.localStorageIsEnabled()&&(t=v.getDataFromLocalStorage(e));if(t&&t.length)return t;if(t=function(){for(var e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",t=(new Date).getTime()%1073741824,n="",r=0;r<5;r++)n+=e[t%64],t=Math.floor(t/64);for(r=20;r--;)n+=e[64*Math.random()|0];return n}(),v.cookiesAreEnabled()){const n=new Date(Date.now()+2592e6).toUTCString();return v.setCookie(e,t,n),t}if(v.localStorageIsEnabled())return v.setDataInLocalStorage(e,t),t;return null}();(f||z.gdpr_consent||u)&&(a={ext:{...f&&{eids:f},...z.gdpr_consent&&{consent:z.gdpr_consent},...u&&{vads:u}}}),p=a?(0,i.mergeDeep)(a,d):d,n&&(x=n),r&&(C=r),s&&(T=s),o&&(E=o),p&&(_=p)}const w=h,D={ext:{wrapperType:"Prebid_js",wrapperVersion:"9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[86727],{90975:(e,t,n)=>{var r=n(7873),i=n(91069),s=n(70433),o=n(57377),d=n(43272),a=n(71371),p=n(63895),u=n(12938),c=n(51252),m=n(70392);const l="visx",g="EUR",f="/push_sync",y={noAuid:"Bid from response has no auid parameter - ",noAdm:"Bid from response has no adm parameter - ",noBid:"Array of bid objects is empty",noImpId:"Bid from response has no impid parameter - ",noPlacementCode:"Can't find in requested bids the bid with auid - ",emptyUids:"Uids should not be empty",emptySeatbid:"Seatbid array from response has an empty item",emptyResponse:"Response is empty",hasEmptySeatbidArray:"Response has empty seatbid array",hasNoArrayOfBids:"Seatbid from response has no array of bid objects - ",notAllowedCurrency:"Currency is not supported - ",currencyMismatch:"Currency from the request is not match currency from the response - ",onlyVideoInstream:`Only video ${p.mn} supported`,videoMissing:"Bid request videoType property is missing - "},b=["EUR","USD","GBP","PLN","CHF","SEK"],v=(0,u.vM)({bidderCode:l}),h=[],x={code:l,gvlid:154,supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:function(e){return!(I(e)&&!A(e,!0)&&!function(e){return e.mediaType===a.D4||(0,s.A)(e,"mediaTypes.banner")}(e))&&(!!e.params.uid&&!isNaN(parseInt(e.params.uid)))},buildRequests:function(e,t){const n=[],r={},o=e||[],a=d.$W.getConfig(`currency.bidderCurrencyDefault.${l}`)||d.$W.getConfig("currency.adServerCurrency")||"EUR";let p,u,m,g,f,h,x,C,T,E,_;if(-1===b.indexOf(a))return void(0,i.logError)(y.notAllowedCurrency+a);const R=[];o.forEach((e=>{u=e.bidderRequestId;const t=function(e){const{params:{uid:t},bidId:n,mediaTypes:r,sizes:o,adUnitCode:d}=e,a=r&&I(e)&&A(e)&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=Object.keys(e).filter((e=>"context"!==e&&"playerSize"!==e)).reduce(((t,n)=>(t[n]=e[n],t)),{w:(0,s.A)(e,"playerSize.0.0"),h:(0,s.A)(e,"playerSize.0.1")});if(t.w&&t.h)return t}(r.video),p=function(e){const t=e&&e.sizes;if(t){if((0,i.parseSizesInput)(t).length){return{format:(0,i.sizesToSizeTuples)(t).map(i.sizeTupleToRtbSize)}}}}(r&&r.banner||!a&&{sizes:o}),u={id:n,...p&&{banner:p},...a&&{video:a},ext:{bidder:{uid:parseInt(t)}}};u.banner&&(u.ext.bidder.adslotExists=function(e){if(document.getElementById(e))return!0;const t=(0,c.p)(e);if(t.divId&&document.getElementById(t.divId))return!0;return!1}(d));if(u.ext.bidder.uid&&(u.banner||u.video))return u}(e);t&&(R.push(t),r[e.bidId]=e);const{params:{uid:o},schain:d,userId:a,userIdAsEids:p}=e;!m&&d&&(m=d),!f&&p&&(f=p),!g&&a&&(g=a),n.push(o)}));const z={};if(t){h=t.timeout,t.gdprConsent&&(t.gdprConsent.consentString&&(z.gdpr_consent=t.gdprConsent.consentString),z.gdpr_applies="boolean"==typeof t.gdprConsent.gdprApplies?Number(t.gdprConsent.gdprApplies):1);const{ortb2:e}=t,{device:n,site:r,regs:s,content:o}=e,d=e.user;let a,p;const u=function(){const e="__vads";let t;v.cookiesAreEnabled()?t=v.getCookie(e):v.localStorageIsEnabled()&&(t=v.getDataFromLocalStorage(e));if(t&&t.length)return t;if(t=function(){for(var e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",t=(new Date).getTime()%1073741824,n="",r=0;r<5;r++)n+=e[t%64],t=Math.floor(t/64);for(r=20;r--;)n+=e[64*Math.random()|0];return n}(),v.cookiesAreEnabled()){const n=new Date(Date.now()+2592e6).toUTCString();return v.setCookie(e,t,n),t}if(v.localStorageIsEnabled())return v.setDataInLocalStorage(e,t),t;return null}();(f||z.gdpr_consent||u)&&(a={ext:{...f&&{eids:f},...z.gdpr_consent&&{consent:z.gdpr_consent},...u&&{vads:u}}}),p=a?(0,i.mergeDeep)(a,d):d,n&&(x=n),r&&(C=r),s&&(T=s),o&&(E=o),p&&(_=p)}const w=h,D={ext:{wrapperType:"Prebid_js",wrapperVersion:"9.6.0",...m&&{schain:m}}};return void 0===T&&(T="gdpr_applies"in z&&{ext:{gdpr:z.gdpr_applies}}),p={id:u,imp:R,tmax:w,cur:[a],source:D,..._&&{user:_},...T&&{regs:T},...x&&{device:x},...C&&{site:C},...E&&{content:E}},{method:"POST",url:S("/hb_post")+"?auids="+encodeURIComponent(n.join(",")),data:p,bidsMap:r}},interpretResponse:function(e,t){e=e&&e.body;const n=[],r=t.bidsMap,o=t.data.cur[0];let d;return e?e.seatbid&&!e.seatbid.length&&(d=y.hasEmptySeatbidArray):d=y.emptyResponse,!d&&e.seatbid&&e.seatbid.forEach((e=>{!function(e,t,n,r){if(!e)return;let o;e.auid||(o=y.noAuid+JSON.stringify(e));e.impid||(o=y.noImpId+JSON.stringify(e));if(e.adm){const i=n||g,d=t[e.impid];if(d)if(e.cur&&e.cur!==i)o=y.currencyMismatch+i+" - "+e.cur;else{const t={requestId:d.bidId,cpm:e.price,width:e.w,height:e.h,creativeId:e.auid,currency:i,netRevenue:!0,ttl:360,dealId:e.dealid,meta:{advertiserDomains:e.advertiserDomains?e.advertiserDomains:[],mediaType:e.mediaType}};if(e.ext&&e.ext.prebid&&(t.ext=e.ext.prebid,e.ext.visx&&e.ext.visx.events)){const n=t.ext.events||{};t.ext.events=Object.assign(n,e.ext.visx.events)}const n=(0,s.A)(e,"ext.prebid.targeting");n&&(t.adserverTargeting=n),C(d)?(t.vastXml=e.adm,t.mediaType="video"):t.ad=e.adm,r.push(t)}else o=y.noPlacementCode+e.auid}else o=y.noAdm+JSON.stringify(e);o&&(0,i.logError)(o)}((0,m.T)(e,y),r,o,n)})),d&&(0,i.logError)(d),n},getUserSyncs:function(e,t,n){var r=[];return n&&(n.consentString&&r.push("gdpr_consent="+encodeURIComponent(n.consentString)),r.push("gdpr_applies="+encodeURIComponent("boolean"==typeof n.gdprApplies?Number(n.gdprApplies):1))),e.iframeEnabled?[{type:"iframe",url:S(f)+"?iframe=1"+(r.length?"&"+r.join("&"):"")}]:e.pixelEnabled?[{type:"image",url:S(f)+(r.length?"?"+r.join("&"):"")}]:void 0},onSetTargeting:function(e){e.ext&&e.ext.events&&e.ext.events.pending&&(0,i.triggerPixel)(e.ext.events.pending)},onBidWon:function(e){if(e.ext&&e.ext.events&&e.ext.events.win&&(0,i.triggerPixel)(e.ext.events.win),e.ext&&e.ext.events&&e.ext.events.runtime&&!h.includes(e.auctionId)){h.push(e.auctionId);const t=function(e,t){if(e<=0)return 0;if(e>5e3)return 100;return Math.floor((e-1)/t)+1}(e.timeToRespond,50);(0,i.triggerPixel)(e.ext.events.runtime.replace("{STATUS_CODE}",999e3+t))}},onTimeout:function(e){const t=e.map((e=>{let{params:t,timeout:n}=e;const r={timeout:n};return t&&(r.params=t.map((e=>e&&e.uid?{uid:parseInt(e.uid)}:{}))),r}));(0,i.triggerPixel)(S("/track/bid_timeout")+"//"+JSON.stringify(t))}};function S(e){return(d.$W.getConfig("devMode")?"https://t-stage.visx.net":"https://t.visx.net")+e}function I(e){return e.mediaType===a.G_||(0,s.A)(e,"mediaTypes.video")}function C(e){return I(e)&&(0,s.A)(e,"mediaTypes.video",{}).context===p.mn}function A(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!0;const r=(0,s.A)(e,"mediaTypes.video");return C(e)||(t&&(0,i.logError)(y.onlyVideoInstream),n=!1),r.playerSize&&(0,i.parseSizesInput)((0,s.A)(r,"playerSize",[]))||(t&&(0,i.logError)(y.videoMissing+"playerSize"),n=!1),n}(0,o.a$)(x),(0,r.E)("visxBidAdapter")}},e=>{e.O(0,[33005,92007,60802,51085],(()=>{return t=90975,e(e.s=t);var t}));e.O()}]);
|
package/dist/vuukleBidAdapter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[76975],{10787:(e,n,t)=>{var r=t(7873),s=t(91069),i=t(70433),d=t(57377),o=t(71371),a=t(43272);const p={code:"vuukle",gvlid:1004,supportedMediaTypes:[o.D4],isBidRequestValid:function(e){return!0},buildRequests:function(e,n){n=n||{};return e.map((function(e){const t=(0,s.parseSizesInput)(e.sizes),r=t[0].split("x"),i={url:encodeURIComponent(window.location.href),sizes:JSON.stringify(t),width:r[0],height:r[1],params:JSON.stringify(e.params),rnd:Math.random(),bidId:e.bidId,source:"pbjs",schain:JSON.stringify(e.schain),requestId:e.bidderRequestId,tmax:n.timeout,gdpr:n.gdprConsent&&n.gdprConsent.gdprApplies?1:0,consentGiven:u(n.gdprConsent),version:"9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[76975],{10787:(e,n,t)=>{var r=t(7873),s=t(91069),i=t(70433),d=t(57377),o=t(71371),a=t(43272);const p={code:"vuukle",gvlid:1004,supportedMediaTypes:[o.D4],isBidRequestValid:function(e){return!0},buildRequests:function(e,n){n=n||{};return e.map((function(e){const t=(0,s.parseSizesInput)(e.sizes),r=t[0].split("x"),i={url:encodeURIComponent(window.location.href),sizes:JSON.stringify(t),width:r[0],height:r[1],params:JSON.stringify(e.params),rnd:Math.random(),bidId:e.bidId,source:"pbjs",schain:JSON.stringify(e.schain),requestId:e.bidderRequestId,tmax:n.timeout,gdpr:n.gdprConsent&&n.gdprConsent.gdprApplies?1:0,consentGiven:u(n.gdprConsent),version:"9.6.0",v:2};return n.uspConsent&&(i.uspConsent=n.uspConsent),!0===a.$W.getConfig("coppa")&&(i.coppa=1),n.gdprConsent&&n.gdprConsent.consentString&&(i.consent=n.gdprConsent.consentString),{method:"GET",url:"https://pb.vuukle.com/adapter",data:i,options:{withCredentials:!1}}}))},interpretResponse:function(e,n){if(!e||!e.body||!e.body.ad)return[];const t=e.body;return[{requestId:n.data.bidId,cpm:t.cpm,width:t.width,height:t.height,creativeId:t.creative_id,currency:t.currency||"USD",netRevenue:!0,ttl:360,ad:t.ad,meta:{advertiserDomains:Array.isArray(t.adomain)?t.adomain:[]}}]}};function u(e){let n=0;return void 0!==e&&(n=(0,i.A)(e,"vendorData.vendor.consents.1004")?1:0),n}(0,d.a$)(p),(0,r.E)("vuukleBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return n=10787,e(e.s=n);var n}));e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[27298],{44938:(e,t,n)=>{var r=n(7873),o=n(43272),i=n(57377),s=n(91069),a=n(15901),d=n(12938);const c="widespace",p="wsPerfData",u="wsLcuid",l="wsCustomData",h=(0,d.vM)({bidderCode:c});let f=0;const g={code:c,supportedMediaTypes:["banner"],isBidRequestValid:function(e){return!(!e.params||!e.params.sid)},buildRequests:function(e,t){let n=[];const r=function(){const e="https://engine.widespace.com/map/engine/dynadreq";return window.wisp&&window.wisp.ENGINE_URL?window.wisp.ENGINE_URL:e}(),o=["gender","country","region","postal","city","yob"],i=m(p).map((e=>JSON.parse(e))),d=m(l,!1)[0],c=function(){let e=m(u,!1)[0];if(!e){w(("4"+(new Date).getTime()+String(Math.floor(1e9*Math.random()))).substring(0,18),u,!1),e=m(u,!1)[0]}return e}();let h=!1;try{window.top.location.toString(),h=!1}catch(e){h=!0}return e.forEach(((e,p)=>{let u={screenWidthPx:screen&&screen.width,screenHeightPx:screen&&screen.height,adSpaceHttpRefUrl:S(),referer:(h?window:window.top).location.href.split("#")[0],inFrame:1,sid:e.params.sid,lcuid:c,vol:h?"":y(document.getElementById(e.adUnitCode)),gdprCmp:t&&t.gdprConsent?1:0,hb:"1","hb.cd":d?C(d):"","hb.floor":"","hb.spb":0===p?b():-1,"hb.ver":"2.0.1","hb.name":"prebidjs-9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[27298],{44938:(e,t,n)=>{var r=n(7873),o=n(43272),i=n(57377),s=n(91069),a=n(15901),d=n(12938);const c="widespace",p="wsPerfData",u="wsLcuid",l="wsCustomData",h=(0,d.vM)({bidderCode:c});let f=0;const g={code:c,supportedMediaTypes:["banner"],isBidRequestValid:function(e){return!(!e.params||!e.params.sid)},buildRequests:function(e,t){let n=[];const r=function(){const e="https://engine.widespace.com/map/engine/dynadreq";return window.wisp&&window.wisp.ENGINE_URL?window.wisp.ENGINE_URL:e}(),o=["gender","country","region","postal","city","yob"],i=m(p).map((e=>JSON.parse(e))),d=m(l,!1)[0],c=function(){let e=m(u,!1)[0];if(!e){w(("4"+(new Date).getTime()+String(Math.floor(1e9*Math.random()))).substring(0,18),u,!1),e=m(u,!1)[0]}return e}();let h=!1;try{window.top.location.toString(),h=!1}catch(e){h=!0}return e.forEach(((e,p)=>{let u={screenWidthPx:screen&&screen.width,screenHeightPx:screen&&screen.height,adSpaceHttpRefUrl:S(),referer:(h?window:window.top).location.href.split("#")[0],inFrame:1,sid:e.params.sid,lcuid:c,vol:h?"":y(document.getElementById(e.adUnitCode)),gdprCmp:t&&t.gdprConsent?1:0,hb:"1","hb.cd":d?C(d):"","hb.floor":"","hb.spb":0===p?b():-1,"hb.ver":"2.0.1","hb.name":"prebidjs-9.6.0","hb.bidId":e.bidId,"hb.sizes":(0,s.parseSizesInput)(e.sizes).join(","),"hb.currency":e.params.cur||e.params.currency||""};e.params.demo&&o.forEach((t=>{e.params.demo[t]&&(u[t]=e.params.demo[t])})),i[p]&&Object.keys(i[p]).forEach((e=>{u[e]=i[p][e]}));const l=navigator.connection||navigator.webkitConnection;if(l&&l.type&&l.downlinkMax&&(u["netinfo.type"]=l.type,u["netinfo.downlinkMax"]=l.downlinkMax),h||(u.forceAdId=((0,a.I6)(window.top.location.hash.split("&"),(e=>(0,a.mK)(e,"WS_DEBUG_FORCEADID")))||"").split("=")[1]),u.gdprCmp){const{gdprApplies:e,consentString:n,vendorData:r}=t.gdprConsent,o=r&&r.hasGlobalScope;u.gdprApplies=e?1:void 0===e?"":0,u.gdprConsentData=n,u.gdprHasGlobalScope=o?1:void 0===o?"":0}Object.keys(u).forEach((e=>{""!==u[e]&&void 0!==u[e]||delete u[e]})),n.push({method:"POST",options:{contentType:"application/x-www-form-urlencoded"},url:r,data:(0,s.parseQueryStringParameters)(u)})})),f=Date.now(),n},interpretResponse:function(e,t){const n=Date.now()-f,r=e.body||[];let o=[];return r.forEach((e=>{w({perf_status:"OK",perf_reqid:e.reqId,perf_ms:n},`${p}${e.reqId}`),"ad"===e.status&&o.push({requestId:e.bidId,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.adId,currency:e.currency,netRevenue:Boolean(e.netRev),ttl:e.ttl,referrer:S(),ad:e.code,meta:{advertiserDomains:e.adomain||[]}})})),o},getUserSyncs:function(e){let t=[];return t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).reduce(((e,t)=>(t&&t.body&&t.body[0]&&(t.body[0].syncPixels||[]).forEach((t=>{e.push({type:"image",url:t})})),e)),[]),t}};function w(e,t){const n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?JSON.stringify(e):e;if(h.hasLocalStorage())return h.setDataInLocalStorage(t,n),!0;if(h.cookiesAreEnabled()){const e=new Date,r=new Date(e.setMonth(e.getMonth()+12)).toGMTString();return h.setCookie(t,n,r),!0}}function m(e){return[]}function b(){const e=o.$W.getConfig("userSync");return e&&e.pixelEnabled&&e.syncEnabled?e.syncsPerBidder:-1}function y(e){if(e&&e.getBoundingClientRect){const t=e.getBoundingClientRect().top;return t<screen.height&&t>=window.top.pageYOffset?1:0}return""}function C(e){const t="object"==typeof(0,s.deepClone)(e);return encodeURIComponent(t?JSON.stringify(e):e)}function S(){try{return window.top.document.referrer}catch(e){return""}}(0,i.a$)(g),(0,r.E)("widespaceBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=44938,e(e.s=t);var t}));e.O()}]);
|
package/dist/winrBidAdapter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.pbjsChunk=self.pbjsChunk||[]).push([[48569],{14869:(e,r,n)=>{var t=n(7873),a=n(91069),s=n(70433),i=n(43272),d=n(57377),p=n(71371),o=n(15901),c=n(12938),m=n(82621),u=n(554),l=n(2349),b=n(67660);const f="winr",g="https://ib.adnxs.com/ut/v3/prebid",h="https://ib.adnxs-simple.com/ut/v3/prebid",I=["age","externalUid","segments","gender","dnt","language"],_=["geo","device_id"],y=(0,c.vM)({bidderCode:f});function v(e){const r=e,n={domParent:r.meta.domParent?`'${r.meta.domParent}'`:null,child:r.meta.child?r.meta.child:4};return r.ad=function(e,r){return`<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8">\n <title></title>\n <style>html, body {width: 100%; height: 100%; margin: 0;}</style>\n </head>\n <body>\n <script>\n function winrPbRendererLoad(cb) {\n var w = parent.document.createElement("script");\n w.innerHTML = \`\n var WINR = {\n pubDocRef: parent.document,\n pubWinRef: window.parent\n };\n var winrLib = null;\n var winrParams = {\n rtb: {\n _eng: 'xan',\n _plmnt: ${e.meta.placementId}\n },\n inR: {\n tg: ${r.domParent},\n rf: ${r.child}\n },\n };\n \`;\n var s = parent.document.head.getElementsByTagName("script")[0];\n s.parentNode.insertBefore(w, s);\n var n = parent.document.createElement("script");\n n.src = 'https://helpers.winr.com.au/dist/prebidRenderer.js';\n n.onload = function () {\n var WinrLib = window.parent.WinrPbRenderer.default;\n window.parent.winrLib = new WinrLib();\n if (!window.parent.winrLib) {\n console.log("Wnr: Renderer not found");\n return false;\n } else {\n cb();\n }\n };\n var t = parent.document.head.getElementsByTagName("script")[0];\n t.parentNode.insertBefore(n, t.nexSibling);\n }\n winrPbRendererLoad(function() {\n var tag = "${encodeURIComponent(JSON.stringify(e))}";\n window.parent.winrLib.render(tag);\n });\n <\/script>\n </body>\n </html>`}(r,n),r}const w={code:f,aliases:["wnr"],supportedMediaTypes:[p.D4],isBidRequestValid:function(e){return function(e){return e.mediaTypes&&Object.keys(e.mediaTypes)[0]}(e)===p.D4&&(!!y.cookiesAreEnabled()&&(null===y.getCookie("wnr_gate")&&!!e.params.placementId))},buildRequests:function(e,r){const n=e.map(C),t=(0,o.I6)(e,R);let d={};!0===i.$W.getConfig("coppa")&&(d={coppa:!0}),t&&Object.keys(t.params.user).filter((e=>(0,o.mK)(I,e))).forEach((e=>{let r=(0,l.vk)(e);if("segments"===e&&(0,a.isArray)(t.params.user[e])){let n=[];t.params.user[e].forEach((e=>{(0,a.isNumber)(e)?n.push({id:e}):(0,a.isPlainObject)(e)&&n.push(e)})),d[r]=n}else"segments"!==e&&(d[r]=t.params.user[e])}));const p=(0,o.I6)(e,T);let c;p&&p.params&&p.params.app&&(c={},Object.keys(p.params.app).filter((e=>(0,o.mK)(_,e))).forEach((e=>c[e]=p.params.app[e])));const u=(0,o.I6)(e,P);let b;u&&u.params&&p.params.app&&p.params.app.id&&(b={appid:u.params.app.id});const f=(0,o.I6)(e,k),y=f?parseInt(f.params.member,10):0,v=e[0].schain,w={tags:[...n],user:d,sdk:{source:"pbjs",version:"9.
|
|
1
|
+
(self.pbjsChunk=self.pbjsChunk||[]).push([[48569],{14869:(e,r,n)=>{var t=n(7873),a=n(91069),s=n(70433),i=n(43272),d=n(57377),p=n(71371),o=n(15901),c=n(12938),m=n(82621),u=n(554),l=n(2349),b=n(67660);const f="winr",g="https://ib.adnxs.com/ut/v3/prebid",h="https://ib.adnxs-simple.com/ut/v3/prebid",I=["age","externalUid","segments","gender","dnt","language"],_=["geo","device_id"],y=(0,c.vM)({bidderCode:f});function v(e){const r=e,n={domParent:r.meta.domParent?`'${r.meta.domParent}'`:null,child:r.meta.child?r.meta.child:4};return r.ad=function(e,r){return`<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8">\n <title></title>\n <style>html, body {width: 100%; height: 100%; margin: 0;}</style>\n </head>\n <body>\n <script>\n function winrPbRendererLoad(cb) {\n var w = parent.document.createElement("script");\n w.innerHTML = \`\n var WINR = {\n pubDocRef: parent.document,\n pubWinRef: window.parent\n };\n var winrLib = null;\n var winrParams = {\n rtb: {\n _eng: 'xan',\n _plmnt: ${e.meta.placementId}\n },\n inR: {\n tg: ${r.domParent},\n rf: ${r.child}\n },\n };\n \`;\n var s = parent.document.head.getElementsByTagName("script")[0];\n s.parentNode.insertBefore(w, s);\n var n = parent.document.createElement("script");\n n.src = 'https://helpers.winr.com.au/dist/prebidRenderer.js';\n n.onload = function () {\n var WinrLib = window.parent.WinrPbRenderer.default;\n window.parent.winrLib = new WinrLib();\n if (!window.parent.winrLib) {\n console.log("Wnr: Renderer not found");\n return false;\n } else {\n cb();\n }\n };\n var t = parent.document.head.getElementsByTagName("script")[0];\n t.parentNode.insertBefore(n, t.nexSibling);\n }\n winrPbRendererLoad(function() {\n var tag = "${encodeURIComponent(JSON.stringify(e))}";\n window.parent.winrLib.render(tag);\n });\n <\/script>\n </body>\n </html>`}(r,n),r}const w={code:f,aliases:["wnr"],supportedMediaTypes:[p.D4],isBidRequestValid:function(e){return function(e){return e.mediaTypes&&Object.keys(e.mediaTypes)[0]}(e)===p.D4&&(!!y.cookiesAreEnabled()&&(null===y.getCookie("wnr_gate")&&!!e.params.placementId))},buildRequests:function(e,r){const n=e.map(C),t=(0,o.I6)(e,R);let d={};!0===i.$W.getConfig("coppa")&&(d={coppa:!0}),t&&Object.keys(t.params.user).filter((e=>(0,o.mK)(I,e))).forEach((e=>{let r=(0,l.vk)(e);if("segments"===e&&(0,a.isArray)(t.params.user[e])){let n=[];t.params.user[e].forEach((e=>{(0,a.isNumber)(e)?n.push({id:e}):(0,a.isPlainObject)(e)&&n.push(e)})),d[r]=n}else"segments"!==e&&(d[r]=t.params.user[e])}));const p=(0,o.I6)(e,T);let c;p&&p.params&&p.params.app&&(c={},Object.keys(p.params.app).filter((e=>(0,o.mK)(_,e))).forEach((e=>c[e]=p.params.app[e])));const u=(0,o.I6)(e,P);let b;u&&u.params&&p.params.app&&p.params.app.id&&(b={appid:u.params.app.id});const f=(0,o.I6)(e,k),y=f?parseInt(f.params.member,10):0,v=e[0].schain,w={tags:[...n],user:d,sdk:{source:"pbjs",version:"9.6.0"},schain:v};if(y>0&&(w.member_id=y),p&&(w.device=c),u&&(w.app=b),r&&r.gdprConsent&&(w.gdpr_consent={consent_string:r.gdprConsent.consentString,consent_required:r.gdprConsent.gdprApplies}),r&&r.uspConsent&&(w.us_privacy=r.uspConsent),r&&r.refererInfo){let e={rd_ref:encodeURIComponent(r.refererInfo.topmostLocation),rd_top:r.refererInfo.reachedTop,rd_ifs:r.refererInfo.numIframes,rd_stk:r.refererInfo.stack.map((e=>encodeURIComponent(e))).join(",")};w.referrer_detection=e}if(e[0].userId){let r=[];E(r,(0,s.A)(e[0],"userId.criteoId"),"criteo.com",null),E(r,(0,s.A)(e[0],"userId.netId"),"netid.de",null),E(r,(0,s.A)(e[0],"userId.idl_env"),"liveramp.com",null),E(r,(0,s.A)(e[0],"userId.tdid"),"adserver.org","TDID"),E(r,(0,s.A)(e[0],"userId.uid2.id"),"uidapi.com","UID2"),r.length&&(w.eids=r)}n[0].publisher_id&&(w.publisher_id=n[0].publisher_id);const O=function(e,r){let n=[],t={withCredentials:!0},s=g;(0,m.C)(r?.gdprConsent)||(s=h);"TRUE"!==(0,a.getParameterByName)("apn_test").toUpperCase()&&!0!==i.$W.getConfig("apn_test")||(t.customHeaders={"X-Is-Test":1});const d=JSON.stringify(e);return n={method:"POST",url:s,data:d,bidderRequest:r,options:t},n}(w,r);return O},interpretResponse:function(e,r){let{bidderRequest:n}=r;e=e.body;const t=[];if(!e||e.error){let r=`in response for ${n.bidderCode} adapter`;return e&&e.error&&(r+=`: ${e.error}`),(0,a.logError)(r),t}return e.tags&&e.tags.forEach((e=>{const r=(s=e)&&s.ads&&s.ads.length&&(0,o.I6)(s.ads,(e=>e.rtb));var s;if(r&&0!==r.cpm&&(0,o.mK)(this.supportedMediaTypes,r.ad_type)){const s=function(e,r,n){const t=(0,a.getBidRequest)(e.uuid,[n]),s={adType:r.ad_type,requestId:e.uuid,auctionId:t.auctionId,cpm:r.cpm,creativeId:r.creative_id,brandCategoryId:r.brandCategoryId,dealId:r.deal_id,currency:"USD",netRevenue:!0,ttl:300,source:r.content_source,mediaSubtypeId:r.media_subtype_id,mediaTypeId:r.media_type_id,adUnitCode:t.adUnitCode,buyerMemberId:r.buyer_member_id,appnexus:{buyerMemberId:r.buyer_member_id,dealPriority:r.deal_priority,dealCode:r.deal_code}};r.adomain&&(s.meta=Object.assign({},s.meta,{advertiserDomains:[]}));r.advertiser_id&&(s.meta=Object.assign({},s.meta,{advertiserId:r.advertiser_id}));if(t.params){const{placementId:e,siteId:r,domParent:n,child:a}=t.params;s.meta=Object.assign({},s.meta,{placementId:e,siteId:r,domParent:n,child:a})}Object.assign(s,{width:r.rtb.banner.width,height:r.rtb.banner.height});try{r.rtb.banner&&r.rtb.trackers&&(s.banner=Object.assign({},s.banner,{content:r.rtb.banner.content,width:r.rtb.banner.width,height:r.rtb.banner.height,trackers:r.rtb.trackers}))}catch(e){(0,a.logError)("Error assigning ad",e)}return s}(e,r,n);s.mediaType=function(e){const r=e.ad_type;if(r!==p.D4)return!1;return p.D4}(r),t.push(s)}})),t.map((e=>v(e)))},getUserSyncs:function(e){if(e.iframeEnabled)return[{type:"iframe",url:"https://acdn.adnxs.com/dmp/async_usersync.html"}]}};function C(e){const r={};r.sizes=(0,b.p)(e.sizes),r.primary_size=r.sizes[0],r.ad_types=[],r.uuid=e.bidId,e.params.placementId?r.id=parseInt(e.params.placementId,10):r.code=e.params.invCode,r.allow_smaller_sizes=e.params.allowSmallerSizes||!1,r.use_pmt_rule=e.params.usePaymentRule||!1,r.prebid=!0,r.disable_psa=!0;let n=function(e){if(!(0,a.isFn)(e.getFloor))return e.params.reserve?e.params.reserve:null;let r=e.getFloor({currency:"USD",mediaType:"*",size:"*"});if((0,a.isPlainObject)(r)&&!isNaN(r.floor)&&"USD"===r.currency)return r.floor;return null}(e);n&&(r.reserve=n),e.params.trafficSourceCode&&(r.traffic_source_code=e.params.trafficSourceCode),e.params.privateSizes&&(r.private_sizes=(0,b.p)(e.params.privateSizes)),e.params.pubClick&&(r.pubclick=e.params.pubClick),e.params.publisherId&&(r.publisher_id=parseInt(e.params.publisherId,10)),e.params.externalImpId&&(r.external_imp_id=e.params.externalImpId),r.keywords=(0,u.QF)(e.ortb2,e.params.keywords);let t=(0,s.A)(e,"ortb2Imp.ext.gpid")||(0,s.A)(e,"ortb2Imp.ext.data.pbadslot");return t&&(r.gpid=t),r.hb_source=1,0===r.ad_types.length&&delete r.ad_types,r}function R(e){return!!e.params.user}function k(e){return!!parseInt(e.params.member,10)}function T(e){if(e.params)return!!e.params.app}function P(e){return e.params&&e.params.app?!!e.params.app.id:!!e.params.app}function E(e,r,n,t){return r&&(t?e.push({source:n,id:r,rti_partner:t}):e.push({source:n,id:r})),e}(0,d.a$)(w),(0,t.E)("winrBidAdapter")}},e=>{e.O(0,[60802,18139,97247,95444,51085],(()=>{return r=14869,e(e.s=r);var r}));e.O()}]);
|
|
@@ -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.6.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.
|
|
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.6.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.6.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.
|
|
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.6.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()}]);
|