Proton VPN Will Bring Its "Stealth" Protocol to Windows (2024)

`),[e.width,e.height]=x[r.size_id].split("x").map((e=>Number(e)))),e.rubiconTargeting=(Array.isArray(r.targeting)?r.targeting:[]).reduce(((e,t)=>(e[t.key]=t.values[0],e)),{rpfl_elemid:a.adUnitCode}),t.push(e)}else(0,u.logError)(`Rubicon: bidRequest undefined at index position:${n}`,s,e);var c;return t}),[]).sort(((e,t)=>(t.cpm||0)-(e.cpm||0))),c=e.component_auction_config?.map((e=>({config:e,bidId:e.bidId})));return c?{bids:a,fledgeAuctionConfigs:c}:a},getUserSyncs:function(e,t,r,i,n){if(!R&&e.iframeEnabled){let e={};return r&&("boolean"==typeof r.gdprApplies&&(e.gdpr=Number(r.gdprApplies)),"string"==typeof r.consentString&&(e.gdpr_consent=r.consentString)),i&&(e.us_privacy=encodeURIComponent(i)),n?.gppString&&(e.gpp=n.gppString,e.gpp_sid=n.applicableSections?.toString()),e=Object.keys(e).length?`?${(0,u.formatQS)(e)}`:"",R=!0,{type:"iframe",url:`https://${b.syncHost||"eus"}.rubiconproject.com/usync.html`+e}}}};function h(e,t){let r;return r=e.params.referrer?e.params.referrer:t.refererInfo.page,e.params.secure?r.replace(/^http:/i,"https:"):r}function v(e){const t=document.getElementById(e.adUnitCode);!function(e){const t=e.querySelector("div[id^='google_ads']");t&&t.style.setProperty("display","none")}(t),function(e){const t=e.querySelector("script[id^='sas_script']"),r=t&&t.nextSibling;r&&"iframe"===r.localName&&r.style.setProperty("display","none")}(t);const r={...{align:"center",position:"append",closeButton:!1,label:void 0,collapse:!0},...e.renderer.getConfig()};e.renderer.push((()=>{window.MagniteApex.renderAd({width:e.width,height:e.height,vastUrl:e.vastUrl,placement:{attachTo:t,align:r.align,position:r.position},closeButton:r.closeButton,label:r.label,collapse:r.collapse})}))}function A(e,t){let r=e.params;if(t===d.G_){let t=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?t=[r.video.playerWidth,r.video.playerHeight]:Array.isArray((0,m.A)(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?t=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&e.sizes.length>0&&Array.isArray(e.sizes[0])&&e.sizes[0].length>1&&(t=e.sizes[0]),t}let i=[];return Array.isArray(r.sizes)?i=r.sizes:void 0!==(0,m.A)(e,"mediaTypes.banner.sizes")?i=$(e.mediaTypes.banner.sizes):Array.isArray(e.sizes)&&e.sizes.length>0?i=$(e.sizes):(0,u.logWarn)("Rubicon: no sizes are setup or found"),function(e){const t=[15,2,9];return e.sort(((e,r)=>{const i=t.indexOf(e),n=t.indexOf(r);return i>-1||n>-1?-1===i?1:-1===n?-1:i-n:e-r}))}(i)}function j(e,t,r){return i=>{const n=Number(i.ext?.segtax);r.includes(n)&&(e[`tg_${t}.tax${n}`]=i.segment?.map((e=>e.id)).join(","))}}function $(e){return(0,u.parseSizesInput)(e).reduce(((e,t)=>{let r=parseInt(x[t],10);return r&&e.push(r),e}),[])}function k(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(function(e){let t=void 0!==(0,m.A)(e,`mediaTypes.${d.G_}`),r=void 0!==(0,m.A)(e,`mediaTypes.${d.D4}`),i=void 0!==(0,m.A)(e,"params.bidonmultiformat"),n="object"!=typeof(0,m.A)(e,"params.video");return!(!t||!i)||(r&&n&&(t=!1),t&&n&&(0,l.J)(e,"params.video",{}),t)}(e)){if(-1===["outstream","instream"].indexOf((0,m.A)(e,`mediaTypes.${d.G_}.context`)))return t&&(0,u.logError)("Rubicon: mediaTypes.video.context must be outstream or instream"),r;if(A(e,d.G_).length<2)return t&&(0,u.logError)("Rubicon: could not determine the playerSize of the video"),r;t&&(0,u.logMessage)("Rubicon: making video request for adUnit",e.adUnitCode),r.push(d.G_)}if(void 0!==(0,m.A)(e,`mediaTypes.${d.s6}`)&&r.push(d.s6),void 0!==(0,m.A)(e,`mediaTypes.${d.D4}`)){if(0===A(e,d.D4).length)return t&&(0,u.logError)("Rubicon: could not determine the sizes for banner request"),r;t&&(0,u.logMessage)("Rubicon: making banner request for adUnit",e.adUnitCode),r.push(d.D4)}return r}function S(e){let t=!1;const r=["asi","sid","hp"];return e.nodes?(t=e.nodes.reduce(((e,t)=>e?r.every((e=>t.hasOwnProperty(e))):e),!0),t||(0,u.logError)("Rubicon: required schain params missing"),t):t}function I(e,t){return"rp_schain"===e?`rp_schain=${t}`:`${e}=${encodeURIComponent(t)}`}var R=!1;(0,s.a$)(_),(0,i.E)("rubiconBidAdapter")}},e=>{e.O(0,[60802,58498,97247,47618,51085],(()=>{return t=99293,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[84258],{95282:(e,t,n)=>{var i=n(7873),r=n(57377),s=n(43272),a=n(71371),o=n(91069);const d=["inScreen","inImage","inArticle","inBanner"],p={[a.D4]:"display",[a.G_]:"video"},c="fixed",u="mobile",l="unknown",m=()=>{const e=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{};switch(e.type||e.effectiveType){case"wifi":case"ethernet":return c;case"cellular":case"wimax":return u;default:return/iPad|iPhone|iPod/.test(navigator.userAgent)||/android/i.test(navigator.userAgent)?l:c}};function g(e){return!!e.mediaTypes&&!!e.mediaTypes.video}function h(e){const t=e.params;return!!t.publisherId&&!!t.adUnitId&&d.indexOf(t.placement)>-1}function y(e){const t=e.params,n=(0,o._map)(Object.keys(e.mediaTypes),(function(e){return p[e]})),i={id:e.bidId,transactionId:e.ortb2Imp?.ext?.tid,sizes:e.sizes,supplyTypes:n,adUnitId:t.adUnitId,adUnitCode:e.adUnitCode,geom:S(e.adUnitCode),placement:t.placement,requestCount:e.bidderRequestsCount||1};return g(e)&&(i.videoParams=f(e)),i}function f(e){const t=e.mediaTypes.video||{};return t.playerSize&&(t.w=t.playerSize[0][0],t.h=t.playerSize[0][1]),t}function b(e){const t="display"===(n=e.mediaType)?a.D4:"video"===n?a.G_:n;var n;const i={requestId:e.bidId,cpm:e.price,width:e.width,height:e.height,creativeId:e.creativeId,currency:e.currency,netRevenue:!0,mediaType:t,ttl:e.ttl,nurl:e.nurl,meta:{advertiserDomains:e&&e.adomain&&e.adomain.length>0?e.adomain:[]}};return t===a.G_?i.vastXml=e.content:i.ad=e.content,i}function v(){const e=(()=>{try{const e=performance.getEntriesByType("navigation")[0];return Math.round(e.responseStart-e.startTime)}catch(e){try{const e=performance.timing;return Math.round(e.responseStart-e.fetchStart)}catch(e){return 0}}})();return e>=0&&e<=performance.now()?e:0}function S(e){const t=document.getElementById(e);if(t){const e=window.scrollY,{top:n,left:i,width:r,height:s}=t.getBoundingClientRect();return{scrollY:e,top:n,left:i,width:r,height:s,viewport:{width:window.innerWidth,height:window.innerHeight}}}}const C={code:"seedtag",gvlid:157,aliases:["st"],supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:e=>g(e)?function(e){const t=f(e);let n=!!e.params.publisherId&&!!e.params.adUnitId&&g(e)&&!!t.playerSize&&(0,o.isArray)(t.playerSize)&&t.playerSize.length>0;return"inStream"===e.params.placement?n&&"instream"===t.context:n&&"outstream"===t.context&&function(e){return!!e.mediaTypes&&!!e.mediaTypes.banner}(e)&&h(e)}(e):h(e),buildRequests(e,t){const n={url:t.refererInfo.page,publisherToken:e[0].params.publisherId,cmp:!!t.gdprConsent,timeout:t.timeout,version:"8.48.0",connectionType:m(),auctionStart:t.auctionStart||Date.now(),ttfb:v(),bidRequests:(0,o._map)(e,y),user:{topics:[],eids:[]}};if(n.cmp){const e=t.gdprConsent.gdprApplies;void 0!==e&&(n.ga=e),n.cd=t.gdprConsent.consentString}t.uspConsent&&(n.uspConsent=t.uspConsent),e[0].schain&&(n.schain=e[0].schain);let i=s.$W.getConfig("coppa");i&&(n.coppa=i),t.gppConsent?n.gppConsent={gppString:t.gppConsent.gppString,applicableSections:t.gppConsent.applicableSections}:t.ortb2?.regs?.gpp&&(n.gppConsent={gppString:t.ortb2.regs.gpp,applicableSections:t.ortb2.regs.gpp_sid}),t.ortb2?.user?.data&&(n.user.topics=t.ortb2.user.data),e[0]&&e[0].userIdAsEids&&(n.user.eids=e[0].userIdAsEids);return{method:"POST",url:"https://s.seedtag.com/c/hb/bid",data:JSON.stringify(n)}},interpretResponse:function(e){const t=e.body;return t&&t.bids&&(0,o.isArray)(t.bids)?(0,o._map)(t.bids,(function(e){return b(e)})):[]},getUserSyncs(e,t){const n=t[0];if(e.iframeEnabled&&n){const e=n.body.cookieSync;return e?[{type:"iframe",url:e}]:[]}return[]},onTimeout(e){const t=function(e){let t="";if((0,o.isArray)(e)&&e[0]&&(0,o.isArray)(e[0].params)&&e[0].params[0]){const n=e[0].params[0],i=e[0].timeout;t="?publisherToken="+n.publisherId+"&adUnitId="+n.adUnitId+"&timeout="+i}return"https://s.seedtag.com/se/hb/timeout"+t}(e);(0,o.triggerPixel)(t)},onBidWon:function(e){e&&e.nurl&&(0,o.triggerPixel)(e.nurl)}};(0,r.a$)(C),(0,i.E)("seedtagBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=95282,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[45496],{25862:(e,o,t)=>{var n=t(7873),r=t(91069),d=t(16833),i=t(16916),a=t(12938),u=t(45569),c=t(2339);const l=(0,a.vM)({moduleType:u.fW,moduleName:"sharedId"}),s="cookie",m="html5",f="_pubcid_optout",g="PublisherCommonId";function p(e,o){if(o===s)return l.getCookie(e);if(o===m&&l.hasLocalStorage()){const o=l.getDataFromLocalStorage(`${e}_exp`);if(!o)return l.getDataFromLocalStorage(e);if(new Date(o).getTime()-Date.now()>0)return l.getDataFromLocalStorage(e)}}function I(e,o){return function(t,n){o?b(o,e,(()=>{t(n()||e)}))():t(e)}}function b(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2?arguments[2]:void 0;if(!e)return;const n=(0,r.parseUrl)(e);n.search.id=encodeURIComponent("pubcid:"+o);const d=(0,r.buildUrl)(n);return function(){(0,r.triggerPixel)(d,t)}}function v(){return!!(l.cookiesAreEnabled()&&p(f,s)||l.hasLocalStorage()&&p(f,m))}const h={name:"sharedId",aliasName:"pubCommonId",gvlid:i.B1,decode(e,o){if(v())return void(0,r.logInfo)("PubCommonId decode: Has opted-out");(0,r.logInfo)(" Decoded value PubCommonId "+e);return{pubcid:e}},getId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(v())return void(0,r.logInfo)("PubCommonId: Has opted-out");if(i.et.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{create:t=!0,pixelUrl:n}={}}=e;let d=o;if(!d){try{"object"==typeof window[g]&&(d=window[g].getId())}catch(e){}d||(d=t&&(0,r.hasDeviceAccess)()?(0,r.generateUUID)():void 0)}return{id:d,callback:I(d,n)}},extendId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(v())return(0,r.logInfo)("PubCommonId: Has opted-out"),{id:void 0};if(i.et.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{extend:t=!1,pixelUrl:n}={}}=e;if(t){if(n){return{callback:b(n,o)}}return{id:o}}},domainOverride:(0,c.w)(l,"sharedId"),eids:{pubcid:{source:"pubcid.org",atype:1}}};(0,d.bz)("userId",h),(0,n.E)("sharedIdSystem")}},e=>{e.O(0,[12764,60802,51085],(()=>{return o=25862,e(e.s=o);var o}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[28746],{27454:(e,t,r)=>{var n=r(7873),i=r(91069),o=r(70433),a=r(57377),d=r(12938),s=r(72285);const c="teads",p=12,u=11,l=0,g=22,m=(0,d.vM)({bidderCode:c}),y={code:c,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){let t=!1;if(void 0!==e.params){let r=S((0,i.getValue)(e.params,"placementId")),n=S((0,i.getValue)(e.params,"pageId"));t=r&&n}return t||(0,i.logError)("Teads placementId and pageId parameters are required. Bid aborted."),t},buildRequests:function(e,t){const r=e.map(w),n=window.top,i={referrer:f(t),pageReferrer:document.referrer,pageTitle:v().slice(0,300),pageDescription:h().slice(0,300),networkBandwidth:(a=window.navigator,a&&a.connection&&a.connection.downlink>=0?a.connection.downlink.toString():""),timeToFirstByte:b(window),data:r,deviceWidth:screen.width,deviceHeight:screen.height,devicePixelRatio:n.devicePixelRatio,screenOrientation:screen.orientation?.type,historyLength:n.history?.length,viewportHeight:n.visualViewport?.height,viewportWidth:n.visualViewport?.width,hardwareConcurrency:n.navigator?.hardwareConcurrency,deviceMemory:n.navigator?.deviceMemory,hb_version:"8.48.0",...I(e),...q(e)};var a;const d=e[0];d.schain&&(i.schain=d.schain);let s=t.gdprConsent;if(t&&s){let e="boolean"==typeof s.gdprApplies,t="string"==typeof s.consentString,r=e?function(e,t){let r=p;e?t&&!t.isServiceSpecific&&(r=u):r=l;return r}(s.gdprApplies,s.vendorData):g;i.gdpr_iab={consent:t?s.consentString:"",status:r,apiVersion:s.apiVersion}}t&&t.uspConsent&&(i.us_privacy=t.uspConsent);const c=(0,o.A)(d,"ortb2.device.sua");c&&(i.userAgentClientHints=c);const m=(0,o.A)(t,"ortb2.regs.ext.dsa");m&&(i.dsa=m);return{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(i)}},interpretResponse:function(e,t){if(!(e=e.body).responses)return[];const r=(0,s.T)();return e.responses.filter((e=>!e.needAutoplay||r)).map((e=>{const t={cpm:e.cpm,width:e.width,height:e.height,currency:e.currency,netRevenue:!0,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},ad:e.ad,requestId:e.bidId,creativeId:e.creativeId,placementId:e.placementId};return e.dealId&&(t.dealId=e.dealId),e?.ext?.dsa&&(t.meta.dsa=e.ext.dsa),t}))}};function I(e){const t={unifiedId2:"uid2.id",liveRampId:"idl_env",lotamePanoramaId:"lotamePanoramaId",id5Id:"id5id.uid",criteoId:"criteoId",yahooConnectId:"connectId",quantcastId:"quantcastId",epsilonPublisherLinkId:"publinkId",publisherFirstPartyViewerId:"pubcid",merkleId:"merkleId.id",kinessoId:"kpuid"};let r={};for(const n in t){const i=t[n],a=(0,o.A)(e,`0.userId.${i}`);a&&(r[n]=a)}return r}function f(e){let t="";return e&&e.refererInfo&&e.refererInfo.page&&(t=e.refererInfo.page),t}function v(){try{const e=window.top.document.querySelector('meta[property="og:title"]');return window.top.document.title||e&&e.content||""}catch(e){const t=document.querySelector('meta[property="og:title"]');return document.title||t&&t.content||""}}function h(){let e;try{e=window.top.document.querySelector('meta[name="description"]')||window.top.document.querySelector('meta[property="og:description"]')}catch(t){e=document.querySelector('meta[name="description"]')||document.querySelector('meta[property="og:description"]')}return e&&e.content||""}function b(e){const t=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,r=t&&"function"==typeof t.getEntriesByType&&"[object Function]"===Object.prototype.toString.call(t.getEntriesByType)&&t.getEntriesByType("navigation")[0]&&t.getEntriesByType("navigation")[0].responseStart&&t.getEntriesByType("navigation")[0].requestStart&&t.getEntriesByType("navigation")[0].responseStart>0&&t.getEntriesByType("navigation")[0].requestStart>0&&Math.round(t.getEntriesByType("navigation")[0].responseStart-t.getEntriesByType("navigation")[0].requestStart);if(r)return r.toString();const n=t&&t.timing.responseStart&&t.timing.requestStart&&t.timing.responseStart>0&&t.timing.requestStart>0&&t.timing.responseStart-t.timing.requestStart;return n?n.toString():""}function w(e){const t={};let r=(0,i.getValue)(e.params,"placementId"),n=(0,i.getValue)(e.params,"pageId");const a=(0,o.A)(e,"ortb2Imp.ext.gpid"),d=(0,o.A)(e,"mediaTypes.video.plcmt");return t.sizes=function(e){return(0,i.parseSizesInput)(function(e){let t=(0,o.A)(e,"mediaTypes.video.playerSize"),r=(0,o.A)(e,"mediaTypes.video.sizes"),n=(0,o.A)(e,"mediaTypes.banner.sizes");if((0,i.isArray)(n)||(0,i.isArray)(t)||(0,i.isArray)(r)){return[n,r,t].reduce((function(e,t){return(0,i.isArray)(t)&&((0,i.isArray)(t[0])?t.forEach((function(t){e.push(t)})):e.push(t)),e}),[])}return e.sizes}(e))}(e),t.bidId=(0,i.getBidIdParameter)("bidId",e),t.bidderRequestId=(0,i.getBidIdParameter)("bidderRequestId",e),t.placementId=parseInt(r,10),t.pageId=parseInt(n,10),t.adUnitCode=(0,i.getBidIdParameter)("adUnitCode",e),t.transactionId=e.ortb2Imp?.ext?.tid||"",a&&(t.gpid=a),d&&(t.videoPlcmt=d),t}function S(e){return parseInt(e)>0}function q(e){const t=(0,o.A)(e,"0.userId.teadsId");if(t)return{firstPartyCookieTeadsId:t};if(m.cookiesAreEnabled(null)){const e=m.getCookie("_tfpvi",null);if(e)return{firstPartyCookieTeadsId:e}}return{}}(0,a.a$)(y),(0,n.E)("teadsBidAdapter")}},e=>{e.O(0,[42809,60802,51085],(()=>{return t=27454,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[98282],{26504:(e,t,r)=>{var n=r(7873),i=r(70433),o=r(91069),a=r(71371),s=r(57377),d=r(43272),l=r(12938),p=r(76568);const c="triplelift";let u=null,m=null;const f=(0,l.vM)({bidderCode:c}),g={gvlid:28,code:c,supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:function(e){return void 0!==e.params.inventoryCode},buildRequests:function(e,t){let r="https://tlx.3lift.com/header/auction?",n=function(e,t){let r={},{schain:n}=e[0];const a=function(e){const t={},r={},n={},i=e.ortb2||{},a=function(){const e=f.getDataFromLocalStorage("opecloud_ctx");if(!e)return null;try{return JSON.parse(e)}catch(e){return(0,o.logError)("Triplelift: error parsing JSON: ",e),null}}(),s=Object.assign({},i.site),d=Object.assign({},i.user);if(a){d.data=d.data||[];try{d.data.push({name:"www.1plusx.com",ext:a})}catch(e){(0,o.logError)("Triplelift: error adding 1plusX segments: ",e)}}x(r,s),x(n,d),(0,o.isEmpty)(r)||(t.context=r);(0,o.isEmpty)(n)||(t.user=n);return t}(t);r.imp=e.map((function(e,t){let r={id:t,tagid:e.params.inventoryCode,floor:h(e)};return b(e)&&(r.video=function(e){let t={...e.params.video,...e.mediaTypes.video};try{t.w||(t.w=t.playerSize[0][0]),t.h||(t.h=t.playerSize[0][1])}catch(e){(0,o.logWarn)("Video size not defined",e)}"instream"===t.context&&(t.placement||(t.placement=1));"outstream"===t.context&&(t.placement?-1===[3,4,5].indexOf(t.placement)&&((0,o.logMessage)(`video.placement value of ${t.placement} is invalid for outstream context. Setting placement to 3`),t.placement=3):t.placement=3);t.playbackmethod&&Number.isInteger(t.playbackmethod)&&(t.playbackmethod=Array.from(String(t.playbackmethod),Number));return delete t.playerSize,t}(e)),e.mediaTypes.banner&&!y(e)&&(r.banner={format:E(e.sizes)}),(0,o.isEmpty)(e.ortb2Imp)||(r.fpd=function(e){const t={},r={};x(r,e.ext),(0,o.isEmpty)(r)||(t.context=r);return t}(e.ortb2Imp),(0,o.isEmpty)(e.ortb2Imp.ext)||(r.ext={...e.ortb2Imp.ext})),r}));let s=[];e[0].userIdAsEids&&(s=i.A(e[0],"userIdAsEids"),r.user={ext:{eids:s}});let d=function(e,t){let r={};(0,o.isEmpty)(e)||(r.schain={...e});(0,o.isEmpty)(t)||(r.fpd={...t});return r}(n,a);(0,o.isEmpty)(d)||(r.ext=d);t?.ortb2?.regs?.gpp&&(r.regs=Object.assign({},t.ortb2.regs));t?.ortb2&&(r.ext.ortb2=Object.assign({},t.ortb2));return r}(e,t);if(r=(0,p.v)(r,"lib","prebid"),r=(0,p.v)(r,"v","8.48.0"),t&&t.refererInfo){let e=t.refererInfo.page;r=(0,p.v)(r,"referrer",e)}return t&&t.timeout&&(r=(0,p.v)(r,"tmax",t.timeout)),t&&t.gdprConsent&&(u=void 0===t.gdprConsent.gdprApplies||t.gdprConsent.gdprApplies,r=(0,p.v)(r,"gdpr",u.toString()),void 0!==t.gdprConsent.consentString&&(m=t.gdprConsent.consentString,r=(0,p.v)(r,"cmp_cs",m))),t&&t.uspConsent&&(r=(0,p.v)(r,"us_privacy",t.uspConsent)),t&&t.fledgeEnabled&&(r=(0,p.v)(r,"fledge",t.fledgeEnabled)),!0===d.$W.getConfig("coppa")&&(r=(0,p.v)(r,"coppa",!0)),r.lastIndexOf("&")===r.length-1&&(r=r.substring(0,r.length-1)),(0,o.logMessage)("tlCall request built: "+r),{method:"POST",url:r,data:n,bidderRequest:t}},interpretResponse:function(e,t){let{bidderRequest:r}=t,n=e.body.bids||[];const i=e.body.paapi||[];if(n=n.map((e=>function(e,t){let r={},n=t.width||1,i=t.height||1,o=t.deal_id||"",a=t.crid||"",s=e.bids[t.imp_id];0!=t.cpm&&t.ad&&(r={requestId:s.bidId,cpm:t.cpm,width:n,height:i,netRevenue:!0,ad:t.ad,creativeId:a,dealId:o,currency:"USD",ttl:300,tl_source:t.tl_source,meta:{}},b(s)&&"video"===t.media_type&&(r.vastXml=t.ad,r.mediaType="video",r.ttl=3600),t.advertiser_name&&(r.meta.advertiserName=t.advertiser_name),t.adomain&&t.adomain.length&&(r.meta.advertiserDomains=t.adomain),t.tl_source&&"hdx"==t.tl_source&&(b(s)&&"video"===t.media_type?r.meta.mediaType="video":r.meta.mediaType="banner"),t.tl_source&&"tlx"==t.tl_source&&(r.meta.mediaType="native"),a&&(r.meta.networkId=a.slice(0,a.indexOf("_"))));return r}(r,e))),i.length>0){const e=i.map((e=>({bidId:r.bids[e.imp_id].bidId,config:e.auctionConfig})));return(0,o.logMessage)("Response with FLEDGE:",{bids:n,fledgeAuctionConfigs:e}),{bids:n,fledgeAuctionConfigs:e}}return n},getUserSyncs:function(e,t,r,n,i){let o=function(e){if(!e)return;if(e.iframeEnabled)return"iframe";if(e.pixelEnabled)return"image"}(e);if(!o)return;let a="https://eb2.3lift.com/sync?";return"image"===o&&(a=(0,p.v)(a,"px",1),a=(0,p.v)(a,"src","prebid")),(null!==m||u)&&(a=(0,p.v)(a,"gdpr",u),a=(0,p.v)(a,"cmp_cs",m)),n&&(a=(0,p.v)(a,"us_privacy",n)),i&&(i.gppString&&(a=(0,p.v)(a,"gpp",i.gppString)),i.applicableSections&&0!==i.applicableSections.length&&(a=(0,p.v)(a,"gpp_sid",i.applicableSections.filter((e=>Number.isInteger(e))).join(",")))),[{type:o,url:a}]}};function b(e){return v(e)&&(y(e)||function(e){return v(e)&&"outstream"===e.mediaTypes.video.context.toLowerCase()}(e))}function y(e){return v(e)&&"instream"===e.mediaTypes.video.context.toLowerCase()}function v(e){return e.mediaTypes.video&&e.mediaTypes.video.context}function h(e){let t=null;if("function"==typeof e.getFloor)try{const r=e.getFloor({currency:"USD",mediaType:b(e)?"video":"banner",size:"*"});"object"!=typeof r||"USD"!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}catch(e){(0,o.logError)("Triplelift: getFloor threw an error: ",e)}return null!==t?t:e.params.floor}function x(e,t){(0,o.isEmpty)(t)||Object.keys(t).forEach((r=>{null!=t[r]&&(e[r]=t[r])}))}function E(e){return e.filter(S).map((function(e){return{w:e[0],h:e[1]}}))}function S(e){return 2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]}(0,s.a$)(g),(0,n.E)("tripleliftBidAdapter")}},e=>{e.O(0,[14577,60802,51085],(()=>{return t=26504,e(e.s=t);var t}));e.O()}]);(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 c="uid2",u=`PrebidJS-8.48.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.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{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 c(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 u;{const e=9;u={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t("CSTG opts must be an object"),!1;const s=e;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._optoutCheck=e.cstg.optoutCheck,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),s={optout_check:this._optoutCheck,...t};this._logInfo("Building CSTG request for",s);const i=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),n=new TextEncoder,a=Date.now(),{iv:l,ciphertext:d}=await i.encrypt(n.encode(JSON.stringify(s)),n.encode(JSON.stringify([a]))),c=await o.exportPublicKey(i.clientPublicKey),u={payload:o.bytesToBase64(new Uint8Array(d)),iv:o.bytesToBase64(new Uint8Array(l)),public_key:o.bytesToBase64(new Uint8Array(c)),timestamp:a,subscription_id:this._subscriptionId};return this.callCstgApi(u,i)}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=u&&u.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=u.getValidIdentity(e.cstg,r);if(t&&(l&&u.isStoredTokenInvalid(t,l,s,r)&&(l=null),!l||Date.now()>l.latestToken.refresh_expires)){const i=u.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=c(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."),c(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()}]);(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:"8.48.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;et.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()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[10891],{78413:(r,e,t)=>{var s=t(7873),d=t(91069),n=t(68044),o=t(16833),i=t(2660);const u="unifiedId",a={name:u,gvlid:21,decode:r=>r&&"string"==typeof r.TDID?{tdid:r.TDID}:void 0,getId(r){const e=r&&r.params||{};if(!e||"string"!=typeof e.partner&&"string"!=typeof e.url)return void(0,d.logError)("User ID - unifiedId submodule requires either partner or url to be defined");const t=e.url||`https://match.adsrvr.org/track/rid?ttd_pid=${e.partner}&fmt=json`;return{callback:function(r){const e={success:e=>{let t;if(e)try{t=JSON.parse(e)}catch(r){(0,d.logError)(r)}r(t)},error:e=>{(0,d.logError)(`${u}: ID fetch encountered an error`,e),r()}};(0,n.RD)(t,e,void 0,{method:"GET",withCredentials:!0})}}},eids:{...i.M}};(0,o.bz)("userId",a),(0,s.E)("unifiedIdSystem")}},r=>{r.O(0,[17045,60802,51085],(()=>{return e=78413,r(r.s=e);var e}));r.O()}]);(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:"8.48.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},f=e=>{if(!e.context)return!1;return-1!==["outstream","instream"].indexOf(e.context)},y=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=f(r)),t&&n&&(t=y(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.fledgeEnabled},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,fledgeAuctionConfigs: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()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[73469],{34836:(e,t,n)=>{var o=n(7873),r=n(15901),i=n(43272),s=n(75023),a=n(16916),c=n(11445),u=n(78969),l=n(16833),d=n(91069),g=n(70433);const f=new Map;function m(e){const t={};function n(e){const n=JSON.stringify([e.source?.toLowerCase(),e.ext]);t.hasOwnProperty(n)?t[n].uids.push(...e.uids):t[n]=e}return Object.entries(e).forEach((e=>{let[t,o]=e;o=Array.isArray(o)?o:[o];("pubProvidedId"===t?(0,d.deepClone)(o):o.map((e=>function(e,t){const n=f.get(t);if(n&&e){let t={};t.source=(0,d.isFn)(n.getSource)?n.getSource(e):n.source;const o=(0,d.isFn)(n.getValue)?n.getValue(e):e;if((0,d.isStr)(o)){const r={id:o,atype:n.atype};if((0,d.isFn)(n.getUidExt)){const t=n.getUidExt(e);t&&(r.ext=t)}if(t.uids=[r],(0,d.isFn)(n.getEidExt)){const o=n.getEidExt(e);o&&(t.ext=o)}return t}}return null}(e,t)))).filter((e=>null!=e)).forEach(n)})),Object.values(t)}var b=n(12938),h=n(63172),y=n(51692),p=n(25555),I=n(1e3),w=n(16894),S=n(5973),E=n(45569),v=n(95139),k=n(76811),D=n(83441);const O="User ID",j=b.X0,A=b.qk,$="_pbjs_id_optout",C=(0,b.CK)("userId"),P={isAllowed:v.io};let N,U,x,L,T,_,F=!1,q=[],W=[],M={},G=[];const R=(()=>{let e;return()=>(null==e&&(e=(0,w.K7)()),e)})();function J(e){return R().fork().renameWith((t=>[`userId.mod.${t}`,`userId.mods.${e}.${t}`]))}function B(e,t){t=t||e.storageMgr;const n="function"==typeof e.submodule.domainOverride?e.submodule.domainOverride():null,o=e.config.storage.name;return function(e,r,i){t.setCookie(o+(e||""),r,i,"Lax",n)}}function K(e,t){const n=e.config.storage,o=e.storageMgr;try{const r=new Date(Date.now()+864e5*n.expires).toUTCString(),i=(0,d.isPlainObject)(t)?JSON.stringify(t):t;if(n.type===j){const t=B(e);t(null,i,r),t("_cst",ge(),r),"number"==typeof n.refreshInSeconds&&t("_last",(new Date).toUTCString(),r)}else n.type===A&&(o.setDataInLocalStorage(`${n.name}_exp`,r),o.setDataInLocalStorage(`${n.name}_cst`,ge()),o.setDataInLocalStorage(n.name,encodeURIComponent(i)),"number"==typeof n.refreshInSeconds&&o.setDataInLocalStorage(`${n.name}_last`,(new Date).toUTCString()))}catch(e){(0,d.logError)(e)}}function V(e){let t=(0,d.getPrebidInternal)().setEidPermissions;"function"==typeof t&&(0,d.isArray)(e)&&t(function(e){let t=[];return e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).forEach((e=>{Object.keys(e.idObj).forEach((n=>{const o=f.get(n)||{};(0,g.A)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&o.source&&t.push({source:o.source,bidders:e.config.bidders})}))})),t}(e))}function Y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const n=e.storageMgr,o=e.config.storage,r=t?`${o.name}_${t}`:o.name;let i;try{if(o.type===j)i=n.getCookie(r);else if(o.type===A){const e=n.getDataFromLocalStorage(`${o.name}_exp`);""===e?i=n.getDataFromLocalStorage(r):e&&new Date(e).getTime()-Date.now()>0&&(i=decodeURIComponent(n.getDataFromLocalStorage(r)))}"string"==typeof i&&"{"===i.trim().charAt(0)&&(i=JSON.parse(i))}catch(e){(0,d.logError)(e)}return i}function z(e,t,n){t=R().fork().startTiming("userId.callbacks.total").stopBefore(t);const o=(0,d.delayExecution)((()=>{clearTimeout(U),t()}),e.length);e.forEach((function(e){const t=J(e.submodule.name).startTiming("callback").stopBefore(o);try{e.callback((function(o){o?(e.config.storage&&K(e,o),e.idObj=e.submodule.decode(o,e.config),me(Q(n))):(0,d.logInfo)(`${O}: ${e.submodule.name} - request id responded with an empty value`),t()}),Y.bind(null,e))}catch(n){(0,d.logError)(`Error in userID module '${e.submodule.name}':`,n),t()}e.callback=void 0}))}function Q(e){return Array.isArray(e)&&e.length?H(e):{}}function X(e,t,n){return Object.fromEntries(Object.entries(e.reduce(((e,o)=>{const r=t(o);return r&&Object.keys(r).forEach((t=>{const i=M[t]?.indexOf(n(o)),s={priority:(0,d.isNumber)(i)?i:-1,value:r[t]};if(e[t]){const n=s.priority>e[t].priority?s:e[t];e[t]=n}else e[t]=s})),e}),{})).map((e=>{let[t,n]=e;return[t,n.value]})))}function H(e){return X(e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)),(e=>e.idObj),(e=>e.submodule.name))}function Z(e,t){[e].some((e=>!Array.isArray(e)||!e.length))||e.forEach((e=>{e.bids&&(0,d.isArray)(e.bids)&&e.bids.forEach((e=>{const n=function(e,t){return Array.isArray(e)&&e.length&&t?H(e.filter((e=>!e.config.bidders||!(0,d.isArray)(e.config.bidders)||(0,r.mK)(e.config.bidders,t)))):{}}(t,e.bidder);Object.keys(n).length&&(e.userId=n,e.userIdAsEids=m(n))}))}))}const ee={};let te;function ne(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ie()||[];const t=T&&e.find((e=>e.source===T));if(t&&"string"==typeof(0,g.A)(t,"uids.0.id")){const e=t.uids[0].id.replace(/[\W_]/g,"");if(e.length>=32&&e.length<=150)return e;(0,d.logWarn)(`User ID - Googletag Publisher Provided ID for ${T} is not between 32 and 150 characters - ${e}`)}}const oe=(0,w.Ak)("userId",(function(e,t){let{delay:n=p.k.timeout,getIds:r=de}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p.k.race([r().catch((()=>null)),n(L)]).then((()=>{Z(t.adUnits||(0,o.m)().adUnits,N),R().join((0,w.BO)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))}));function re(){return Q(N)}function ie(){return m(re())}function se(e){return m(function(e,t){if(!Array.isArray(e)||!e.length)return{};const n=H(e),o=Object.keys(n).find((e=>{const n=f.get(e);return n?.source===t||(0,d.isFn)(n?.getSource)&&n.getSource()===t}));return o?{[o]:n[o]}:[]}(N,e))[0]}function ae(e,t,n){return te().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)(`${O} - Getting encrypted signal from custom function : ${n.name} & source : ${e} `);const t=n(e);o[e]=t?ce(t):null}else{const n=se(e);(0,d.logInfo)(`${O} - Getting encrypted signal for eids :${JSON.stringify(n)}`),(0,d.isEmpty)(n)||(o[n.source]=!0===t?ce(n):n.uids[0].id)}return(0,d.logInfo)(`${O} - Fetching encrypted eids: ${o[e]}`),o[e]}))}function ce(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n="";if(1===t)n="object"==typeof e?window.btoa(JSON.stringify(e)):window.btoa(e);return`${t}||${n}`}function ue(){if(!(0,d.isGptPubadsDefined)())return;window.googletag.secureSignalProviders=window.googletag.secureSignalProviders||[];const e=i.$W.getConfig("userSync.encryptedSignalSources");if(e){const t=e.registerDelay||0;setTimeout((()=>{e.sources&&e.sources.forEach((e=>{let{source:t,encrypt:n,customFunc:o}=e;t.forEach((e=>{window.googletag.secureSignalProviders.push({id:e,collectorFunction:()=>ae(e,n,o)})}))}))}),t)}else(0,d.logWarn)(`${O} - ESP : encryptedSignalSources config not defined under userSync Object`)}function le(){let{submoduleNames:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return te({refresh:!0,submoduleNames:e}).then((()=>(t&&(0,d.isFn)(t)&&t(),re())))}function de(){return te().then((()=>re()),(e=>e===ee?Promise.resolve().then(de):((0,d.logError)("Error initializing userId",e),p.k.reject(e))))}function ge(){let e=Number(a.SL.hash);const t=[];for(;e>0;)t.push(String.fromCharCode(255&e)),e>>>=8;return btoa(t.join())}function fe(e,t,n){const o=a.mW.getConsentData();if(e.config.storage){let n,r=Y(e),i=!1;if("number"==typeof e.config.storage.refreshInSeconds){const t=new Date(Y(e,"last"));i=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}!r||i||t||function(e){const t=Y(e,"cst");return!t||t!==ge()}(e)?n=e.submodule.getId(e.config,o,r):"function"==typeof e.submodule.extendId&&(n=e.submodule.extendId(e.config,o,r)),(0,d.isPlainObject)(n)&&(n.id&&(K(e,n.id),r=n.id),"function"==typeof n.callback&&(e.callback=n.callback)),r&&(e.idObj=e.submodule.decode(r,e.config))}else if(e.config.value)e.idObj=e.config.value;else{const t=e.submodule.getId(e.config,o,void 0);(0,d.isPlainObject)(t)&&("function"==typeof t.callback&&(e.callback=t.callback),t.id&&(e.idObj=e.submodule.decode(t.id,e.config)))}me(Q(n))}function me(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re();if(e&&T){const t=ne(m(e));t&&((0,d.isGptPubadsDefined)()?window.googletag.pubads().setPublisherProvidedId(t):(window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push((function(){window.googletag.pubads().setPublisherProvidedId(t)}))))}}function be(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return R().fork().measureTime("userId.init.modules",(function(){if(!t.length)return[];if(!(t=t.filter((e=>(!e.config.storage||function(e){switch(e.config?.storage?.type){case A:if(e.storageMgr.localStorageIsEnabled())return!C.getDataFromLocalStorage($)||((0,d.logInfo)(`${O} - opt-out localStorage found, storage disabled`),!1);break;case j:if(e.storageMgr.cookiesAreEnabled())return!C.getCookie($)||((0,d.logInfo)(`${O} - opt-out cookie found, storage disabled`),!1)}return!1}(e))&&P.isAllowed(k.yl,(0,D.s)(E.fW,e.config.name))))).length)return(0,d.logWarn)(`${O} - no ID module configured`),[];const o=t.reduce(((e,o)=>J(o.submodule.name).measureTime("init",(()=>{try{fe(o,n,t),e.push(o)}catch(e){(0,d.logError)(`Error in userID module '${o.submodule.name}':`,e)}return e}))),[]);return o.length&&V(o),o.forEach(he.bind(null,e)),o}))}function he(e,t){let n=!1;for(let o=0;oe.eids),(e=>e.name))).forEach((e=>{let[t,n]=e;return f.set(t,n)}))}function Ie(){pe(G);const e=function(e){return Array.isArray(e)?e.reduce(((e,t)=>(!t||(0,d.isEmptyStr)(t.name)||(t.storage&&!(0,d.isEmptyStr)(t.storage.type)&&!(0,d.isEmptyStr)(t.storage.name)&&ye.has(t.storage.type)||(0,d.isPlainObject)(t.value)?e.push(t):t.storage||t.value||e.push(t)),e)),[]):[]}(W);if(!e.length)return;const t=G.filter((e=>!(0,r.I6)(q,(t=>t.name===e.name))));q.splice(0,q.length),t.map((t=>{const n=(0,r.I6)(e,(e=>e.name&&(e.name.toLowerCase()===t.name.toLowerCase()||t.aliasName&&e.name.toLowerCase()===t.aliasName.toLowerCase())));return n&&t.name!==n.name&&(n.name=t.name),t.findRootDomain=S.S,n?{submodule:t,config:n,callback:void 0,idObj:void 0,storageMgr:(0,b.vM)({moduleType:E.fW,moduleName:n.name})}:null})).filter((e=>null!==e)).forEach((e=>q.push(e))),!F&&q.length&&((0,o.m)().requestBids.before(oe,40),c.Ay.callDataDeletionRequest.before(we),y.Q.after((e=>e(ne()))),(0,d.logInfo)(`${O} - usersync config updated for ${q.length} submodules: `,q.map((e=>e.submodule.name))),F=!0)}function we(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o{if("function"==typeof e.submodule.onDataDeletionRequest)try{e.submodule.onDataDeletionRequest(e.config,e.idObj,...n)}catch(t){(0,d.logError)(`Error calling onDataDeletionRequest for ID submodule ${e.submodule.name}`,t)}!function(e){let t,n;switch(e.config?.storage?.type){case j:const o=B(e,C),r=new Date(Date.now()-864e5).toUTCString();t=e=>o(e,"",r),n=["","_last","_cst"];break;case A:t=t=>C.removeDataFromLocalStorage(e.config.storage.name+t),n=["","_last","_exp","_cst"]}t&&n.forEach((e=>{try{t(e)}catch(e){(0,d.logError)(e)}}))}(e)})),e.apply(this,n)}function Se(e){return function(){return Promise.resolve(e.apply(this,arguments))}}!function(e){let{delay:t=p.k.timeout}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};T=void 0,q=[],W=[],F=!1,N=[],te=function(){let{delay:e=p.k.timeout}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,p.v)(),n=(0,p.v)();let o,r,i=!1;function c(e){return r=R().fork(),null!=o&&o.reject(ee),o=(0,p.v)(),p.k.race([e,o.promise]).finally(r.startTiming("userId.total"))}let g=N,f=q;function m(e){return function(){if(g===N&&f===q)return e(...arguments)}}function b(){return a.SL.promise.finally(r.startTiming("userId.init.consent"))}let h=c(p.k.all([l.Gc,t.promise]).then(b).then(m((()=>{be(g,f)}))).then((()=>n.promise.finally(r.startTiming("userId.callbacks.pending")))).then(m((()=>{const e=g.filter((e=>(0,d.isFn)(e.callback)));if(e.length)return new p.k((t=>z(e,t,g)))}))));return function(){let{refresh:o=!1,submoduleNames:r=null,ready:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a&&!i&&(i=!0,t.resolve(),L>0?n.resolve():s.on(u.qY.AUCTION_END,(function t(){s.off(u.qY.AUCTION_END,t),e(x).then(n.resolve)}))),o&&i&&(h=c(h.catch((()=>null)).then(b).then(m((()=>{const e=be(g,f.filter((e=>null==r||r.includes(e.submodule.name))),!0).filter((e=>null!=e.callback));if(e.length)return new p.k((t=>z(e,t,g)))}))))),h}}({delay:t}),null!=_&&_(),G=[],_=e.getConfig("userSync",(e=>{const t=e.userSync;t&&(T=t.ppid,t.userIds&&(W=t.userIds,x=(0,d.isNumber)(t.syncDelay)?t.syncDelay:500,L=(0,d.isNumber)(t.auctionDelay)?t.auctionDelay:0,Ie(),function(e,t){if(e){const n={},o=new Map(t.map((e=>e.submodule.aliasName?[e.submodule.aliasName,e.submodule.name]:[])));Object.keys(e).forEach((t=>{const r=(0,d.isArray)(e[t])?[...e[t]].reverse():[];n[t]=r.map((e=>o.has(e)?o.get(e):e))})),M=n}else M={}}(t.idPriority,q),te({ready:!0})))})),(0,o.m)().getUserIds=re,(0,o.m)().getUserIdsAsEids=ie,(0,o.m)().getEncryptedEidsForSource=Se(ae),(0,o.m)().registerSignalSources=ue,(0,o.m)().refreshUserIds=Se(le),(0,o.m)().getUserIdsAsync=Se(de),(0,o.m)().getUserIdsAsEidBySource=se}(i.$W),(0,l.xG)("userId",(function(e){(0,r.I6)(G,(t=>t.name===e.name))||(G.push(e),a.o2.register(E.fW,e.name,e.gvlid),Ie(),te({refresh:!0,submoduleNames:[e.name]}))}),{postInstallAllowed:!0}),(0,I.pS)({type:I.S3,name:"userExtEids",fn:function(e,t,n){const o=(0,g.A)(n,"bidRequests.0.userIdAsEids");o&&Object.keys(o).length>0&&(0,h.J)(e,"user.ext.eids",o)}}),(0,o.E)("userId")}},e=>{e.O(0,[60802,51085],(()=>{return t=34836,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[47957],{93043:(e,t,n)=>{var i=n(7873),r=n(91069),o=n(70433),d=n(57377),s=n(71371),a=n(12938),c=n(12693),u=n(43272),p=n(29906);const l="prebid",g="vidazoo",b="1.0.0",m=9e5,f=36e5,h="vidSid",I="vdzwopt",C="wsid_"+parseInt(Date.now()*Math.random()),y=(0,a.vM)({bidderCode:g});function v(){try{return(0,r.parseUrl)(window.top.document.URL,{decodeSearchAsString:!0}).search}catch(e){return""}}function S(){return`https://${arguments.length>0&&void 0!==arguments[0]?arguments[0]:l}.cootlogix.com`}function D(e){return e.cId||e.CID||e.cID||e.CId||e.cid||e.ciD||e.Cid||e.CiD}function R(e){return e.pId||e.PID||e.pID||e.PId||e.pid||e.piD||e.Pid||e.PiD}function A(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}function $(e,t,n,i,d){const{params:s,bidId:a,userId:u,adUnitCode:p,schain:l,mediaTypes:S,ortb2Imp:D,bidderRequestId:A,bidRequestsCount:$,bidderRequestsCount:T,bidderWinsCount:z}=e,{ext:q}=s;let{bidFloor:x}=s;const O=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";const n=e.length;let i=0,r=0;if(n>0)for(;r1&&void 0!==arguments[1]?arguments[1]:m;try{const n=w(e);let i,r=0;n&&n.value&&Date.now()-n.created1&&void 0!==arguments[1]?arguments[1]:f;const n=`u_${e}`,i=Date.now(),r=w(n);let o;!r||!r.value||i-r.created>t?(o=`${e}_${i.toString()}`,U(n,o)):o=r.value;return o}(O),P=w(h)||"",k=R(s),E=function(){let e=y.getDataFromLocalStorage(I);e||(e=String(Date.now()),y.setDataInLocalStorage(I,e));return e}(),F=c.u.get(g,"storageAllowed"),W=(0,o.A)(e,"ortb2Imp.ext.gpid",(0,o.A)(e,"ortb2Imp.ext.data.pbadslot","")),L=(0,o.A)(i,"ortb2.site.cat",[]),M=(0,o.A)(i,"ortb2.site.pagecat",[]),B=(0,o.A)(i,"ortb2.site.content.data",[]),N=(0,o.A)(i,"ortb2.user.data",[]);if((0,r.isFn)(e.getFloor)){const t=e.getFloor({currency:"USD",mediaType:"*",size:"*"});"USD"===t.currency&&(x=t.floor)}let G={url:encodeURIComponent(t),uqs:v(),cb:Date.now(),bidFloor:x,bidId:a,referrer:i.refererInfo.ref,adUnitCode:p,publisherId:k,sessionId:P,sizes:n,dealId:_,uniqueDealId:j,bidderVersion:b,prebidVersion:"8.48.0",res:`${screen.width}x${screen.height}`,schain:l,mediaTypes:S,ptrace:E,isStorageAllowed:F,gpid:W,cat:L,contentData:B,userData:N,pagecat:M,transactionId:D?.ext?.tid,bidderRequestId:A,bidRequestsCount:$,bidderRequestsCount:T,bidderWinsCount:z,bidderTimeout:d,webSessionId:C};!function(e,t){let n;(0,r._each)(t,((t,i)=>{switch(n=`uid.${i}`,i){case"digitrustid":e[n]=(0,o.A)(t,"data.id");break;case"lipb":e[n]=t.lipbid;break;case"parrableId":e[n]=t.eid;break;case"id5id":e[n]=t.uid;break;default:e[n]=t}}))}(G,u);const V=(0,o.A)(i,"ortb2.device.sua");if(V&&(G.sua=V),i.gdprConsent&&(i.gdprConsent.consentString&&(G.gdprConsent=i.gdprConsent.consentString),void 0!==i.gdprConsent.gdprApplies&&(G.gdpr=i.gdprConsent.gdprApplies?1:0)),i.uspConsent&&(G.usPrivacy=i.uspConsent),i.gppConsent?(G.gppString=i.gppConsent.gppString,G.gppSid=i.gppConsent.applicableSections):i.ortb2?.regs?.gpp&&(G.gppString=i.ortb2.regs.gpp,G.gppSid=i.ortb2.regs.gpp_sid),i.fledgeEnabled){const e=(0,o.A)(i,"ortb2Imp.ext.ae");e&&(G.fledge=e)}return(0,r._each)(q,((e,t)=>{G["ext."+t]=e})),G}function T(e,t,n,i,r){const{params:o}=e,d=D(o),s=A(o),a=$(e,t,n,i,r);return{method:"POST",url:`${S(s)}/prebid/multi/${d}`,data:a}}function w(e){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(y.getDataFromLocalStorage(e))}catch(e){}return null}function U(e,t,n){try{const i=n||Date.now(),r=JSON.stringify({value:t,created:i});y.setDataInLocalStorage(e,r)}catch(e){}}const z={code:g,version:b,gvlid:744,supportedMediaTypes:[s.D4,s.G_],isBidRequestValid:function(e){const t=e.params||{};return!(!D(t)||!R(t))},buildRequests:function(e,t){const n=t.refererInfo.page||t.refererInfo.topmostLocation,i=u.$W.getConfig("bidderTimeout"),o=u.$W.getConfig("vidazoo.singleRequest"),d=[];if(o){const o=e.filter((e=>(0,r.isArray)(e.mediaTypes)?e.mediaTypes.includes(s.D4):void 0!==e.mediaTypes[s.D4]));if(o.length>0){const e=function(e,t,n,i){const{params:o}=e[0],d=D(o),s=A(o),a=e.map((e=>{const o=(0,r.parseSizesInput)(e.sizes);return $(e,n,o,t,i)})),c=Math.min(20,u.$W.getConfig("vidazoo.chunkSize")||10);return(0,p.i)(a,c).map((e=>({method:"POST",url:`${S(s)}/prebid/multi/${d}`,data:{bids:e}})))}(o,t,n,i);d.push(...e)}e.filter((e=>void 0!==e.mediaTypes[s.G_])).forEach((e=>{const o=(0,r.parseSizesInput)(e.sizes),s=T(e,n,o,t,i);d.push(s)}))}else e.forEach((e=>{const o=(0,r.parseSizesInput)(e.sizes),s=T(e,n,o,t,i);d.push(s)}));return d},interpretResponse:function(e,t){if(!e||!e.body)return[];const n=u.$W.getConfig("vidazoo.singleRequest"),i=(0,o.A)(t,"data.bidId"),{results:r}=e.body;let d=[];try{return r.forEach(((e,t)=>{const{creativeId:r,ad:o,price:a,exp:c,width:u,height:p,currency:l,bidId:g,nurl:b,advertiserDomains:m,metaData:f,mediaType:h=s.D4}=e;if(!o||!a)return;const I={requestId:n&&g?g:i,cpm:a,width:u,height:p,creativeId:r,currency:l||"USD",netRevenue:!0,ttl:c||300};b&&(I.nurl=b),f?Object.assign(I,{meta:f}):Object.assign(I,{meta:{advertiserDomains:m||[]}}),h===s.D4?Object.assign(I,{ad:o}):Object.assign(I,{vastXml:o,mediaType:s.G_}),d.push(I)})),d}catch(e){return[]}},getUserSyncs:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=[];const{iframeEnabled:a,pixelEnabled:c}=e,{gdprApplies:u,consentString:p=""}=n,{gppString:l,applicableSections:g}=d,b=t.filter((e=>(0,o.A)(e,"body.cid"))).map((e=>e.body.cid)).filter(r.uniques);let m=`?cid=${encodeURIComponent(b.join(","))}&gdpr=${u?1:0}&gdpr_consent=${encodeURIComponent(p||"")}&us_privacy=${encodeURIComponent(i||"")}`;return l&&g?.length&&(m+="&gpp="+encodeURIComponent(l),m+="&gpp_sid="+encodeURIComponent(g.join(","))),a&&s.push({type:"iframe",url:`https://sync.cootlogix.com/api/sync/iframe/${m}`}),c&&s.push({type:"image",url:`https://sync.cootlogix.com/api/sync/image/${m}`}),s},onBidWon:function(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)}};(0,d.a$)(z),(0,i.E)("vidazooBidAdapter")}},e=>{e.O(0,[44982,60802,51085],(()=>{return t=93043,e(e.s=t);var t}));e.O()}]);})(),pbjs.processQueue();

Proton VPN Will Bring Its "Stealth" Protocol to Windows (2024)

FAQs

Does Proton VPN have stealth mode? ›

Stealth. Proton VPN's Stealth is a unique VPN protocol that evades detection and allows you to bypass most firewalls and VPN blocking methods.

Is Proton VPN good for Windows? ›

The Proton VPN app for Windows is the best way to stay secure and private when surfing the internet. It is open source, easy to use, and packed with useful security features.

How do I enable Stealth Proton VPN on Windows? ›

  1. Install ProtonVPN on your phone.
  2. Activate Stealth-Protocol & connect to a server.
  3. Connect the phone to your PC via USB-Cable.
  4. Go into your phones settings and activate "USB-Tethering"
  5. Make sure your PC uses your phone to connect to the internet.
  6. You can now use Stealth on PC.
Feb 23, 2023

Can police track Proton VPN? ›

A VPN connects your device to a VPN server run by a VPN service such as Proton VPN. The connection between your device and the VPN server is encrypted, so no one can access your data as it travels between the two computers.

Which VPN has a stealth protocol? ›

Surfshark uses OpenVPN — TCP and UDP — as your stealth VPN protocols.

What are the disadvantages of Proton VPN? ›

It provides a secure and reliable connection, advanced encryption protocols, a wide range of servers, a no-logs policy, and a user-friendly interface. However, it can be a bit slower, the free version has limited servers, no ad-blocker feature, a cluttered interface, and the relatively high cost of the paid version.

What is the most powerful VPN for Windows? ›

The best Windows VPNs for PC in 2024
  1. NordVPN. Packed with security features, and great for streaming Netflix. ...
  2. ExpressVPN. Top-notch security and privacy tools with easy-to-use apps. ...
  3. Surfshark. A budget-friendly VPN that offers plenty of features and amazing speeds. ...
  4. Proton VPN. ...
  5. Hotspot Shield.
Mar 18, 2024

What is better than Proton VPN? ›

NordVPN is better than ProtonVPN by a pretty wide margin. It has around 10 times as many servers in nearly 20 more countries, so it's likely that you'll get faster speeds with NordVPN compared to ProtonVPN.

What is the safest protocol for Proton VPN? ›

Proton VPN implements OpenVPN at its strongest encryption settings and uses forward secrecy to ensure new keys are generated for each session. A big advantage of OpenVPN is that it can be run using UDP or TCP transmission protocols.

What is the strongest VPN protocol? ›

In other words, OpenVPN is the most secure protocol. WireGuard uses state-of-the-art cryptography. It doesn't support AES encryption, but it substitutes it with ChaCha20. It's less complex, but still very secure.

What is the difference between stealth and WireGuard? ›

Stealth or Wireguard? Using a stealth protocol means your data has to go through an extra round of encryption, which can slow down your connection speed. Using Wireguard alone is likely to be faster, though it will be easier for ISPs/network managers to work out you're using a VPN.

Can Proton VPN be trusted? ›

Proton VPN employs high-strength VPN protocols with no known vulnerabilities to protect your data, such as OpenVPN, IKEv2, and WireGuard. With Proton VPN, you can expect fast, secure, and censorship-resistant VPN connections.

Is Proton VPN really free? ›

We believe privacy and security are fundamental human rights, so we also provide a free version of Proton VPN to the public. Unlike other free VPNs, there are no catches. We don't serve ads or secretly sell your browsing history.

What is the stealth protocol for Windows? ›

The Stealth protocol is designed to circumvent VPN blocks that may be implemented by individual websites, universities, or governments. It disguises your OpenVPN connection as a simple HTTPS connection, and it activates your VPN in a way that avoids common detection filters.

Is Proton VPN really anonymous? ›

No-logs VPN

Proton VPN does not keep logs of your online activity. We do not store, collect, or track any information about your connection logs, IP addresses, session lengths, or location.

Does Proton VPN have obfuscated? ›

Alongside WireGuard, OpenVPN and IKEv2/IPsec VPN protocols, Proton boasts its proprietary Stealth. As the name suggests, the Stealth VPN protocol obfuscates your connection, masking the fact that you're using a VPN.

Does Proton VPN hide browsing? ›

No-logs VPN

Thanks to our strict no-logs policy, Proton VPN never stores any information about the websites you visit, session durations, or any data that can identify or compromise you. We also block all trackers that log user activity.

How do I set stealth VPN? ›

Stealth is our way to try and get around this. The Stealth protocol uses Stunnel, an open-source library, to wrap your regular VPN connection within a layer of SSL encryption. By doing this, the connection ends up looking like any other secure web traffic in the case anyone were to analyze it.

Top Articles
Go Ahead and Roast a Goose: You KNOW You Want To
Greek-Inspired Feta Pizza Recipe
Shs Games 1V1 Lol
Recent Obituaries Patriot Ledger
Comcast Xfinity Outage in Kipton, Ohio
City Of Spokane Code Enforcement
World of White Sturgeon Caviar: Origins, Taste & Culinary Uses
Otr Cross Reference
About Us | TQL Careers
Hair Love Salon Bradley Beach
The Superhuman Guide to Twitter Advanced Search: 23 Hidden Ways to Use Advanced Search for Marketing and Sales
Minecraft Jar Google Drive
Moviesda3.Com
Aucklanders brace for gales, hail, cold temperatures, possible blackouts; snow falls in Chch
50 Shades Darker Movie 123Movies
Chelactiv Max Cream
Mikayla Campinos Laek: The Rising Star Of Social Media
10 Fun Things to Do in Elk Grove, CA | Explore Elk Grove
UPS Store #5038, The
Sulfur - Element information, properties and uses
How to Grow and Care for Four O'Clock Plants
THE FINALS Best Settings and Options Guide
Best Sports Bars In Schaumburg Il
Netwerk van %naam%, analyse van %nb_relaties% relaties
Cpt 90677 Reimbursem*nt 2023
Access a Shared Resource | Computing for Arts + Sciences
Santa Barbara Craigs List
Deepwoken: Best Attunement Tier List - Item Level Gaming
Craigslist Scottsdale Arizona Cars
Robert A McDougal: XPP Tutorial
County Cricket Championship, day one - scores, radio commentary & live text
Warren County Skyward
Abga Gestation Calculator
Missing 2023 Showtimes Near Mjr Southgate
Napa Autocare Locator
The Latest: Trump addresses apparent assassination attempt on X
Little Caesars Saul Kleinfeld
1400 Kg To Lb
2016 Honda Accord Belt Diagram
Ishow Speed Dick Leak
Priscilla 2023 Showtimes Near Consolidated Theatres Ward With Titan Luxe
2700 Yen To Usd
Yakini Q Sj Photos
Beds From Rent-A-Center
News & Events | Pi Recordings
2000 Ford F-150 for sale - Scottsdale, AZ - craigslist
Horseneck Beach State Reservation Water Temperature
Diamond Spikes Worth Aj
Craigslist Pets Lewiston Idaho
Read Love in Orbit - Chapter 2 - Page 974 | MangaBuddy
Overstock Comenity Login
One Facing Life Maybe Crossword
Latest Posts
Article information

Author: Rev. Porsche Oberbrunner

Last Updated:

Views: 6544

Rating: 4.2 / 5 (73 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Rev. Porsche Oberbrunner

Birthday: 1994-06-25

Address: Suite 153 582 Lubowitz Walks, Port Alfredoborough, IN 72879-2838

Phone: +128413562823324

Job: IT Strategist

Hobby: Video gaming, Basketball, Web surfing, Book restoration, Jogging, Shooting, Fishing

Introduction: My name is Rev. Porsche Oberbrunner, I am a zany, graceful, talented, witty, determined, shiny, enchanting person who loves writing and wants to share my knowledge and understanding with you.