@optable/web-sdk 0.42.0 → 0.44.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/README.md CHANGED
@@ -114,9 +114,6 @@ When creating an instance of `OptableSDK`, you can pass an `InitConfig` object t
114
114
  - **`cookies` (boolean, default: `true`)**
115
115
  If `true`, enables the use of browser cookies for storage.
116
116
 
117
- - **`legacyHostCache` (string)**
118
- Used when migrating from one DCN host to another. If specified, it retains the previous cache state when switching hosts.
119
-
120
117
  - **`initPassport` (boolean, default: `true`)**
121
118
  If `true`, initializes the user passport (identity mechanism) upon SDK load.
122
119
 
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see sdk.js.LICENSE.txt */
2
- (()=>{var e={312:(e,t,r)=>{var i;!function(){"use strict";var t="input is invalid type",s="object"==typeof window,n=s?window:{};n.JS_SHA256_NO_WINDOW&&(s=!1);var o=!s&&"object"==typeof self,a=!n.JS_SHA256_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;a?n=r.g:o&&(n=self);var c=!n.JS_SHA256_NO_COMMON_JS&&e.exports,d=r.amdO,u=!n.JS_SHA256_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,h="0123456789abcdef".split(""),p=[-2147483648,8388608,32768,128],l=[24,16,8,0],g=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],f=["hex","array","digest","arrayBuffer"],m=[];!n.JS_SHA256_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!u||!n.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var y=function(e,t){return function(r){return new b(t,!0).update(r)[e]()}},w=function(e){var t=y("hex",e);a&&(t=v(t,e)),t.create=function(){return new b(e)},t.update=function(e){return t.create().update(e)};for(var r=0;r<f.length;++r){var i=f[r];t[i]=y(i,e)}return t},v=function(e,i){var s,o=r(394),a=r(903).Buffer,c=i?"sha224":"sha256";return s=a.from&&!n.JS_SHA256_NO_BUFFER_FROM?a.from:function(e){return new a(e)},function(r){if("string"==typeof r)return o.createHash(c).update(r,"utf8").digest("hex");if(null==r)throw new Error(t);return r.constructor===ArrayBuffer&&(r=new Uint8Array(r)),Array.isArray(r)||ArrayBuffer.isView(r)||r.constructor===a?o.createHash(c).update(s(r)).digest("hex"):e(r)}},A=function(e,t){return function(r,i){return new P(r,t,!0).update(i)[e]()}},S=function(e){var t=A("hex",e);t.create=function(t){return new P(t,e)},t.update=function(e,r){return t.create(e).update(r)};for(var r=0;r<f.length;++r){var i=f[r];t[i]=A(i,e)}return t};function b(e,t){t?(m[0]=m[16]=m[1]=m[2]=m[3]=m[4]=m[5]=m[6]=m[7]=m[8]=m[9]=m[10]=m[11]=m[12]=m[13]=m[14]=m[15]=0,this.blocks=m):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}function P(e,r,i){var s,n=typeof e;if("string"===n){var o,a=[],c=e.length,d=0;for(s=0;s<c;++s)(o=e.charCodeAt(s))<128?a[d++]=o:o<2048?(a[d++]=192|o>>>6,a[d++]=128|63&o):o<55296||o>=57344?(a[d++]=224|o>>>12,a[d++]=128|o>>>6&63,a[d++]=128|63&o):(o=65536+((1023&o)<<10|1023&e.charCodeAt(++s)),a[d++]=240|o>>>18,a[d++]=128|o>>>12&63,a[d++]=128|o>>>6&63,a[d++]=128|63&o);e=a}else{if("object"!==n)throw new Error(t);if(null===e)throw new Error(t);if(u&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||u&&ArrayBuffer.isView(e)))throw new Error(t)}e.length>64&&(e=new b(r,!0).update(e).array());var h=[],p=[];for(s=0;s<64;++s){var l=e[s]||0;h[s]=92^l,p[s]=54^l}b.call(this,r,i),this.update(p),this.oKeyPad=h,this.inner=!0,this.sharedMemory=i}b.prototype.update=function(e){if(!this.finalized){var r,i=typeof e;if("string"!==i){if("object"!==i)throw new Error(t);if(null===e)throw new Error(t);if(u&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||u&&ArrayBuffer.isView(e)))throw new Error(t);r=!0}for(var s,n,o=0,a=e.length,c=this.blocks;o<a;){if(this.hashed&&(this.hashed=!1,c[0]=this.block,this.block=c[16]=c[1]=c[2]=c[3]=c[4]=c[5]=c[6]=c[7]=c[8]=c[9]=c[10]=c[11]=c[12]=c[13]=c[14]=c[15]=0),r)for(n=this.start;o<a&&n<64;++o)c[n>>>2]|=e[o]<<l[3&n++];else for(n=this.start;o<a&&n<64;++o)(s=e.charCodeAt(o))<128?c[n>>>2]|=s<<l[3&n++]:s<2048?(c[n>>>2]|=(192|s>>>6)<<l[3&n++],c[n>>>2]|=(128|63&s)<<l[3&n++]):s<55296||s>=57344?(c[n>>>2]|=(224|s>>>12)<<l[3&n++],c[n>>>2]|=(128|s>>>6&63)<<l[3&n++],c[n>>>2]|=(128|63&s)<<l[3&n++]):(s=65536+((1023&s)<<10|1023&e.charCodeAt(++o)),c[n>>>2]|=(240|s>>>18)<<l[3&n++],c[n>>>2]|=(128|s>>>12&63)<<l[3&n++],c[n>>>2]|=(128|s>>>6&63)<<l[3&n++],c[n>>>2]|=(128|63&s)<<l[3&n++]);this.lastByteIndex=n,this.bytes+=n-this.start,n>=64?(this.block=c[16],this.start=n-64,this.hash(),this.hashed=!0):this.start=n}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this}},b.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>>2]|=p[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},b.prototype.hash=function(){var e,t,r,i,s,n,o,a,c,d=this.h0,u=this.h1,h=this.h2,p=this.h3,l=this.h4,f=this.h5,m=this.h6,y=this.h7,w=this.blocks;for(e=16;e<64;++e)t=((s=w[e-15])>>>7|s<<25)^(s>>>18|s<<14)^s>>>3,r=((s=w[e-2])>>>17|s<<15)^(s>>>19|s<<13)^s>>>10,w[e]=w[e-16]+t+w[e-7]+r|0;for(c=u&h,e=0;e<64;e+=4)this.first?(this.is224?(n=300032,y=(s=w[0]-1413257819)-150054599|0,p=s+24177077|0):(n=704751109,y=(s=w[0]-210244248)-1521486534|0,p=s+143694565|0),this.first=!1):(t=(d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10),i=(n=d&u)^d&h^c,y=p+(s=y+(r=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7))+(l&f^~l&m)+g[e]+w[e])|0,p=s+(t+i)|0),t=(p>>>2|p<<30)^(p>>>13|p<<19)^(p>>>22|p<<10),i=(o=p&d)^p&u^n,m=h+(s=m+(r=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7))+(y&l^~y&f)+g[e+1]+w[e+1])|0,t=((h=s+(t+i)|0)>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10),i=(a=h&p)^h&d^o,f=u+(s=f+(r=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&y^~m&l)+g[e+2]+w[e+2])|0,t=((u=s+(t+i)|0)>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),i=(c=u&h)^u&p^a,l=d+(s=l+(r=(f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))+(f&m^~f&y)+g[e+3]+w[e+3])|0,d=s+(t+i)|0,this.chromeBugWorkAround=!0;this.h0=this.h0+d|0,this.h1=this.h1+u|0,this.h2=this.h2+h|0,this.h3=this.h3+p|0,this.h4=this.h4+l|0,this.h5=this.h5+f|0,this.h6=this.h6+m|0,this.h7=this.h7+y|0},b.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,i=this.h3,s=this.h4,n=this.h5,o=this.h6,a=this.h7,c=h[e>>>28&15]+h[e>>>24&15]+h[e>>>20&15]+h[e>>>16&15]+h[e>>>12&15]+h[e>>>8&15]+h[e>>>4&15]+h[15&e]+h[t>>>28&15]+h[t>>>24&15]+h[t>>>20&15]+h[t>>>16&15]+h[t>>>12&15]+h[t>>>8&15]+h[t>>>4&15]+h[15&t]+h[r>>>28&15]+h[r>>>24&15]+h[r>>>20&15]+h[r>>>16&15]+h[r>>>12&15]+h[r>>>8&15]+h[r>>>4&15]+h[15&r]+h[i>>>28&15]+h[i>>>24&15]+h[i>>>20&15]+h[i>>>16&15]+h[i>>>12&15]+h[i>>>8&15]+h[i>>>4&15]+h[15&i]+h[s>>>28&15]+h[s>>>24&15]+h[s>>>20&15]+h[s>>>16&15]+h[s>>>12&15]+h[s>>>8&15]+h[s>>>4&15]+h[15&s]+h[n>>>28&15]+h[n>>>24&15]+h[n>>>20&15]+h[n>>>16&15]+h[n>>>12&15]+h[n>>>8&15]+h[n>>>4&15]+h[15&n]+h[o>>>28&15]+h[o>>>24&15]+h[o>>>20&15]+h[o>>>16&15]+h[o>>>12&15]+h[o>>>8&15]+h[o>>>4&15]+h[15&o];return this.is224||(c+=h[a>>>28&15]+h[a>>>24&15]+h[a>>>20&15]+h[a>>>16&15]+h[a>>>12&15]+h[a>>>8&15]+h[a>>>4&15]+h[15&a]),c},b.prototype.toString=b.prototype.hex,b.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,i=this.h3,s=this.h4,n=this.h5,o=this.h6,a=this.h7,c=[e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,n>>>24&255,n>>>16&255,n>>>8&255,255&n,o>>>24&255,o>>>16&255,o>>>8&255,255&o];return this.is224||c.push(a>>>24&255,a>>>16&255,a>>>8&255,255&a),c},b.prototype.array=b.prototype.digest,b.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e},P.prototype=new b,P.prototype.finalize=function(){if(b.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();b.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),b.prototype.finalize.call(this)}};var _=w();_.sha256=_,_.sha224=w(!0),_.sha256.hmac=S(),_.sha224.hmac=S(!0),c?e.exports=_:(n.sha256=_.sha256,n.sha224=_.sha224,d&&(void 0===(i=function(){return _}.call(_,r,_,e))||(e.exports=i)))}()},903:()=>{},394:()=>{}},t={};function r(i){var s=t[i];if(void 0!==s)return s.exports;var n=t[i]={exports:{}};return e[i](n,n.exports,r),n.exports}r.amdO={},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{"use strict";const e={r:"v0.42.0"};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function i(e,r,i){return(r=function(e){var r=function(e){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=t(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(r)?r:r+""}(r))in e?Object.defineProperty(e,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[r]=i,e}async function s(e){const t=await S("/config",e,{method:"GET",headers:{Accept:"application/json"}});return new A(e).setSite(t),t}const n={"Europe/Vienna":"gdpr","Europe/Brussels":"gdpr","Europe/Sofia":"gdpr","Europe/Zagreb":"gdpr","Asia/Nicosia":"gdpr","Europe/Nicosia":"gdpr","Europe/Prague":"gdpr","Europe/Copenhagen":"gdpr","Europe/Tallinn":"gdpr","Europe/Helsinki":"gdpr","Europe/Paris":"gdpr","Europe/Berlin":"gdpr","Europe/Athens":"gdpr","Europe/Budapest":"gdpr","Atlantic/Reykjavik":"gdpr","Europe/Dublin":"gdpr","Europe/Rome":"gdpr","Europe/Riga":"gdpr","Europe/Vaduz":"gdpr","Europe/Vilnius":"gdpr","Europe/Luxembourg":"gdpr","Europe/Malta":"gdpr","Europe/Oslo":"gdpr","Europe/Warsaw":"gdpr","Europe/Lisbon":"gdpr","Europe/Bucharest":"gdpr","Europe/Bratislava":"gdpr","Europe/Ljubljana":"gdpr","Europe/Madrid":"gdpr","Europe/Stockholm":"gdpr","Europe/Amsterdam":"gdpr","Atlantic/Azores":"gdpr","Atlantic/Canary":"gdpr","America/Cayenne":"gdpr","America/Guadeloupe":"gdpr","Atlantic/Madeira":"gdpr","America/Martinique":"gdpr","Indian/Mayotte":"gdpr","Indian/Reunion":"gdpr","America/Marigot":"gdpr","Europe/Zurich":"gdpr","Europe/London":"gdpr","America/Toronto":"can","America/Adak":"us","America/Anchorage":"us","America/Atka":"us","America/Boise":"us","America/Chicago":"us","America/Denver":"us","America/Detroit":"us","America/Indiana/Indianapolis":"us","America/Indiana/Knox":"us","America/Indiana/Marengo":"us","America/Indiana/Petersburg":"us","America/Indiana/Tell_City":"us","America/Indiana/Vevay":"us","America/Indiana/Vincennes":"us","America/Indiana/Winamac":"us","America/Indianapolis":"us","America/Juneau":"us","America/Kentucky/Louisville":"us","America/Kentucky/Monticello":"us","America/Knox_IN":"us","America/Los_Angeles":"us","America/Louisville":"us","America/Menominee":"us","America/Metlakatla":"us","America/New_York":"us","America/Nome":"us","America/North_Dakota/Beulah":"us","America/North_Dakota/Center":"us","America/North_Dakota/New_Salem":"us","America/Phoenix":"us","America/Shiprock":"us","America/Sitka":"us","America/Yakutat":"us","Pacific/Honolulu":"us"},o="tcfcav1",a="tcfeuv2",c=[2],d=[5],u=[7,8,10,12,17,13,18,14,19,20,21,15,22,16,11,9];function h(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=function(e,t){const{gdprApplies:r,gppSectionIDs:i,gdprData:s}=t;if(void 0!==r)return r?"gdpr":"gdpr"===e?null:e;if(void 0!==s&&"gdpr"===e)return"gdpr";if(void 0===i||1===i.length&&0===i[0])return e;if(1===i.length&&-1===i[0])return null;if(i.some((e=>c.includes(e))))return"gdpr";if(i.some((e=>d.includes(e))))return"can";if(i.some((e=>u.includes(e))))return"us";switch(e){case"gdpr":if(!i.some((e=>c.includes(e))))return null;break;case"can":if(!i.some((e=>d.includes(e))))return null;break;case"us":if(!i.some((e=>u.includes(e))))return null}return e}(e,t),s={reg:i,gpp:t.gppString,gppSectionIDs:t.gppSectionIDs,gdpr:t.gdprString,gdprApplies:t.gdprApplies,deviceAccess:!1,createProfilesForAdvertising:!1,useProfilesForAdvertising:!1,measureAdvertisingPerformance:!1};switch(i){case"gdpr":t.gdprData?(s.deviceAccess=l(t.gdprData,1,r.tcfeuVendorID),s.createProfilesForAdvertising=l(t.gdprData,3,r.tcfeuVendorID),s.useProfilesForAdvertising=l(t.gdprData,4,r.tcfeuVendorID),s.measureAdvertisingPerformance=l(t.gdprData,7,r.tcfeuVendorID)):t.gppData&&(s.deviceAccess=f(t.gppData,1,r.tcfeuVendorID),s.createProfilesForAdvertising=f(t.gppData,3,r.tcfeuVendorID),s.useProfilesForAdvertising=f(t.gppData,4,r.tcfeuVendorID),s.measureAdvertisingPerformance=f(t.gppData,7,r.tcfeuVendorID));break;case"can":s.deviceAccess=!0,t.gppData&&(s.createProfilesForAdvertising=g(t.gppData,3,r.tcfcaVendorID),s.useProfilesForAdvertising=g(t.gppData,4,r.tcfcaVendorID),s.measureAdvertisingPerformance=g(t.gppData,7,r.tcfcaVendorID));break;default:s.deviceAccess=!0,s.createProfilesForAdvertising=!0,s.useProfilesForAdvertising=!0,s.measureAdvertisingPerformance=!0}return s}function p(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={};!function(){if("function"==typeof window.__tcfapi)return;let e;const t={};let r=window;for(;r;){try{if(r.frames.__tcfapiLocator){e=r;break}}catch{}if(r===window.top)break;r=r.parent}e&&(window.__tcfapi=function(r,i,s){const n=Math.random()+"";t[n]=s,e.postMessage({__tcfapiCall:{command:r,version:i,callId:n}},"*")},window.addEventListener("message",(e=>{let r={};try{r="string"==typeof e.data?JSON.parse(e.data):e.data}catch{}const i=r.__tcfapiReturn;i&&"function"==typeof t[i.callId]&&(t[i.callId](i.returnValue,i.success),delete t[i.callId])}),!1))}(),function(){if("function"==typeof window.__gpp)return;let e;const t={};let r=window;for(;r;){try{if(r.frames.__gppLocator){e=r;break}}catch{}if(r===window.top)break;r=r.parent}e&&(window.__gpp=function(r,i){const s=Math.random()+"";t[s]=i,e.postMessage({__gppCall:{command:r,version:"1.1",callId:s}},"*")},window.addEventListener("message",(e=>{let r={};try{r="string"==typeof e.data?JSON.parse(e.data):e.data}catch{}const i=r.__gppReturn;i&&"function"==typeof t[i.callId]&&(t[i.callId](i.returnValue,i.success),delete t[i.callId])}),!1))}();const i=h(e,r,t);return"function"==typeof window.__tcfapi&&window.__tcfapi?.("addEventListener",2,((s,n)=>{n&&("tcloaded"===s.eventStatus||"useractioncomplete"===s.eventStatus)&&(s=>{r.gdprString=s.tcString,r.gdprApplies=s.gdprApplies,r.gdprData=s,Object.assign(i,h(e,r,t))})(s)})),"function"==typeof window.__gpp&&window.__gpp?.("addEventListener",((s,n)=>{n&&"signalStatus"===s.eventName&&"ready"===s.data&&(s=>{r.gppString=s.gppString,r.gppSectionIDs=s.applicableSections,r.gppData=s,Object.assign(i,h(e,r,t))})(s.pingData)})),i}function l(e,t,r){return r?!!e.purpose?.consents?.[t]&&!!e.vendor?.consents?.[r]:!!e.publisher?.consents?.[t]}function g(e,t,r){const i=t>1,s=e.parsedSections?.[o]||[];if("number"==typeof r){const e=s.find((e=>"Version"in e));if(!e)return!1;let n=e.PurposesExpressConsent.includes(t)&&e.VendorExpressConsent.includes(r);return i&&(n||=e.PurposesImpliedConsent.includes(t)&&e.VendorImpliedConsent.includes(r)),n}const n=s.find((e=>"SubsectionType"in e&&3===e.SubsectionType));if(!n)return!1;let a=n.PubPurposesExpressConsent.includes(t);return i&&(a||=n.PubPurposesImpliedConsent.includes(t)),a}function f(e,t,r){const i=t>1,s=e.parsedSections?.[a]||[];if("number"==typeof r){const e=s.find((e=>"Version"in e));if(!e)return!1;let n=e.PurposeConsent.includes(t)&&e.VendorConsent.includes(r);return i&&(n||=e.PurposesLITransparency.includes(t)&&e.VendorLegitimateInterest.includes(r)),n}const n=s.find((e=>"SegmentType"in e&&3===e.SegmentType));if(!n)return!1;let o=n.PubPurposesConsent.includes(t);return i&&(o||=n.PubPurposesLITransparency.includes(t)),o}class m{constructor(e){i(this,"consent",void 0),this.consent=e}getItem(e){return this.consent.deviceAccess?window.localStorage.getItem(e):null}setItem(e,t){this.consent.deviceAccess&&window.localStorage.setItem(e,t)}removeItem(e){this.consent.deviceAccess&&window.localStorage.removeItem(e)}}const y="_optable_pairId";function w(e){const t=new Uint16Array(e.length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return btoa(String.fromCharCode(...new Uint8Array(t.buffer)))}function v(e){return e.node?w(`${e.host}/${e.node}`):w(`${e.host}`)}class A{constructor(e){this.config=e,i(this,"passportKeys",void 0),i(this,"targetingKeys",void 0),i(this,"siteKeys",void 0),i(this,"pairKeys",void 0),i(this,"storage",void 0),this.passportKeys=function(e){const t=[],r=[],i=`OPTABLE_PASSPORT_${v(e)}`;return t.push(i),r.push(i),e.legacyHostCache?(r.push(`OPTABLE_PASSPORT_${w(`${e.legacyHostCache}`)}`),r.push(`OPTABLE_PASS_${w(`${e.legacyHostCache}/${e.site}`)}`)):r.push(`OPTABLE_PASS_${w(`${e.host}/${e.site}`)}`),{write:t,read:r}}(e),this.targetingKeys=function(e){const t=`OPTABLE_TARGETING_${v(e)}`;return{write:[t,e.optableCacheTargeting],read:[t]}}(e),this.siteKeys=function(e){const t=`OPTABLE_SITE_${v(e)}`;return{write:[t],read:[t]}}(e),this.pairKeys={write:[y],read:[y]},this.storage=new m(this.config.consent)}getPassport(){return this.readStorageKeys(this.passportKeys)}setPassport(e){this.writeToStorageKeys(this.passportKeys,e)}getTargeting(){const e=this.readStorageKeys(this.targetingKeys);return e?JSON.parse(e):null}setTargeting(e){e&&(this.writeToStorageKeys(this.targetingKeys,JSON.stringify(e)),this.setPairIDs(e))}getSite(){const e=this.readStorageKeys(this.siteKeys);return e?JSON.parse(e):null}setSite(e){e&&this.writeToStorageKeys(this.siteKeys,JSON.stringify(e))}setPairIDs(e){const t=e.ortb2?.user?.eids?.filter((e=>"pair-protocol.com"===e.source)),r=t?.flatMap((e=>e.uids));if(!r)return;const i=new Set(r.map((e=>e.id)));this.writeToStorageKeys(this.pairKeys,btoa(JSON.stringify({envelope:[...i]})))}getPairIDs(){const e=this.readStorageKeys(this.pairKeys);return e?JSON.parse(atob(e))?.envelope:null}readStorageKeys(e){for(const t of e.read){const e=this.storage.getItem(t);if(e)return e}return null}writeToStorageKeys(e,t){if(t)for(const r of e.write)this.storage.setItem(r,t)}clearStorageKeys(e){for(const t of[...e.read,...e.write])this.storage.removeItem(t)}clearPassport(){this.clearStorageKeys(this.passportKeys)}clearTargeting(){this.clearStorageKeys(this.targetingKeys)}clearSite(){this.clearStorageKeys(this.siteKeys)}}async function S(t,r,i){const s=await globalThis.fetch(function(t,r,i){const{host:s,cookies:n}=r,o=new URL(t,`https://${s}`);if(o.searchParams.set("osdk",`web-${e.r}`),o.searchParams.set("sid",r.sessionID),r.skipEnrichment&&o.searchParams.set("skip_enrichment",`${r.skipEnrichment}`),r.node&&o.searchParams.set("t",r.node),r.site&&o.searchParams.set("o",r.site),void 0!==r.consent.gpp&&o.searchParams.set("gpp",r.consent.gpp),void 0!==r.consent.gppSectionIDs&&o.searchParams.set("gpp_sid",r.consent.gppSectionIDs.join(",")),void 0!==r.consent.gdpr&&o.searchParams.set("gdpr_consent",r.consent.gdpr),void 0!==r.consent.gdprApplies&&o.searchParams.set("gdpr",Number(r.consent.gdprApplies).toString()),r.readOnly&&o.searchParams.set("ro","true"),r.timeout&&o.searchParams.set("timeout",r.timeout),n)o.searchParams.set("cookies","yes");else{const e=new A(r).getPassport();o.searchParams.set("cookies","no"),o.searchParams.set("passport",e||"")}const a={...i};return a.credentials=r.consent.deviceAccess?"include":"omit",r.mockedIP&&(a.headers=new Headers(a.headers),a.headers.set("X-Forwarded-For",r.mockedIP)),new Request(o.toString(),a)}(t,r,i)),n=s.headers.get("Content-Type"),o=n?.startsWith("application/json")?await s.json():await s.text();if(!s.ok)throw new Error(o.error);return o.passport&&(new A(r).setPassport(o.passport),delete o.passport),o}var b,P,_,I=((P=I||{})[P.Banner=1]="Banner",P[P.Video=2]="Video",P[P.Audio=3]="Audio",P[P.Native=4]="Native",P),E={},T={},k={};(_=b||(b={})).Placement=T,_.Media=k,_.Context=E;const C={cookies:!0,initPassport:!0,readOnly:!1,experiments:[],consent:{reg:null,deviceAccess:!0,createProfilesForAdvertising:!0,useProfilesForAdvertising:!0,measureAdvertisingPerformance:!0}};function D(){const e=new Uint8Array(16);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function O(e){return{user:{data:(e?.audience??[]).map((e=>({name:e.provider,segment:e.ids,ext:{segtax:e.rtb_segtax}}))),ext:{eids:(e?.user??[]).map((e=>({source:e.provider,uids:e.ids.map((e=>{let{id:t}=e;return{id:t,atype:3}}))})))}}}}function x(e){const t={};if(!e)return t;for(const r of e.audience??[])r.keyspace&&(r.keyspace in t||(t[r.keyspace]=[]),t[r.keyspace].push(...r.ids.map((e=>e.id))));return t}function N(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function K(){const e={};let t=0;return{refs:e,process:(r,i)=>{if(!r.refs)return i;for(const s of i.uids)if(N(s.ext?.optable)&&"ref"in s.ext.optable&&"string"==typeof s.ext.optable.ref){const i=r.refs[s.ext.optable.ref];t+=1;const n=t.toString(10);e[n]=i,s.ext.optable.ref=n}return i}}}var B=r(312);class V{constructor(e){i(this,"dcn",void 0),i(this,"init",void 0),this.dcn=function(e){const t={host:e.host,site:e.site,optableCacheTargeting:e.optableCacheTargeting??"optable-cache:targeting",cookies:e.cookies??C.cookies,initPassport:e.initPassport??C.initPassport,consent:C.consent,readOnly:e.readOnly??C.readOnly,node:e.node,legacyHostCache:e.legacyHostCache,experiments:e.experiments??C.experiments,mockedIP:e.mockedIP,sessionID:e.sessionID??D(),skipEnrichment:e.skipEnrichment,initTargeting:e.initTargeting,abTests:e.abTests,additionalTargetingSignals:e.additionalTargetingSignals,timeout:e.timeout};return e.consent?.static?t.consent=e.consent.static:e.consent?.cmpapi&&(t.consent=p(function(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,t=n[e];return"can"===t?["fr","fr-CA"].some((e=>navigator.languages.includes(e)))?"can":null:t??null}(),e.consent.cmpapi)),t}(e),this.init=this.initialize()}async initialize(){this.dcn.initPassport&&await s(this.dcn).catch((()=>{})),this.dcn.initTargeting&&this.targeting().catch((()=>{}))}async identify(){await this.init;for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e,t){return S("/identify",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}(this.dcn,t.filter((e=>e)))}async uid2Token(e){return await this.init,function(e,t){return S("/uid2/token",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}(this.dcn,e)}async targeting(){const e=function(e){if("string"==typeof e)return{ids:[e],hids:[]};if(N(e))return{ids:e?.ids??[],hids:e?.hids??[]};throw"Invalid request type for targeting. Expected string or object."}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"__passport__");return await this.init,async function(e,t){const r=new URLSearchParams;t.ids.forEach((e=>r.append("id",e))),t.hids.forEach((e=>r.append("hid",e)));const i=function(e){if(!e||0===e.length)return null;if(e.reduce(((e,t)=>e+t.trafficPercentage),0)>100)return console.error("AB Test Config Error: Traffic Percentage Sum Exceeds 100%"),null;const t=Math.floor(100*Math.random());let r=0;for(const i of e)if(r+=i.trafficPercentage,t<r)return i;return null}(e.abTests);i&&(r.append("ab_test_id",i.id),i.matcher_override&&[...i.matcher_override].sort(((e,t)=>e.rank-t.rank)).forEach((e=>{r.append("matcher_override",e.id)})),i.skipMatchers&&r.append("skip_matchers",i.skipMatchers.join(",")));e.additionalTargetingSignals?.ref&&r.append("ref",`${window.location.protocol}//${window.location.host}${window.location.pathname}`);const s="/v2/targeting?"+r.toString(),n=await S(s,e,{method:"GET",headers:{Accept:"application/json"}});return n&&(new A(e).setTargeting(n),function(e,t){const r=t.ortb2?.user?.eids?.map((e=>e.matcher));window.dispatchEvent(new CustomEvent("optable-targeting:change",{detail:{instance:e.node||e.host,resolved:!!t.ortb2?.user?.eids?.length,resolvedIDs:t.resolved_ids??[],abTestID:t.ab_test_id??void 0,ortb2:t.ortb2,provenance:new Set(r)}}))}(e,n)),n}(this.dcn,e)}targetingFromCache(){return e=this.dcn,new A(e).getTargeting();var e}async site(){return s(this.dcn)}siteFromCache(){return e=this.dcn,new A(e).getSite();var e}targetingClearCache(){var e;e=this.dcn,new A(e).clearTargeting()}async prebidORTB2(){return O(await this.targeting())}prebidORTB2FromCache(){return O(this.targetingFromCache())}async targetingKeyValues(){return x(await this.targeting())}targetingKeyValuesFromCache(){return x(this.targetingFromCache())}async witness(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this.init,function(e,t,r){const i={event:t,properties:r};return S("/witness",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})}(this.dcn,e,t)}async profile(e){return await this.init,function(e,t){const r={traits:t};return S("/profile",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}(this.dcn,e)}async tokenize(e){return await this.init,function(e,t){let r={id:t};return S("/v2/tokenize",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}(this.dcn,e)}async resolve(e){return await this.init,async function(e,t){const r=new URLSearchParams;"string"==typeof t&&r.append("id",t);const i="/v1/resolve?"+r.toString();return function(e){const t={clusters:[],lmpid:""};if("object"!=typeof e||null===e)return t;if("lmpid"in e&&"string"==typeof e?.lmpid&&(t.lmpid=e.lmpid),!("clusters"in e)||!Array.isArray(e?.clusters))return t;for(const r of e.clusters){const e={ids:[],traits:[]};if(Array.isArray(r?.ids))for(const t of r.ids)"string"==typeof t&&e.ids.push(t);if(Array.isArray(r?.traits))for(const t of r.traits)"string"==typeof t?.key&&"string"==typeof t?.value&&e.traits.push({key:t.key,value:t.value});(e.ids.length>0||e.traits.length>0)&&t.clusters.push(e)}return t}(await S(i,e,{method:"GET",headers:{Accept:"application/json"}}))}(this.dcn,e)}static eid(e){return e?"e:"+B.sha256.hex(e.toLowerCase().trim()):""}static sha256(e){return e?B.sha256.hex(e):""}static cid(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r="c:";if("string"!=typeof e)throw new Error("Invalid ppid");if("number"!=typeof t||isNaN(t)||t<0||t>19)throw new Error("Invalid variant");return t>0&&(r=`c${t}:`),e?r+e.trim():""}static TargetingKeyValues(e){return x(e)}static PrebidORTB2(e){return O(e)}}i(V,"version",e.r);const j=V;function L(e){return{advertiserId:e.advertiserId?.toString(),campaignId:e.campaignId?.toString(),creativeId:e.creativeId?.toString(),isEmpty:e.isEmpty?.toString(),lineItemId:e.lineItemId?.toString(),serviceName:e.serviceName?.toString(),size:e.size?.toString(),slotElementId:e.slot?.getSlotElementId(),sourceAgnosticCreativeId:e.sourceAgnosticCreativeId?.toString(),sourceAgnosticLineItemId:e.sourceAgnosticLineItemId?.toString()}}j.prototype.installGPTEventListeners=function(){const e=this;e.installGPTEventListeners=function(){},window.googletag=window.googletag||{cmd:[]};const t=window.googletag;t.cmd.push((function(){t.pubads().addEventListener("slotRenderEnded",(function(t){e.witness("googletag.events.slotRenderEnded",L(t))})),t.pubads().addEventListener("impressionViewable",(function(t){e.witness("googletag.events.impressionViewable",L(t))}))}))},j.prototype.installGPTSecureSignals=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];window.googletag=window.googletag||{cmd:[]};const i=window.googletag;t&&t.length>0&&i.cmd.push((()=>{t.forEach((e=>{let{provider:t,id:r}=e;i.secureSignalProviders.push({id:t,collectorFunction:()=>Promise.resolve(r)})}))}))};const F=/^[a-f0-9]{64}$/i;j.prototype.tryIdentifyFromParams=function(e,t){const r=new RegExp(`^${e||"oeid"}$`,"i"),i=new URLSearchParams(window.location.search);let s="";for(const[e,t]of i)if(r.test(e)){s=t;break}""!=s&&(t||function(e){return F.test(e)}(s))&&this.identify((t||"e")+":"+s.toLowerCase())},window.optable=window.optable||{},window.optable.SDK=j,window.optable.cmd=new class{constructor(e){if(this.cmds=e,Array.isArray(this.cmds))for(const e of this.cmds)"function"==typeof e&&e()}push(e){e()}}(window.optable.cmd||[]),window.optable.utils={resolveMultiNodeTargeting:async function(e){return e?e.some((e=>e.priority))?async function(e){const t=new Set,{refs:r,process:i}=K(),s={user:{data:[],eids:[]}},n=new Map,o=new Map;const a=e.map((e=>{let{targetingFn:t,matcher:r,mm:a,priority:c}=e;return t().then((e=>function(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const c=Math.max(0,a),{data:d=[],eids:u=[]}=e.ortb2?.user??{};s.user.data.push(...d),u.filter((e=>e.uids.length)).forEach((s=>{const a=s.matcher??t,d=n.get(c)??[];a&&n.set(c,[...d,a]);const u={...i(e,s),matcher:s.matcher??t,mm:s.mm??r},h=o.get(c)??[];o.set(c,[...h,u])}))}(e,r,a,c)))}));await Promise.allSettled(a);const c=Array.from(o.keys()).sort(((e,t)=>e-t)).filter((e=>o.get(e)?.length)).shift();if(c){const e=n.get(c)||[];s.user.eids.push(...o.get(c)||[]),e.forEach((e=>t.add(e)))}return{ortb2:s,eidSources:t,refs:r}}(e):async function(e){const t=new Set,{refs:r,process:i}=K(),s={user:{data:[],eids:[]}};const n=e.map((e=>{let{targetingFn:r,matcher:n,mm:o}=e;return r().then((e=>function(e,r,n){const{data:o=[],eids:a=[]}=e.ortb2?.user??{};s.user.data.push(...o),a.filter((e=>e.uids.length)).forEach((o=>{const a=o.matcher??r;a&&t.add(a),s.user.eids.push({...i(e,o),mm:o.mm??n,matcher:o.matcher??r})}))}(e,n,o)))}));return await Promise.allSettled(n),{ortb2:s,eidSources:t,refs:r}}(e):Promise.reject("No targeting rules provided")}},window.optable.instance_config&&(window.optable.instance=new j(window.optable.instance_config))})()})();
2
+ (()=>{var e={312:(e,t,r)=>{var i;!function(){"use strict";var t="input is invalid type",s="object"==typeof window,n=s?window:{};n.JS_SHA256_NO_WINDOW&&(s=!1);var o=!s&&"object"==typeof self,a=!n.JS_SHA256_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;a?n=r.g:o&&(n=self);var c=!n.JS_SHA256_NO_COMMON_JS&&e.exports,d=r.amdO,u=!n.JS_SHA256_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,h="0123456789abcdef".split(""),p=[-2147483648,8388608,32768,128],l=[24,16,8,0],g=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],f=["hex","array","digest","arrayBuffer"],m=[];!n.JS_SHA256_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!u||!n.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var y=function(e,t){return function(r){return new b(t,!0).update(r)[e]()}},w=function(e){var t=y("hex",e);a&&(t=v(t,e)),t.create=function(){return new b(e)},t.update=function(e){return t.create().update(e)};for(var r=0;r<f.length;++r){var i=f[r];t[i]=y(i,e)}return t},v=function(e,i){var s,o=r(394),a=r(903).Buffer,c=i?"sha224":"sha256";return s=a.from&&!n.JS_SHA256_NO_BUFFER_FROM?a.from:function(e){return new a(e)},function(r){if("string"==typeof r)return o.createHash(c).update(r,"utf8").digest("hex");if(null==r)throw new Error(t);return r.constructor===ArrayBuffer&&(r=new Uint8Array(r)),Array.isArray(r)||ArrayBuffer.isView(r)||r.constructor===a?o.createHash(c).update(s(r)).digest("hex"):e(r)}},A=function(e,t){return function(r,i){return new P(r,t,!0).update(i)[e]()}},S=function(e){var t=A("hex",e);t.create=function(t){return new P(t,e)},t.update=function(e,r){return t.create(e).update(r)};for(var r=0;r<f.length;++r){var i=f[r];t[i]=A(i,e)}return t};function b(e,t){t?(m[0]=m[16]=m[1]=m[2]=m[3]=m[4]=m[5]=m[6]=m[7]=m[8]=m[9]=m[10]=m[11]=m[12]=m[13]=m[14]=m[15]=0,this.blocks=m):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}function P(e,r,i){var s,n=typeof e;if("string"===n){var o,a=[],c=e.length,d=0;for(s=0;s<c;++s)(o=e.charCodeAt(s))<128?a[d++]=o:o<2048?(a[d++]=192|o>>>6,a[d++]=128|63&o):o<55296||o>=57344?(a[d++]=224|o>>>12,a[d++]=128|o>>>6&63,a[d++]=128|63&o):(o=65536+((1023&o)<<10|1023&e.charCodeAt(++s)),a[d++]=240|o>>>18,a[d++]=128|o>>>12&63,a[d++]=128|o>>>6&63,a[d++]=128|63&o);e=a}else{if("object"!==n)throw new Error(t);if(null===e)throw new Error(t);if(u&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||u&&ArrayBuffer.isView(e)))throw new Error(t)}e.length>64&&(e=new b(r,!0).update(e).array());var h=[],p=[];for(s=0;s<64;++s){var l=e[s]||0;h[s]=92^l,p[s]=54^l}b.call(this,r,i),this.update(p),this.oKeyPad=h,this.inner=!0,this.sharedMemory=i}b.prototype.update=function(e){if(!this.finalized){var r,i=typeof e;if("string"!==i){if("object"!==i)throw new Error(t);if(null===e)throw new Error(t);if(u&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||u&&ArrayBuffer.isView(e)))throw new Error(t);r=!0}for(var s,n,o=0,a=e.length,c=this.blocks;o<a;){if(this.hashed&&(this.hashed=!1,c[0]=this.block,this.block=c[16]=c[1]=c[2]=c[3]=c[4]=c[5]=c[6]=c[7]=c[8]=c[9]=c[10]=c[11]=c[12]=c[13]=c[14]=c[15]=0),r)for(n=this.start;o<a&&n<64;++o)c[n>>>2]|=e[o]<<l[3&n++];else for(n=this.start;o<a&&n<64;++o)(s=e.charCodeAt(o))<128?c[n>>>2]|=s<<l[3&n++]:s<2048?(c[n>>>2]|=(192|s>>>6)<<l[3&n++],c[n>>>2]|=(128|63&s)<<l[3&n++]):s<55296||s>=57344?(c[n>>>2]|=(224|s>>>12)<<l[3&n++],c[n>>>2]|=(128|s>>>6&63)<<l[3&n++],c[n>>>2]|=(128|63&s)<<l[3&n++]):(s=65536+((1023&s)<<10|1023&e.charCodeAt(++o)),c[n>>>2]|=(240|s>>>18)<<l[3&n++],c[n>>>2]|=(128|s>>>12&63)<<l[3&n++],c[n>>>2]|=(128|s>>>6&63)<<l[3&n++],c[n>>>2]|=(128|63&s)<<l[3&n++]);this.lastByteIndex=n,this.bytes+=n-this.start,n>=64?(this.block=c[16],this.start=n-64,this.hash(),this.hashed=!0):this.start=n}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this}},b.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>>2]|=p[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},b.prototype.hash=function(){var e,t,r,i,s,n,o,a,c,d=this.h0,u=this.h1,h=this.h2,p=this.h3,l=this.h4,f=this.h5,m=this.h6,y=this.h7,w=this.blocks;for(e=16;e<64;++e)t=((s=w[e-15])>>>7|s<<25)^(s>>>18|s<<14)^s>>>3,r=((s=w[e-2])>>>17|s<<15)^(s>>>19|s<<13)^s>>>10,w[e]=w[e-16]+t+w[e-7]+r|0;for(c=u&h,e=0;e<64;e+=4)this.first?(this.is224?(n=300032,y=(s=w[0]-1413257819)-150054599|0,p=s+24177077|0):(n=704751109,y=(s=w[0]-210244248)-1521486534|0,p=s+143694565|0),this.first=!1):(t=(d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10),i=(n=d&u)^d&h^c,y=p+(s=y+(r=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7))+(l&f^~l&m)+g[e]+w[e])|0,p=s+(t+i)|0),t=(p>>>2|p<<30)^(p>>>13|p<<19)^(p>>>22|p<<10),i=(o=p&d)^p&u^n,m=h+(s=m+(r=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7))+(y&l^~y&f)+g[e+1]+w[e+1])|0,t=((h=s+(t+i)|0)>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10),i=(a=h&p)^h&d^o,f=u+(s=f+(r=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&y^~m&l)+g[e+2]+w[e+2])|0,t=((u=s+(t+i)|0)>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),i=(c=u&h)^u&p^a,l=d+(s=l+(r=(f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))+(f&m^~f&y)+g[e+3]+w[e+3])|0,d=s+(t+i)|0,this.chromeBugWorkAround=!0;this.h0=this.h0+d|0,this.h1=this.h1+u|0,this.h2=this.h2+h|0,this.h3=this.h3+p|0,this.h4=this.h4+l|0,this.h5=this.h5+f|0,this.h6=this.h6+m|0,this.h7=this.h7+y|0},b.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,i=this.h3,s=this.h4,n=this.h5,o=this.h6,a=this.h7,c=h[e>>>28&15]+h[e>>>24&15]+h[e>>>20&15]+h[e>>>16&15]+h[e>>>12&15]+h[e>>>8&15]+h[e>>>4&15]+h[15&e]+h[t>>>28&15]+h[t>>>24&15]+h[t>>>20&15]+h[t>>>16&15]+h[t>>>12&15]+h[t>>>8&15]+h[t>>>4&15]+h[15&t]+h[r>>>28&15]+h[r>>>24&15]+h[r>>>20&15]+h[r>>>16&15]+h[r>>>12&15]+h[r>>>8&15]+h[r>>>4&15]+h[15&r]+h[i>>>28&15]+h[i>>>24&15]+h[i>>>20&15]+h[i>>>16&15]+h[i>>>12&15]+h[i>>>8&15]+h[i>>>4&15]+h[15&i]+h[s>>>28&15]+h[s>>>24&15]+h[s>>>20&15]+h[s>>>16&15]+h[s>>>12&15]+h[s>>>8&15]+h[s>>>4&15]+h[15&s]+h[n>>>28&15]+h[n>>>24&15]+h[n>>>20&15]+h[n>>>16&15]+h[n>>>12&15]+h[n>>>8&15]+h[n>>>4&15]+h[15&n]+h[o>>>28&15]+h[o>>>24&15]+h[o>>>20&15]+h[o>>>16&15]+h[o>>>12&15]+h[o>>>8&15]+h[o>>>4&15]+h[15&o];return this.is224||(c+=h[a>>>28&15]+h[a>>>24&15]+h[a>>>20&15]+h[a>>>16&15]+h[a>>>12&15]+h[a>>>8&15]+h[a>>>4&15]+h[15&a]),c},b.prototype.toString=b.prototype.hex,b.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,i=this.h3,s=this.h4,n=this.h5,o=this.h6,a=this.h7,c=[e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,n>>>24&255,n>>>16&255,n>>>8&255,255&n,o>>>24&255,o>>>16&255,o>>>8&255,255&o];return this.is224||c.push(a>>>24&255,a>>>16&255,a>>>8&255,255&a),c},b.prototype.array=b.prototype.digest,b.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e},P.prototype=new b,P.prototype.finalize=function(){if(b.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();b.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),b.prototype.finalize.call(this)}};var _=w();_.sha256=_,_.sha224=w(!0),_.sha256.hmac=S(),_.sha224.hmac=S(!0),c?e.exports=_:(n.sha256=_.sha256,n.sha224=_.sha224,d&&(void 0===(i=function(){return _}.call(_,r,_,e))||(e.exports=i)))}()},903:()=>{},394:()=>{}},t={};function r(i){var s=t[i];if(void 0!==s)return s.exports;var n=t[i]={exports:{}};return e[i](n,n.exports,r),n.exports}r.amdO={},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{"use strict";const e={r:"v0.44.0"};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function i(e,r,i){return(r=function(e){var r=function(e){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=t(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(r)?r:r+""}(r))in e?Object.defineProperty(e,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[r]=i,e}async function s(e){const t=await S("/config",e,{method:"GET",headers:{Accept:"application/json"}});return new A(e).setSite(t),t}const n={"Europe/Vienna":"gdpr","Europe/Brussels":"gdpr","Europe/Sofia":"gdpr","Europe/Zagreb":"gdpr","Asia/Nicosia":"gdpr","Europe/Nicosia":"gdpr","Europe/Prague":"gdpr","Europe/Copenhagen":"gdpr","Europe/Tallinn":"gdpr","Europe/Helsinki":"gdpr","Europe/Paris":"gdpr","Europe/Berlin":"gdpr","Europe/Athens":"gdpr","Europe/Budapest":"gdpr","Atlantic/Reykjavik":"gdpr","Europe/Dublin":"gdpr","Europe/Rome":"gdpr","Europe/Riga":"gdpr","Europe/Vaduz":"gdpr","Europe/Vilnius":"gdpr","Europe/Luxembourg":"gdpr","Europe/Malta":"gdpr","Europe/Oslo":"gdpr","Europe/Warsaw":"gdpr","Europe/Lisbon":"gdpr","Europe/Bucharest":"gdpr","Europe/Bratislava":"gdpr","Europe/Ljubljana":"gdpr","Europe/Madrid":"gdpr","Europe/Stockholm":"gdpr","Europe/Amsterdam":"gdpr","Atlantic/Azores":"gdpr","Atlantic/Canary":"gdpr","America/Cayenne":"gdpr","America/Guadeloupe":"gdpr","Atlantic/Madeira":"gdpr","America/Martinique":"gdpr","Indian/Mayotte":"gdpr","Indian/Reunion":"gdpr","America/Marigot":"gdpr","Europe/Zurich":"gdpr","Europe/London":"gdpr","America/Toronto":"can","America/Adak":"us","America/Anchorage":"us","America/Atka":"us","America/Boise":"us","America/Chicago":"us","America/Denver":"us","America/Detroit":"us","America/Indiana/Indianapolis":"us","America/Indiana/Knox":"us","America/Indiana/Marengo":"us","America/Indiana/Petersburg":"us","America/Indiana/Tell_City":"us","America/Indiana/Vevay":"us","America/Indiana/Vincennes":"us","America/Indiana/Winamac":"us","America/Indianapolis":"us","America/Juneau":"us","America/Kentucky/Louisville":"us","America/Kentucky/Monticello":"us","America/Knox_IN":"us","America/Los_Angeles":"us","America/Louisville":"us","America/Menominee":"us","America/Metlakatla":"us","America/New_York":"us","America/Nome":"us","America/North_Dakota/Beulah":"us","America/North_Dakota/Center":"us","America/North_Dakota/New_Salem":"us","America/Phoenix":"us","America/Shiprock":"us","America/Sitka":"us","America/Yakutat":"us","Pacific/Honolulu":"us"},o="tcfcav1",a="tcfeuv2",c=[2],d=[5],u=[7,8,10,12,17,13,18,14,19,20,21,15,22,16,11,9];function h(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=function(e,t){const{gdprApplies:r,gppSectionIDs:i,gdprData:s}=t;if(void 0!==r)return r?"gdpr":"gdpr"===e?null:e;if(void 0!==s&&"gdpr"===e)return"gdpr";if(void 0===i||1===i.length&&0===i[0])return e;if(1===i.length&&-1===i[0])return null;if(i.some((e=>c.includes(e))))return"gdpr";if(i.some((e=>d.includes(e))))return"can";if(i.some((e=>u.includes(e))))return"us";switch(e){case"gdpr":if(!i.some((e=>c.includes(e))))return null;break;case"can":if(!i.some((e=>d.includes(e))))return null;break;case"us":if(!i.some((e=>u.includes(e))))return null}return e}(e,t),s={reg:i,gpp:t.gppString,gppSectionIDs:t.gppSectionIDs,gdpr:t.gdprString,gdprApplies:t.gdprApplies,deviceAccess:!1,createProfilesForAdvertising:!1,useProfilesForAdvertising:!1,measureAdvertisingPerformance:!1};switch(i){case"gdpr":t.gdprData?(s.deviceAccess=l(t.gdprData,1,r.tcfeuVendorID),s.createProfilesForAdvertising=l(t.gdprData,3,r.tcfeuVendorID),s.useProfilesForAdvertising=l(t.gdprData,4,r.tcfeuVendorID),s.measureAdvertisingPerformance=l(t.gdprData,7,r.tcfeuVendorID)):t.gppData&&(s.deviceAccess=f(t.gppData,1,r.tcfeuVendorID),s.createProfilesForAdvertising=f(t.gppData,3,r.tcfeuVendorID),s.useProfilesForAdvertising=f(t.gppData,4,r.tcfeuVendorID),s.measureAdvertisingPerformance=f(t.gppData,7,r.tcfeuVendorID));break;case"can":s.deviceAccess=!0,t.gppData&&(s.createProfilesForAdvertising=g(t.gppData,3,r.tcfcaVendorID),s.useProfilesForAdvertising=g(t.gppData,4,r.tcfcaVendorID),s.measureAdvertisingPerformance=g(t.gppData,7,r.tcfcaVendorID));break;default:s.deviceAccess=!0,s.createProfilesForAdvertising=!0,s.useProfilesForAdvertising=!0,s.measureAdvertisingPerformance=!0}return s}function p(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={};!function(){if("function"==typeof window.__tcfapi)return;let e;const t={};let r=window;for(;r;){try{if(r.frames.__tcfapiLocator){e=r;break}}catch{}if(r===window.top)break;r=r.parent}e&&(window.__tcfapi=function(r,i,s){const n=Math.random()+"";t[n]=s,e.postMessage({__tcfapiCall:{command:r,version:i,callId:n}},"*")},window.addEventListener("message",(e=>{let r={};try{r="string"==typeof e.data?JSON.parse(e.data):e.data}catch{}const i=r.__tcfapiReturn;i&&"function"==typeof t[i.callId]&&(t[i.callId](i.returnValue,i.success),delete t[i.callId])}),!1))}(),function(){if("function"==typeof window.__gpp)return;let e;const t={};let r=window;for(;r;){try{if(r.frames.__gppLocator){e=r;break}}catch{}if(r===window.top)break;r=r.parent}e&&(window.__gpp=function(r,i){const s=Math.random()+"";t[s]=i,e.postMessage({__gppCall:{command:r,version:"1.1",callId:s}},"*")},window.addEventListener("message",(e=>{let r={};try{r="string"==typeof e.data?JSON.parse(e.data):e.data}catch{}const i=r.__gppReturn;i&&"function"==typeof t[i.callId]&&(t[i.callId](i.returnValue,i.success),delete t[i.callId])}),!1))}();const i=h(e,r,t);return"function"==typeof window.__tcfapi&&window.__tcfapi?.("addEventListener",2,((s,n)=>{n&&("tcloaded"===s.eventStatus||"useractioncomplete"===s.eventStatus)&&(s=>{r.gdprString=s.tcString,r.gdprApplies=s.gdprApplies,r.gdprData=s,Object.assign(i,h(e,r,t))})(s)})),"function"==typeof window.__gpp&&window.__gpp?.("addEventListener",((s,n)=>{n&&"signalStatus"===s.eventName&&"ready"===s.data&&(s=>{r.gppString=s.gppString,r.gppSectionIDs=s.applicableSections,r.gppData=s,Object.assign(i,h(e,r,t))})(s.pingData)})),i}function l(e,t,r){return r?!!e.purpose?.consents?.[t]&&!!e.vendor?.consents?.[r]:!!e.publisher?.consents?.[t]}function g(e,t,r){const i=t>1,s=e.parsedSections?.[o]||[];if("number"==typeof r){const e=s.find((e=>"Version"in e));if(!e)return!1;let n=e.PurposesExpressConsent.includes(t)&&e.VendorExpressConsent.includes(r);return i&&(n||=e.PurposesImpliedConsent.includes(t)&&e.VendorImpliedConsent.includes(r)),n}const n=s.find((e=>"SubsectionType"in e&&3===e.SubsectionType));if(!n)return!1;let a=n.PubPurposesExpressConsent.includes(t);return i&&(a||=n.PubPurposesImpliedConsent.includes(t)),a}function f(e,t,r){const i=t>1,s=e.parsedSections?.[a]||[];if("number"==typeof r){const e=s.find((e=>"Version"in e));if(!e)return!1;let n=e.PurposeConsent.includes(t)&&e.VendorConsent.includes(r);return i&&(n||=e.PurposesLITransparency.includes(t)&&e.VendorLegitimateInterest.includes(r)),n}const n=s.find((e=>"SegmentType"in e&&3===e.SegmentType));if(!n)return!1;let o=n.PubPurposesConsent.includes(t);return i&&(o||=n.PubPurposesLITransparency.includes(t)),o}class m{constructor(e){i(this,"consent",void 0),this.consent=e}getItem(e){return this.consent.deviceAccess?window.localStorage.getItem(e):null}setItem(e,t){this.consent.deviceAccess&&window.localStorage.setItem(e,t)}removeItem(e){this.consent.deviceAccess&&window.localStorage.removeItem(e)}}const y="_optable_pairId";function w(e){const t=new Uint16Array(e.length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return btoa(String.fromCharCode(...new Uint8Array(t.buffer)))}function v(e){return e.node?w(`${e.host}/${e.node}`):w(`${e.host}`)}class A{constructor(e){this.config=e,i(this,"passportKeys",void 0),i(this,"targetingKeys",void 0),i(this,"siteKeys",void 0),i(this,"pairKeys",void 0),i(this,"storage",void 0),this.passportKeys=function(e){const t=[],r=[],i=`OPTABLE_PASSPORT_${v(e)}`;return t.push(i),r.push(i),e.legacyHostCache?(r.push(`OPTABLE_PASSPORT_${w(`${e.legacyHostCache}`)}`),r.push(`OPTABLE_PASS_${w(`${e.legacyHostCache}/${e.site}`)}`)):r.push(`OPTABLE_PASS_${w(`${e.host}/${e.site}`)}`),{write:t,read:r}}(e),this.targetingKeys=function(e){const t=`OPTABLE_TARGETING_${v(e)}`;return{write:[t,e.optableCacheTargeting],read:[t]}}(e),this.siteKeys=function(e){const t=`OPTABLE_SITE_${v(e)}`;return{write:[t],read:[t]}}(e),this.pairKeys={write:[y],read:[y]},this.storage=new m(this.config.consent)}getPassport(){return this.readStorageKeys(this.passportKeys)}setPassport(e){this.writeToStorageKeys(this.passportKeys,e)}getTargeting(){const e=this.readStorageKeys(this.targetingKeys);return e?JSON.parse(e):null}setTargeting(e){e&&(this.writeToStorageKeys(this.targetingKeys,JSON.stringify(e)),this.setPairIDs(e))}getSite(){const e=this.readStorageKeys(this.siteKeys);return e?JSON.parse(e):null}setSite(e){e&&this.writeToStorageKeys(this.siteKeys,JSON.stringify(e))}setPairIDs(e){const t=e.ortb2?.user?.eids?.filter((e=>"pair-protocol.com"===e.source)),r=t?.flatMap((e=>e.uids));if(!r)return;const i=new Set(r.map((e=>e.id)));this.writeToStorageKeys(this.pairKeys,btoa(JSON.stringify({envelope:[...i]})))}getPairIDs(){const e=this.readStorageKeys(this.pairKeys);return e?JSON.parse(atob(e))?.envelope:null}readStorageKeys(e){for(const t of e.read){const e=this.storage.getItem(t);if(e)return e}return null}writeToStorageKeys(e,t){if(t)for(const r of e.write)this.storage.setItem(r,t)}clearStorageKeys(e){for(const t of[...e.read,...e.write])this.storage.removeItem(t)}clearPassport(){this.clearStorageKeys(this.passportKeys)}clearTargeting(){this.clearStorageKeys(this.targetingKeys)}clearSite(){this.clearStorageKeys(this.siteKeys)}}async function S(t,r,i){const s=await globalThis.fetch(function(t,r,i){const{host:s,cookies:n}=r,o=new URL(t,`https://${s}`);if(o.searchParams.set("osdk",`web-${e.r}`),o.searchParams.set("sid",r.sessionID),r.skipEnrichment&&o.searchParams.set("skip_enrichment",`${r.skipEnrichment}`),r.node&&o.searchParams.set("t",r.node),r.site&&o.searchParams.set("o",r.site),void 0!==r.consent.gpp&&o.searchParams.set("gpp",r.consent.gpp),void 0!==r.consent.gppSectionIDs&&o.searchParams.set("gpp_sid",r.consent.gppSectionIDs.join(",")),void 0!==r.consent.gdpr&&o.searchParams.set("gdpr_consent",r.consent.gdpr),void 0!==r.consent.gdprApplies&&o.searchParams.set("gdpr",Number(r.consent.gdprApplies).toString()),r.readOnly&&o.searchParams.set("ro","true"),r.timeout&&o.searchParams.set("timeout",r.timeout),n)o.searchParams.set("cookies","yes");else{const e=new A(r).getPassport();o.searchParams.set("cookies","no"),o.searchParams.set("passport",e||"")}const a={...i};return a.credentials=r.consent.deviceAccess?"include":"omit",r.mockedIP&&(a.headers=new Headers(a.headers),a.headers.set("X-Forwarded-For",r.mockedIP)),new Request(o.toString(),a)}(t,r,i)),n=s.headers.get("Content-Type"),o=n?.startsWith("application/json")?await s.json():await s.text();if(!s.ok)throw new Error(o.error);return o.passport&&(new A(r).setPassport(o.passport),delete o.passport),o}var b,P,_,I=((P=I||{})[P.Banner=1]="Banner",P[P.Video=2]="Video",P[P.Audio=3]="Audio",P[P.Native=4]="Native",P),E={},T={},k={};(_=b||(b={})).Placement=T,_.Media=k,_.Context=E;const C={cookies:!0,initPassport:!0,readOnly:!1,experiments:[],consent:{reg:null,deviceAccess:!0,createProfilesForAdvertising:!0,useProfilesForAdvertising:!0,measureAdvertisingPerformance:!0}};function D(){const e=new Uint8Array(16);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function O(e){return{user:{data:(e?.audience??[]).map((e=>({name:e.provider,segment:e.ids,ext:{segtax:e.rtb_segtax}}))),ext:{eids:(e?.user??[]).map((e=>({source:e.provider,uids:e.ids.map((e=>{let{id:t}=e;return{id:t,atype:3}}))})))}}}}function x(e){const t={};if(!e)return t;for(const r of e.audience??[])r.keyspace&&(r.keyspace in t||(t[r.keyspace]=[]),t[r.keyspace].push(...r.ids.map((e=>e.id))));return t}function N(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function K(){const e={};let t=0;return{refs:e,process:(r,i)=>{if(!r.refs)return i;for(const s of i.uids)if(N(s.ext?.optable)&&"ref"in s.ext.optable&&"string"==typeof s.ext.optable.ref){const i=r.refs[s.ext.optable.ref];t+=1;const n=t.toString(10);e[n]=i,s.ext.optable.ref=n}return i}}}var B=r(312);class V{constructor(e){i(this,"dcn",void 0),i(this,"init",void 0),this.dcn=function(e){const t={host:e.host,site:e.site,optableCacheTargeting:e.optableCacheTargeting??"optable-cache:targeting",cookies:e.cookies??C.cookies,initPassport:e.initPassport??C.initPassport,consent:C.consent,readOnly:e.readOnly??C.readOnly,node:e.node,legacyHostCache:e.legacyHostCache,experiments:e.experiments??C.experiments,mockedIP:e.mockedIP,sessionID:e.sessionID??D(),skipEnrichment:e.skipEnrichment,initTargeting:e.initTargeting,abTests:e.abTests,additionalTargetingSignals:e.additionalTargetingSignals,timeout:e.timeout};return e.consent?.static?t.consent=e.consent.static:e.consent?.cmpapi&&(t.consent=p(function(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,t=n[e];return"can"===t?["fr","fr-CA"].some((e=>navigator.languages.includes(e)))?"can":null:t??null}(),e.consent.cmpapi)),t}(e),this.init=this.initialize()}async initialize(){this.dcn.initPassport&&await s(this.dcn).catch((()=>{})),this.dcn.initTargeting&&this.targeting().catch((()=>{}))}async identify(){await this.init;for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e,t){return S("/identify",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}(this.dcn,t.filter((e=>e)))}async uid2Token(e){return await this.init,function(e,t){return S("/uid2/token",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}(this.dcn,e)}async targeting(){const e=function(e){if("string"==typeof e)return{ids:[e],hids:[]};if(N(e))return{ids:e?.ids??[],hids:e?.hids??[]};throw"Invalid request type for targeting. Expected string or object."}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"__passport__");return await this.init,async function(e,t){const r=new URLSearchParams;t.ids.forEach((e=>r.append("id",e))),t.hids.forEach((e=>r.append("hid",e)));const i=function(e){if(!e||0===e.length)return null;if(e.reduce(((e,t)=>e+t.trafficPercentage),0)>100)return console.error("AB Test Config Error: Traffic Percentage Sum Exceeds 100%"),null;const t=Math.floor(100*Math.random());let r=0;for(const i of e)if(r+=i.trafficPercentage,t<r)return i;return null}(e.abTests);i&&(r.append("ab_test_id",i.id),i.matcher_override&&[...i.matcher_override].sort(((e,t)=>e.rank-t.rank)).forEach((e=>{r.append("matcher_override",e.id)})),i.skipMatchers&&r.append("skip_matchers",i.skipMatchers.join(",")));e.additionalTargetingSignals?.ref&&r.append("ref",`${window.location.protocol}//${window.location.host}${window.location.pathname}`);const s="/v2/targeting?"+r.toString(),n=await S(s,e,{method:"GET",headers:{Accept:"application/json"}});return n&&(new A(e).setTargeting(n),function(e,t){const r=t.ortb2?.user?.eids?.map((e=>e.matcher));window.dispatchEvent(new CustomEvent("optable-targeting:change",{detail:{instance:e.node||e.host,resolved:!!t.ortb2?.user?.eids?.length,resolvedIDs:t.resolved_ids??[],abTestID:t.ab_test_id??void 0,ortb2:t.ortb2,provenance:new Set(r)}}))}(e,n)),n}(this.dcn,e)}targetingFromCache(){return e=this.dcn,new A(e).getTargeting();var e}async site(){return s(this.dcn)}siteFromCache(){return e=this.dcn,new A(e).getSite();var e}targetingClearCache(){var e;e=this.dcn,new A(e).clearTargeting()}async prebidORTB2(){return O(await this.targeting())}prebidORTB2FromCache(){return O(this.targetingFromCache())}async targetingKeyValues(){return x(await this.targeting())}targetingKeyValuesFromCache(){return x(this.targetingFromCache())}async witness(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this.init,function(e,t,r){const i={event:t,properties:r};return S("/witness",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})}(this.dcn,e,t)}async profile(e){return await this.init,function(e,t){const r={traits:t};return S("/profile",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}(this.dcn,e)}async tokenize(e){return await this.init,function(e,t){let r={id:t};return S("/v2/tokenize",e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}(this.dcn,e)}async resolve(e){return await this.init,async function(e,t){const r=new URLSearchParams;"string"==typeof t&&r.append("id",t);const i="/v1/resolve?"+r.toString();return function(e){const t={clusters:[],lmpid:""};if("object"!=typeof e||null===e)return t;if("lmpid"in e&&"string"==typeof e?.lmpid&&(t.lmpid=e.lmpid),!("clusters"in e)||!Array.isArray(e?.clusters))return t;for(const r of e.clusters){const e={ids:[],traits:[]};if(Array.isArray(r?.ids))for(const t of r.ids)"string"==typeof t&&e.ids.push(t);if(Array.isArray(r?.traits))for(const t of r.traits)"string"==typeof t?.key&&"string"==typeof t?.value&&e.traits.push({key:t.key,value:t.value});(e.ids.length>0||e.traits.length>0)&&t.clusters.push(e)}return t}(await S(i,e,{method:"GET",headers:{Accept:"application/json"}}))}(this.dcn,e)}static eid(e){return e?"e:"+B.sha256.hex(e.toLowerCase().trim()):""}static sha256(e){return e?B.sha256.hex(e):""}static cid(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r="c:";if("string"!=typeof e)throw new Error("Invalid ppid");if("number"!=typeof t||isNaN(t)||t<0||t>19)throw new Error("Invalid variant");return t>0&&(r=`c${t}:`),e?r+e.trim():""}static TargetingKeyValues(e){return x(e)}static PrebidORTB2(e){return O(e)}}i(V,"version",e.r);const j=V;function L(e){return{advertiserId:e.advertiserId?.toString(),campaignId:e.campaignId?.toString(),creativeId:e.creativeId?.toString(),isEmpty:e.isEmpty?.toString(),lineItemId:e.lineItemId?.toString(),serviceName:e.serviceName?.toString(),size:e.size?.toString(),slotElementId:e.slot?.getSlotElementId(),sourceAgnosticCreativeId:e.sourceAgnosticCreativeId?.toString(),sourceAgnosticLineItemId:e.sourceAgnosticLineItemId?.toString()}}j.prototype.installGPTEventListeners=function(){const e=this;e.installGPTEventListeners=function(){},window.googletag=window.googletag||{cmd:[]};const t=window.googletag;t.cmd.push((function(){t.pubads().addEventListener("slotRenderEnded",(function(t){e.witness("googletag.events.slotRenderEnded",L(t))})),t.pubads().addEventListener("impressionViewable",(function(t){e.witness("googletag.events.impressionViewable",L(t))}))}))},j.prototype.installGPTSecureSignals=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];window.googletag=window.googletag||{cmd:[]};const i=window.googletag;t&&t.length>0&&i.cmd.push((()=>{t.forEach((e=>{let{provider:t,id:r}=e;i.secureSignalProviders.push({id:t,collectorFunction:()=>Promise.resolve(r)})}))}))};const F=/^[a-f0-9]{64}$/i;j.prototype.tryIdentifyFromParams=function(e,t){const r=new RegExp(`^${e||"oeid"}$`,"i"),i=new URLSearchParams(window.location.search);let s="";for(const[e,t]of i)if(r.test(e)){s=t;break}""!=s&&(t||function(e){return F.test(e)}(s))&&this.identify((t||"e")+":"+s.toLowerCase())},window.optable=window.optable||{},window.optable.SDK=j,window.optable.cmd=new class{constructor(e){if(this.cmds=e,Array.isArray(this.cmds))for(const e of this.cmds)"function"==typeof e&&e()}push(e){e()}}(window.optable.cmd||[]),window.optable.utils={resolveMultiNodeTargeting:async function(e){return e?e.some((e=>e.priority))?async function(e){const t=new Set,r=new Set,{refs:i,process:s}=K(),n={user:{data:[],eids:[]}},o=new Map,a=new Map,c=new Map;const d=e.map((e=>{let{targetingFn:t,matcher:r,mm:i,priority:d}=e;return t().then((e=>function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const d=Math.max(0,i),{data:u=[],eids:h=[]}=e.ortb2?.user??{};n.user.data.push(...u),c.set(d,e.resolved_ids??[]),h.filter((e=>e.uids.length)).forEach((i=>{const n=i.matcher??t,c=o.get(d)??[];n&&o.set(d,[...c,n]);const u={...s(e,i),matcher:i.matcher??t,mm:i.mm??r},h=a.get(d)??[];a.set(d,[...h,u])}))}(e,r,i,d)))}));await Promise.allSettled(d);const u=Array.from(a.keys()).sort(((e,t)=>e-t)).filter((e=>a.get(e)?.length)).shift();if(u){const e=o.get(u)||[],i=c.get(u)||[];n.user.eids.push(...a.get(u)||[]),e.forEach((e=>t.add(e))),i.forEach((e=>r.add(e)))}return{ortb2:n,eidSources:t,refs:i,resolvedIds:r}}(e):async function(e){const t=new Set,r=new Set,{refs:i,process:s}=K(),n={user:{data:[],eids:[]}};const o=e.map((e=>{let{targetingFn:i,matcher:o,mm:a}=e;return i().then((e=>function(e,i,o){const{data:a=[],eids:c=[]}=e.ortb2?.user??{};n.user.data.push(...a),e.resolved_ids?.forEach((e=>r.add(e))),c.filter((e=>e.uids.length)).forEach((r=>{const a=r.matcher??i;a&&t.add(a),n.user.eids.push({...s(e,r),mm:r.mm??o,matcher:r.matcher??i})}))}(e,o,a)))}));return await Promise.allSettled(o),{ortb2:n,eidSources:t,refs:i,resolvedIds:r}}(e):Promise.reject("No targeting rules provided")}},window.optable.instance_config&&(window.optable.instance=new j(window.optable.instance_config))})()})();
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "v0.42.0"
2
+ "version": "v0.44.0"
3
3
  }
@@ -0,0 +1,82 @@
1
+ export function buildRTD(options?: {}): {
2
+ enableLogging: any;
3
+ log(...args: any[]): void;
4
+ eidSources: any;
5
+ skipMerge: any;
6
+ optableCacheTargeting: any;
7
+ matcherFilter: any;
8
+ matcherExclude: any;
9
+ appendMergeStrategy: typeof appendMergeStrategy;
10
+ prependMergeStrategy: typeof prependMergeStrategy;
11
+ replaceMergeStrategy: typeof replaceMergeStrategy;
12
+ appendNewMergeStrategy: typeof appendNewMergeStrategy;
13
+ targetingFromCache: typeof targetingFromCache;
14
+ handleRtd(reqBidsConfigObj: any): Promise<void | null>;
15
+ };
16
+ export function targetingFromCache(config?: {}): any;
17
+ export function appendMergeStrategy(existingEids: any, newEids: any): any[];
18
+ export function prependMergeStrategy(existingEids: any, newEids: any): any[];
19
+ export function replaceMergeStrategy(existingEids: any, newEids: any, key?: (e: any) => any): any[];
20
+ export function appendNewMergeStrategy(existingEids: any, newEids: any, key?: (e: any) => any): any[];
21
+ export const defaultEIDSources: {
22
+ "adnxs.com": {
23
+ route: string;
24
+ };
25
+ "adsrvr.org": {
26
+ route: string;
27
+ };
28
+ "adserver.org": {
29
+ route: string;
30
+ };
31
+ "audigent.com": {
32
+ route: string;
33
+ };
34
+ "bidswitch.net": {
35
+ route: string;
36
+ };
37
+ "bridge.criteo.com": {
38
+ route: string;
39
+ };
40
+ "criteo-hemapi.com": {
41
+ route: string;
42
+ };
43
+ "epsilon.com": {
44
+ route: string;
45
+ };
46
+ "gumgum.com": {
47
+ route: string;
48
+ };
49
+ "indexexchange.com": {
50
+ route: string;
51
+ };
52
+ "kargo.com": {
53
+ route: string;
54
+ };
55
+ "openx.com": {
56
+ route: string;
57
+ };
58
+ "pubmatic.com": {
59
+ route: string;
60
+ };
61
+ "rubiconproject.com": {
62
+ route: string;
63
+ };
64
+ "smartadserver.com": {
65
+ route: string;
66
+ };
67
+ "sovrn.com": {
68
+ route: string;
69
+ };
70
+ "triplelift.com": {
71
+ route: string;
72
+ };
73
+ "uidapi.com": {
74
+ route: string;
75
+ };
76
+ "yahoo.com": {
77
+ route: string;
78
+ };
79
+ "yieldmo.com": {
80
+ route: string;
81
+ };
82
+ };
@@ -0,0 +1,251 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ // RTD (Real-Time Data) module for Prebid.js integration
11
+ //
12
+ // Merge strategies for EIDs
13
+ function appendMergeStrategy(existingEids, newEids) {
14
+ return [...existingEids, ...newEids];
15
+ }
16
+ function prependMergeStrategy(existingEids, newEids) {
17
+ return [...newEids, ...existingEids];
18
+ }
19
+ function replaceMergeStrategy(existingEids, newEids, key = (e) => e.source) {
20
+ const existingByKey = existingEids.reduce((acc, eid) => {
21
+ var _a;
22
+ acc[key(eid)] = (_a = acc[key(eid)]) !== null && _a !== void 0 ? _a : [];
23
+ acc[key(eid)].push(eid);
24
+ return acc;
25
+ }, {});
26
+ const newByKey = newEids.reduce((acc, eid) => {
27
+ var _a;
28
+ acc[key(eid)] = (_a = acc[key(eid)]) !== null && _a !== void 0 ? _a : [];
29
+ acc[key(eid)].push(eid);
30
+ return acc;
31
+ }, {});
32
+ const result = Object.values(Object.assign(Object.assign({}, existingByKey), newByKey));
33
+ return result.flat();
34
+ }
35
+ function appendNewMergeStrategy(existingEids, newEids, key = (e) => e.source) {
36
+ const existingByKey = existingEids.reduce((acc, eid) => {
37
+ var _a;
38
+ acc[key(eid)] = (_a = acc[key(eid)]) !== null && _a !== void 0 ? _a : [];
39
+ acc[key(eid)].push(eid);
40
+ return acc;
41
+ }, {});
42
+ const newByKey = newEids.reduce((acc, eid) => {
43
+ var _a;
44
+ acc[key(eid)] = (_a = acc[key(eid)]) !== null && _a !== void 0 ? _a : [];
45
+ acc[key(eid)].push(eid);
46
+ return acc;
47
+ }, {});
48
+ const result = Object.values(Object.assign(Object.assign({}, newByKey), existingByKey));
49
+ return result.flat();
50
+ }
51
+ const defaultEIDSources = {
52
+ "adnxs.com": { route: "appnexus" },
53
+ "adsrvr.org": { route: "global" },
54
+ "adserver.org": { route: "global" },
55
+ "audigent.com": { route: "global" },
56
+ "bidswitch.net": { route: "global" },
57
+ "bridge.criteo.com": { route: "global" },
58
+ "criteo-hemapi.com": { route: "global" },
59
+ "epsilon.com": { route: "global" },
60
+ "gumgum.com": { route: "gumgum" },
61
+ "indexexchange.com": { route: "ix" },
62
+ "kargo.com": { route: "kargo" },
63
+ "openx.com": { route: "openx" },
64
+ "pubmatic.com": { route: "pubmatic" },
65
+ "rubiconproject.com": { route: "rubicon" },
66
+ "smartadserver.com": { route: "smartadserver" },
67
+ "sovrn.com": { route: "sovrn" },
68
+ "triplelift.com": { route: "triplelift" },
69
+ "uidapi.com": { route: "global" },
70
+ "yahoo.com": { route: "global" },
71
+ "yieldmo.com": { route: "yieldmo" },
72
+ };
73
+ function forceGlobalRouting() {
74
+ Object.values(defaultEIDSources).forEach((source) => {
75
+ source.route = "global";
76
+ });
77
+ }
78
+ // Simple logging utility
79
+ function log(level, message, ...args) {
80
+ const prefix = "Optable RTD:";
81
+ const logMethod = ["error", "warn", "info"].includes(level) ? level : "log";
82
+ console[logMethod](`${prefix} ${message}`, ...args); // eslint-disable-line no-console
83
+ }
84
+ // Helper function to get targeting data from cache
85
+ function targetingFromCache(config = {}) {
86
+ var _a;
87
+ try {
88
+ return JSON.parse(localStorage.getItem((_a = config.optableCacheTargeting) !== null && _a !== void 0 ? _a : "OPTABLE_RESOLVED"));
89
+ }
90
+ catch (error) {
91
+ config.log("error", "Failed to parse cached targeting data:", error);
92
+ return null;
93
+ }
94
+ }
95
+ // Get targeting data from cache, if available
96
+ function readTargetingData(config) {
97
+ var _a, _b, _c, _d;
98
+ const cachedData = targetingFromCache(config);
99
+ if (!cachedData) {
100
+ config.log("info", "No cached targeting data found");
101
+ return {};
102
+ }
103
+ let targetingData = cachedData;
104
+ // Validate targeting data structure
105
+ if (!((_b = (_a = targetingData === null || targetingData === void 0 ? void 0 : targetingData.ortb2) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.eids) || !Array.isArray((_d = (_c = targetingData === null || targetingData === void 0 ? void 0 : targetingData.ortb2) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.eids)) {
106
+ config.log("info", "No valid targeting data found");
107
+ return {};
108
+ }
109
+ config.log("info", `Found targeting data with ${targetingData.ortb2.user.eids.length} EIDs`);
110
+ return targetingData;
111
+ }
112
+ function mergeStrategy(config, eidSource) {
113
+ var _a;
114
+ const strategy = ((_a = config.eidSources[eidSource]) === null || _a === void 0 ? void 0 : _a.mergeStrategy) || config.mergeStrategy;
115
+ if (strategy) {
116
+ return strategy;
117
+ }
118
+ config.log("warn", `No merge strategy defined globally or for EID source: ${eidSource}. Using append.`);
119
+ return appendMergeStrategy;
120
+ }
121
+ function merge(config, targetORTB2, sourceORTB2) {
122
+ var _a, _b, _c;
123
+ /* eslint-disable no-param-reassign */
124
+ targetORTB2.user = (_a = targetORTB2.user) !== null && _a !== void 0 ? _a : {};
125
+ targetORTB2.user.ext = (_b = targetORTB2.user.ext) !== null && _b !== void 0 ? _b : {};
126
+ targetORTB2.user.ext.eids = (_c = targetORTB2.user.ext.eids) !== null && _c !== void 0 ? _c : [];
127
+ /* eslint-enable no-param-reassign */
128
+ let skipped = 0;
129
+ const eidsBySource = sourceORTB2.user.ext.eids.reduce((acc, eid) => {
130
+ var _a;
131
+ acc[eid.source] = (_a = acc[eid.source]) !== null && _a !== void 0 ? _a : [];
132
+ acc[eid.source].push(eid);
133
+ return acc;
134
+ }, {});
135
+ Object.entries(eidsBySource).forEach(([eidSource, eids]) => {
136
+ if (config.skipMerge(targetORTB2, eidSource)) {
137
+ skipped += 1;
138
+ return;
139
+ }
140
+ const mergeFn = mergeStrategy(config, eidSource);
141
+ // eslint-disable-next-line no-param-reassign
142
+ targetORTB2.user.ext.eids = mergeFn(targetORTB2.user.ext.eids, eids);
143
+ });
144
+ return skipped;
145
+ }
146
+ // Custom handleRtd function to merge targeting data into the reqBidsConfigObj
147
+ function handleRtd(config, reqBidsConfigObj, targetingData) {
148
+ var _a, _b, _c;
149
+ config.log("info", "Starting handleRtd function");
150
+ // Filter EIDs for global ORTB2 and collect bidder-specific EIDs
151
+ const eidsPerRoute = {};
152
+ let processedEids = 0;
153
+ let skippedEids = 0;
154
+ config.log("info", "targetingData", targetingData);
155
+ (_c = (_b = (_a = targetingData === null || targetingData === void 0 ? void 0 : targetingData.ortb2) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.eids) === null || _c === void 0 ? void 0 : _c.forEach((eid, index) => {
156
+ var _a, _b;
157
+ if (!eid || typeof eid !== "object") {
158
+ config.log("warn", `Skipping invalid EID at index ${index}:`, eid);
159
+ skippedEids += 1;
160
+ return;
161
+ }
162
+ // Apply matcher filter
163
+ if (config.matcherFilter.length > 0 && !config.matcherFilter.includes(eid.matcher)) {
164
+ config.log("info", `EID with source ${eid.source} filtered out by matcher filter (matcher: ${eid.matcher})`);
165
+ skippedEids += 1;
166
+ return;
167
+ }
168
+ // Apply matcher exclusions
169
+ if (config.matcherExclude.length > 0 && config.matcherExclude.includes(eid.matcher)) {
170
+ config.log("info", `EID with source ${eid.source} excluded (matcher: ${eid.matcher})`);
171
+ skippedEids += 1;
172
+ return;
173
+ }
174
+ const route = (_a = config.eidSources[eid.source]) === null || _a === void 0 ? void 0 : _a.route;
175
+ if (!route) {
176
+ config.log("warn", `EID with unsupported source: ${eid.source}`);
177
+ skippedEids += 1;
178
+ return;
179
+ }
180
+ eidsPerRoute[route] = (_b = eidsPerRoute[route]) !== null && _b !== void 0 ? _b : { user: { ext: { eids: [] } } };
181
+ eidsPerRoute[route].user.ext.eids.push(eid);
182
+ config.log("info", `EID with source ${eid.source} routed to ${route}`);
183
+ processedEids += 1;
184
+ });
185
+ let globalEidsCount = 0;
186
+ let bidderEidsCount = 0;
187
+ Object.entries(eidsPerRoute).forEach(([route, ortb2]) => {
188
+ var _a;
189
+ const count = ortb2.user.ext.eids.length;
190
+ if (route === "global") {
191
+ globalEidsCount += count;
192
+ skippedEids += merge(config, reqBidsConfigObj.ortb2Fragments.global, ortb2);
193
+ }
194
+ else {
195
+ bidderEidsCount += count;
196
+ const bidder = (_a = reqBidsConfigObj.ortb2Fragments.bidder[route]) !== null && _a !== void 0 ? _a : {};
197
+ skippedEids += merge(config, bidder, ortb2);
198
+ // eslint-disable-next-line no-param-reassign
199
+ reqBidsConfigObj.ortb2Fragments.bidder[route] = bidder;
200
+ }
201
+ });
202
+ config.log("info", `Processed ${processedEids} EIDs, skipped ${skippedEids} EIDs`);
203
+ config.log("info", `Merged ${globalEidsCount} global EIDs and ${bidderEidsCount} bidder-specific EID sets`);
204
+ config.log("info", "Successfully completed handleRtd function");
205
+ }
206
+ function liveIntentUID2(ortb2) {
207
+ var _a, _b, _c;
208
+ return (_c = (_b = (_a = ortb2.user) === null || _a === void 0 ? void 0 : _a.ext) === null || _b === void 0 ? void 0 : _b.eids) === null || _c === void 0 ? void 0 : _c.some((eid) => eid.source === "uidapi.com" && eid.uids.some((uid) => { var _a; return ((_a = uid.ext) === null || _a === void 0 ? void 0 : _a.provider) === "liveintent.com"; }));
209
+ }
210
+ function buildRTD(options = {}) {
211
+ var _a, _b, _c, _d, _e, _f;
212
+ if (sessionStorage.optableForceGlobalRouting || options.forceGlobalRouting) {
213
+ forceGlobalRouting();
214
+ }
215
+ return {
216
+ enableLogging: (_b = (_a = sessionStorage.optableDebug) !== null && _a !== void 0 ? _a : options.enableLogging) !== null && _b !== void 0 ? _b : false,
217
+ log(...args) {
218
+ if (this.enableLogging) {
219
+ log(...args);
220
+ }
221
+ },
222
+ eidSources: (_c = options.eidSources) !== null && _c !== void 0 ? _c : Object.assign({}, defaultEIDSources),
223
+ skipMerge: sessionStorage.optableForceSkipMerge
224
+ ? () => true
225
+ : options.skipMerge !== undefined
226
+ ? options.skipMerge
227
+ : () => false,
228
+ optableCacheTargeting: (_d = options.optableCacheTargeting) !== null && _d !== void 0 ? _d : "OPTABLE_RESOLVED",
229
+ matcherFilter: (_e = options.matcherFilter) !== null && _e !== void 0 ? _e : [],
230
+ matcherExclude: (_f = options.matcherExclude) !== null && _f !== void 0 ? _f : [],
231
+ appendMergeStrategy,
232
+ prependMergeStrategy,
233
+ replaceMergeStrategy,
234
+ appendNewMergeStrategy,
235
+ targetingFromCache,
236
+ handleRtd(reqBidsConfigObj) {
237
+ return __awaiter(this, void 0, void 0, function* () {
238
+ var _a;
239
+ const targetingData = (_a = options.targetingData) !== null && _a !== void 0 ? _a : readTargetingData(this);
240
+ try {
241
+ return handleRtd(this, reqBidsConfigObj, targetingData);
242
+ }
243
+ catch (error) {
244
+ this.log("error", "Unexpected error in handleRtd function:", error);
245
+ }
246
+ return null;
247
+ });
248
+ },
249
+ };
250
+ }
251
+ export { buildRTD, targetingFromCache, appendMergeStrategy, prependMergeStrategy, replaceMergeStrategy, appendNewMergeStrategy, defaultEIDSources, };
@@ -2,6 +2,7 @@ import type { IDMatchMethod } from "iab-adcom";
2
2
  import { TargetingResponse } from "../../edge/targeting";
3
3
  type MultiNodeTargetingResponse = TargetingResponse & {
4
4
  eidSources: Set<string>;
5
+ resolvedIds: Set<string>;
5
6
  };
6
7
  type NodeTargetingRule = {
7
8
  targetingFn: () => Promise<TargetingResponse>;
@@ -25,6 +25,7 @@ function resolveMultiNodeTargeting(rules) {
25
25
  function resolveAggregateTargeting(rules) {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
27
  const eidSources = new Set();
28
+ const resolvedIds = new Set();
28
29
  const { refs, process: refsProcessor } = buildRefsProcessor();
29
30
  const ortb2 = {
30
31
  user: {
@@ -33,9 +34,10 @@ function resolveAggregateTargeting(rules) {
33
34
  },
34
35
  };
35
36
  function processTokens(response, matcher, mm) {
36
- var _a, _b;
37
+ var _a, _b, _c;
37
38
  const { data = [], eids = [] } = (_b = (_a = response.ortb2) === null || _a === void 0 ? void 0 : _a.user) !== null && _b !== void 0 ? _b : {};
38
39
  ortb2.user.data.push(...data);
40
+ (_c = response.resolved_ids) === null || _c === void 0 ? void 0 : _c.forEach((id) => resolvedIds.add(id));
39
41
  eids
40
42
  .filter((x) => x.uids.length)
41
43
  .forEach((eid) => {
@@ -47,7 +49,7 @@ function resolveAggregateTargeting(rules) {
47
49
  }
48
50
  const targetingFnPromises = rules.map(({ targetingFn, matcher, mm }) => targetingFn().then((res) => processTokens(res, matcher, mm)));
49
51
  yield Promise.allSettled(targetingFnPromises);
50
- return { ortb2, eidSources, refs };
52
+ return { ortb2, eidSources, refs, resolvedIds };
51
53
  });
52
54
  }
53
55
  // Resolve the most prioritize targeting node
@@ -55,6 +57,7 @@ function resolveAggregateTargeting(rules) {
55
57
  function resolvePriorityTargeting(rules) {
56
58
  return __awaiter(this, void 0, void 0, function* () {
57
59
  const eidSources = new Set();
60
+ const resolvedIds = new Set();
58
61
  const { refs, process: refsProcessor } = buildRefsProcessor();
59
62
  const ortb2 = {
60
63
  user: {
@@ -64,11 +67,13 @@ function resolvePriorityTargeting(rules) {
64
67
  };
65
68
  const sourcesByPriority = new Map();
66
69
  const eidsByPriority = new Map();
70
+ const resolvedIdsByPriority = new Map();
67
71
  function processTokens(response, matcher, mm, priority = 0) {
68
- var _a, _b;
72
+ var _a, _b, _c;
69
73
  const adjustedPriority = Math.max(0, priority);
70
74
  const { data = [], eids = [] } = (_b = (_a = response.ortb2) === null || _a === void 0 ? void 0 : _a.user) !== null && _b !== void 0 ? _b : {};
71
75
  ortb2.user.data.push(...data);
76
+ resolvedIdsByPriority.set(adjustedPriority, (_c = response.resolved_ids) !== null && _c !== void 0 ? _c : []);
72
77
  eids
73
78
  .filter((x) => x.uids.length)
74
79
  .forEach((eid) => {
@@ -89,13 +94,16 @@ function resolvePriorityTargeting(rules) {
89
94
  .shift();
90
95
  if (priority) {
91
96
  const sources = sourcesByPriority.get(priority) || [];
97
+ const resolvedIdsArray = resolvedIdsByPriority.get(priority) || [];
92
98
  ortb2.user.eids.push(...(eidsByPriority.get(priority) || []));
93
99
  sources.forEach((source) => eidSources.add(source));
100
+ resolvedIdsArray.forEach((id) => resolvedIds.add(id));
94
101
  }
95
102
  return {
96
103
  ortb2,
97
104
  eidSources,
98
105
  refs,
106
+ resolvedIds,
99
107
  };
100
108
  });
101
109
  }
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "homepage": "https://optable.co",
11
11
  "license": "SEE LICENSE IN LICENSE",
12
- "version": "v0.42.0",
12
+ "version": "v0.44.0",
13
13
  "devDependencies": {
14
14
  "@babel/core": "^7.12.3",
15
15
  "@babel/plugin-proposal-class-properties": "^7.12.1",