Halo Combat Evolved: Every Skull Location (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([[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()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[69380],{64668:(e,t,r)=>{var i=r(7873),n=r(91069),o=r(70433),a=r(63172),s=r(71371),d=r(57377),p=r(95789),c=r(15901);const u="USD",m=300,l=!0,f="https://prebid-outstream.yieldmo.com/bundle.js",g=["mimes","startdelay","placement","plcmt","skipafter","protocols","api","playbackmethod","maxduration","minduration","pos","skip","skippable"],y=["name","domain","cat","keywords"],b=(0,n.getWindowTop)(),v=2,h=0,A=["description","title","pr","page_url"],x={code:"yieldmo",supportedMediaTypes:[s.D4,s.G_],gvlid:173,isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(I(e)||w(e))&&function(e){if(!w(e))return!0;const t=(e,t,r)=>{let i=`"${e}" is required`;throw r&&(i+=" when "+r),new Error(i)},r=(e,t,r)=>{throw r=r?", expected: "+r:"",t=JSON.stringify(t),new Error(`"${e}"=${t} is invalid${r}`)},i=e=>void 0!==e,a=(t,r,i,n)=>{if(0===t.indexOf("video")){const a="params."+t,s="mediaTypes."+t,d=(0,o.A)(e,a),p=(0,o.A)(e,s),c=r(d),u=r(p);return c?d:u||(c?u||i(s,p,n):i(a,d,n),d||p)}{const a=(0,o.A)(e,t);return r(a)||i(t,a,n),a}};try{a("video.context",(e=>!(0,n.isEmpty)(e)),t),a("params.placementId",(e=>!(0,n.isEmpty)(e)),t),a("video.playerSize",(e=>(0,n.isArrayOfNums)(e,2)||(0,n.isArray)(e)&&e.every((e=>(0,n.isArrayOfNums)(e,2)))),r,"array of 2 integers, ex: [640,480] or [[640,480]]"),a("video.mimes",(e=>i(e)),t),a("video.mimes",(e=>(0,n.isArray)(e)&&e.every((e=>(0,n.isStr)(e)))),r,'array of strings, ex: ["video/mp4"]');const e=a("video.placement",(e=>i(e)),t);return a("video.placement",(e=>e>=1&&e<=5),r),1===e&&(a("video.startdelay",(e=>i(e)),((e,r)=>t(e,r,"placement == 1"))),a("video.startdelay",(e=>(0,n.isNumber)(e)),r,"number, ex: 5")),a("video.protocols",(e=>i(e)),t),a("video.api",(e=>i(e)),t),a("video.api",(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=6))),r,"array of numbers, ex: [2,3]"),a("video.playbackmethod",(e=>!i(e)||(0,n.isArrayOfNums)(e)),r,"array of integers, ex: [2,6]"),a("video.maxduration",(e=>i(e)),t),a("video.maxduration",(e=>(0,n.isInteger)(e)),r),a("video.minduration",(e=>!i(e)||(0,n.isNumber)(e)),r),a("video.skippable",(e=>!i(e)||(0,n.isBoolean)(e)),r),a("video.skipafter",(e=>!i(e)||(0,n.isNumber)(e)),r),a("video.pos",(e=>!i(e)||(0,n.isNumber)(e)),r),a("params.badv",(e=>!i(e)||(0,n.isArray)(e)),r,'array of strings, ex: ["ford.com","pepsi.com"]'),a("params.bcat",(e=>!i(e)||(0,n.isArray)(e)),r,'array of strings, ex: ["IAB1-5","IAB1-6"]'),!0}catch(e){return(0,n.logError)(e.message),!1}}(e))},buildRequests:function(e,t){const r=function(e){return!!e.refererInfo?.referer?.includes("pb_force_a")}(t),i=E("/exchange/prebid",r),d=E("/exchange/prebidvideo",r),p=e.filter((e=>I(e))),u=e.filter((e=>w(e)));let m=[];const l=function(e){if((0,o.A)(e,"userIdAsEids"))return e.userIdAsEids||[]}(e[0])||[],f=function(e){const t=(0,o.A)(e,"ortb2.user.data")||[],r=t.filter((e=>{const t=e.ext?.segtax;return t>=600&&t<=609}))[0];if(r){return{taxonomy:r.ext.segtax,classifier:r.ext.segclass,topics:Object.values(r.segment).map((e=>Number(e)))}}return null}(t),y=function(e){const t=(0,o.A)(e,"ortb2.device.ext.cdep")||null;return t}(t);if(p.length>0){let e={pbav:"8.48.0",p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:"1"===window.doNotTrack||"1"===window.navigator.doNotTrack||!1,description:_(),tmax:t.timeout||400,userConsent:JSON.stringify({gdprApplies:(0,o.A)(t,"gdprConsent.gdprApplies")||"",cmp:(0,o.A)(t,"gdprConsent.consentString")||"",gpp:(0,o.A)(t,"gppConsent.gppString")||"",gpp_sid:(0,o.A)(t,"gppConsent.applicableSections")||[]}),us_privacy:(0,o.A)(t,"uspConsent")||""};f&&(e.topics=JSON.stringify(f));const r=k(t);r&&(e.gpc=r),y&&(e.cdep=y),function(){try{if((0,n.getWindowTop)().location.href)return!0}catch(e){return!1}}()&&(e.pr=b.document&&b.document.referrer||"",e.scrd=b.devicePixelRatio||0,e.title=b.document.title||"",e.w=b.innerWidth,e.h=b.innerHeight);const a=window.navigator.maxTouchPoints;a&&(e.mtp=a),p.forEach((t=>{e.p.push(function(e){const t=(0,o.A)(e,"ortb2Imp.ext.data.pbadslot"),r={placement_id:e.adUnitCode,callback_id:e.bidId,sizes:e.mediaTypes.banner.sizes};if(e.params){e.params.placementId&&(r.ym_placement_id=e.params.placementId);const t=T(e,s.D4);t&&(r.bidFloor=t)}t&&(r.gpid=t);const i=(0,o.A)(e,"ortb2Imp.ext.tid");i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(t));const r=S(t,"pubcid");r?e.pubcid=r:t.crumbs&&t.crumbs.pubcid&&(e.pubcid=t.crumbs.pubcid);const i=S(t,"tdid");i&&(e.tdid=i);const n=S(t,"criteoId");n&&(e.cri_prebid=n),t.schain&&(e.schain=JSON.stringify(t.schain)),(0,o.A)(t,"params.lr_env")&&(e.ats_envelope=t.params.lr_env)})),e.p="["+e.p.toString()+"]",l.length&&(e.eids=JSON.stringify(l));let d=`${i}?${(0,n.parseQueryStringParameters)(e)}`.length-8e3;if(d>0)for(let t=0;t0){const e=function(e,t){const r=e[0].schain;let i={id:e[0].bidderRequestId,tmax:t.timeout||400,at:1,imp:e.map((e=>function(e){const t=(0,o.A)(e,"ortb2Imp.ext.data.pbadslot"),r=function(e){const t=(0,o.A)(e,"mediaTypes.video.playerSize");if((0,n.isArrayOfNums)(t,2))return t;if((0,n.isArray)(t)&&(0,n.isArrayOfNums)(t[0],2))return t[0];return null}(e),i={id:e.bidId,tagid:e.adUnitCode,bidfloor:T(e,s.G_),ext:{placement_id:e.params.placementId,tid:(0,o.A)(e,"ortb2Imp.ext.tid")},video:{w:r[0],h:r[1],linearity:1}},a=(0,o.A)(e,"mediaTypes.video",{});Object.keys(a).filter((e=>(0,c.mK)(g,e))).forEach((e=>i.video[e]=a[e]));const d=(0,o.A)(e,"params.video",{});Object.keys(d).filter((e=>(0,c.mK)(g,e))).forEach((e=>i.video[e]=d[e])),i.video.skippable&&(i.video.skip=1,delete i.video.skippable);1===i.video.plcmt&&1===i.video.placement||(i.video.startdelay=h,i.video.playbackmethod=[v]);t&&(i.ext.gpid=t);return i}(e))),site:N(e[0],t),device:(0,o.A)(t,"ortb2.device"),badv:e[0].params.badv||[],bcat:(0,o.A)(t,"bcat")||e[0].params.bcat||[],ext:{prebid:"8.48.0"},ats_envelope:e[0].params.lr_env};r&&(i.schain=r);const d=k(t);d&&(0,a.J)(i,"regs.ext.gpc",d);e[0].auctionId&&(i.auctionId=e[0].auctionId);return function(e,t){const r=t.gdprConsent,i=(0,o.A)(t,"gppConsent.gppString"),n=(0,o.A)(t,"gppConsent.applicableSections");i?(0,a.J)(e,"regs.ext.gpp",i):((0,a.J)(e,"regs.ext.gdpr",r&&r.gdprApplies?1:0),(0,a.J)(e,"user.ext.consent",r&&r.consentString?r.consentString:""));n&&n.length>0&&(0,a.J)(e,"regs.ext.gpp_sid",n);const s=(0,o.A)(t,"uspConsent");!i&&s&&(0,a.J)(e,"regs.ext.us_privacy",s)}(i,t),i}(u,t);f&&(e.topics=f),l.length&&(e.user={eids:l}),m.push({method:"POST",url:d,data:e})}return m},interpretResponse:function(e,t){let r=[];const i=e.body;if(i.length>0&&i.forEach((e=>{e.cpm>0&&r.push(function(e){return{dealId:e.publisherDealId,requestId:e.callback_id,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.creative_id,currency:u,netRevenue:l,ttl:300,ad:e.ad,meta:{advertiserDomains:e.adomain||[],mediaType:s.D4}}}(e))})),i.seatbid){i.seatbid.reduce(((e,t)=>e.concat(t.bid)),[]).forEach((e=>r.push(function(e,t){const r=(0,c.I6)((0,o.A)(t,"data.imp")||[],(t=>t.id===e.impid));let i={dealId:e.dealid,requestId:r.id,cpm:e.price,width:r.video.w,height:r.video.h,creativeId:e.crid||e.adid,currency:u,netRevenue:l,mediaType:s.G_,ttl:m,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:s.G_}};if(r.video.placement&&1!==r.video.placement){const e=p.A4.install({url:f,config:{width:i.width,height:i.height,vastTimeout:15e3,maxAllowedVastTagRedirects:5,allowVpaid:!0,autoPlay:!0,preload:!0,mute:!0},id:r.tagid,loaded:!1});e.setRender((function(e){e.renderer.push((()=>{const{id:t,config:r}=e.renderer;window.YMoutstreamPlayer(e,t,r)}))})),i.renderer=e}return i}(e,t))))}return r},getUserSyncs:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";const n=[],o="&gdpr="+(r.gdprApplies?1:0),a=`&gdpr_consent=${encodeURIComponent(r.consentString||"")}`,s=`https://ads.yieldmo.com/pbcas?${`us_privacy=${encodeURIComponent(i)}`}${o}${a}`;return e.iframeEnabled?n.push({type:"iframe",url:s+"&type=iframe"}):e.pixelEnabled&&n.push({type:"image",url:s+"&type=image"}),n}};function I(e){return!!(0,o.A)(e,"mediaTypes.banner")}function w(e){return!!(0,o.A)(e,"mediaTypes.video")}function _(){return document.querySelector('meta[name="description"]')&&document.querySelector('meta[name="description"]').getAttribute("content")||""}function S(e,t){return"object"==typeof(0,o.A)(e,"userId")?e.userId[t]:void 0}function k(e){return(0,o.A)(e,"ortb2.regs.ext.gpc")}function T(e,t){let r={};return"function"==typeof e.getFloor&&(r=e.getFloor({currency:u,mediaType:t,size:"*"})),r.floor||e.params.bidfloor||e.params.bidFloor||0}function N(e,t){let r={};const i=(0,n.parseUrl)((0,o.A)(t,"refererInfo.page"));(0,n.isEmpty)(i)||(r.page=`${i.protocol}://${i.hostname}${i.pathname}`),t.refererInfo?.ref&&(r.ref=t.refererInfo.ref);const a=document.getElementsByTagName("meta").keywords;a&&a.content&&(r.keywords=a.content);const s=(0,o.A)(e,"params.site");return s&&Object.keys(s).filter((e=>(0,c.mK)(y,e))).forEach((e=>r[e]=s[e])),r}function O(e,t,r){if(t[r].length>e)return t[r]=t[r].substring(0,t[r].length-e),0;const i=e-t[r].length;return t[r]="",i}function E(e,t){return`${t?"https://ads-stg.yieldmo.com":"https://ads.yieldmo.com"}${e}`}(0,d.a$)(x),(0,i.E)("yieldmoBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=64668,e(e.s=t);var t}));e.O()}]);})(),pbjs.processQueue();

Halo Combat Evolved: Every Skull Location (2024)

FAQs

Where are all the skulls in Halo Reach? ›

Skulls aren't collected in Halo: Reach, they are all available right from the start. You can turn them on before starting a campaign session for the following effects. For information on Halo: Reach's collectibles, Data Pads, be sure to check out our Data Pad Locations Guide.

Can you get Halo CE skulls on Easy? ›

Unlike other games, skulls will spawn on any difficulty, instead of certain difficulties such as Normal or higher.

How do you unlock all the skulls in Halo Wars? ›

Halo Wars Secrets: Skulls. The Skulls for each level of Campaign mode will only appear once a "kill requirement" is met (e.g. "Kill 100 Grunts"). This requirement is listed for each Skull below, in addition to the Skull's location. Aside from the first mission, all of these Skulls can be found on Easy.

Did Halo 4 have skulls? ›

You do not find Skulls in Halo 4, instead they are always available to toggle on and off in the main menu. The only collectible in Halo 4 are the Terminals.

Did Halo 1 have skulls? ›

Skulls were a popular addition to Halo: Combat Evolved when the Anniversary Edition was released. Skulls are hidden easter eggs that can affect gameplay on subsequent playthroughs, adding great replayability and an abundant depth of challenge to the game.

How many skulls are in Halo combat evolved? ›

There are 13 Skulls to find and collect in Halo: Combat Evolved, and collecting all of them will unlock the Headhunter achievement. Once you exit the cryo-tank head towards the back of the room.

How many Halo skulls are there? ›

There are 12 Skulls in Halo Infinite, but it's critical to note that five of them are found during campaign missions, in interiors that cannot be revisited.

Are there secrets in Halo CE? ›

During the level The Pillar of Autumn, on Legendary difficulty, players can access a secret room. At the start of the mission, jump on the yellow container in the first room, and wait for 15 seconds. Now follow through the level until you speak to Keyes, and he will hand you a pistol.

How do you enable cheats in Halo CE? ›

Open the properties window of the Halo shortcut and add “ -console –devmode” after the target. Start the game with the -console -devmode command line parameter. Press ~ during game play to display the console window, then enter one of the following codes to activate the corresponding cheat function.

Does Halo 3 have skulls? ›

There are 13 hidden skulls in Halo 3 which force game play restrictions when activated for a campaign match (not applied for solo mode).

How many skulls are in Halo CE? ›

Halo: Combat Evolved Skulls. There are 13 Skulls to find and collect in Halo: Combat Evolved, and collecting all of them will unlock the Headhunter achievement. Once you exit the cryo-tank head towards the back of the room. the Iron Skull is behind a pyramid staked set of purple containers.

How many skulls are in Halo CE Anniversary? ›

There are a total of 13 skulls in the game spanning the game's 10 levels. For some reason, the campaign mission "Keyes" does not feature any skulls, so you can take a break on that level. Here is where you'll be able to find them. This guide applies to both the Xbox 360 Anniversary and the Xbox One/PC release.

Where is the skull in Truth and Reconciliation Halo? ›

Located on the mission Truth and Reconciliation: Found in the hangar where Marines are dropped off to help you. Kill all the enemies until the music starts up, wait in the far right-side of the room and rush through the doors the third wave of hunters emerge from.

What does the iron skull do in Halo CE? ›

Effect: Death carries a heavy price. Dying in co-op resets you at your last saved checkpoint. Dying solo restarts the level.

Top Articles
Latest Posts
Article information

Author: Rev. Leonie Wyman

Last Updated:

Views: 5745

Rating: 4.9 / 5 (59 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Rev. Leonie Wyman

Birthday: 1993-07-01

Address: Suite 763 6272 Lang Bypass, New Xochitlport, VT 72704-3308

Phone: +22014484519944

Job: Banking Officer

Hobby: Sailing, Gaming, Basketball, Calligraphy, Mycology, Astronomy, Juggling

Introduction: My name is Rev. Leonie Wyman, I am a colorful, tasty, splendid, fair, witty, gorgeous, splendid person who loves writing and wants to share my knowledge and understanding with you.