6 Reasons Why the iPhone Outperforms Other Smartphones (2024)

")),[e.width,e.height]=v[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:n.adUnitCode}),t.push(e)}else(0,p.logError)("Rubicon: bidRequest undefined at index position:".concat(i),a,e);var c,l;return t}),[]).sort(((e,t)=>(t.cpm||0)-(e.cpm||0))),l=null===(r=e.component_auction_config)||void 0===r?void 0:r.map((e=>({config:e,bidId:e.bidId})));return l?{bids:c,fledgeAuctionConfigs:l}:c},getUserSyncs:function(e,t,r,i,o){if(!R&&e.iframeEnabled){let e={};var n;if(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)),null!=o&&o.gppString)e.gpp=o.gppString,e.gpp_sid=null===(n=o.applicableSections)||void 0===n?void 0:n.toString();return e=Object.keys(e).length?"?".concat((0,p.formatQS)(e)):"",R=!0,{type:"iframe",url:"https://".concat(x.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 _(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=e.renderer.getConfig();e.renderer.push((()=>{window.MagniteApex.renderAd({width:e.width,height:e.height,vastUrl:e.vastUrl,placement:{attachTo:t,align:r.align||"center",position:r.position||"append"},closeButton:r.closeButton||!1,label:r.label||void 0,collapse:r.collapse||!0})}))}function k(e,t){let r=e.params;if(t===d.pX){let t=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?t=[r.video.playerWidth,r.video.playerHeight]:Array.isArray((0,m.Z)(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.Z)(e,"mediaTypes.banner.sizes")?i=j(e.mediaTypes.banner.sizes):Array.isArray(e.sizes)&&e.sizes.length>0?i=j(e.sizes):(0,p.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),o=t.indexOf(r);return i>-1||o>-1?-1===i?1:-1===o?-1:i-o:e-r}))}(i)}function j(e){return(0,p.parseSizesInput)(e).reduce(((e,t)=>{let r=parseInt(v[t],10);return r&&e.push(r),e}),[])}function S(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(function(e){let t=void 0!==(0,m.Z)(e,"mediaTypes.".concat(d.pX)),r=void 0!==(0,m.Z)(e,"mediaTypes.".concat(d.Mk)),i=void 0!==(0,m.Z)(e,"params.bidonmultiformat"),o="object"!=typeof(0,m.Z)(e,"params.video");return!(!t||!i)||(r&&o&&(t=!1),t&&o&&(0,u.N)(e,"params.video",{}),t)}(e)){if(-1===["outstream","instream"].indexOf((0,m.Z)(e,"mediaTypes.".concat(d.pX,".context"))))return t&&(0,p.logError)("Rubicon: mediaTypes.video.context must be outstream or instream"),r;if(k(e,d.pX).length<2)return t&&(0,p.logError)("Rubicon: could not determine the playerSize of the video"),r;t&&(0,p.logMessage)("Rubicon: making video request for adUnit",e.adUnitCode),r.push(d.pX)}if(void 0!==(0,m.Z)(e,"mediaTypes.".concat(d.B5))&&r.push(d.B5),void 0!==(0,m.Z)(e,"mediaTypes.".concat(d.Mk))){if(0===k(e,d.Mk).length)return t&&(0,p.logError)("Rubicon: could not determine the sizes for banner request"),r;t&&(0,p.logMessage)("Rubicon: making banner request for adUnit",e.adUnitCode),r.push(d.Mk)}return r}function A(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,p.logError)("Rubicon: required schain params missing"),t):t}function C(e,t){return"rp_schain"===e?"rp_schain=".concat(t):"".concat(e,"=").concat(encodeURIComponent(t))}var R=!1;(0,s.dX)(y),(0,i.z)("rubiconBidAdapter")},26372:(e,t,r)=>{r.d(t,{DZ:()=>n,Px:()=>s,TP:()=>d,YC:()=>a,Z:()=>o,f8:()=>p,fP:()=>u,gm:()=>i,md:()=>c});const i=["request","imp","bidResponse","response"],[o,n,s,a]=i,[d,c]=["default","pbs"],l=new Set(i);const{registerOrtbProcessor:p,getProcessors:u}=function(){const e={};return{registerOrtbProcessor(t){let{type:r,name:o,fn:n,priority:s=0,dialects:a=[d]}=t;if(!l.has(r))throw new Error("ORTB processor type must be one of: ".concat(i.join(", ")));a.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(r)||(e[t][r]={}),e[t][r][o]={priority:s,fn:n}}))},getProcessors:t=>e[t]||{}}}()}},e=>{e.O(0,[85279,93157,70951,38409],(()=>{return t=40060,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[33238],{93444:(e,t,n)=>{var i=n(78640),r=n(64358),o=n(14699),a=n(24679),s=n(3193);const p=["inScreen","inImage","inArticle","inBanner"],d={[a.Mk]:"display",[a.pX]:"video"},c="fixed",u="mobile",l="unknown",g=()=>{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 m(e){return!!e.mediaTypes&&!!e.mediaTypes.video}function h(e){const t=e.params;return!!t.publisherId&&!!t.adUnitId&&p.indexOf(t.placement)>-1}function f(e){var t;const n=e.params,i=(0,r._map)(Object.keys(e.mediaTypes),(function(e){return d[e]})),o={id:e.bidId,transactionId:null===(t=e.ortb2Imp)||void 0===t||null===(t=t.ext)||void 0===t?void 0:t.tid,sizes:e.sizes,supplyTypes:i,adUnitId:n.adUnitId,adUnitCode:e.adUnitCode,geom:S(e.adUnitCode),placement:n.placement,requestCount:e.bidderRequestsCount||1};return m(e)&&(o.videoParams=y(e)),o}function y(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.Mk:"video"===n?a.pX: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.pX?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:o}=t.getBoundingClientRect();return{scrollY:e,top:n,left:i,width:r,height:o,viewport:{width:window.innerWidth,height:window.innerHeight}}}}const C={code:"seedtag",gvlid:157,aliases:["st"],supportedMediaTypes:[a.Mk,a.pX],isBidRequestValid:e=>m(e)?function(e){const t=y(e);let n=!!e.params.publisherId&&!!e.params.adUnitId&&m(e)&&!!t.playerSize&&(0,r.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){var n;const i={url:t.refererInfo.page,publisherToken:e[0].params.publisherId,cmp:!!t.gdprConsent,timeout:t.timeout,version:"8.31.0",connectionType:g(),auctionStart:t.auctionStart||Date.now(),ttfb:v(),bidRequests:(0,r._map)(e,f)};if(i.cmp){const e=t.gdprConsent.gdprApplies;void 0!==e&&(i.ga=e),i.cd=t.gdprConsent.consentString}t.uspConsent&&(i.uspConsent=t.uspConsent),e[0].schain&&(i.schain=e[0].schain);let o=s.config.getConfig("coppa");o&&(i.coppa=o),t.gppConsent?i.gppConsent={gppString:t.gppConsent.gppString,applicableSections:t.gppConsent.applicableSections}:null!==(n=t.ortb2)&&void 0!==n&&null!==(n=n.regs)&&void 0!==n&&n.gpp&&(i.gppConsent={gppString:t.ortb2.regs.gpp,applicableSections:t.ortb2.regs.gpp_sid});return{method:"POST",url:"https://s.seedtag.com/c/hb/bid",data:JSON.stringify(i)}},interpretResponse:function(e){const t=e.body;return t&&t.bids&&(0,r.isArray)(t.bids)?(0,r._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,r.isArray)(e)&&e[0]&&(0,r.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,r.triggerPixel)(t)},onBidWon:function(e){e&&e.nurl&&(0,r.triggerPixel)(e.nurl)}};(0,o.dX)(C),(0,i.z)("seedtagBidAdapter")}},e=>{e.O(0,[38409],(()=>{return t=93444,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[92972],{54834:(o,e,t)=>{var n=t(78640),r=t(64358),d=t(92797),i=t(34516),a=t(15164),u=t(9633),c=t(81694);const l=(0,a.df)({moduleType:u.y2,moduleName:"sharedId"}),s="cookie",m="html5",f="_pubcid_optout",g="PublisherCommonId";function p(o,e){if(e===s)return l.getCookie(o);if(e===m&&l.hasLocalStorage()){const e=l.getDataFromLocalStorage("".concat(o,"_exp"));if(!e)return l.getDataFromLocalStorage(o);if(new Date(e).getTime()-Date.now()>0)return l.getDataFromLocalStorage(o)}}function I(o,e){return function(t,n){e?b(e,o,(()=>{t(n()||o)}))():t(o)}}function b(o){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2?arguments[2]:void 0;if(!o)return;const n=(0,r.parseUrl)(o);n.search.id=encodeURIComponent("pubcid:"+e);const d=(0,r.buildUrl)(n);return function(){(0,r.triggerPixel)(d,t)}}function h(){return!!(l.cookiesAreEnabled()&&p(f,s)||l.hasLocalStorage()&&p(f,m))}const v={name:"sharedId",aliasName:"pubCommonId",gvlid:i.$P,decode(o,e){if(h())return void(0,r.logInfo)("PubCommonId decode: Has opted-out");(0,r.logInfo)(" Decoded value PubCommonId "+o);return{pubcid:o}},getId:function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>2?arguments[2]:void 0;if(h())return void(0,r.logInfo)("PubCommonId: Has opted-out");if(i.VP.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{create:t=!0,pixelUrl:n}={}}=o;let d=e;if(!d){try{"object"==typeof window[g]&&(d=window[g].getId())}catch(o){}d||(d=t&&(0,r.hasDeviceAccess)()?(0,r.generateUUID)():void 0)}return{id:d,callback:I(d,n)}},extendId:function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>2?arguments[2]:void 0;if(h())return(0,r.logInfo)("PubCommonId: Has opted-out"),{id:void 0};if(i.VP.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{extend:t=!1,pixelUrl:n}={}}=o;if(t){if(n){return{callback:b(n,e)}}return{id:e}}},domainOverride:(0,c.U)(l,"sharedId"),eids:{pubcid:{source:"pubcid.org",atype:1}}};(0,d.Bx)("userId",v),(0,n.z)("sharedIdSystem")}},o=>{o.O(0,[57748,38409],(()=>{return e=54834,o(o.s=e);var e}));o.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[88029],{76401:(e,t,n)=>{var r=n(78640),i=n(64358),o=n(20265),a=n(14699),d=n(15164);const s="teads",c=12,p=11,u=0,l=22,m=(0,d.df)({bidderCode:s}),g={code:s,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){let t=!1;if(void 0!==e.params){let n=S((0,i.getValue)(e.params,"placementId")),r=S((0,i.getValue)(e.params,"pageId"));t=n&&r}return t||(0,i.logError)("Teads placementId and pageId parameters are required. Bid aborted."),t},buildRequests:function(e,t){var n,r,i,a,d,s;const m=e.map(w),g=window.top,S={referrer:v(t),pageReferrer:document.referrer,pageTitle:I().slice(0,300),pageDescription:f().slice(0,300),networkBandwidth:(q=window.navigator,q&&q.connection&&q.connection.downlink>=0?q.connection.downlink.toString():""),timeToFirstByte:h(window),data:m,deviceWidth:screen.width,screenOrientation:null===(n=screen.orientation)||void 0===n?void 0:n.type,historyLength:null===(r=g.history)||void 0===r?void 0:r.length,viewportHeight:null===(i=g.visualViewport)||void 0===i?void 0:i.height,viewportWidth:null===(a=g.visualViewport)||void 0===a?void 0:a.width,hardwareConcurrency:null===(d=g.navigator)||void 0===d?void 0:d.hardwareConcurrency,deviceMemory:null===(s=g.navigator)||void 0===s?void 0:s.deviceMemory,hb_version:"8.31.0",...y(e),...b(e)};var q;const T=e[0];T.schain&&(S.schain=T.schain);let B=t.gdprConsent;if(t&&B){let e="boolean"==typeof B.gdprApplies,t="string"==typeof B.consentString,n=e?function(e,t){let n=c;e?t&&!t.isServiceSpecific&&(n=p):n=u;return n}(B.gdprApplies,B.vendorData):l;S.gdpr_iab={consent:t?B.consentString:"",status:n,apiVersion:B.apiVersion}}t&&t.uspConsent&&(S.us_privacy=t.uspConsent);const k=(0,o.Z)(T,"ortb2.device.sua");k&&(S.userAgentClientHints=k);return{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(S)}},interpretResponse:function(e,t){const n=[];return(e=e.body).responses&&e.responses.forEach((function(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};e.dealId&&(t.dealId=e.dealId),n.push(t)})),n}};function y(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 n={};for(const r in t){const i=t[r],a=(0,o.Z)(e,"0.userId.".concat(i));a&&(n[r]=a)}return n}function v(e){let t="";return e&&e.refererInfo&&e.refererInfo.page&&(t=e.refererInfo.page),t}function I(){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 f(){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 h(e){const t=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,n=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(n)return n.toString();const r=t&&t.timing.responseStart&&t.timing.requestStart&&t.timing.responseStart>0&&t.timing.requestStart>0&&t.timing.responseStart-t.timing.requestStart;return r?r.toString():""}function w(e){var t;const n={};let r=(0,i.getValue)(e.params,"placementId"),a=(0,i.getValue)(e.params,"pageId");const d=(0,o.Z)(e,"ortb2Imp.ext.gpid"),s=(0,o.Z)(e,"mediaTypes.video.plcmt");return n.sizes=function(e){return(0,i.parseSizesInput)(function(e){let t=(0,o.Z)(e,"mediaTypes.video.playerSize"),n=(0,o.Z)(e,"mediaTypes.video.sizes"),r=(0,o.Z)(e,"mediaTypes.banner.sizes");if((0,i.isArray)(r)||(0,i.isArray)(t)||(0,i.isArray)(n)){return[r,n,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),n.bidId=(0,i.getBidIdParameter)("bidId",e),n.bidderRequestId=(0,i.getBidIdParameter)("bidderRequestId",e),n.placementId=parseInt(r,10),n.pageId=parseInt(a,10),n.adUnitCode=(0,i.getBidIdParameter)("adUnitCode",e),n.transactionId=(null===(t=e.ortb2Imp)||void 0===t||null===(t=t.ext)||void 0===t?void 0:t.tid)||"",d&&(n.gpid=d),s&&(n.videoPlcmt=s),n}function S(e){return parseInt(e)>0}function b(e){const t=(0,o.Z)(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.dX)(g),(0,r.z)("teadsBidAdapter")}},e=>{e.O(0,[38409],(()=>{return t=76401,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[82599],{70789:(e,t,r)=>{var n=r(78640),i=r(64358),o=r(24679),a=r(14699),s=r(3193),d=r(15164),l=r(29865);const c="triplelift";let u=null,p=null;const m=(0,d.df)({bidderCode:c}),f={gvlid:28,code:c,supportedMediaTypes:[o.Mk,o.pX],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){var r;let n={},{schain:o}=e[0];const a=function(e){const t={},r={},n={},o=e.ortb2||{},a=function(){const e=m.getDataFromLocalStorage("opecloud_ctx");if(!e)return null;try{return JSON.parse(e)}catch(e){return(0,i.logError)("Triplelift: error parsing JSON: ",e),null}}(),s=Object.assign({},o.site),d=Object.assign({},o.user);if(a){d.data=d.data||[];try{d.data.push({name:"www.1plusx.com",ext:a})}catch(e){(0,i.logError)("Triplelift: error adding 1plusX segments: ",e)}}h(r,s),h(n,d),(0,i.isEmpty)(r)||(t.context=r);(0,i.isEmpty)(n)||(t.user=n);return t}(t);n.imp=e.map((function(e,t){let r={id:t,tagid:e.params.inventoryCode,floor:v(e)};return g(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,i.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,i.logMessage)("video.placement value of ".concat(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&&!b(e)&&(r.banner={format:O(e.sizes)}),(0,i.isEmpty)(e.ortb2Imp)||(r.fpd=function(e){const t={},r={};h(r,e.ext),(0,i.isEmpty)(r)||(t.context=r);return t}(e.ortb2Imp),(0,i.isEmpty)(e.ortb2Imp.ext)||(r.ext={...e.ortb2Imp.ext})),r}));let s=[...x([e[0]]),...E([e[0]]),...I([e[0]]),...S([e[0]]),..._(e[0])];s.length>0&&(n.user={ext:{eids:s}});let d=function(e,t){let r={};(0,i.isEmpty)(e)||(r.schain={...e});(0,i.isEmpty)(t)||(r.fpd={...t});return r}(o,a);(0,i.isEmpty)(d)||(n.ext=d);null!=t&&null!==(r=t.ortb2)&&void 0!==r&&null!==(r=r.regs)&&void 0!==r&&r.gpp&&(n.regs=Object.assign({},t.ortb2.regs));null!=t&&t.ortb2&&(n.ext.ortb2=Object.assign({},t.ortb2));return n}(e,t);if(r=(0,l.t)(r,"lib","prebid"),r=(0,l.t)(r,"v","8.31.0"),t&&t.refererInfo){let e=t.refererInfo.page;r=(0,l.t)(r,"referrer",e)}return t&&t.timeout&&(r=(0,l.t)(r,"tmax",t.timeout)),t&&t.gdprConsent&&(u=void 0===t.gdprConsent.gdprApplies||t.gdprConsent.gdprApplies,r=(0,l.t)(r,"gdpr",u.toString()),void 0!==t.gdprConsent.consentString&&(p=t.gdprConsent.consentString,r=(0,l.t)(r,"cmp_cs",p))),t&&t.uspConsent&&(r=(0,l.t)(r,"us_privacy",t.uspConsent)),t&&t.fledgeEnabled&&(r=(0,l.t)(r,"fledge",t.fledgeEnabled)),!0===s.config.getConfig("coppa")&&(r=(0,l.t)(r,"coppa",!0)),r.lastIndexOf("&")===r.length-1&&(r=r.substring(0,r.length-1)),(0,i.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 o=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:{}},g(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&&(g(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))),o.length>0){const e=o.map((e=>({bidId:r.bids[e.imp_id].bidId,config:e.auctionConfig})));return(0,i.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,l.t)(a,"px",1),a=(0,l.t)(a,"src","prebid")),(null!==p||u)&&(a=(0,l.t)(a,"gdpr",u),a=(0,l.t)(a,"cmp_cs",p)),n&&(a=(0,l.t)(a,"us_privacy",n)),i&&(i.gppString&&(a=(0,l.t)(a,"gpp",i.gppString)),i.applicableSections&&0!==i.applicableSections.length&&(a=(0,l.t)(a,"gpp_sid",i.applicableSections.filter((e=>Number.isInteger(e))).join(",")))),[{type:o,url:a}]}};function g(e){return y(e)&&(b(e)||function(e){return y(e)&&"outstream"===e.mediaTypes.video.context.toLowerCase()}(e))}function b(e){return y(e)&&"instream"===e.mediaTypes.video.context.toLowerCase()}function y(e){return e.mediaTypes.video&&e.mediaTypes.video.context}function v(e){let t=null;if("function"==typeof e.getFloor)try{const r=e.getFloor({currency:"USD",mediaType:g(e)?"video":"banner",size:"*"});"object"!=typeof r||"USD"!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}catch(e){(0,i.logError)("Triplelift: getFloor threw an error: ",e)}return null!==t?t:e.params.floor}function h(e,t){(0,i.isEmpty)(t)||Object.keys(t).forEach((r=>{null!=t[r]&&(e[r]=t[r])}))}function x(e){return C(e,"tdid","adserver.org","TDID")}function E(e){return C(e,"idl_env","liveramp.com","idl")}function I(e){return C(e,"criteoId","criteo.com","criteoId")}function S(e){return C(e,"pubcid","pubcid.org","pubcid")}function _(e){let t=["adserver.org","liveramp.com","criteo.com","pubcid.org"],r=[];return e.userIdAsEids&&e.userIdAsEids.forEach((e=>{try{if(-1===t.indexOf(e.source)){let t=e.uids.map((t=>({id:t.id,ext:{rtiPartner:e.source}})));r.push({source:e.source,uids:t})}}catch(t){(0,i.logWarn)("Triplelift: Error attempting to add ".concat(e," to bid request"),t)}})),r}function C(e,t,r,n){return e.map(function(e){return t=>t&&t.userId&&t.userId[e]}(t)).filter(T(t)).map(function(e,t){return r=>({source:e,uids:[{id:r.id?r.id:r,ext:{rtiPartner:t}}]})}(r,n))}const T=e=>(t,r,n)=>{let o=!!t&&((0,i.isStr)(t)?!!t:(0,i.isPlainObject)(t)&&!(0,i.isArray)(t)&&!(0,i.isEmpty)(t)&&t.id&&(0,i.isStr)(t.id)&&!!t.id);return o||void 0===n[0]||(0,i.logWarn)("Triplelift: invalid ".concat(e," userId format")),o};function O(e){return e.filter(w).map((function(e){return{w:e[0],h:e[1]}}))}function w(e){return 2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]}(0,a.dX)(f),(0,n.z)("tripleliftBidAdapter")}},e=>{e.O(0,[54213,38409],(()=>{return t=70789,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[86433,68102],{78816:(e,t,s)=>{var i=s(78640),r=s(64358),n=s(92797),o=s(15164),a=s(9633),l=s(62906),d=s(21138);const c="uid2",u=l.ov,h="PrebidJS-".concat("8.31.0","-UID2Module-").concat(u),p="UID2: ";function g(e,t){return function(){for(var s=arguments.length,i=new Array(s),r=0;r{s.d(t,{Rh:()=>p,ov:()=>a});var i=s(64572),r=s(78640),n=s(48928),o=s(64358);const a="1.1";function l(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}class d{constructor(e,t,s,i){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=s,this._logWarn=i}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s{s=e,i=t}));return this._logInfo("Sending refresh request",e),(0,n.hj)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const r=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:r.slice(0,12),tagLength:128},e,r.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const r=JSON.parse(t),n=this.ResponseToRefreshResult(r);"string"==typeof n?i(n):s(n)}),(e=>this._logWarn("Call to UID2 API failed",e)))}),(e=>this._logWarn("Call to UID2 API failed",e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),r=this.ResponseToRefreshResult(e);"string"==typeof r?i(r):s(r)}}catch(e){i(t)}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),r=this.ResponseToRefreshResult(e);"string"==typeof r?i(r):s(r)}catch(t){i(e)}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),r}}class c{constructor(e,t,s,i){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=i}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return null!=e&&e.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),i=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),r=t();if(r){if("string"==typeof r){const t=i();if(t&&"object"==typeof t)return this._logInfo("".concat(e," contained a basic token, but found a refreshable token fallback. Copying the fallback value to ").concat(e,".")),s(t),t}}else{const t=i();if(t)return this._logInfo("".concat(e," was empty, but found a fallback value.")),"object"==typeof t&&(this._logInfo("Copying the fallback value to ".concat(e,".")),s(t)),t}return r}}function u(e,t,s,i,r,n){r("UID2 base url provided: ",e);return new d({baseUrl:e},s,r,n).callRefreshApi(t).then((e=>{r("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=i.getStoredValueWithFallback();return null!=n&&n.originalIdentity&&(s.originalIdentity=n.originalIdentity),i.storeValue(s),s}))}let h;{const e=9;h={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 i=/^UID2-X-[A-Z]-.+/;return i.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t("CSTG opts.serverPublicKey must match the regular expression ".concat(i)),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const i=t.normalizeEmail(e.email);return void 0===i?void s("CSTG opts.email is invalid"):{email:i}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,i){if(t){const i=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,i))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,i,r,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(i);n("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(i),latestToken:l.identity};return r.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,o.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,o.cyrb53Hash)(t,s),salt:s}}};class t{static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:i,domain:r}=s,n=this.isGmail(r),o=this.normalizeAddressPart(i,n,n);return o?"".concat(o,"@").concat(r):void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let i=e;return t&&(i=i.replaceAll(this.EMAIL_DOT,"")),s&&(i=this.dropExtension(i)),i}}(0,i.Z)(t,"EMAIL_EXTENSION_SYMBOL","+"),(0,i.Z)(t,"EMAIL_DOT","."),(0,i.Z)(t,"GMAIL_DOMAIN","gmail.com");class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._logInfo=t,this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&l(e.body)}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 a.hash(e.email)}}if("phone"in e){return{phone_hash:await a.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e);this._logInfo("Building CSTG request for",t);const s=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),i=new TextEncoder,n=Date.now(),{iv:o,ciphertext:l}=await s.encrypt(i.encode(JSON.stringify(t)),i.encode(JSON.stringify([n]))),d=await a.exportPublicKey(s.clientPublicKey),c={payload:a.bytesToBase64(new Uint8Array(l)),iv:a.bytesToBase64(new Uint8Array(o)),public_key:a.bytesToBase64(new Uint8Array(d)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(c,s)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let i,r;const o=new Promise(((e,t)=>{i=e,r=t}));return this._logInfo("Sending CSTG request",e),(0,n.hj)(s,{success:async(e,s)=>{try{const s=a.base64ToBytes(e),n=await t.decrypt(s.slice(0,12),s.slice(12)),o=(new TextDecoder).decode(n),l=JSON.parse(o);this.isCstgApiSuccessResponse(l)?i({status:"success",identity:l.body}):r("API error: Response body was invalid for HTTP status 200: ".concat(o))}catch(e){r(e)}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?r("Client error: ".concat(e.message)):r("API error: Response body was invalid for HTTP status 400: ".concat(t.responseText))}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?r("Forbidden: ".concat(e.message)):r("API error: Response body was invalid for HTTP status 403: ".concat(t.responseText))}else r("API error: Unexpected HTTP status ".concat(t.status,": ").concat(e))}catch(t){r(e)}}},JSON.stringify(e),{method:"POST"}),o}}class r{constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await a.generateKeyPair(r._namedCurve),s=await a.importPublicKey(e,this._namedCurve),i=await a.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}}(0,i.Z)(r,"_namedCurve","P-256");class a{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,i){var r,n,o;let a=null;const l="cookie"!==e.storage,d=new c(t,l,e.internalStorage,s);s("Module is using ".concat(l?"local storage":"cookies"," for internal storage."));const p=h&&h.isCSTGOptionsValid(e.cstg,i);p?(s("Module is using client-side token generation."),a=null):e.paramToken?(a=e.paramToken,s("Read token from params",a)):e.serverCookieName&&(a=d.readProvidedCookie(e.serverCookieName),s("Read token from server-supplied cookie",a));let g=d.getStoredValueWithFallback();if(s("Loaded module-stored tokens:",g),g&&"string"==typeof g){if(!a&&!p)return s("Returning legacy cookie value."),{id:g};s("Discarding superseded legacy cookie."),g=null}var y,f;a&&g&&((null===(y=g.originalToken)||void 0===y?void 0:y.advertising_token)!==a.advertising_token&&(s("Server supplied new token - ignoring stored value.",null===(f=g.originalToken)||void 0===f?void 0:f.advertising_token,a.advertising_token),g=null));if(p){const t=h.getValidIdentity(e.cstg,i);if(t&&(g&&h.isStoredTokenInvalid(t,g,s,i)&&(g=null),!g||Date.now()>g.latestToken.refresh_expires)){const r=h.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,d,s,i);return s("Generate token using CSTG"),{callback:e=>{r.then((t=>{s("Token generation responded, passing the new token on.",t),e(t)}))}}}}const b=!(null!==(r=g)&&void 0!==r&&r.latestToken)||a&&a.identity_expires>g.latestToken.identity_expires,m=b?a:g.latestToken;if(s("UID2 module selected latest token",b,m),!m||Date.now()>m.refresh_expires)return s("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>m.identity_expires){const t=u(e.apiBaseUrl,m,e.clientId,d,s,i);return s("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{s("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>m.refresh_from&&(s("Refreshing token in background with low priority."),u(e.apiBaseUrl,m,e.clientId,d,s,i));const v={originalToken:null!==(n=a)&&void 0!==n?n:null===(o=g)||void 0===o?void 0:o.originalToken,latestToken:m};var _;p&&(v.originalIdentity=null===(_=g)||void 0===_?void 0:_.originalIdentity);return d.storeValue(v),{id:v}}(0,r.z)("uid2IdSystem_shared")}},e=>{e.O(0,[67292,38409],(()=>{return t=78816,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[34579],{98709:(r,e,t)=>{var n=t(78640),o=t(64358),d=t(48928),s=t(92797);const i="unifiedId",a={name:i,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,o.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=".concat(e.partner,"&fmt=json");return{callback:function(r){const e={success:e=>{let t;if(e)try{t=JSON.parse(e)}catch(r){(0,o.logError)(r)}r(t)},error:e=>{(0,o.logError)("".concat(i,": ID fetch encountered an error"),e),r()}};(0,d.hj)(t,e,void 0,{method:"GET",withCredentials:!0})}}},eids:{tdid:{source:"adserver.org",atype:1,getUidExt:function(){return{rtiPartner:"TDID"}}}}};(0,s.Bx)("userId",a),(0,n.z)("unifiedIdSystem")}},r=>{r.O(0,[38409],(()=>{return e=98709,r(r.s=e);var e}));r.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[69039],{83806:(e,r,n)=>{var t=n(78640),i=n(20265),d=n(64358),o=n(35706),s=n(14699),a=n(24679);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.Z)(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.31.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.Z)(e,"ext.renderer.config"),n=!!(0,i.Z)(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.Z)(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.Th.install(Object.assign({},t)),a=Object.assign({},e,{renderer:s,adUnitCode:(0,i.Z)(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.pX,a.Mk],gvlid:36,isBidRequestValid:function(e){let r=(0,i.Z)(e,"params.siteId")&&(e=>{const r=(0,i.Z)(e,"mediaTypes.video"),n=(0,i.Z)(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.Z)(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.Z)(e,"meta.mediaType");if(t&&"banner"===t.toLowerCase())e.mediaType=a.Mk,n=l(e);else if(t&&"video"===t.toLowerCase()){let r=(0,i.Z)(e,"meta.videoContext");e.mediaType=a.pX,"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.dX)(b),(0,t.z)("unrulyBidAdapter")}},e=>{e.O(0,[38409],(()=>{return r=83806,e(e.s=r);var r}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[9215],{82547:(e,t,n)=>{var o=n(78640),r=n(34614),s=n(3193),i=n(52021),c=n(34516),a=n(86104),u=n(5644),l=n(92797),d=n(64358),g=n(20265);const f=new Map;function m(e){const t={};function n(e){var n;const o=JSON.stringify([null===(n=e.source)||void 0===n?void 0:n.toLowerCase(),e.ext]);t.hasOwnProperty(o)?t[o].uids.push(...e.uids):t[o]=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(15164),h=n(96475),y=n(7563),p=n(68792),v=n(26372),E=n(99128),I=n(38196),w=n(9633),S=n(50571),O=n(74947),D=n(10286);const j="User ID",P=b.c$,k=b.Dp,A="_pbjs_id_optout",C=(0,b.eA)("userId"),N={isAllowed:S.xD};let T,x,U,R,L,_,F=!1,Z=[],q=[],G={},M=[];const B=(()=>{let e;return()=>(null==e&&(e=(0,E.V6)()),e)})();function W(e){return B().fork().renameWith((t=>["userId.mod.".concat(t),"userId.mods.".concat(e,".").concat(t)]))}function J(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,s){t.setCookie(o+(e||""),r,s,"Lax",n)}}function V(e,t){const n=e.config.storage,o=e.storageMgr;try{const r=new Date(Date.now()+864e5*n.expires).toUTCString(),s=(0,d.isPlainObject)(t)?JSON.stringify(t):t;if(n.type===P){const t=J(e);t(null,s,r),t("_cst",ge(),r),"number"==typeof n.refreshInSeconds&&t("_last",(new Date).toUTCString(),r)}else n.type===k&&(o.setDataInLocalStorage("".concat(n.name,"_exp"),r),o.setDataInLocalStorage("".concat(n.name,"_cst"),ge()),o.setDataInLocalStorage(n.name,encodeURIComponent(s)),"number"==typeof n.refreshInSeconds&&o.setDataInLocalStorage("".concat(n.name,"_last"),(new Date).toUTCString()))}catch(e){(0,d.logError)(e)}}function z(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.Z)(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?"".concat(o.name,"_").concat(t):o.name;let s;try{if(o.type===P)s=n.getCookie(r);else if(o.type===k){const e=n.getDataFromLocalStorage("".concat(o.name,"_exp"));""===e?s=n.getDataFromLocalStorage(r):e&&new Date(e).getTime()-Date.now()>0&&(s=decodeURIComponent(n.getDataFromLocalStorage(r)))}"string"==typeof s&&"{"===s.trim().charAt(0)&&(s=JSON.parse(s))}catch(e){(0,d.logError)(e)}return s}function $(e,t,n){t=B().fork().startTiming("userId.callbacks.total").stopBefore(t);const o=(0,d.delayExecution)((()=>{clearTimeout(x),t()}),e.length);e.forEach((function(e){const t=W(e.submodule.name).startTiming("callback").stopBefore(o);try{e.callback((function(o){o?(e.config.storage&&V(e,o),e.idObj=e.submodule.decode(o,e.config),me(H(n))):(0,d.logInfo)("".concat(j,": ").concat(e.submodule.name," - request id responded with an empty value")),t()}),Y.bind(null,e))}catch(n){(0,d.logError)("Error in userID module '".concat(e.submodule.name,"':"),n),t()}e.callback=void 0}))}function H(e){return Array.isArray(e)&&e.length?Q(e):{}}function K(e,t,n){return Object.fromEntries(Object.entries(e.reduce(((e,o)=>{const r=t(o);return r&&Object.keys(r).forEach((t=>{var s;const i=null===(s=G[t])||void 0===s?void 0:s.indexOf(n(o)),c={priority:(0,d.isNumber)(i)?i:-1,value:r[t]};if(e[t]){const n=c.priority>e[t].priority?c:e[t];e[t]=n}else e[t]=c})),e}),{})).map((e=>{let[t,n]=e;return[t,n.value]})))}function Q(e){return K(e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)),(e=>e.idObj),(e=>e.submodule.name))}function X(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?Q(e.filter((e=>!e.config.bidders||!(0,d.isArray)(e.config.bidders)||(0,r.q9)(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]:se()||[];const t=L&&e.find((e=>e.source===L));if(t&&"string"==typeof(0,g.Z)(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 ".concat(L," is not between 32 and 150 characters - ").concat(e))}}const oe=(0,E.g3)("userId",(function(e,t){let{delay:n=p.Z.timeout,getIds:r=de}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p.Z.race([r().catch((()=>null)),n(R)]).then((()=>{X(t.adUnits||(0,o.R)().adUnits,T),B().join((0,E.Bf)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))}));function re(){return H(T)}function se(){return m(re())}function ie(e){return m(function(e,t){if(!Array.isArray(e)||!e.length)return{};const n=Q(e),o=Object.keys(n).find((e=>{const n=f.get(e);return(null==n?void 0:n.source)===t||(0,d.isFn)(null==n?void 0:n.getSource)&&n.getSource()===t}));return o?{[o]:n[o]}:[]}(T,e))[0]}function ce(e,t,n){return te().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)("".concat(j," - Getting encrypted signal from custom function : ").concat(n.name," & source : ").concat(e," "));const t=n(e);o[e]=t?ae(t):null}else{const n=ie(e);(0,d.logInfo)("".concat(j," - Getting encrypted signal for eids :").concat(JSON.stringify(n))),(0,d.isEmpty)(n)||(o[n.source]=!0===t?ae(n):n.uids[0].id)}return(0,d.logInfo)("".concat(j," - Fetching encrypted eids: ").concat(o[e])),o[e]}))}function ae(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"".concat(t,"||").concat(n)}function ue(){if(!(0,d.isGptPubadsDefined)())return;window.googletag.secureSignalProviders=window.googletag.secureSignalProviders||[];const e=s.config.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:()=>ce(e,n,o)})}))}))}),t)}else(0,d.logWarn)("".concat(j," - 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.Z.reject(e))))}function ge(){let e=Number(c.NO.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=c.rp.getConsentData();if(e.config.storage){let n,r=Y(e),s=!1;if("number"==typeof e.config.storage.refreshInSeconds){const t=new Date(Y(e,"last"));s=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}!r||s||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&&(V(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(H(n))}function me(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re();if(e&&L){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 B().fork().measureTime("userId.init.modules",(function(){if(!t.length)return[];if(!(t=t.filter((e=>(!e.config.storage||function(e){var t;switch(null===(t=e.config)||void 0===t||null===(t=t.storage)||void 0===t?void 0:t.type){case k:if(e.storageMgr.localStorageIsEnabled())return!C.getDataFromLocalStorage(A)||((0,d.logInfo)("".concat(j," - opt-out localStorage found, storage disabled")),!1);break;case P:if(e.storageMgr.cookiesAreEnabled())return!C.getCookie(A)||((0,d.logInfo)("".concat(j," - opt-out cookie found, storage disabled")),!1)}return!1}(e))&&N.isAllowed(O.EL,(0,D.T)(w.y2,e.config.name))))).length)return(0,d.logWarn)("".concat(j," - no ID module configured")),[];const o=t.reduce(((e,o)=>W(o.submodule.name).measureTime("init",(()=>{try{fe(o,n,t),e.push(o)}catch(e){(0,d.logError)("Error in userID module '".concat(o.submodule.name,"':"),e)}return e}))),[]);return o.length&&z(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 ve(){pe(M);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)),[]):[]}(q);if(!e.length)return;const t=M.filter((e=>!(0,r.sE)(Z,(t=>t.name===e.name))));Z.splice(0,Z.length),t.map((t=>{const n=(0,r.sE)(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=I.W,n?{submodule:t,config:n,callback:void 0,idObj:void 0,storageMgr:(0,b.df)({moduleType:w.y2,moduleName:n.name})}:null})).filter((e=>null!==e)).forEach((e=>Z.push(e))),!F&&Z.length&&((0,o.R)().requestBids.before(oe,40),a.ZP.callDataDeletionRequest.before(Ee),y.G.after((e=>e(ne()))),(0,d.logInfo)("".concat(j," - usersync config updated for ").concat(Z.length," submodules: "),Z.map((e=>e.submodule.name))),F=!0)}function Ee(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 ".concat(e.submodule.name),t)}!function(e){var t;let n,o;switch(null===(t=e.config)||void 0===t||null===(t=t.storage)||void 0===t?void 0:t.type){case P:const t=J(e,C),r=new Date(Date.now()-864e5).toUTCString();n=e=>t(e,"",r),o=["","_last","_cst"];break;case k:n=t=>C.removeDataFromLocalStorage(e.config.storage.name+t),o=["","_last","_exp","_cst"]}n&&o.forEach((e=>{try{n(e)}catch(e){(0,d.logError)(e)}}))}(e)})),e.apply(this,n)}function Ie(e){return function(){return Promise.resolve(e.apply(this,arguments))}}!function(e){let{delay:t=p.Z.timeout}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};L=void 0,Z=[],q=[],F=!1,T=[],te=function(){let{delay:e=p.Z.timeout}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,p.P)(),n=(0,p.P)();let o,r,s=!1;function a(e){return r=B().fork(),null!=o&&o.reject(ee),o=(0,p.P)(),p.Z.race([e,o.promise]).finally(r.startTiming("userId.total"))}let g=T,f=Z;function m(e){return function(){if(g===T&&f===Z)return e(...arguments)}}function b(){return c.NO.promise.finally(r.startTiming("userId.init.consent"))}let h=a(p.Z.all([l.Cd,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.Z((t=>$(e,t,g)))}))));return function(){let{refresh:o=!1,submoduleNames:r=null,ready:c=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c&&!s&&(s=!0,t.resolve(),R>0?n.resolve():i.on(u.EVENTS.AUCTION_END,(function t(){i.off(u.EVENTS.AUCTION_END,t),e(U).then(n.resolve)}))),o&&s&&(h=a(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.Z((t=>$(e,t,g)))}))))),h}}({delay:t}),null!=_&&_(),M=[],_=e.getConfig("userSync",(e=>{const t=e.userSync;t&&(L=t.ppid,t.userIds&&(q=t.userIds,U=(0,d.isNumber)(t.syncDelay)?t.syncDelay:500,R=(0,d.isNumber)(t.auctionDelay)?t.auctionDelay:0,ve(),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))})),G=n}else G={}}(t.idPriority,Z),te({ready:!0})))})),(0,o.R)().getUserIds=re,(0,o.R)().getUserIdsAsEids=se,(0,o.R)().getEncryptedEidsForSource=Ie(ce),(0,o.R)().registerSignalSources=ue,(0,o.R)().refreshUserIds=Ie(le),(0,o.R)().getUserIdsAsync=Ie(de),(0,o.R)().getUserIdsAsEidBySource=ie}(s.config),(0,l.bA)("userId",(function(e){(0,r.sE)(M,(t=>t.name===e.name))||(M.push(e),c.qh.register(w.y2,e.name,e.gvlid),ve(),te({refresh:!0,submoduleNames:[e.name]}))})),(0,v.f8)({type:v.Z,name:"userExtEids",fn:function(e,t,n){const o=(0,g.Z)(n,"bidRequests.0.userIdAsEids");o&&Object.keys(o).length>0&&(0,h.N)(e,"user.ext.eids",o)}}),(0,o.z)("userId")},7563:(e,t,n)=>{n.d(t,{G:()=>o});const o=(0,n(92797).z3)("sync",(()=>{}))},26372:(e,t,n)=>{n.d(t,{DZ:()=>s,Px:()=>i,TP:()=>a,YC:()=>c,Z:()=>r,f8:()=>d,fP:()=>g,gm:()=>o,md:()=>u});const o=["request","imp","bidResponse","response"],[r,s,i,c]=o,[a,u]=["default","pbs"],l=new Set(o);const{registerOrtbProcessor:d,getProcessors:g}=function(){const e={};return{registerOrtbProcessor(t){let{type:n,name:r,fn:s,priority:i=0,dialects:c=[a]}=t;if(!l.has(n))throw new Error("ORTB processor type must be one of: ".concat(o.join(", ")));c.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(n)||(e[t][n]={}),e[t][n][r]={priority:i,fn:s}}))},getProcessors:t=>e[t]||{}}}()}},e=>{e.O(0,[38409],(()=>{return t=82547,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[66635],{63273:(e,t,n)=>{var o=n(78640),i=n(64358),r=n(20265),s=n(14699),a=n(24679),c=n(15164),d=n(55975),p=n(3193),u=n(26296);const l="prebid",g="vidazoo",b="1.0.0",f=9e5,m=36e5,h="vidSid",I="vdzwopt",v="wsid_"+parseInt(Date.now()*Math.random()),S=(0,c.df)({bidderCode:g});function C(){try{return(0,i.parseUrl)(window.top.document.URL,{decodeSearchAsString:!0}).search}catch(e){return""}}function y(){return"https://".concat(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 w(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}function z(e,t,n,o,s){var a,c;const{params:p,bidId:u,userId:l,adUnitCode:y,schain:D,mediaTypes:w,ortb2Imp:z,bidderRequestId:U,bidRequestsCount:k,bidderRequestsCount:O,bidderWinsCount:x}=e,{ext:A}=p;let{bidFloor:M}=p;const _=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";const n=e.length;let o=0,i=0;if(n>0)for(;i1&&void 0!==arguments[1]?arguments[1]:f;try{const n=q(e);let o,i=0;n&&n.value&&Date.now()-n.created1&&void 0!==arguments[1]?arguments[1]:m;const n="u_".concat(e),o=Date.now(),i=q(n);let r;!i||!i.value||o-i.created>t?(r="".concat(e,"_").concat(o.toString()),T(n,r)):r=i.value;return r}(_),F=q(h)||"",P=R(p),L=function(){let e=S.getDataFromLocalStorage(I);e||(e=String(Date.now()),S.setDataInLocalStorage(I,e));return e}(),E=d.S.get(g,"storageAllowed"),X=(0,r.Z)(e,"ortb2Imp.ext.gpid",(0,r.Z)(e,"ortb2Imp.ext.data.pbadslot","")),N=(0,r.Z)(o,"ortb2.site.cat",[]),B=(0,r.Z)(o,"ortb2.site.pagecat",[]);if((0,i.isFn)(e.getFloor)){const t=e.getFloor({currency:"USD",mediaType:"*",size:"*"});"USD"===t.currency&&(M=t.floor)}let V={url:encodeURIComponent(t),uqs:C(),cb:Date.now(),bidFloor:M,bidId:u,referrer:o.refererInfo.ref,adUnitCode:y,publisherId:P,sessionId:F,sizes:n,dealId:j,uniqueDealId:Z,bidderVersion:b,prebidVersion:"8.31.0",res:"".concat(screen.width,"x").concat(screen.height),schain:D,mediaTypes:w,ptrace:L,isStorageAllowed:E,gpid:X,cat:N,pagecat:B,transactionId:null==z||null===(a=z.ext)||void 0===a?void 0:a.tid,bidderRequestId:U,bidRequestsCount:k,bidderRequestsCount:O,bidderWinsCount:x,bidderTimeout:s,webSessionId:v};!function(e,t){let n;(0,i._each)(t,((t,o)=>{switch(n="uid.".concat(o),o){case"digitrustid":e[n]=(0,r.Z)(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}}))}(V,l);const J=(0,r.Z)(o,"ortb2.device.sua");return J&&(V.sua=J),o.gdprConsent&&(o.gdprConsent.consentString&&(V.gdprConsent=o.gdprConsent.consentString),void 0!==o.gdprConsent.gdprApplies&&(V.gdpr=o.gdprConsent.gdprApplies?1:0)),o.uspConsent&&(V.usPrivacy=o.uspConsent),o.gppConsent?(V.gppString=o.gppConsent.gppString,V.gppSid=o.gppConsent.applicableSections):null!==(c=o.ortb2)&&void 0!==c&&null!==(c=c.regs)&&void 0!==c&&c.gpp&&(V.gppString=o.ortb2.regs.gpp,V.gppSid=o.ortb2.regs.gpp_sid),(0,i._each)(A,((e,t)=>{V["ext."+t]=e})),V}function U(e,t,n,o,i){const{params:r}=e,s=D(r),a=w(r),c=z(e,t,n,o,i);return{method:"POST",url:"".concat(y(a),"/prebid/multi/").concat(s),data:c}}function q(e){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(S.getDataFromLocalStorage(e))}catch(e){}return null}function T(e,t,n){try{const o=n||Date.now(),i=JSON.stringify({value:t,created:o});S.setDataInLocalStorage(e,i)}catch(e){}}const k={code:g,version:b,gvlid:744,supportedMediaTypes:[a.Mk,a.pX],isBidRequestValid:function(e){const t=e.params||{};return!(!D(t)||!R(t))},buildRequests:function(e,t){const n=t.refererInfo.page||t.refererInfo.topmostLocation,o=p.config.getConfig("bidderTimeout"),r=p.config.getConfig("vidazoo.singleRequest"),s=[];if(r){const r=e.filter((e=>(0,i.isArray)(e.mediaTypes)?e.mediaTypes.includes(a.Mk):void 0!==e.mediaTypes[a.Mk]));if(r.length>0){const e=function(e,t,n,o){const{params:r}=e[0],s=D(r),a=w(r),c=e.map((e=>{const r=(0,i.parseSizesInput)(e.sizes);return z(e,n,r,t,o)})),d=Math.min(20,p.config.getConfig("vidazoo.chunkSize")||10);return(0,u.y)(c,d).map((e=>({method:"POST",url:"".concat(y(a),"/prebid/multi/").concat(s),data:{bids:e}})))}(r,t,n,o);s.push(...e)}e.filter((e=>void 0!==e.mediaTypes[a.pX])).forEach((e=>{const r=(0,i.parseSizesInput)(e.sizes),a=U(e,n,r,t,o);s.push(a)}))}else e.forEach((e=>{const r=(0,i.parseSizesInput)(e.sizes),a=U(e,n,r,t,o);s.push(a)}));return s},interpretResponse:function(e,t){if(!e||!e.body)return[];const n=p.config.getConfig("vidazoo.singleRequest"),o=(0,r.Z)(t,"data.bidId"),{results:i}=e.body;let s=[];try{return i.forEach(((e,t)=>{const{creativeId:i,ad:r,price:c,exp:d,width:p,height:u,currency:l,bidId:g,advertiserDomains:b,metaData:f,mediaType:m=a.Mk}=e;if(!r||!c)return;const h={requestId:n&&g?g:o,cpm:c,width:p,height:u,creativeId:i,currency:l||"USD",netRevenue:!0,ttl:d||300};f?Object.assign(h,{meta:f}):Object.assign(h,{meta:{advertiserDomains:b||[]}}),m===a.Mk?Object.assign(h,{ad:r}):Object.assign(h,{vastXml:r,mediaType:a.pX}),s.push(h)})),s}catch(e){return[]}},getUserSyncs:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=[];const{iframeEnabled:c,pixelEnabled:d}=e,{gdprApplies:p,consentString:u=""}=n,{gppString:l,applicableSections:g}=s,b=t.filter((e=>(0,r.Z)(e,"body.cid"))).map((e=>e.body.cid)).filter(i.uniques);let f="?cid=".concat(encodeURIComponent(b.join(",")),"&gdpr=").concat(p?1:0,"&gdpr_consent=").concat(encodeURIComponent(u||""),"&us_privacy=").concat(encodeURIComponent(o||""));return l&&null!=g&&g.length&&(f+="&gpp="+encodeURIComponent(l),f+="&gpp_sid="+encodeURIComponent(g.join(","))),c&&a.push({type:"iframe",url:"https://sync.cootlogix.com/api/sync/iframe/".concat(f)}),d&&a.push({type:"image",url:"https://sync.cootlogix.com/api/sync/image/".concat(f)}),a}};(0,s.dX)(k),(0,o.z)("vidazooBidAdapter")}},e=>{e.O(0,[2284,38409],(()=>{return t=63273,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[15337],{55511:(e,t,r)=>{var i=r(78640),n=r(64358),o=r(20265),a=r(96475),d=r(24679),s=r(14699),c=r(35706),p=r(34614);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"],v=(0,n.getWindowTop)(),b=2,h=0,I=["description","title","pr","page_url"],x={code:"yieldmo",supportedMediaTypes:[d.Mk,d.pX],gvlid:173,isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(w(e)||Z(e))&&function(e){if(!Z(e))return!0;const t=(e,t,r)=>{let i='"'.concat(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('"'.concat(e,'"=').concat(t," is invalid").concat(r))},i=e=>void 0!==e,a=(t,r,i,n)=>{if(0===t.indexOf("video")){const a="params."+t,d="mediaTypes."+t,s=(0,o.Z)(e,a),c=(0,o.Z)(e,d),p=r(s),u=r(c);return p?s:u||(p?u||i(d,c,n):i(a,s,n),s||c)}{const a=(0,o.Z)(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.protocols",(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=12&&9!=e&&10!=e))),r,"array of numbers between 1 and 12 except for 9 or 10 , ex: [2,3, 7, 11]"),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){var t;return!(null===(t=e.refererInfo)||void 0===t||null===(t=t.referer)||void 0===t||!t.includes("pb_force_a"))}(t),i=_("/exchange/prebid",r),s=_("/exchange/prebidvideo",r),c=e.filter((e=>w(e))),u=e.filter((e=>Z(e)));let m=[];const l=function(e){if((0,o.Z)(e,"userIdAsEids"))return e.userIdAsEids||[]}(e[0])||[];if(c.length>0){let e={pbav:"8.31.0",p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:"1"===window.doNotTrack||"1"===window.navigator.doNotTrack||!1,description:k(),tmax:t.timeout||400,userConsent:JSON.stringify({gdprApplies:(0,o.Z)(t,"gdprConsent.gdprApplies")||"",cmp:(0,o.Z)(t,"gdprConsent.consentString")||"",gpp:(0,o.Z)(t,"gppConsent.gppString")||"",gpp_sid:(0,o.Z)(t,"gppConsent.applicableSections")||[]}),us_privacy:(0,o.Z)(t,"uspConsent")||""};(function(){try{if((0,n.getWindowTop)().location.href)return!0}catch(e){return!1}})()&&(e.pr=v.document&&v.document.referrer||"",e.scrd=v.devicePixelRatio||0,e.title=v.document.title||"",e.w=v.innerWidth,e.h=v.innerHeight);const r=window.navigator.maxTouchPoints;r&&(e.mtp=r),c.forEach((t=>{e.p.push(function(e){const t=(0,o.Z)(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=S(e,d.Mk);t&&(r.bidFloor=t)}t&&(r.gpid=t);const i=(0,o.Z)(e,"ortb2Imp.ext.tid");i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(t));const r=N(t,"pubcid");r?e.pubcid=r:t.crumbs&&t.crumbs.pubcid&&(e.pubcid=t.crumbs.pubcid);const i=N(t,"tdid");i&&(e.tdid=i);const n=N(t,"criteoId");n&&(e.cri_prebid=n),t.schain&&(e.schain=JSON.stringify(t.schain)),(0,o.Z)(t,"params.lr_env")&&(e.ats_envelope=t.params.lr_env)})),e.p="["+e.p.toString()+"]",l.length&&(e.eids=JSON.stringify(l));let a="".concat(i,"?").concat((0,n.parseQueryStringParameters)(e)).length-8e3;if(a>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.Z)(e,"ortb2Imp.ext.data.pbadslot"),r=function(e){const t=(0,o.Z)(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:S(e,d.pX),ext:{placement_id:e.params.placementId,tid:(0,o.Z)(e,"ortb2Imp.ext.tid")},video:{w:r[0],h:r[1],linearity:1}},a=(0,o.Z)(e,"mediaTypes.video",{});Object.keys(a).filter((e=>(0,p.q9)(g,e))).forEach((e=>i.video[e]=a[e]));const s=(0,o.Z)(e,"params.video",{});Object.keys(s).filter((e=>(0,p.q9)(g,e))).forEach((e=>i.video[e]=s[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=[b]);t&&(i.ext.gpid=t);return i}(e))),site:A(e[0],t),device:(0,o.Z)(t,"ortb2.device"),badv:e[0].params.badv||[],bcat:(0,o.Z)(t,"bcat")||e[0].params.bcat||[],ext:{prebid:"8.31.0"},ats_envelope:e[0].params.lr_env};r&&(i.schain=r);e[0].auctionId&&(i.auctionId=e[0].auctionId);return function(e,t){const r=t.gdprConsent,i=(0,o.Z)(t,"gppConsent.gppString"),n=(0,o.Z)(t,"gppConsent.applicableSections");i?(0,a.N)(e,"regs.ext.gpp",i):((0,a.N)(e,"regs.ext.gdpr",r&&r.gdprApplies?1:0),(0,a.N)(e,"user.ext.consent",r&&r.consentString?r.consentString:""));n&&n.length>0&&(0,a.N)(e,"regs.ext.gpp_sid",n);const d=(0,o.Z)(t,"uspConsent");!i&&d&&(0,a.N)(e,"regs.ext.us_privacy",d)}(i,t),i}(u,t);l.length&&(e.user={eids:l}),m.push({method:"POST",url:s,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:d.Mk}}}(e))})),i.seatbid){i.seatbid.reduce(((e,t)=>e.concat(t.bid)),[]).forEach((e=>r.push(function(e,t){const r=(0,p.sE)((0,o.Z)(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:d.pX,ttl:m,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:d.pX}};if(r.video.placement&&1!==r.video.placement){const e=c.Th.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=".concat(r.gdprApplies?1:0),a="&gdpr_consent=".concat(encodeURIComponent(r.consentString||"")),d="us_privacy=".concat(encodeURIComponent(i)),s="".concat("https://ads.yieldmo.com/pbcas","?").concat(d).concat(o).concat(a);return e.iframeEnabled?n.push({type:"iframe",url:s+"&type=iframe"}):e.pixelEnabled&&n.push({type:"image",url:s+"&type=image"}),n}};function w(e){return!!(0,o.Z)(e,"mediaTypes.banner")}function Z(e){return!!(0,o.Z)(e,"mediaTypes.video")}function k(){return document.querySelector('meta[name="description"]')&&document.querySelector('meta[name="description"]').getAttribute("content")||""}function N(e,t){return"object"==typeof(0,o.Z)(e,"userId")?e.userId[t]:void 0}function S(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 A(e,t){var r;let i={};const a=(0,n.parseUrl)((0,o.Z)(t,"refererInfo.page"));(0,n.isEmpty)(a)||(i.page="".concat(a.protocol,"://").concat(a.hostname).concat(a.pathname)),null!==(r=t.refererInfo)&&void 0!==r&&r.ref&&(i.ref=t.refererInfo.ref);const d=document.getElementsByTagName("meta").keywords;d&&d.content&&(i.keywords=d.content);const s=(0,o.Z)(e,"params.site");return s&&Object.keys(s).filter((e=>(0,p.q9)(y,e))).forEach((e=>i[e]=s[e])),i}function T(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,t){return"".concat(t?"https://ads-stg.yieldmo.com":"https://ads.yieldmo.com").concat(e)}(0,s.dX)(x),(0,i.z)("yieldmoBidAdapter")}},e=>{e.O(0,[38409],(()=>{return t=55511,e(e.s=t);var t}));e.O()}]);})(),pbjs.processQueue();

6 Reasons Why the iPhone Outperforms Other Smartphones (2024)

FAQs

6 Reasons Why the iPhone Outperforms Other Smartphones? ›

One thing that iPhones are famous for is their privacy and security. It offers a range of security features, including facial recognition and finger authentication. In addition, Apple stops apps from tracking your location and data. iPhones' iMessage and FaceTime video calling features are also end-to-end encrypted.

Why iPhone is better than all other phones? ›

One thing that iPhones are famous for is their privacy and security. It offers a range of security features, including facial recognition and finger authentication. In addition, Apple stops apps from tracking your location and data. iPhones' iMessage and FaceTime video calling features are also end-to-end encrypted.

Why does iPhone have better performance? ›

- iPhones are developed by Apple, which controls both the hardware and software aspects of its devices. This allows for better optimization, ensuring that the hardware and software work seamlessly together, potentially leading to a smoother user experience.

What makes the iPhone stand out from its competitors? ›

Focus on User Experience. Apple's relentless focus on delivering exceptional user experiences has been a cornerstone of its success. From the intuitive design of its products to the seamless integration of hardware, software, and services, Apple prioritizes simplicity and functionality.

What are the positive impacts of the iPhone? ›

The iPhone's impact on communication is unparalleled. Its user-friendly interface and seamless integration of various communication channels have simplified how people connect, communicate, and share information.

Why do iPhones work better than androids? ›

Fast processors for better performance

The iPhones have a series of processors that reportedly deliver better performance than most Android phones. In addition, Apple blends hardware and software well, making the iPhone more efficient and effective.

Is iPhone better than other smartphones? ›

The debate for iPhone vs Android doesn't have an overall winner. While Android wins in variety and productivity, the iPhone is a better buy for video creators and MacBook users. On one hand there's cutting edge tech with foldables running Android, on the other there's a reliable bet with the iPhones running iOS.

Why does Apple outperform Samsung? ›

In 2023, Apple surpassed Samsung to become the world's largest smartphone manufacturer by volume. Apple's success was driven by consumers opting for higher-end models, prioritizing durability and features over price. In the past year, Samsung shifted focus to the mid and high-end markets for greater profitability.

Who is iPhone biggest competitor? ›

Samsung is the most well-known iPhone competitor to North American consumers. Its offerings, including the recent Samsung Galaxy S24, are generally some of the most popular and accessible Android phones.

What is Apple's main competitive advantage? ›

The iOS on iPhones is different from Google's Android, whereas the MacOS on the Mac computers is significantly different from Microsoft's Windows. The company also designs its own mobile processors in order to order to provide unmatched performance and better optimization with its own software.

What is iPhone unique selling point? ›

Examples of Successful USPs

Famously, Apple offers unique Apple branded technology. However, the USP Apple focuses on is not the technology itself. Instead, Apple focuses their USP on the lifestyle aspect of the product; that it makes life easier for users and that when you buy Apple, you buy into the Apple lifestyle.

What are pros and cons of iPhone? ›

Advantages of iOS
  • 1) Streamlined User Interface (UI) ...
  • 2) The App Store. ...
  • 3) Robust security features. ...
  • 4) Integration of hardware and software. ...
  • 5) High picture quality. ...
  • 6) Multilingual support and seamless multitasking. ...
  • 7) Gaming capabilities. ...
  • 1) High cost.
Feb 16, 2024

What are the strengths and weaknesses of iPhone? ›

Apple Inc's strengths include high brand identity, valued brand, leading innovation and technology, a brand of choice, competent research, and top-quality experience for its customer. Apple Inc's weaknesses include premium prices, incompatibility with other OS systems, and high dependency on iPhone and iPad.

How has iPhones impacted society? ›

The iPhone has had a profound impact on the way we use technology. Since its release in 2007, the iPhone has transformed from a niche product for early adopters to a dominant economic force. The iPhone has brought hyper-connectivity and hyper-speed to all facets of our lives.

Why iPhone is always better than Samsung? ›

Despite that, a Samsung phone may depreciate in value faster, and Apple's optimization counts for a lot. Samsung phones have better cameras, battery life, and display tech for the price, but iPhones have better software support, security, and a proven ecosystem.

What phone does Elon Musk use? ›

Elon Musk, the CEO of Tesla and SpaceX, is known to be a regular iPhone user [3]. In his biography, it is mentioned that he uses an iPhone [3].

Top Articles
Latest Posts
Article information

Author: Trent Wehner

Last Updated:

Views: 6171

Rating: 4.6 / 5 (76 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Trent Wehner

Birthday: 1993-03-14

Address: 872 Kevin Squares, New Codyville, AK 01785-0416

Phone: +18698800304764

Job: Senior Farming Developer

Hobby: Paintball, Calligraphy, Hunting, Flying disc, Lapidary, Rafting, Inline skating

Introduction: My name is Trent Wehner, I am a talented, brainy, zealous, light, funny, gleaming, attractive person who loves writing and wants to share my knowledge and understanding with you.